@font-face{font-family:Archivo;src:url(./Archivo-Regular-0xdipIZB.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Archivo;src:url(./Archivo-Medium-JfjrqztD.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url(./Archivo-SemiBold-BnCQDiQ2.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Archivo;src:url(./Archivo-Black-Bh0nNR1y.ttf)format("truetype");font-weight:900;font-display:swap}@font-face{font-family:Instrument Serif;src:url(./InstrumentSerif-Regular-BjwVvGU6.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Instrument Serif;src:url(./InstrumentSerif-Italic-DvH-EfPC.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Geist Mono;src:url(./GeistMono-Regular-BCnbOz45.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(./GeistMono-Medium-BMfvwy2_.ttf)format("truetype");font-weight:500;font-display:swap}:root{--bg:#f2f1ee;--bg-soft:#faf9f7;--bg-hover:#e9e8e4;--surface:#fff;--border:#0e0f1224;--border-strong:#0e0f1252;--text:#0e0f12;--text-strong:#000;--text-muted:#0e0f129e;--faint:#0e0f126b;--accent:#5465ff;--accent-ink:#3a44c9;--accent-soft:#5465ff1f;--on-accent:#fff;--sage:#27a644;--clay:#8b93a1;--mist:#8b93a1;--success:#27a644;--invert-bg:#191d20;--invert-fg:#f2f1ee;--danger:#e5484d;--shadow:0 0 0 1px var(--border-strong), 0 16px 40px #0e0f1224;--note-red:#f6dfe0;--note-orange:#f7e6d6;--note-yellow:#f3eccf;--note-green:#dcebdf;--note-blue:#dfe3fb;--note-purple:#e8e1f5;--radius:0;--font-ui:"Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Instrument Serif", Georgia, "Times New Roman", serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .9, .2, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e0f12;--bg-soft:#16191c;--bg-hover:#22262a;--surface:#191d20;--border:#f2f1ee1a;--border-strong:#f2f1ee47;--text:#f2f1ee;--text-strong:#fff;--text-muted:#f2f1ee9e;--faint:#f2f1ee6b;--accent:#6b7bff;--accent-ink:#9aa3ff;--accent-soft:#6b7bff33;--sage:#3cc35c;--success:#3cc35c;--invert-bg:#f2f1ee;--invert-fg:#0e0f12;--danger:#ff6369;--shadow:0 0 0 1px var(--border-strong), 0 16px 40px #00000080;--note-red:#2c1e20;--note-orange:#2c2219;--note-yellow:#2a2719;--note-green:#1b2620;--note-blue:#1d2033;--note-purple:#241f30;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e0f12;--bg-soft:#16191c;--bg-hover:#22262a;--surface:#191d20;--border:#f2f1ee1a;--border-strong:#f2f1ee47;--text:#f2f1ee;--text-strong:#fff;--text-muted:#f2f1ee9e;--faint:#f2f1ee6b;--accent:#6b7bff;--accent-ink:#9aa3ff;--accent-soft:#6b7bff33;--sage:#3cc35c;--success:#3cc35c;--invert-bg:#f2f1ee;--invert-fg:#0e0f12;--danger:#ff6369;--shadow:0 0 0 1px var(--border-strong), 0 16px 40px #00000080;--note-red:#2c1e20;--note-orange:#2c2219;--note-yellow:#2a2719;--note-green:#1b2620;--note-blue:#1d2033;--note-purple:#241f30;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:400 14px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;overflow:clip}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}input,select,textarea{background:var(--bg);border:1px solid var(--border);transition:border-color .15s var(--ease);border-radius:0;outline:none;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--text-muted)}.small{font-size:12px}.error{color:var(--danger)}.spacer{flex:1}.icon-btn.mobile-only{display:none}.app{grid-template-rows:minmax(0,1fr);grid-template-columns:232px 340px 1fr;height:100%;display:grid}.sidebar{background:var(--bg-soft);border-right:1px solid var(--border);padding:calc(16px + var(--safe-top)) 8px calc(8px + var(--safe-bottom));flex-direction:column;gap:0;display:flex;overflow-y:auto}.brand{color:var(--text-strong);align-items:center;gap:10px;padding:4px 8px 20px;display:flex}.wordmark{font:900 21px/1 var(--font-ui);letter-spacing:-.04em;white-space:nowrap}.wordmark em{font:italic 400 24px/1 var(--font-display);letter-spacing:-.01em;color:var(--accent)}.sidebar-new{background:var(--accent);width:100%;color:var(--on-accent);text-align:left;transition:background .15s var(--ease);align-items:center;gap:10px;margin-bottom:12px;padding:9px 10px;font-weight:600;display:flex}.sidebar-new:hover{background:var(--accent-ink)}.sidebar-new kbd{color:var(--on-accent);border-color:#fff6}kbd{font:500 11px/1 var(--font-mono);border:1px solid var(--border-strong);color:var(--text);flex-shrink:0;padding:3px 6px}.nav-item{text-align:left;width:100%;color:var(--text-muted);transition:color .15s var(--ease), background .15s var(--ease);align-items:center;gap:10px;padding:8px 10px;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{color:var(--accent-ink);background:var(--accent-soft);font-weight:500}.nav-item.active:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.nav-item.active .nav-count{color:var(--accent-ink)}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-count{font:400 11px/1 var(--font-mono);color:var(--faint)}.nav-section{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);justify-content:space-between;align-items:center;padding:24px 10px 4px;display:flex}.nav-hint{color:var(--faint);margin:0;padding:4px 10px;font-size:12px}.sidebar-bottom{border-top:1px solid var(--border);margin-top:auto;padding-top:8px}.icon-btn{width:36px;height:36px;color:var(--text-muted);transition:color .15s var(--ease), background .15s var(--ease);flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text-strong)}.icon-btn.on{color:var(--accent);background:var(--accent-soft)}.icon-btn.small{width:28px;height:28px}.ai-btn{color:var(--accent-ink);background:var(--accent-soft)}.btn{white-space:nowrap;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:inline-flex}.btn.small{padding:4px 10px;font-size:13px}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-ink);color:var(--on-accent)}.btn.ghost{border:1px solid var(--border-strong)}.btn.ghost:hover,.btn.ghost.active{background:var(--bg-hover);border-color:var(--text)}.btn.danger,.menu-item.danger{color:var(--danger)}.btn.recording{background:var(--danger);color:#fff;animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.7}}.list-pane{background:var(--bg);border-right:1px solid var(--border);min-width:0;padding-top:var(--safe-top);flex-direction:column;display:flex;overflow:hidden}.list-header{align-items:center;gap:8px;padding:16px 16px 12px;display:flex}.list-header h1{font:600 16px/1.2 var(--font-ui);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);flex:0 auto;margin:0;overflow:hidden}.list-count{font:400 11px/1 var(--font-mono);color:var(--faint);margin-right:auto}.header-actions{align-items:center;gap:4px;display:flex}.list-tools{border-bottom:1px solid var(--border);gap:8px;padding:0 16px 12px;display:flex}.search{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--faint);flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.search:focus-within{border-color:var(--accent)}.search kbd{color:var(--faint)}.search input{min-width:0;color:var(--text);background:0 0;border:0;flex:1;padding:8px 0}.list-tools select{background:var(--surface)}.note-list{padding:0 0 calc(16px + var(--safe-bottom));flex:1;margin:0;list-style:none;overflow-y:auto}.note-card{text-align:left;border-bottom:1px solid var(--border);width:100%;transition:background .15s var(--ease);padding:14px 16px;display:block;position:relative}.note-card:hover{background:var(--bg-soft)}.note-card.active{background:var(--surface)}.note-card.active:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.note-card-title{color:var(--text-strong);align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.note-card-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-card-title svg{color:var(--accent);flex-shrink:0}.note-card-snippet{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:13px;display:-webkit-box;overflow:hidden}.note-card-meta{font:400 11px/1.4 var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.chip{border:1px solid var(--border);color:var(--text-muted);align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.chip.accent{border-color:var(--accent);color:var(--accent-ink)}.empty{text-align:center;color:var(--faint);padding:40px 24px;font-size:13px}.color-red{--note-tint:var(--note-red)}.color-orange{--note-tint:var(--note-orange)}.color-yellow{--note-tint:var(--note-yellow)}.color-green{--note-tint:var(--note-green)}.color-blue{--note-tint:var(--note-blue)}.color-purple{--note-tint:var(--note-purple)}.note-card:not(.color-none){box-shadow:inset 4px 0 0 var(--note-tint)}.note-card.active:not(.color-none){box-shadow:none}.editor:not(.color-none){background:var(--note-tint)}.editor-pane{background:var(--surface);min-width:0;display:flex;overflow:clip}.editor{min-width:0;padding-top:var(--safe-top);flex-direction:column;flex:1;display:flex}.editor-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:4px;padding:8px 16px;display:flex}.group-select{max-width:180px;font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:0 0;border-color:#0000;padding:6px 8px}.group-select:hover{border-color:var(--border)}.trash-banner{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.editor-scroll{flex:1;padding:40px max(32px,50% - 360px) 48px;overflow-y:auto}.title-input{width:100%;font:400 48px/1.1 var(--font-display);letter-spacing:-.015em;color:var(--text-strong);background:0 0;border:0;padding:0}.title-input::placeholder{color:var(--faint)}.note-dates{font:400 11px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--faint);flex-wrap:wrap;align-items:center;gap:4px;margin:12px 0 24px;display:flex}.format-bar{border:1px solid var(--border);background:var(--surface);z-index:10;flex-wrap:wrap;gap:0;width:fit-content;margin-bottom:16px;display:flex;position:sticky;top:-40px}.fmt{min-width:36px;height:32px;color:var(--text-muted);border-right:1px solid var(--border);transition:background .15s var(--ease), color .15s var(--ease);padding:0 8px;font-size:13px;font-weight:600}.fmt:last-child{border-right:0}.fmt:hover{background:var(--bg-hover);color:var(--text-strong)}.fmt-I{font-style:italic}.fmt-U{text-decoration:underline}.fmt-S{text-decoration:line-through}.body-input{word-wrap:break-word;outline:none;min-height:160px;font-size:16px;line-height:1.7}.body-input:empty:before{content:attr(data-placeholder);color:var(--faint);pointer-events:none}.rich h1{font:400 32px/1.2 var(--font-display);color:var(--text-strong);margin:24px 0 8px}.rich h2{font:400 26px/1.2 var(--font-display);color:var(--text-strong);margin:20px 0 8px}.rich h3{margin:16px 0 4px;font-size:17px;font-weight:600}.rich p{margin:0 0 8px}.rich ul,.rich ol{margin:4px 0 8px;padding-left:24px}.rich blockquote{border-left:2px solid var(--accent);font:400 20px/1.4 var(--font-display);color:var(--text-muted);margin:8px 0;padding-left:16px}.rich code{background:var(--bg-hover);font:400 13px var(--font-mono);padding:2px 4px}.rich hr{border:0;border-top:1px solid var(--border);margin:24px 0}.checklist{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;margin-top:24px;display:flex}.check-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;width:100%;padding:4px 0;display:flex}.check-item input[type=checkbox]{appearance:none;border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;flex-shrink:0;place-items:center;width:18px;height:18px;margin:0;padding:0;display:grid}.check-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.check-item input[type=checkbox]:checked:after{content:"";border:solid var(--on-accent);border-width:0 2px 2px 0;width:4px;height:8px;transform:translateY(-1px)rotate(45deg)}.check-item.add{color:var(--faint);padding-left:1px}.check-text{background:0 0;border:0;flex:1;min-width:0;padding:6px 0}.check-item.done .check-text{color:var(--faint);text-decoration:line-through}.check-item .icon-btn{opacity:0}.check-item:hover .icon-btn,.check-item:focus-within .icon-btn{opacity:1}.checklist .btn{margin-top:12px}.attachments{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:24px;display:grid}.attachment{border:1px solid var(--border);background:var(--bg-soft);position:relative;overflow:hidden}.attachment img{object-fit:cover;cursor:zoom-in;width:100%;height:140px;display:block}.attachment.drawing img{object-fit:contain;background:#fff}.attachment.audio{grid-column:1/-1;padding:8px 40px 8px 8px}.attachment audio{width:100%;display:block}.attachment-remove{background:var(--bg);border:1px solid var(--border);position:absolute;top:4px;right:4px}.image-viewer{z-index:70;cursor:zoom-out;background:#0e0f12e6;place-items:center;display:grid;position:fixed;inset:0}.image-viewer img{max-width:94vw;max-height:94vh}.editor-footer{padding:8px 16px calc(8px + var(--safe-bottom));border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:4px;display:flex}.save-status{font:400 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);white-space:nowrap}.save-status:before{content:"";background:var(--success);vertical-align:1px;width:6px;height:6px;margin-right:8px;display:inline-block}.editor-empty{text-align:center;color:var(--text-muted);flex:1;place-content:center;justify-items:center;gap:12px;padding:24px;display:grid}.editor-empty img{margin-bottom:8px}.editor-empty p{margin:0}.editor-empty>p:first-of-type{font:400 32px/1.2 var(--font-display);color:var(--text-strong)}.editor-empty .small{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin-top:8px}.pop-anchor{position:relative}.popover{z-index:20;background:var(--bg);min-width:220px;box-shadow:var(--shadow);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.popover strong{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:8px 10px 6px}.popover.row{flex-direction:row;gap:4px;min-width:0;padding:8px}.menu-item{text-align:left;transition:background .15s var(--ease);padding:8px 10px}.menu-item:hover{background:var(--bg-hover)}.swatch{border:1px solid var(--border-strong);flex-shrink:0;width:24px;height:24px}.swatch.active{outline:2px solid var(--accent);outline-offset:2px}.note-swatch{background:var(--note-tint,var(--bg))}.note-swatch.color-none{background:linear-gradient(135deg, var(--bg) 45%, var(--danger) 47% 53%, var(--bg) 55%)}.field{flex-direction:column;gap:6px;margin:12px 0;font-size:13px;display:flex}.field span{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.modal-backdrop{z-index:40;animation:fade-in .15s var(--ease);background:#0e0f1299;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg);box-shadow:var(--shadow);width:min(480px,100%);max-height:calc(100vh - 32px);animation:rise-in .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}.modal.wide{width:min(760px,100%)}.modal-header{align-items:center;padding:16px 16px 8px 24px;display:flex}.modal-header h2{font:400 28px/1.2 var(--font-display);color:var(--text-strong);flex:1;margin:0}.modal-body{padding:4px 24px 24px;overflow-y:auto}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.ai-loading{color:var(--text-muted);font:400 12px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;justify-content:center;align-items:center;gap:12px;padding:32px 0;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-result{background:var(--bg-soft);border:1px solid var(--border);max-height:50vh;padding:16px 20px;overflow-y:auto}.settings-section{border-bottom:1px solid var(--border);padding:16px 0 20px}.settings-section h3{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px}.settings-section p{margin:0 0 8px;font-size:13px}.segmented{border:1px solid var(--border-strong);display:inline-flex}.segmented button{border-right:1px solid var(--border);padding:6px 16px}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--invert-bg);color:var(--invert-fg)}.row-gap{flex-wrap:wrap;gap:8px;display:flex}.status{font:400 12px var(--font-mono);color:var(--accent-ink);word-break:break-all}.draw-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.divider{background:var(--border);width:1px;height:24px;margin:0 4px}.size-dot{place-items:center;width:32px;height:32px;display:grid}.size-dot span{background:var(--text);border-radius:50%;display:block}.size-dot.active{background:var(--accent-soft)}.draw-canvas{border:1px solid var(--border);touch-action:none;cursor:crosshair;background:#fff;width:100%;height:min(60vh,520px);display:block}.calendar{flex-direction:column;display:flex}.cal-modes{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:0;padding:0 16px 10px;display:flex}.cal-modes button{color:var(--text-muted);border:1px solid var(--border-strong);margin-right:-1px;padding:5px 10px;font-size:12px;font-weight:600}.cal-modes button.active{background:var(--invert-bg);color:var(--invert-fg);border-color:var(--invert-bg)}.cal-summary{font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);flex-basis:100%;margin-top:8px}.cal-scroll{min-height:0;padding-bottom:calc(16px + var(--safe-bottom));flex:1;overflow-y:auto}.cal-grid{grid-template-columns:repeat(7,1fr);padding:6px 12px 4px;display:grid}.cal-weekday{text-align:center;font:500 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:8px 0}.cal-cell{aspect-ratio:1;font-variant-numeric:tabular-nums;transition:background .15s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;display:flex;position:relative}.cal-cell:hover{background:var(--bg-hover)}.cal-cell.outside{color:var(--faint)}.cal-cell.today .cal-num{color:var(--accent);font-weight:700}.cal-cell.today:after{content:"";box-shadow:inset 0 0 0 1px var(--accent);pointer-events:none;position:absolute;inset:3px}.cal-cell.selected{background:var(--invert-bg);color:var(--invert-fg)}.cal-cell.selected .cal-num{color:var(--invert-fg)}.cal-marks{align-items:center;gap:3px;height:8px;display:flex}.cal-marks b{font:500 9px/1 var(--font-mono);color:var(--faint)}.cal-cell.selected .cal-marks b{color:var(--invert-fg)}.mark{width:6px;height:6px;display:inline-block}.mark.reminder{background:var(--accent)}.mark.note{background:var(--text);opacity:.55}.mark.late{background:var(--danger)}.cal-cell.selected .mark.note{background:var(--invert-fg);opacity:.8}.cal-legend{border-bottom:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:4px 12px;padding:4px 16px 12px;font-size:11px;display:flex}.cal-legend span{align-items:center;gap:5px;display:inline-flex}.cal-legend .faint{color:var(--faint);font:400 10px var(--font-mono)}.cal-day-header{gap:10px;padding:16px 16px 8px;display:grid}.cal-day-header .row-gap{gap:8px;display:flex}.cal-day-header strong{font:400 22px/1.2 var(--font-display);color:var(--text-strong);display:block}.cal-day-header small{font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.cal-sections{gap:4px;padding:0 0 8px;display:grid}.cal-section ul{margin:0;padding:0;list-style:none}.cal-section-label{font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);justify-content:space-between;align-items:center;padding:10px 16px 6px;display:flex}.cal-jump{font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink)}.cal-item{text-align:left;border-bottom:1px solid var(--border);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;width:100%;padding:8px 16px;display:grid}.cal-item:hover{background:var(--bg-hover)}.cal-item.active{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.cal-kind{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-muted);place-items:center;display:grid}.cal-kind.kind-pen,.cal-kind.kind-pdf{color:var(--accent-ink)}.cal-item-text{min-width:0}.cal-item-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.cal-item-text small{color:var(--faint);font-size:11px}.cal-time{font:400 11px var(--font-mono);color:var(--faint)}.chip.danger{border-color:var(--danger);color:var(--danger)}.cal-week{border-bottom:1px solid var(--border);gap:0;padding:8px 12px 12px;display:grid}.cal-week-day{text-align:left;border-bottom:1px solid var(--border);grid-template-columns:44px 1fr;align-items:start;gap:10px;padding:8px 6px;display:grid}.cal-week-day:last-child{border-bottom:0}.cal-week-day:hover{background:var(--bg-hover)}.cal-week-day.selected{background:var(--accent-soft)}.cal-week-head{justify-items:center;display:grid}.cal-week-head small{font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.cal-week-head strong{font:600 18px/1.1 var(--font-ui)}.cal-week-day.today .cal-week-head strong{color:var(--accent)}.cal-week-items{gap:4px;min-width:0;padding-top:2px;display:grid}.cal-pill{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;font-size:12px;overflow:hidden}.cal-pill.reminder{box-shadow:inset 2px 0 0 var(--accent), inset 0 0 0 1px var(--border);color:var(--accent-ink)}.cal-more{font:400 10px var(--font-mono);color:var(--faint)}.drawer-scrim{display:none}@media (width<=1000px){.app{grid-template-columns:320px 1fr}.sidebar{z-index:30;width:260px;transition:transform .2s var(--ease);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer-open .sidebar{box-shadow:var(--shadow);transform:none}.drawer-open .drawer-scrim{z-index:20;background:#0e0f1266;display:block;position:fixed;inset:0}.icon-btn.mobile-only{display:inline-grid}}@media (width<=720px){.app{grid-template-columns:1fr}.list-pane{border-right:0}.editor-pane,.editor-open .list-pane{display:none}.editor-open .editor-pane{display:flex}.editor-scroll{padding:24px 16px 40px}.title-input{font-size:36px}.check-item .icon-btn{opacity:1}.group-select{max-width:120px}.editor-header{padding:8px}.popover{top:auto;left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));position:fixed}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.new-menu-anchor{position:relative}.new-menu{z-index:80;background:var(--surface);width:380px;box-shadow:var(--shadow);gap:2px;padding:8px;display:grid;position:fixed}.new-menu-label{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:8px 10px}.new-menu-item{text-align:left;color:var(--text);grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.new-menu-item:hover,.new-menu-item:focus-visible{background:var(--bg-hover);outline:none}.new-menu-item strong{font-size:14px;font-weight:600;display:block}.new-menu-item small{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.4;display:block}.new-menu-item kbd{align-self:start;margin-top:2px}.new-menu-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);place-items:center;display:grid}.new-menu-item:hover .new-menu-icon{background:var(--accent);color:var(--on-accent)}.note-row{position:relative}.note-del{width:28px;height:28px;color:var(--text-muted);background:var(--surface);box-shadow:0 0 0 1px var(--border);opacity:0;transition:opacity .12s var(--ease);place-items:center;display:grid;position:absolute;top:12px;right:10px}.note-row:hover .note-del,.note-del:focus-visible{opacity:1}.note-del:hover{color:var(--danger);box-shadow:0 0 0 1px var(--danger)}@media (hover:none){.note-del{opacity:.7}}.note-confirm{z-index:2;background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:13px;font-weight:600;display:flex;position:absolute;top:8px;right:8px}.btn.danger-fill{background:var(--danger);color:#fff}.btn.danger-fill:hover{filter:brightness(.92)}.editor{position:relative}.draw-toggle{background:var(--accent-soft);color:var(--accent-ink);align-items:center;gap:6px;display:inline-flex}.draw-toggle.active{background:var(--accent);color:var(--on-accent)}.note-sheet{position:relative}.note-ink{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.draw-mode .note-sheet{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.ink-palette{z-index:20;background:var(--surface);box-shadow:var(--shadow);align-items:center;gap:4px;max-width:calc(100% - 24px);padding:6px;display:flex;position:absolute;bottom:64px;left:50%;overflow-x:auto;transform:translate(-50%)}.ink-palette .tool-btn{width:36px;height:32px;color:var(--text-muted);place-items:center;display:grid}.ink-palette .tool-btn.active{background:var(--invert-bg);color:var(--invert-fg)}.ink-palette-group{border-left:1px solid var(--border);align-items:center;padding:0 6px;display:flex}.ink-palette-hint{font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);white-space:nowrap;padding:0 8px}.project-open{grid-template-columns:1fr!important}.project-open>.sidebar,.project-open>.list-pane,.project-open>.drawer-scrim{display:none!important}.project-open>.editor-pane{display:flex!important}.project{min-width:0;min-height:0;padding-top:var(--safe-top);flex-direction:column;flex:1;display:flex;overflow:clip}.project-bar{border-bottom:1px solid var(--border);scrollbar-width:none;flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;display:flex;overflow-x:auto}.project-bar::-webkit-scrollbar{display:none}.project-title{font:400 24px/1 var(--font-display);color:var(--text-strong);background:0 0;border:0;width:220px;min-width:120px;padding:4px}.tool-group{background:var(--bg);border:1px solid var(--border);flex-shrink:0;align-items:center;gap:0;padding:0;display:flex}.tool-btn{width:40px;height:36px;color:var(--text-muted);border-right:1px solid var(--border);transition:background .15s var(--ease), color .15s var(--ease);place-items:center;display:grid}.tool-btn:last-child{border-right:0}.tool-btn:hover{color:var(--text);background:var(--bg-hover)}.tool-btn.active{background:var(--invert-bg);color:var(--invert-fg)}.small-swatch{width:20px;height:20px;margin:0 4px}.pen-toggle.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.icon-btn:disabled{opacity:.35;cursor:default}.layout-toggle{border:1px solid var(--border);flex-shrink:0;display:inline-flex;overflow:hidden}.layout-toggle button{border-right:1px solid var(--border);width:36px;height:32px;color:var(--text-muted);place-items:center;display:grid}.layout-toggle button:last-child{border-right:0}.layout-toggle button.active{background:var(--invert-bg);color:var(--invert-fg)}.project-body{flex:1;min-height:0;display:grid;position:relative}.project-body.layout-split{grid-template-columns:minmax(0, var(--doc-size,50%)) minmax(0, 1fr)}.project-body.layout-doc,.project-body.layout-canvas{grid-template-columns:1fr}.project-body.with-ai.layout-split{grid-template-columns:minmax(0, calc((100% - 400px) * var(--doc-ratio,.5))) minmax(0, 1fr) 400px}.split-handle{top:0;bottom:0;left:var(--doc-size,50%);z-index:16;cursor:col-resize;touch-action:none;place-items:center;width:28px;display:grid;position:absolute;transform:translate(-50%)}.split-handle span{background:var(--border-strong);width:6px;height:48px;box-shadow:0 0 0 2px var(--bg)}.split-handle:hover span,.split-handle:active span{background:var(--accent)}.with-ai .split-handle{left:calc((100% - 400px) * var(--doc-ratio,.5))}.project-body.with-ai.layout-doc,.project-body.with-ai.layout-canvas{grid-template-columns:minmax(0,1fr) 400px}.doc-pane{border-right:1px solid var(--border);background:var(--bg-soft);flex-direction:column;min-width:0;min-height:0;display:flex}.doc-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;flex-shrink:0;align-items:center;gap:4px;padding:6px 8px;display:flex;overflow-x:auto}.doc-tab{color:var(--text-muted);border:1px solid #0000;flex-shrink:0;max-width:200px;padding:6px 12px;font-size:13px}.doc-tab span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.doc-tab.active{background:var(--bg);color:var(--text-strong);border-color:var(--border);font-weight:500}.zoom-controls{flex-shrink:0;align-items:center;gap:2px;display:flex}.doc-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow:auto}.pdf-stack{flex-shrink:0;min-width:100%;position:relative}.pdf-slice{position:absolute;left:50%;overflow:hidden}.pdf-fold{background:repeating-linear-gradient(to bottom, var(--border-strong) 0 1px, transparent 1px 4px) center / 70% 100% no-repeat, var(--bg-hover);box-shadow:0 0 0 1px var(--border);place-items:center;padding:0;display:grid;position:absolute;left:50%;transform:translate(-50%)}.pdf-fold span{font:500 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-hover);padding:0 8px}.pdf-fold:hover span{color:var(--accent-ink)}.doc-empty,.doc-error{text-align:center;color:var(--text-muted);justify-items:center;gap:10px;max-width:280px;margin:auto;display:grid}.doc-body{flex:1;min-height:0;display:flex;position:relative}.doc-rail{background:var(--bg);border-right:1px solid var(--border);z-index:21;flex-direction:column;flex-shrink:0;align-items:center;width:48px;padding:6px 0;display:flex}.rail-btn{width:40px;height:40px;color:var(--text-muted);transition:background .15s var(--ease), color .15s var(--ease);place-items:center;display:grid}.rail-btn:hover{color:var(--text);background:var(--bg-hover)}.rail-btn.active{background:var(--invert-bg);color:var(--invert-fg)}.rail-btn.small{height:28px}.rail-expand{z-index:21;background:var(--bg);width:20px;height:40px;box-shadow:var(--shadow);color:var(--text-muted);place-items:center;display:grid;position:absolute;top:8px;left:0}.rail-scrim{z-index:19;position:absolute;inset:0 0 0 48px}.rail-panel{z-index:20;background:var(--bg);width:340px;max-width:calc(100% - 64px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:8px;bottom:8px;left:56px}.rail-panel-head{color:var(--text-strong);border-bottom:1px solid var(--border);text-align:left;align-items:center;gap:10px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}button.rail-panel-head:hover{background:var(--bg-hover)}.rail-panel-head .rail-page{margin-left:auto}.rail-tabs{border-bottom:1px solid var(--border);gap:6px;padding:10px 16px;display:flex}.rail-tabs button{border:1px solid var(--border-strong);color:var(--text-muted);flex:1;padding:6px 10px;font-size:13px}.rail-tabs button.active{background:var(--invert-bg);color:var(--invert-fg);border-color:var(--invert-bg)}.rail-list{overscroll-behavior:contain;flex:1;overflow-y:auto}.rail-empty{color:var(--text-muted);margin:0;padding:16px;font-size:13px}.rail-row{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.rail-row .rail-row-main{border-bottom:0}.rail-row-main{text-align:left;min-width:0;color:var(--text);border-bottom:1px solid var(--border);flex:1;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.rail-row-main:hover{background:var(--bg-hover)}.rail-row-main.current{background:var(--accent-soft);color:var(--accent-ink)}.rail-row-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.rail-page{font:400 11px var(--font-mono);color:var(--text-muted);flex-shrink:0}.rail-row-x{width:36px;color:var(--text-muted);opacity:.6;place-items:center;display:grid}.rail-row-x:hover{opacity:1;background:var(--bg-hover)}.outline-row{font-weight:400}.hl-row .rail-row-title{font:400 15px/1.3 var(--font-display)}.hl-chip{width:10px;height:22px;box-shadow:inset 0 0 0 1px var(--border);flex-shrink:0}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;gap:12px;padding:12px;display:grid}.thumb{font:400 11px var(--font-mono);color:var(--text-muted);justify-items:center;gap:4px;display:grid}.thumb-img{aspect-ratio:.72;width:100%;box-shadow:0 0 0 1px var(--border);background:#fff;overflow:hidden}.thumb-img img{width:100%;height:auto;display:block}.thumb.current .thumb-img{box-shadow:0 0 0 2px var(--accent)}.thumb.current{color:var(--accent-ink)}.thumb-mark{width:6px;height:6px;box-shadow:0 0 0 1px var(--border-strong);vertical-align:middle;background:#ffe066;margin-left:4px;display:inline-block}.doc-track{z-index:3;pointer-events:none;width:12px;position:absolute;top:6px;bottom:6px;left:0}.doc-rail~.doc-track{left:48px}.track-mark{background:var(--mark);pointer-events:auto;width:8px;height:4px;margin-top:-2px;position:absolute;left:2px;box-shadow:0 0 0 1px #0e0f122e}.track-mark:before{content:"";position:absolute;inset:-10px -6px}.track-mark.bookmark{clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%);height:8px;box-shadow:none;margin-top:-4px}.track-mark.ink{border-radius:50%;width:6px;height:6px;margin-top:-3px;left:3px}.page-ink .ink-anchor{fill:var(--accent);opacity:.8;pointer-events:auto;cursor:pointer}.page-ink .ink-anchor-hit{fill:#0000}.page-ink .ink-anchor:hover{opacity:1}.ink-link-dot{background:var(--accent);opacity:.75;width:12px;height:12px;transform:translate(-50%, -50%) scale(var(--dot-scale,1));cursor:pointer;border-radius:50%;position:absolute;box-shadow:0 0 0 2px #fff}.ink-link-dot:before{content:"";border-radius:50%;position:absolute;inset:-10px}.ink-link-dot:hover{opacity:1}.ink-link-dot.passive{pointer-events:none}.ink-link-dot:after{content:"";border:1.5px solid #fff;border-width:1.5px 1.5px 0 0;width:3px;height:3px;position:absolute;top:4px;left:3px;transform:rotate(45deg)}.page-ink .ink-anchor-arrow{fill:none;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.link-lines{z-index:15;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0;overflow:visible}.link-lines path{fill:var(--accent)}.link-lines path.dragging{opacity:.85}.pdf-page{box-shadow:0 0 0 1px var(--border);background:#fff;flex-shrink:0;position:relative}.pdf-page canvas{display:block}.page-ink{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.page-ink.interactive{pointer-events:auto;touch-action:none}.page-ink.interactive.pen-only{touch-action:pan-x pan-y pinch-zoom}.page-ink.tool-pen,.page-ink.tool-highlighter{cursor:crosshair}.page-ink.tool-snip{cursor:cell}.page-ink .hl{pointer-events:auto;cursor:pointer;mix-blend-mode:multiply}.page-ink.interactive .hl{pointer-events:none}.snip-rect{fill:#5465ff14;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.flash-rect{fill:none;stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke;animation:.5s ease-in-out 3 flash}@keyframes flash{50%{opacity:.2}}.textLayer{opacity:1;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:1;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer ::selection{background:#5465ff40}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.selection-menu{z-index:10;background:var(--bg);box-shadow:var(--shadow);white-space:nowrap;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;transform:translate(-50%)}.canvas-pane{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-width:0;min-height:0;color:var(--text);--bg:#f2f1ee;--bg-soft:#faf9f7;--bg-hover:#e9e8e4;--border:#0e0f1224;--border-strong:#0e0f1252;--text:#0e0f12;--text-strong:#000;--text-muted:#0e0f129e;--faint:#0e0f126b;--accent:#5465ff;--accent-ink:#3a44c9;--accent-soft:#5465ff1f;--invert-bg:#191d20;--invert-fg:#f2f1ee;--shadow:0 0 0 1px var(--border-strong), 0 16px 40px #0e0f121f;position:relative;overflow:hidden}.canvas-card{--bg:#fff}.canvas-root{touch-action:none;-webkit-user-select:none;user-select:none;background-color:var(--bg);position:absolute;inset:0;overflow:hidden}.canvas-world{transform-origin:0 0;position:absolute;top:0;left:0}.canvas-ink{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvas-hint{text-align:center;max-width:340px;color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.canvas-hint p{margin:0 0 6px}.canvas-zoom{right:12px;bottom:calc(12px + var(--safe-bottom));background:var(--bg);box-shadow:var(--shadow);align-items:center;gap:2px;padding:4px;display:flex;position:absolute}.canvas-card{background:var(--bg);box-shadow:0 0 0 1px var(--border-strong), 4px 4px 0 var(--border);border-top:4px solid var(--card-color);color:var(--text);position:absolute;overflow:hidden}.canvas-card.passive{pointer-events:none}.canvas-card.flashing{animation:.5s ease-in-out 3 card-flash}@keyframes card-flash{50%{box-shadow:0 0 0 3px var(--accent)}}.canvas-card.kind-text{color:#0e0f12;background:#f3eccf;border-top-color:#e2d59f}.canvas-card.picked{box-shadow:0 0 0 2px var(--accent), 4px 4px 0 var(--border)}.card-bar{cursor:grab;font:500 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);touch-action:none;align-items:center;gap:4px;padding:4px 4px 4px 12px;display:flex}.kind-text .card-bar{color:#0e0f129e}.card-link{background:var(--accent-soft);color:var(--accent-ink);font:500 10px/1.2 var(--font-mono);letter-spacing:.04em;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.card-x{opacity:.6;place-items:center;width:20px;height:20px;display:grid}.card-x:hover{opacity:1;background:var(--bg-hover)}.canvas-card blockquote{font:400 18px/1.35 var(--font-display);margin:0;padding:4px 12px 12px}.canvas-card img{background:#fff;width:100%;height:auto;display:block}.canvas-card textarea{resize:none;width:100%;color:inherit;background:0 0;border:0;outline:none;padding:2px 12px 12px;font-size:14px;display:block}.card-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 55%, var(--border) 55% 65%, transparent 65% 75%, var(--border) 75% 85%, transparent 85%);width:16px;height:16px;position:absolute;bottom:0;right:0}.toast{left:50%;bottom:calc(24px + var(--safe-bottom));z-index:60;background:var(--invert-bg);color:var(--invert-fg);font:400 12px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;padding:8px 16px;position:fixed;transform:translate(-50%)}@media (width<=720px){.project-body.layout-split{grid-template-columns:1fr;grid-template-rows:minmax(0, var(--doc-size,50%)) minmax(0, 1fr)}.split-handle{width:auto;height:28px;bottom:auto;left:0;right:0;top:var(--doc-size,50%);cursor:row-resize;transform:translateY(-50%)}.split-handle span{width:48px;height:6px}.doc-pane{border-right:0;border-bottom:1px solid var(--border)}.rail-panel{width:auto;right:8px}.project-title{width:120px}}.ink-group{gap:2px;padding:0 2px 0 6px}.small-swatch.wheel{background:var(--custom,conic-gradient(#e5484d, #ffe066, #27a644, #22d3ee, #5465ff, #c026d3, #e5484d));border-radius:50%}.small-swatch.wheel[style]{border-radius:0;box-shadow:inset 0 0 0 2px #fff}.tool-btn.narrow{border-left:1px solid var(--border);width:28px}.ask-ai{background:var(--accent-soft);color:var(--accent-ink);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.ask-ai kbd{color:inherit;opacity:.8;border-color:currentColor;padding:2px 4px;font-size:10px}.ask-ai.active{background:var(--accent);color:var(--on-accent)}.ask-ai-btn{color:var(--accent-ink);align-items:center;gap:4px;display:inline-flex}.ink-pop-anchor{z-index:70;position:fixed}.ink-pop{background:var(--surface);width:352px;max-height:calc(100vh - 80px);color:var(--text);box-shadow:var(--shadow);overflow-y:auto}.ink-sec{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 16px;display:grid}.ink-sec:last-child{border-bottom:0}.ink-hdr{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;display:flex}.ink-hdr .faint{color:var(--faint)}.brushes{border:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.brushes button{color:var(--text);border-right:1px solid var(--border);justify-items:center;gap:2px;padding:6px 0 8px;font-size:11px;font-weight:500;display:grid}.brushes button:last-child{border-right:0}.brushes button svg{width:64px;height:26px}.brushes button.active{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px var(--accent)}.ink-slider{grid-template-columns:84px 1fr 40px;align-items:center;gap:10px;font-size:12px;font-weight:500;display:grid}.ink-slider output{font:500 11px var(--font-mono);text-align:right}.ink-slider input{appearance:none;background:linear-gradient(to right, var(--accent) var(--pct), var(--border) var(--pct));outline:none;height:4px}.ink-slider input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface);border:1.5px solid var(--accent);cursor:pointer;width:16px;height:16px}.ink-slider input::-moz-range-thumb{background:var(--surface);border:1.5px solid var(--accent);cursor:pointer;border-radius:0;width:14px;height:14px}.ink-preview{border:1px solid var(--border);background:var(--bg-soft);width:100%;height:56px}.ink-toggle,.ai-toggle{text-align:left;color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.ink-toggle.on,.ai-toggle.on{color:var(--text)}.ink-toggle i,.ai-toggle i{background:var(--border-strong);flex-shrink:0;width:30px;height:16px;padding:2px;display:flex}.ink-toggle b,.ai-toggle b{background:#fff;width:12px;height:12px}.ink-toggle.on i,.ai-toggle.on i{background:var(--accent);justify-content:flex-end}.ink-swatches{flex-wrap:wrap;gap:6px;display:flex}.ink-swatches .swatch{width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--border)}.ink-swatches .swatch.active{outline:2px solid var(--accent);outline-offset:2px}.picker{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.picker-sv{cursor:crosshair;touch-action:none;height:140px;position:relative}.picker-sv b{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px;position:absolute;box-shadow:0 0 0 1px #0006}.picker-bar{cursor:ew-resize;touch-action:none;height:12px;position:relative}.picker-bar b{width:6px;height:18px;box-shadow:0 0 0 1px var(--border-strong);pointer-events:none;background:#fff;margin-left:-3px;position:absolute;top:-3px}.picker-hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.picker-alpha{background:linear-gradient(to right, transparent, var(--solid)), repeating-conic-gradient(#e9e8e4 0 25%, #fff 0 50%) 0 0 / 8px 8px}.picker-row{align-items:center;gap:8px;display:flex}.picker-field{border:1px solid var(--border-strong);font:500 11px var(--font-mono);text-transform:uppercase;color:var(--text-muted);flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.picker-field.narrow{flex:0 0 84px}.picker-field input{width:100%;min-width:0;font:500 12px var(--font-mono);color:var(--text);text-align:right;background:0 0;border:0;outline:none;flex:1;padding:6px 0}.marquee{fill:#5465ff0f;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.pick-box{fill:#5465ff0a;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.tool-select .canvas-ink path.ink-selected{filter:drop-shadow(0 0 2px #5465ffb3)}.pick-bar{z-index:5;background:var(--invert-bg);color:var(--invert-fg);box-shadow:var(--shadow);display:flex;position:absolute}.pick-bar>*{color:inherit;white-space:nowrap;border-right:1px solid #f2f1ee24;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.pick-bar>:last-child{border-right:0}.pick-bar button:hover{background:#f2f1ee1a}.pick-bar .pick-count{font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mist)}.pick-bar .danger{color:#ff8a8d}.pick-bar kbd{color:var(--mist);border-color:#f2f1ee4d;padding:2px 4px}.pick-swatch{width:12px;height:12px;display:block;box-shadow:0 0 0 1px #f2f1ee66}.ai-panel{background:var(--surface);border-left:1px solid var(--border);min-width:0;min-height:0;color:var(--text);flex-direction:column;display:flex}.ai-head{border-bottom:1px solid var(--border);color:var(--accent);align-items:center;gap:8px;padding:12px 12px 12px 16px;display:flex}.ai-head strong{color:var(--text);font-size:14px}.ai-meta{font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.ai-ctx{border-bottom:1px solid var(--border);background:var(--bg-soft);gap:10px;padding:12px 16px;display:grid}.ai-ctx-head{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;display:flex}.ai-ctx-head span:last-child{color:var(--faint)}.ai-chips{flex-wrap:wrap;gap:6px;display:flex}.ai-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);align-items:center;gap:6px;max-width:100%;padding:5px 8px;font-size:12px;font-weight:500;display:inline-flex}.ai-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.ai-chip.add{border-style:dashed}.ai-chip button{color:inherit;opacity:.6;padding:0 2px}.ai-chip button:hover{opacity:1}.ai-msgs{flex-direction:column;flex:1;gap:14px;padding:14px 16px;display:flex;overflow-y:auto}.ai-empty{color:var(--text-muted);margin:0;font-size:13px;line-height:1.55}.ai-you{background:var(--invert-bg);max-width:88%;color:var(--invert-fg);white-space:pre-wrap;align-self:flex-end;padding:10px 12px;font-size:13px;line-height:1.5}.ai-bot{gap:8px;font-size:13.5px;line-height:1.55;display:grid}.ai-bot p{margin:0}.ai-bot ul{gap:4px;margin:0;padding-left:18px;display:grid}.ai-cite{font:500 10px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--accent-soft);color:var(--accent-ink);vertical-align:1px;margin:0 2px;padding:1px 5px;display:inline-flex}.ai-cite:hover{background:var(--accent);color:var(--on-accent)}.ai-acts{flex-wrap:wrap;gap:6px;display:flex}.ai-acts .btn{align-items:center;gap:4px;display:inline-flex}.ai-busy{font:400 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink)}.ai-compose{border-top:1px solid var(--border);padding:10px 16px calc(12px + var(--safe-bottom));gap:8px;display:grid}.ai-quick{flex-wrap:wrap;gap:6px;display:flex}.ai-quick button{background:var(--bg-hover);color:var(--text);padding:4px 8px;font-size:11px;font-weight:500}.ai-quick button:disabled{opacity:.5}.ai-box{border:2px solid var(--accent);align-items:flex-end;gap:8px;padding:8px 8px 8px 12px;display:flex}.ai-box textarea{resize:none;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13px;line-height:1.5}.ai-send{background:var(--accent);width:30px;height:30px;color:var(--on-accent);flex-shrink:0;place-items:center;display:grid}.ai-send:disabled{opacity:.4}.ai-note{font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:0}@media (width<=1100px){.project-body.with-ai.layout-split,.project-body.with-ai.layout-doc,.project-body.with-ai.layout-canvas{grid-template-columns:inherit}.project-body.with-ai.layout-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-body.with-ai.layout-doc,.project-body.with-ai.layout-canvas{grid-template-columns:1fr}.ai-panel{z-index:65;width:min(420px,100vw);box-shadow:var(--shadow);padding-top:var(--safe-top);position:fixed;top:0;bottom:0;right:0}}.paper-btn{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.paper-pop-anchor{z-index:70;position:fixed}.paper-pop{background:var(--surface,#fff);width:300px;color:var(--text);box-shadow:var(--shadow);gap:12px;padding:14px 16px 16px;display:grid}.paper-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.paper-grid button{color:var(--text-muted);justify-items:center;gap:6px;font-size:12px;font-weight:500;display:grid}.paper-grid button.active{color:var(--accent-ink)}.paper-thumb{width:100%;height:56px;box-shadow:inset 0 0 0 1px var(--border);display:block}.paper-grid button.active .paper-thumb{box-shadow:inset 0 0 0 2px var(--accent)}.paper-thumb.mini{width:18px;height:14px}.paper-tones{gap:6px;display:flex}.paper-tones button{color:var(--text-muted);flex:1;justify-items:center;gap:4px;font-size:11px;font-weight:500;display:grid}.paper-tones i{width:100%;height:22px;box-shadow:inset 0 0 0 1px var(--border-strong)}.paper-tones button.active{color:var(--accent-ink)}.paper-tones button.active i{box-shadow:inset 0 0 0 2px var(--accent)}
