[data-theme=notyx-dark]{--theme-bg-deep: #11121B;--theme-bg-panel: #11121B;--theme-bg-canvas: #1D1F2E;--theme-border: #2d3046;--theme-surface: #5b5d83;--theme-surface-raised: #6e7094;--theme-text: #eef0ff;--theme-text-muted: #8e90b0;--theme-text-secondary: #9a9cbb;--theme-accent: #d9328e;--theme-danger: #f25e7a}[data-theme=notyx-light]{--theme-bg-deep: #f7f7fb;--theme-bg-panel: #f0f1f8;--theme-bg-canvas: #ffffff;--theme-border: #dde0f0;--theme-surface: #dde0f0;--theme-surface-raised: #c9cee7;--theme-text: #2f3450;--theme-text-muted: #8f95b5;--theme-text-secondary: #747ba1;--theme-accent: #d9328e;--theme-danger: #f25e7a}[data-theme=mocha]{--theme-bg-deep: #181825;--theme-bg-panel: #11111b;--theme-bg-canvas: #1e1e2e;--theme-border: #313244;--theme-surface: #313244;--theme-surface-raised: #45475a;--theme-text: #cdd6f4;--theme-text-muted: #6c7086;--theme-text-secondary: #7f849c;--theme-accent: #cba6f7;--theme-danger: #f38ba8}[data-theme=macchiato]{--theme-bg-deep: #1e2030;--theme-bg-panel: #181926;--theme-bg-canvas: #24273a;--theme-border: #363a4f;--theme-surface: #363a4f;--theme-surface-raised: #494d64;--theme-text: #cad3f5;--theme-text-muted: #6e738d;--theme-text-secondary: #8087a2;--theme-accent: #c6a0f6;--theme-danger: #ed8796}[data-theme=frappe]{--theme-bg-deep: #292c3c;--theme-bg-panel: #232634;--theme-bg-canvas: #303446;--theme-border: #414559;--theme-surface: #414559;--theme-surface-raised: #51576d;--theme-text: #c6d0f5;--theme-text-muted: #737994;--theme-text-secondary: #838ba7;--theme-accent: #ca9ee6;--theme-danger: #e78284}[data-theme=latte]{--theme-bg-deep: #e6e9ef;--theme-bg-panel: #dce0e8;--theme-bg-canvas: #eff1f5;--theme-border: #ccd0da;--theme-surface: #ccd0da;--theme-surface-raised: #bcc0cc;--theme-text: #4c4f69;--theme-text-muted: #9ca0b0;--theme-text-secondary: #8c8fa1;--theme-accent: #8839ef;--theme-danger: #d20f39}*{margin:0;padding:0;box-sizing:border-box}html{background-color:var(--theme-bg-deep);color:var(--theme-text);touch-action:none;-webkit-text-size-adjust:100%}body{margin:0;overflow:hidden;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}@font-face{font-family:Nunito;font-style:normal;font-weight:400;src:local(""),url(/assets/nunito-v16-latin-regular.06f3af3f.woff2) format("woff2")}#App{height:100vh;width:100vw;display:flex;flex-direction:column}:root{--fs-note-content: 13px;--fs-note-input: 12px;--fs-modal-title: 14px;--fs-toolbar: 13px;--size-settings-btn: 44px}:root[data-font-size=compact]{--fs-note-content: 11px;--fs-note-input: 11px;--fs-modal-title: 12px;--fs-toolbar: 11px;--size-settings-btn: 36px}:root[data-font-size=large]{--fs-note-content: 15px;--fs-note-input: 14px;--fs-modal-title: 16px;--fs-toolbar: 15px;--size-settings-btn: 52px}.toolbar{height:44px;background:var(--theme-bg-panel);border-bottom:1px solid var(--theme-border);display:flex;align-items:center;justify-content:center;padding:0 16px;flex-shrink:0;-webkit-app-region:drag;--wails-draggable: drag;z-index:1000;position:relative}.toolbar-title{display:flex;align-items:center;gap:12px;position:relative;-webkit-app-region:no-drag;--wails-draggable: no-drag}.logo-text{font-size:16px;font-weight:700;color:var(--theme-accent);letter-spacing:-.5px}.board-name{font-size:13px;color:var(--theme-text-muted)}.board-title-trigger{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:2px;border-radius:5px;cursor:pointer;transition:background .15s}.board-title-trigger:hover{background:color-mix(in srgb,var(--theme-surface-raised) 70%,transparent)}.board-title-trigger:hover .board-name{color:var(--theme-text)}.board-name-edit-icon{color:color-mix(in srgb,var(--theme-text-muted) 88%,transparent);font-size:12px}.board-title-trigger:hover .board-name-edit-icon{color:var(--theme-text)}.board-manager-dropdown{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);width:300px;background:var(--theme-bg-deep);border:1px solid var(--theme-border);border-radius:12px;box-shadow:0 16px 42px #0000006b;padding:10px 8px;z-index:200;display:flex;flex-direction:column;gap:4px}.board-rename-row{display:flex;align-items:center;gap:8px}.board-rename-input{flex:1;box-sizing:border-box;background:var(--theme-bg-panel);border:1px solid var(--theme-border);border-radius:6px;color:var(--theme-text);font-size:13px;font-weight:600;padding:6px 8px;outline:none}.board-rename-input:focus{border-color:color-mix(in srgb,var(--theme-accent) 70%,transparent)}.board-rename-confirm{width:32px;height:32px;border-radius:6px;border:1px solid color-mix(in srgb,var(--theme-accent) 35%,transparent);background:color-mix(in srgb,var(--theme-accent) 18%,transparent);color:var(--theme-accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s}.board-rename-confirm:hover{background:color-mix(in srgb,var(--theme-accent) 26%,transparent);border-color:color-mix(in srgb,var(--theme-accent) 55%,transparent)}.board-manager-separator{height:1px;background:var(--theme-border);margin:4px 0}.board-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.board-list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--theme-text);transition:background .12s,box-shadow .12s}.board-list-item:hover{background:color-mix(in srgb,var(--theme-surface) 52%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-text) 10%,transparent)}.board-list-item--active{background:color-mix(in srgb,var(--theme-accent) 14%,transparent);color:var(--theme-accent);font-weight:600;cursor:default}.board-list-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-list-item-controls{display:inline-flex;align-items:center;gap:2px;margin-left:8px}.board-lock-indicator{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--theme-text-muted);font-size:10px}.board-drag-handle{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--theme-text-muted);cursor:grab;opacity:.8}.board-list-item--dragging .board-drag-handle{cursor:grabbing}.board-list-item--drag-over{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-accent) 55%,transparent)}.board-list-item-delete{width:22px;height:20px;background:none;border:none;color:color-mix(in srgb,var(--theme-danger) 70%,var(--theme-text-muted));cursor:pointer;padding:2px 0;border-radius:4px;font-size:11px;opacity:0;transition:opacity .12s,background .12s;flex-shrink:0}.board-list-item-delete--placeholder{opacity:0!important;pointer-events:none}.board-lock-screen{position:fixed;inset:0;z-index:4200;background:var(--theme-bg-canvas);background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.board-lock-hidden-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.board-lock-digits{display:grid;grid-template-columns:repeat(6,44px);gap:12px}.board-lock-digit{height:52px;border-radius:10px;border:1px solid color-mix(in srgb,var(--theme-text) 30%,transparent);background:color-mix(in srgb,var(--theme-bg-panel) 78%,transparent);color:var(--theme-text);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700}.board-lock-digit.is-active{border-color:color-mix(in srgb,var(--theme-accent) 62%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-accent) 44%,transparent);position:relative}.board-lock-digit.is-active:after{content:"";width:2px;height:22px;border-radius:1px;background:var(--theme-accent);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);animation:boardLockCaretBlink .95s steps(1,end) infinite}@keyframes boardLockCaretBlink{0%,45%{opacity:1}46%,to{opacity:0}}.board-lock-error{font-size:12px;font-weight:600;color:var(--theme-danger);background:color-mix(in srgb,var(--theme-bg-panel) 84%,transparent);border:1px solid color-mix(in srgb,var(--theme-danger) 35%,transparent);border-radius:8px;padding:6px 10px}.board-list-item:hover .board-list-item-delete{opacity:1}.board-list-item-delete:hover{background:color-mix(in srgb,var(--theme-danger) 18%,transparent)}.board-new-btn{background:none;border:none;color:var(--theme-text-muted);font-size:13px;cursor:pointer;padding:6px 8px;border-radius:6px;text-align:left;display:flex;align-items:center;gap:8px;transition:background .12s,color .12s}.board-new-btn:hover{background:color-mix(in srgb,var(--theme-surface) 50%,transparent);color:var(--theme-text)}.win-controls{position:absolute;right:0;top:0;height:44px;display:flex;-webkit-app-region:no-drag;--wails-draggable: no-drag}.win-btn{width:46px;height:44px;border:none;background:transparent;color:var(--theme-text-muted);font-size:15px;cursor:default;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;-webkit-app-region:no-drag;--wails-draggable: no-drag}.win-btn:hover{background:rgba(128,128,128,.2)}.win-close:hover{background:#e81123;color:#fff}.canvas-search{position:fixed;top:56px;right:16px;display:flex;align-items:center;gap:4px;z-index:1500;-webkit-app-region:no-drag;--wails-draggable: no-drag}.search-input{width:180px;height:26px;background:rgba(128,128,160,.12);border:1px solid var(--theme-border);border-radius:6px;padding:0 8px;font-size:var(--fs-note-input);font-family:inherit;color:var(--theme-text);outline:none;transition:width .2s ease,border-color .15s,background .15s}.search-input::placeholder{color:var(--theme-text-muted)}.search-input:focus{width:220px;border-color:var(--theme-accent);background:rgba(128,128,160,.18)}@keyframes searchShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}60%{transform:translate(5px)}}.search-input.search-no-result{border-color:var(--theme-danger);animation:searchShake .35s ease}.search-count{font-size:var(--fs-toolbar);color:var(--theme-text-muted);min-width:24px;text-align:center;user-select:none}.search-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--theme-border);background:rgba(128,128,160,.12);color:var(--theme-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.search-btn:hover{background:var(--theme-surface-raised);color:var(--theme-text)}.whiteboard{flex:1;position:relative;overflow:hidden;cursor:default;background:var(--theme-bg-canvas)}.whiteboard--panning{cursor:grabbing}.whiteboard-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,var(--theme-surface) 1px,transparent 1px)}.whiteboard-canvas{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.snap-guide{position:absolute;pointer-events:none;z-index:8800;background:color-mix(in srgb,var(--theme-accent) 88%,white 12%);box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-accent) 36%,transparent);opacity:.85}.snap-guide--vertical{width:1px}.snap-guide--horizontal{height:1px}.selection-rect{position:absolute;border:1.5px dashed var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 8%,transparent);border-radius:4px;pointer-events:none;z-index:9000}.note-card{position:absolute;--note-anchor-top: -5px;--note-anchor-right: -5px;--note-anchor-bottom: -5px;--note-anchor-left: -5px;--note-side-top: 0;--note-side-right: 0;--note-side-bottom: 0;--note-side-left: 0;--note-side-horizontal-inset: 0;--note-side-vertical-inset: 0;--note-resize-right: 2px;--note-resize-bottom: 2px;cursor:grab;touch-action:none;display:flex;flex-direction:column;overflow:visible}.note-card-body{flex:1;overflow:hidden;border-radius:var(--note-radius, 8px);background-color:color-mix(in srgb,var(--note-accent, #fef3c7) 80%,white);box-shadow:0 2px 12px #00000040,0 0 0 1px #00000014;transition:box-shadow .15s ease;display:flex;flex-direction:column;position:relative}.note-card--shape-diamond .note-card-body{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border-radius:0}.note-card--shape-circle .note-card-body{clip-path:circle(closest-side at 50% 50%);border-radius:50%}.note-card--shape-hexagon .note-card-body{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0% 50%);border-radius:0}.note-card--shape-parallelogram .note-card-body{clip-path:polygon(14% 0%,100% 0%,86% 100%,0% 100%);border-radius:0}.note-card--shape-diamond .note-display{padding:18% 24%;margin:0}.note-card--shape-circle .note-display{padding:20% 24%;margin:0}.note-card--shape-hexagon .note-display{padding:16% 22%;margin:0}.note-card--shape-circle{--note-anchor-top:calc(50% - (min(var(--note-width), var(--note-height))/2) - 5px);--note-anchor-bottom:calc(50% - (min(var(--note-width), var(--note-height))/2) - 5px);--note-anchor-left:calc(50% - (min(var(--note-width), var(--note-height))/2) - 5px);--note-anchor-right:calc(50% - (min(var(--note-width), var(--note-height))/2) - 5px);--note-side-top:calc((100% - min(var(--note-width), var(--note-height)))/2);--note-side-right:calc((100% - min(var(--note-width), var(--note-height)))/2);--note-side-bottom:calc((100% - min(var(--note-width), var(--note-height)))/2);--note-side-left:calc((100% - min(var(--note-width), var(--note-height)))/2)}.note-card--shape-hexagon{--note-anchor-top:calc(4% - 5px);--note-anchor-bottom:calc(4% - 5px);--note-side-top: 4%;--note-side-bottom: 4%;--note-side-horizontal-inset: 25%;--note-side-vertical-inset: 4%}.note-card--shape-parallelogram .note-display{padding:0;margin:8% 10%}.note-card:hover .note-card-body{box-shadow:0 4px 20px #00000059,0 0 0 2px color-mix(in srgb,var(--theme-accent) 30%,transparent)}.note-card.note-card--selected .note-card-body,.note-card.note-card--selected:hover .note-card-body{box-shadow:0 0 0 2.5px var(--theme-accent),0 0 0 5px color-mix(in srgb,var(--theme-accent) 18%,transparent),0 4px 20px #0000004d}.note-card.note-card--selected:after{content:"";position:absolute;inset:-4px;border-radius:14px;border:2px solid color-mix(in srgb,var(--theme-accent) 90%,white 10%);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 20%,transparent);pointer-events:none}.note-card:active{cursor:grabbing}.note-actions{position:fixed;transform:translate(-50%);z-index:120000;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.note-actions.open{opacity:1;transform:translate(-50%) translateY(-2px);pointer-events:auto}.note-actions-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border-radius:999px;background:rgba(22,22,32,.92);border:1px solid rgba(255,255,255,.14);box-shadow:0 2px 6px #00000073}.note-actions-item{width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:#ffffffd1;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-app-region:no-drag;transition:background .12s,transform .1s,color .15s}.note-actions-item:hover,.note-actions-item.active{background:rgba(100,100,200,.35);color:#fff;transform:scale(1.06)}.note-actions-item--danger:hover{background:rgba(239,68,68,.3);color:#fff}.note-color-picker{display:flex;flex-direction:column;gap:3px;padding:8px;background:rgba(30,30,40,.82);backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0006;animation:pickerIn .12s ease;min-width:130px}.color-row-label{font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#ffffff73;padding:2px 1px 0;user-select:none}.color-swatch-row{display:flex;flex-direction:row;gap:5px}.color-swatch-row--fixed,.color-swatch-row--custom{padding-top:2px}@keyframes pickerIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.15);cursor:pointer;transition:transform .1s,border-color .1s,box-shadow .1s;-webkit-app-region:no-drag;padding:0}.color-swatch:hover{transform:scale(1.2);border-color:#fff9;box-shadow:0 2px 8px #0000004d}.color-swatch.active{border-color:#ffffffe6;box-shadow:0 0 0 2px #fff6;transform:scale(1.1)}.color-swatch--custom{position:relative;overflow:hidden;border-color:#ffffffd9;background:conic-gradient(#f87171 0deg 60deg,#fbbf24 60deg 120deg,#4ade80 120deg 180deg,#38bdf8 180deg 240deg,#a78bfa 240deg 300deg,#f472b6 300deg 360deg)}.color-swatch--custom:hover{transform:scale(1.2);border-color:#fff9;box-shadow:0 2px 8px #0000004d}.cpk-root{display:flex;flex-direction:column;gap:6px;padding-top:4px}.cpk-sv{position:relative;width:100%;height:80px;border-radius:6px;overflow:hidden;cursor:crosshair;touch-action:none;flex-shrink:0}.cpk-sv-white{position:absolute;inset:0;background:linear-gradient(to right,#fff,transparent)}.cpk-sv-black{position:absolute;inset:0;background:linear-gradient(to bottom,transparent,#000)}.cpk-sv-cursor{position:absolute;width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0009;transform:translate(-50%,-50%);pointer-events:none}.cpk-hue{position:relative;height:11px;border-radius:6px;background:linear-gradient(to right,#f00 0%,#ff0 16.67%,#0f0 33.33%,#0ff 50%,#00f 66.67%,#f0f 83.33%,#f00 100%);cursor:ew-resize;touch-action:none;flex-shrink:0}.cpk-hue-cursor{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0009;transform:translate(-50%,-50%);pointer-events:none}.cpk-bottom{display:flex;align-items:center;gap:5px}.cpk-preview{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.cpk-hex-input{flex:1;height:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#ffffffd9;font-size:10px;font-family:monospace;padding:0 5px;outline:none;text-transform:uppercase}.cpk-hex-input:focus{border-color:#ffffff59}.note-display{padding:12px;box-sizing:border-box;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.note-display::-webkit-scrollbar{width:4px}.note-display::-webkit-scrollbar-track{background:transparent}.note-display::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}.note-display::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.35)}.note-title{font-size:var(--fs-note-content);font-weight:600;color:#000000bf;opacity:.85;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.note-content{font-size:var(--fs-note-content);color:#000000b3;line-height:1.5;word-break:break-word}.note-content p{margin:0 0 5px}.note-content p:last-child{margin-bottom:0}.note-content strong{font-weight:700}.note-content em{font-style:italic}.note-content del{text-decoration:line-through}.note-content code{font-family:monospace;font-size:.9em;background:rgba(0,0,0,.08);border-radius:3px;padding:1px 4px}.note-content pre{background:rgba(0,0,0,.06);border-radius:6px;padding:8px;overflow-x:auto;margin:4px 0}.note-content pre code{background:none;padding:0}.note-content ul,.note-content ol,.note-edit-modal-preview ul,.note-edit-modal-preview ol{margin:6px 0;padding-left:22px}.note-content li,.note-edit-modal-preview li{margin:2px 0;padding-left:2px}.note-content ul,.note-edit-modal-preview ul{list-style-type:disc}.note-content ul ul,.note-edit-modal-preview ul ul{list-style-type:circle;padding-left:24px}.note-content ul ul ul,.note-edit-modal-preview ul ul ul{list-style-type:square}.note-content ol,.note-edit-modal-preview ol{list-style-type:decimal}.note-content ol ol,.note-edit-modal-preview ol ol{list-style-type:lower-alpha;padding-left:24px}.note-content ol ol ol,.note-edit-modal-preview ol ol ol{list-style-type:lower-roman}.note-edit-modal-preview li::marker{font-weight:700}.note-content h1,.note-content h2,.note-content h3,.note-content h4,.note-content h5,.note-content h6{font-size:1em;font-weight:700;margin:4px 0 2px}.note-content blockquote{border-left:2.5px solid rgba(0,0,0,.2);margin:4px 0;padding-left:8px;color:#0000008c}.note-content a{color:inherit;text-decoration:underline}.note-content .note-md-link,.note-md-link{color:#2563eb;text-decoration:underline;cursor:pointer}.note-content hr{border:none;border-top:1px solid rgba(0,0,0,.12);margin:6px 0}.note-content .note-md-table,.note-content table,.note-edit-modal-preview .note-md-table,.note-edit-modal-preview table{width:100%;border-collapse:separate;border-spacing:0;margin:10px 0;font-size:var(--fs-note-content);border-radius:7px;overflow:hidden;border:1px solid var(--theme-border);box-shadow:0 1px 4px color-mix(in srgb,#000 14%,transparent)}.note-content .note-md-table-cell,.note-content th,.note-content td,.note-edit-modal-preview .note-md-table-cell,.note-edit-modal-preview th,.note-edit-modal-preview td{border-bottom:1px solid var(--theme-border);border-right:1px solid color-mix(in srgb,var(--theme-border) 60%,transparent);padding:5px 10px;text-align:left;vertical-align:top}.note-content td:last-child,.note-content th:last-child,.note-edit-modal-preview td:last-child,.note-edit-modal-preview th:last-child{border-right:none}.note-content tr:last-child td,.note-content tr:last-child th,.note-edit-modal-preview tr:last-child td,.note-edit-modal-preview tr:last-child th{border-bottom:none}.note-content .note-md-table-cell--head,.note-content th,.note-edit-modal-preview .note-md-table-cell--head,.note-edit-modal-preview th{font-weight:600;font-size:.85em;letter-spacing:.03em;text-transform:uppercase;color:var(--theme-text-secondary);background:color-mix(in srgb,var(--theme-bg-deep) 70%,var(--theme-surface) 30%)}.note-content tbody tr:nth-child(even) td,.note-edit-modal-preview tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--theme-surface) 8%,transparent)}.note-content tbody tr:hover td,.note-edit-modal-preview tbody tr:hover td{background:color-mix(in srgb,var(--theme-surface) 18%,transparent);transition:background .12s}.note-content .note-md-img{max-width:100%;max-height:240px;object-fit:contain;border-radius:4px;display:block;margin:4px 0}.note-edit{padding:8px;flex:1;display:flex;flex-direction:column;gap:4px}.note-title-input{border:none;background:rgba(255,255,255,.35);border-radius:4px;padding:4px 8px;font-size:var(--fs-note-content);font-weight:600;font-family:inherit;color:#000000bf;outline:none}.note-content-input{flex:1 1 0;min-height:50px;border:none;background:rgba(255,255,255,.35);border-radius:4px;padding:4px 8px;font-size:var(--fs-note-input);font-family:inherit;color:#000000bf;outline:none;resize:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.note-content-input::-webkit-scrollbar{width:4px}.note-content-input::-webkit-scrollbar-track{background:transparent}.note-content-input::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}.note-content-input::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.35)}.note-title-input::placeholder,.note-content-input::placeholder{color:#00000059}.md-toolbar{display:flex;align-items:center;justify-content:center;gap:2px;padding:4px 5px;background:rgba(0,0,0,.06);border-radius:6px;margin-bottom:3px;flex-shrink:0;user-select:none}.md-btn{font-size:var(--fs-toolbar);line-height:1;padding:5px 9px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#0009;font-family:inherit;transition:background .1s,color .1s;flex-shrink:0}.md-btn svg{width:1em!important;height:1em!important;vertical-align:middle}.md-btn:hover{background:rgba(0,0,0,.1);color:#000000d9}.md-btn--bold{font-weight:700}.md-btn--italic{font-style:italic}.md-btn--strike{text-decoration:line-through}.md-btn--code{font-family:monospace;font-size:var(--fs-toolbar)}.md-btn--ol{padding:5px 7px;line-height:0}.note-edit-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:130000;display:flex;align-items:center;justify-content:center}.note-edit-modal{display:flex;flex-direction:column;gap:6px;width:560px;max-width:92vw;height:500px;min-height:280px;max-height:88vh;padding:16px;border-radius:12px;background:var(--theme-bg-panel);box-shadow:0 24px 64px #0000008c;border:1px solid var(--theme-border);overflow:hidden;position:relative}.note-edit-modal-header{display:flex;align-items:center;gap:8px}.note-edit-modal-header .note-title-input{flex:1}.md-mode-toggle{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:1px solid var(--theme-border);background:transparent;color:var(--theme-text-muted);font-size:var(--fs-toolbar);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s}.md-mode-toggle:hover{background:var(--theme-surface);color:var(--theme-text)}.md-mode-toggle--active{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-surface-raised)}.note-edit-modal-preview{flex:1;min-height:0;max-height:none;overflow-y:auto;padding:10px 12px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-bg-deep);scrollbar-width:thin;scrollbar-color:var(--theme-surface) transparent;font-size:var(--fs-note-content);line-height:1.6;color:inherit}.note-edit-modal-preview::-webkit-scrollbar{width:4px}.note-edit-modal-preview::-webkit-scrollbar-thumb{background:var(--theme-surface);border-radius:2px}.note-edit-modal-preview img{max-width:100%;border-radius:4px}.note-edit-modal-preview code{font-family:monospace;font-size:.9em;background:color-mix(in srgb,var(--theme-surface) 70%,transparent);color:var(--theme-text);border-radius:3px;padding:1px 4px}.note-edit-modal-preview pre{background:color-mix(in srgb,var(--theme-surface) 40%,transparent);border-radius:6px;padding:8px;overflow-x:auto;margin:4px 0}.note-edit-modal-preview pre code{background:none;padding:0}.note-edit-modal-preview blockquote{border-left:2.5px solid var(--theme-border);margin:4px 0;padding-left:8px;color:var(--theme-text-muted)}.note-edit-modal-placeholder{color:var(--theme-text-muted);font-style:italic}.note-edit-modal-rich-editor{cursor:text;outline:none}.note-edit-modal-rich-wrap{position:relative;flex:1;min-height:0}.note-edit-modal-rich-wrap .note-edit-modal-rich-editor{height:100%}.note-edit-modal-rich-editor:focus{border-color:var(--theme-surface-raised)}.note-edit-modal-rich-editor a{pointer-events:none}.table-hover-add-btn{position:absolute;width:16px;height:16px;border-radius:999px;border:1px solid var(--theme-border);background:var(--theme-surface-raised);color:var(--theme-text);font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:4;box-shadow:0 2px 6px color-mix(in srgb,#000 24%,transparent);transform:translate(-50%,-50%)}.table-hover-add-btn:hover{background:var(--theme-surface)}.table-hover-add-btn--row-delete,.table-hover-add-btn--col-delete{background:color-mix(in srgb,#b33 24%,var(--theme-surface-raised))}.table-hover-add-btn--row-delete:hover,.table-hover-add-btn--col-delete:hover{background:color-mix(in srgb,#b33 36%,var(--theme-surface))}.table-hover-add-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--theme-surface-raised) 70%,white);outline-offset:1px}.note-edit-modal .note-title-input{font-size:var(--fs-modal-title);font-weight:600;padding:6px 8px;border-radius:6px;border:1px solid var(--theme-border);background:var(--theme-bg-deep);color:inherit;outline:none}.note-edit-modal .note-title-input:focus{border-color:var(--theme-surface-raised)}.note-edit-modal .note-content-input{flex:1;min-height:0;max-height:none;resize:none;font-size:var(--fs-note-content);font-family:inherit;padding:10px 12px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-bg-deep);color:inherit;line-height:1.6;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--theme-surface) transparent}.note-edit-modal .note-content-input::-webkit-scrollbar{width:4px}.note-edit-modal .note-content-input::-webkit-scrollbar-thumb{background:var(--theme-surface);border-radius:2px}.note-edit-modal .md-toolbar{background:var(--theme-bg-deep);border-radius:6px;padding:3px 4px}.note-edit-modal .md-btn{color:var(--theme-text-secondary)}.note-edit-modal .md-btn:hover{background:var(--theme-surface);color:var(--theme-text)}.note-edit-modal .md-btn--active{background:var(--theme-surface-raised);color:var(--theme-text);box-shadow:inset 0 0 0 1px var(--theme-border)}.note-edit-modal .md-btn--active:hover{background:var(--theme-surface-raised)}.md-sep{display:block;width:1px;height:14px;background:var(--theme-border);margin:0 3px;flex-shrink:0}.md-sep--push{width:0;background:transparent;flex:1}.md-insert-dialog-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--theme-bg-panel) 85%,transparent);display:flex;align-items:center;justify-content:center;z-index:20}.md-insert-dialog{width:min(420px,92%);border:1px solid var(--theme-border);border-radius:10px;padding:12px;background:var(--theme-bg-panel);display:flex;flex-direction:column;gap:8px;box-shadow:0 18px 40px #00000059}.md-insert-dialog-title{font-size:calc(var(--fs-note-content) + 1px);font-weight:700;color:var(--theme-text)}.md-insert-dialog-label{display:flex;flex-direction:column;gap:4px;color:var(--theme-text-secondary);font-size:var(--fs-note-content)}.md-insert-dialog-input{border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-bg-deep);color:var(--theme-text);font-size:var(--fs-note-content);padding:7px 8px;outline:none}.md-insert-dialog-input:focus{border-color:var(--theme-surface-raised)}.md-insert-dialog-hint{color:var(--theme-text-muted);font-size:calc(var(--fs-note-content) - 1px)}.md-insert-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.md-insert-dialog-btn{border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-bg-deep);color:var(--theme-text-secondary);font-size:var(--fs-note-content);padding:6px 10px;cursor:pointer}.md-insert-dialog-btn:hover{background:var(--theme-surface);color:var(--theme-text)}.md-insert-dialog-btn--primary{background:var(--theme-surface-raised);color:var(--theme-text)}.md-insert-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.note-edit-modal-resize-handle{position:absolute;bottom:0;left:0;right:0;height:8px;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.note-edit-modal-resize-handle:after{content:"";display:block;width:32px;height:3px;border-radius:2px;background:var(--theme-surface);transition:background .15s}.note-edit-modal-resize-handle:hover:after{background:var(--theme-surface-raised)}.note-resize-handle{position:absolute;width:22px;height:22px;cursor:se-resize;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--theme-bg-panel) 82%,transparent);border:none;border-radius:6px;box-shadow:0 2px 8px #00000047;opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .15s,transform .15s,background .15s;z-index:30;-webkit-app-region:no-drag}.note-resize-handle-icon{font-size:11px;color:var(--theme-accent);pointer-events:none;transform:scaleX(-1)}.note-card:hover .note-resize-handle{opacity:1;transform:translate(-50%,-50%) scale(1)}.note-resize-handle:hover{background:color-mix(in srgb,var(--theme-accent) 20%,var(--theme-bg-panel))}.note-card--connectable:hover .note-resize-handle{opacity:0;pointer-events:none}.note-radius-handle{position:absolute;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--theme-bg-panel) 82%,transparent);border:none;border-radius:6px;box-shadow:0 2px 8px #00000047;cursor:ns-resize;opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .15s,transform .15s,background .15s;z-index:30;touch-action:none;pointer-events:all;-webkit-app-region:no-drag}.note-card:hover .note-radius-handle{opacity:1;transform:translate(-50%,-50%) scale(1)}.note-radius-handle:hover{background:color-mix(in srgb,var(--theme-accent) 20%,var(--theme-bg-panel))}.note-card--connectable:hover .note-radius-handle{opacity:0;pointer-events:none}.note-radius-handle-icon{width:12px;height:12px;color:var(--theme-accent);pointer-events:none}.note-radius-handle-icon svg{width:100%;height:100%;display:block}.note-radius-handle-icon path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.zoom-controls{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--theme-bg-panel) 85%,transparent);backdrop-filter:blur(8px);border:1px solid var(--theme-border);border-radius:6px;padding:4px 8px}.zoom-level{font-size:var(--fs-toolbar);color:var(--theme-text-muted);pointer-events:none;min-width:30px;text-align:right}.zoom-reset-btn{background:none;border:none;padding:0 2px;margin:0;cursor:pointer;color:var(--theme-text-muted);font-size:var(--fs-note-content);line-height:1;border-radius:3px;transition:color .15s,background .15s}.zoom-reset-btn:hover{color:var(--theme-text);background:var(--theme-surface)}.pan-coordinates{font-size:var(--fs-toolbar);color:var(--theme-text-muted);pointer-events:none;min-width:70px;text-align:center;font-family:monospace}.pan-reset-btn{background:none;border:none;padding:0 2px;margin:0;cursor:pointer;color:var(--theme-text-muted);font-size:var(--fs-note-content);line-height:1;border-radius:3px;transition:color .15s,background .15s}.pan-reset-btn:hover{color:var(--theme-text);background:var(--theme-surface)}.empty-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--theme-text-muted);font-size:15px;pointer-events:none;text-align:center;line-height:1.6}.connection-path{stroke:var(--theme-accent);stroke-width:2;opacity:.75;transition:opacity .15s}.connection-group:hover .connection-path{opacity:1;stroke-width:2.5}.connection-path--pending{stroke:var(--theme-accent);stroke-width:2;stroke-dasharray:6 4;opacity:.5}.connection-arrowhead{fill:var(--theme-accent);opacity:1;transition:opacity .15s}.connection-group:hover .connection-arrowhead{opacity:1}.connection-arrowhead--pending{fill:var(--theme-accent);opacity:.5}.conn-btn-bg{fill:#161620eb;stroke:#ffffff24;stroke-width:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}.conn-btn-palette,.conn-btn-label,.conn-btn-delete{fill:transparent;stroke:none;cursor:pointer;-webkit-app-region:no-drag;--wails-draggable: no-drag;transition:fill .12s}.conn-btn-palette:hover,.conn-btn-palette.active{fill:#6464c859}.conn-btn-label:hover,.conn-btn-label.active{fill:#50b47859}.conn-btn-delete:hover{fill:#ef44444d}.conn-btn-icon{fill:#ffffffd1;pointer-events:none;user-select:none}.conn-label{font-size:var(--fs-toolbar);font-weight:500;white-space:nowrap;text-align:center;padding:1px 6px;border-radius:4px;background:transparent;user-select:none;line-height:1.4;letter-spacing:.01em;cursor:grab;height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.conn-label-editor-wrap{pointer-events:all}.conn-label-editor{width:120px;height:28px;min-height:unset;resize:none;overflow:hidden;box-sizing:border-box;border:1.5px solid currentColor;border-radius:8px;padding:0 6px;font-size:var(--fs-toolbar);font-weight:500;font-family:inherit;text-align:center;display:flex;align-items:center;background:color-mix(in srgb,currentColor 10%,var(--theme-bg-panel, #1a1a2e));backdrop-filter:blur(6px);outline:none;box-shadow:0 2px 10px #0006;letter-spacing:.01em;line-height:26px}.note-anchors{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .15s}.note-card:hover .note-anchors{opacity:1}.note-card--connectable:hover .note-anchors{opacity:0}.note-anchor{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--theme-accent);border:2px solid white;pointer-events:all;cursor:crosshair}.whiteboard--connecting,.note-card--connectable{cursor:crosshair}.note-card--connectable:hover .note-card-body{box-shadow:0 0 0 2px var(--theme-accent),0 4px 20px #0003}.note-side-hint{position:absolute;background:var(--theme-accent);border-radius:4px;pointer-events:none;opacity:.98;z-index:1;transition:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-accent) 70%,white 30%),0 0 14px color-mix(in srgb,var(--theme-accent) 78%,transparent)}.note-side-hint--shape-hexagon.note-side-hint--anchor-left,.note-side-hint--shape-hexagon.note-side-hint--anchor-right,.note-side-hint--shape-diamond{box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-accent) 75%,white 25%),0 0 18px color-mix(in srgb,var(--theme-accent) 88%,transparent),0 0 28px color-mix(in srgb,var(--theme-accent) 50%,transparent)}.note-side-hint--top{top:var(--note-side-top);left:var(--note-side-horizontal-inset);right:var(--note-side-horizontal-inset);height:3px}.note-side-hint--bottom{bottom:var(--note-side-bottom);left:var(--note-side-horizontal-inset);right:var(--note-side-horizontal-inset);height:3px}.note-side-hint--left{left:var(--note-side-left);top:var(--note-side-vertical-inset);bottom:var(--note-side-vertical-inset);width:3px}.note-side-hint--right{right:var(--note-side-right);top:var(--note-side-vertical-inset);bottom:var(--note-side-vertical-inset);width:3px}.shape-icon{width:20px;height:20px;display:inline-block;color:currentColor}.shape-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}.snap-toggle-btn,.note-shape-btn,.settings-btn{position:fixed;bottom:16px;left:16px;width:var(--size-settings-btn);height:var(--size-settings-btn);border-radius:50%;border:1px solid var(--theme-border);background:var(--theme-bg-panel);color:var(--theme-text-secondary);font-size:var(--fs-note-content);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2000;transition:background .15s,color .15s,transform .2s,width .2s,height .2s;-webkit-app-region:no-drag;--wails-draggable: no-drag;backdrop-filter:blur(8px)}.note-shape-btn{bottom:calc(16px + var(--size-settings-btn) + 10px)}.snap-toggle-btn{bottom:calc(16px + (var(--size-settings-btn) * 2) + 20px)}.snap-toggle-btn.active{background:color-mix(in srgb,var(--theme-accent) 16%,var(--theme-bg-panel));color:var(--theme-accent);border-color:color-mix(in srgb,var(--theme-accent) 46%,var(--theme-border))}.note-shape-btn:hover,.snap-toggle-btn:hover{background:var(--theme-surface);color:var(--theme-accent)}.settings-btn:hover{background:var(--theme-surface);color:var(--theme-accent);transform:rotate(30deg)}.shape-menu-overlay{position:fixed;inset:0;z-index:2500}.shape-menu{position:fixed;left:16px;bottom:calc(16px + (var(--size-settings-btn) * 2) + 26px);width:320px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-bg-panel);box-shadow:0 14px 36px #0000004d;padding:10px;-webkit-app-region:no-drag}.shape-menu-title{color:var(--theme-text);font-size:var(--fs-note-content);font-weight:700;margin-bottom:8px}.shape-menu-grid{display:grid;grid-template-columns:1fr;gap:6px}.shape-menu-item{border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-bg-deep);color:var(--theme-text-secondary);font-size:var(--fs-note-content);display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer}.shape-menu-item:hover{background:var(--theme-surface);color:var(--theme-text)}.shape-menu-item.active{background:var(--theme-surface-raised);color:var(--theme-text);box-shadow:inset 0 0 0 1px var(--theme-border)}.settings-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-panel{background:var(--theme-bg-deep);border:1px solid var(--theme-border);border-radius:12px;width:380px;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #0006;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--theme-border)}.settings-header h2{font-size:15px;font-weight:700;color:var(--theme-text);margin:0}.settings-close{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--theme-text-secondary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.settings-close:hover{background:var(--theme-surface);color:var(--theme-text)}.settings-body{padding:20px}.settings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.settings-tab{height:32px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-bg-panel);color:var(--theme-text-secondary);font-size:12px;font-weight:600;cursor:pointer}.settings-tab:hover{color:var(--theme-text);background:var(--theme-surface)}.settings-tab.active{border-color:color-mix(in srgb,var(--theme-accent) 55%,var(--theme-border));background:color-mix(in srgb,var(--theme-accent) 14%,var(--theme-bg-panel));color:var(--theme-text)}.settings-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--theme-text-muted);margin-bottom:12px}.size-selector{display:flex;gap:8px;margin-bottom:20px}.background-image-controls{display:flex;gap:8px;margin-bottom:8px}.background-image-upload-btn,.background-image-clear-btn{flex:1;height:34px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-bg-panel);color:var(--theme-text-secondary);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.background-image-upload-btn:hover,.background-image-clear-btn:hover:not(:disabled){background:var(--theme-surface);color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-accent) 35%,var(--theme-border))}.background-image-clear-btn:disabled{opacity:.45;cursor:not-allowed}.background-image-upload-btn input{display:none}.background-image-status{font-size:11px;color:var(--theme-text-muted);margin-bottom:18px}.board-password-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:8px}.board-password-input{height:34px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-bg-panel);color:var(--theme-text);font-size:13px;padding:0 10px;outline:none}.board-password-input:focus{border-color:color-mix(in srgb,var(--theme-accent) 55%,var(--theme-border))}.board-password-save,.board-password-clear{height:34px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-bg-panel);color:var(--theme-text-secondary);font-size:12px;font-weight:600;padding:0 10px;cursor:pointer}.board-password-save:hover,.board-password-clear:hover:not(:disabled){color:var(--theme-text);background:var(--theme-surface)}.board-password-clear:disabled{opacity:.45;cursor:not-allowed}.size-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:2px solid var(--theme-border);border-radius:10px;background:transparent;cursor:pointer;transition:border-color .15s,background .15s;color:var(--theme-text-muted)}.size-option:hover{border-color:var(--theme-text-muted);color:var(--theme-text)}.size-option.active{border-color:var(--theme-accent);color:var(--theme-text)}.size-option-icon{font-weight:700;line-height:1}.size-option-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-card{border:2px solid var(--theme-border);border-radius:10px;padding:12px;cursor:pointer;transition:border-color .15s,transform .1s;background:transparent;text-align:left;display:flex;flex-direction:column;gap:8px}.theme-card:hover{border-color:var(--theme-text-muted);transform:scale(1.02)}.theme-card.active{border-color:var(--theme-accent)}.theme-card-preview{display:flex;gap:3px;height:20px;border-radius:4px;overflow:hidden}.theme-card-preview span{flex:1;border-radius:3px}.theme-card-name{font-size:12px;font-weight:600;color:var(--theme-text)}.theme-card-desc{font-size:10px;color:var(--theme-text-muted)}
