:root{--paper: #fffdf8;--desk: #faf0dc;--desk-2: #f4e8e5;--desk-grad: linear-gradient(168deg, var(--desk) 0%, var(--desk) 26%, var(--desk-2) 100%);--card: #fefaf0;--ink: #4a3138;--ink-2: #6e545c;--line: #efe0c4;--line-soft: #f7ecd9;--brand: #b53154;--logo-pink: #f0b3b8;--note-yellow: #ffd964;--note-pink: #ffb3c1;--note-peach: #ffc48f;--note-green: #b7e3a0;--note-blue: #a5d2f2;--note-purple: #c9bdf0;--note-cream: #ecdcc0;--logo-gold: #e8a33d;--accent: #4a3138;--accent-wash: color-mix(in srgb, var(--accent) 13%, transparent);--ok: #1d6f44;--warn: #8a5410;--bad: #b3413f;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px;--r-pill: 999px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--undo-run: 116px;--sh-1: 0 1px 2px rgba(90, 60, 68, .07);--sh-2: 0 1px 2px rgba(90, 60, 68, .06), 0 6px 18px rgba(90, 60, 68, .09);--sh-3: 0 2px 4px rgba(90, 60, 68, .07), 0 16px 38px rgba(90, 60, 68, .14);--sh-book: 0 1px 1px rgba(90, 60, 68, .16), 0 4px 8px rgba(90, 60, 68, .11), 0 14px 28px rgba(90, 60, 68, .13);--sh-book-press: 0 1px 1px rgba(90, 60, 68, .16), 0 2px 5px rgba(90, 60, 68, .11);--tap: 44px;--safe-t: env(safe-area-inset-top);--safe-b: env(safe-area-inset-bottom);--font: ui-rounded, -apple-system, BlinkMacSystemFont, "SF Pro Rounded", "Segoe UI", "Noto Sans Thai", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--desk-grad) fixed;color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{opacity:.42;cursor:default}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s4);border-radius:var(--r-pill);font-size:15px;font-weight:560;color:var(--ink);background:var(--card);box-shadow:var(--sh-1);transition:transform .14s cubic-bezier(.2,.8,.3,1),background .14s,box-shadow .14s}.btn:active:not(:disabled){transform:scale(.955);background:var(--line-soft)}.btn.icon{width:var(--tap);padding:0}.btn.plain{background:none;box-shadow:none}.btn.plain:active:not(:disabled){background:var(--line-soft)}.btn.solid{background:var(--brand);color:#fff;box-shadow:var(--sh-2)}.btn.solid:active:not(:disabled){background:var(--brand);filter:brightness(1.12)}.btn.on{background:var(--accent-wash);color:var(--accent)}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell .btn{--pw: 2px;border-radius:0;margin:var(--pw) calc(var(--pw) * 2) calc(var(--pw) * 2) var(--pw);box-shadow:0 calc(var(--pw) * -1) 0 0 var(--ink),0 var(--pw) 0 0 var(--ink),calc(var(--pw) * -1) 0 0 0 var(--ink),var(--pw) 0 0 0 var(--ink);filter:drop-shadow(var(--pw) var(--pw) 0 rgba(90,60,68,.3));transition:transform .1s steps(2),filter .1s steps(2),background .14s}.shell .btn:active:not(:disabled){transform:translate(var(--pw),var(--pw));filter:none}.shell .btn.plain{background:var(--card)}.shell .btn.solid{filter:drop-shadow(var(--pw) var(--pw) 0 rgba(90,60,68,.38))}.shell,.editor{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);padding-top:calc(var(--s3) + var(--safe-t));flex:none}.topbar h1{font-size:21px;font-weight:680;letter-spacing:-.015em}.topbar h1.wordmark{display:flex;align-items:center;padding-left:2px}.logo{width:30px;height:30px;border-radius:8px;flex:none;image-rendering:pixelated}.spacer{flex:1 1 auto}.nbTitle{display:inline-flex;align-items:center;gap:5px;font-size:15.5px;font-weight:600;letter-spacing:-.01em;padding:4px 8px;border-radius:var(--r-sm);max-width:20ch}.nbTitle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1.5px dashed var(--line)}.nbTitle svg{color:var(--ink-2);opacity:.55;flex:none}.nbTitle:active{background:var(--line-soft)}.grid{list-style:none;display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(168px,1fr));padding:var(--s2) var(--s5) var(--s7);overflow-y:auto;-webkit-overflow-scrolling:touch}.grid li{position:relative}.cover{display:block;width:100%;aspect-ratio:3 / 4;position:relative;border-radius:5px var(--r-md) var(--r-md) 5px;box-shadow:var(--sh-book);overflow:hidden;text-align:left;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s}.cover:active{transform:translateY(3px) scale(.985);box-shadow:var(--sh-book-press)}.cover:before{content:"";position:absolute;inset:0 auto 0 0;width:13px;z-index:1;background:linear-gradient(90deg,#5a3c4433,#5a3c440d 62%,#ffffff59)}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.45),transparent 48%)}.coverBody{position:absolute;inset:auto 0 0;padding:var(--s4) var(--s4) var(--s4) var(--s5);display:grid;gap:2px;z-index:1}.coverName{font-size:15.5px;font-weight:650;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.coverMeta{font-size:12px;color:var(--ink-2)}.cardDel{position:absolute;top:var(--s2);right:var(--s2);width:34px;height:34px;display:grid;place-items:center;z-index:2;border-radius:var(--r-pill);color:var(--ink);background:#ffffff9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .16s}.grid li:hover .cardDel,.cardDel:focus-visible{opacity:1}@media(hover:none){.cardDel{opacity:.9}}.empty{flex:1;display:grid;place-content:center;justify-items:center;gap:var(--s3);padding:var(--s5)}.empty svg{color:var(--line)}.empty h2{font-size:19px;font-weight:650;letter-spacing:-.01em}.empty p{color:var(--ink-2);font-size:14.5px;text-align:center;max-width:30ch}.banner{display:flex;gap:var(--s3);align-items:flex-start;max-width:640px;margin:var(--s2) var(--s5) var(--s4);padding:var(--s4);background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-1);border-left:4px solid var(--warn)}.banner .bIcon{color:var(--warn);flex:none;margin-top:1px}.banner .bText{flex:1}.banner b{font-weight:640;font-size:14.5px}.banner p{font-size:13.5px;color:var(--ink-2);margin-top:4px}.banner .btn{align-self:center;flex:none;min-height:38px;padding:0 var(--s4);font-size:13.5px;background:var(--card)}.scrollBody{overflow-y:auto;padding:0 var(--s5) var(--s7);display:grid;gap:var(--s4);align-content:start;width:100%;max-width:760px}.panel{background:var(--card);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--sh-1)}.panel h2{font-size:16px;font-weight:650;letter-spacing:-.01em;margin-bottom:var(--s3)}.panel>p{color:var(--ink-2);font-size:13.5px;margin-bottom:var(--s4)}.status{list-style:none;display:grid;gap:var(--s3);margin-bottom:var(--s2)}.status li{display:flex;gap:var(--s3);align-items:flex-start;font-size:14px}.status svg{flex:none;margin-top:2px}.status .ok{color:var(--ok)}.status .warn{color:var(--warn)}.status .bad{color:var(--bad)}.status span{color:var(--ink)}.status .muted{color:var(--ink-2)}.row{display:flex;gap:var(--s3);flex-wrap:wrap}.msg{margin-top:var(--s4);font-size:14px;color:var(--ink);background:var(--accent-wash);padding:var(--s3) var(--s4);border-radius:var(--r-md)}.searchBox{display:flex;align-items:center;gap:var(--s3);background:var(--card);border-radius:var(--r-pill);padding:0 var(--s4);min-height:52px;box-shadow:var(--sh-1);color:var(--ink-2)}.searchBox input{flex:1;border:none;background:none;outline:none;font:inherit;font-size:16.5px;color:var(--ink);min-width:0;-webkit-user-select:text;user-select:text}.searchBox .btn{min-height:34px;padding:0 var(--s3)}.results{list-style:none;display:grid;gap:var(--s2)}.results button{width:100%;text-align:left;display:grid;gap:3px;background:var(--card);border-radius:var(--r-md);padding:var(--s3) var(--s4);box-shadow:var(--sh-1);transition:transform .14s cubic-bezier(.2,.8,.3,1)}.results button:active{transform:scale(.985)}.results .rText{font-size:14.5px;line-height:1.5}.tag{justify-self:start;font-size:11px;font-weight:620;color:var(--ink-2);background:var(--line-soft);border-radius:var(--r-pill);padding:2px 9px}.linkRow{display:flex;gap:var(--s2);align-items:center;font-size:14px;margin-bottom:6px}.linkRow svg{color:var(--ink-2);flex:none}.pageJump{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--s3);font-size:13px;font-weight:620;color:var(--accent);background:var(--accent-wash);border-radius:var(--r-pill);padding:5px 12px}.hlList{list-style:none;display:grid;gap:var(--s3)}.hlList li{display:flex;gap:var(--s3);font-size:15px;line-height:1.55}.hlBar{flex:none;width:5px;border-radius:var(--r-pill)}.stage{flex:1;position:relative;overflow:hidden;touch-action:none}.stage .inkLayer{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:3}.docLayer{position:absolute;top:0;left:0;transform-origin:0 0;z-index:1;pointer-events:none}.sheet{position:absolute;background:var(--paper);box-shadow:var(--sh-3);border-radius:2px;overflow:hidden}.pageNo{position:absolute;right:26px;bottom:18px;font-size:15px;color:var(--ink-2);opacity:.38;font-variant-numeric:tabular-nums}.pdfLayer{position:absolute;inset:0}.pdfLayer canvas{display:block}.textLayer{position:absolute;inset:0;z-index:2}.textLayer .tiptap{min-height:100%;padding:64px 72px;outline:none;font-size:21px;line-height:1.62;color:var(--ink);-webkit-user-select:text;user-select:text}.stage.typing .docLayer,.stage.typing .textLayer{pointer-events:auto}.stage.typing .inkLayer{pointer-events:none}.textLayer h1{font-size:34px;font-weight:700;margin:8px 0 12px;letter-spacing:-.02em}.textLayer h2{font-size:26px;font-weight:660;margin:20px 0 8px;letter-spacing:-.015em}.textLayer h3{font-size:22px;font-weight:640;margin:16px 0 6px}.textLayer p{margin:0 0 8px}.textLayer ul,.textLayer ol{margin:0 0 10px;padding-left:1.5em}.textLayer li{margin-bottom:3px}.textLayer li p{margin:0}.textLayer blockquote{border-left:3px solid var(--line);padding-left:14px;color:var(--ink-2)}.textLayer code{background:var(--line-soft);padding:1px 5px;border-radius:6px;font-size:.9em}.textLayer img{max-width:100%;height:auto;border-radius:var(--r-md);margin:8px 0}.textLayer p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-2);float:left;height:0;pointer-events:none}.textLayer table{border-collapse:collapse;width:100%;margin:12px 0;table-layout:fixed}.textLayer th,.textLayer td{border:1.5px solid var(--line);padding:8px 12px;vertical-align:top;position:relative}.textLayer th{background:var(--line-soft);font-weight:640;text-align:left}.textLayer .selectedCell:after{content:"";position:absolute;inset:0;background:var(--accent-wash);pointer-events:none}.textLayer .column-resize-handle{position:absolute;right:-6px;top:0;bottom:0;width:12px;z-index:2;touch-action:none;background:linear-gradient(to right,transparent 0,transparent 4px,var(--accent) 4px,var(--accent) 8px,transparent 8px,transparent 100%)}.textLayer table:focus-within th:after,.textLayer table:focus-within td:after{content:"";position:absolute;right:-1px;top:3px;bottom:3px;width:2px;background:var(--line);border-radius:var(--r-pill);pointer-events:none}.textLayer .selectedCell:after{right:0;top:0;bottom:0;width:auto;border-radius:0}.textBar{position:absolute;z-index:5;left:50%;transform:translate(-50%);top:calc(var(--tap) + var(--s3) + var(--s2) + 8px);display:flex;align-items:center;gap:2px;padding:var(--s1);border-radius:var(--r-pill);background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-2);max-width:calc(100vw - var(--s5) * 2);overflow-x:auto}.textBar .toolBtn{width:auto;min-width:40px;height:40px;padding:0 var(--s2);font-size:14px}.dock{position:absolute;z-index:5;display:flex;align-items:center;gap:var(--s2);padding:var(--s2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-3);transition:opacity .22s ease,top .18s,bottom .18s,left .18s,right .18s;max-width:calc(100% - var(--s5));max-height:calc(100% - var(--s5))}.dock[data-edge=top],.dock[data-edge=bottom]{left:var(--s3);flex-direction:row;max-width:calc(100% - var(--s5) - var(--undo-run));overflow-x:auto;overflow-y:hidden}.dock[data-edge=top]{top:var(--s3)}.dock[data-edge=bottom]{bottom:calc(var(--s7) + var(--s4) + var(--safe-b))}.dock[data-edge=left],.dock[data-edge=right]{top:var(--s2);flex-direction:column;gap:var(--s1);max-height:calc(100% - var(--s4) - var(--safe-b) - var(--undo-run));overflow-y:auto;overflow-x:hidden}.dock[data-edge=left]{left:var(--s3)}.dock[data-edge=right]{right:var(--s3)}.dock[data-edge=left] .seg,.dock[data-edge=right] .seg{flex-direction:column}.dock[data-edge=left] .divider,.dock[data-edge=right] .divider{width:26px;height:1px;margin:0}.dock[data-edge=left] .inkChip,.dock[data-edge=right] .inkChip{flex-direction:column;gap:2px}.dock[data-open="0"]{padding:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.dockGrip{width:var(--tap);height:var(--tap);flex:none;display:grid;place-items:center;border-radius:var(--r-pill);touch-action:none;cursor:grab}.dock[data-open="0"] .dockGrip{box-shadow:var(--sh-3)}.dockGrip:active{cursor:grabbing;background:var(--line-soft)}.dockDots{width:16px;height:16px;background-image:radial-gradient(var(--ink-2) 1.4px,transparent 1.5px);background-size:5px 5px}.dock[data-open="0"] .dockDots{background-image:none}.undoDock{position:absolute;z-index:5;display:flex;align-items:center;gap:2px;padding:var(--s2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-3);transition:opacity .22s ease,top .18s,bottom .18s,left .18s,right .18s}.undoDock[data-edge=left],.undoDock[data-edge=right]{flex-direction:column}.undoDock[data-edge=left]{left:var(--s3)}.undoDock[data-edge=right]{right:var(--s3)}.undoDock[data-edge=top]{top:var(--s3);right:var(--s3)}.undoDock[data-edge=left],.undoDock[data-edge=right]{bottom:calc(var(--s2) + var(--safe-b))}.undoDock[data-edge=bottom]{right:var(--s3);bottom:calc(var(--s7) + var(--s4) + var(--safe-b))}.stage.writing .undoDock,.stage.writing .dock,.stage.writing .pager{opacity:.16;pointer-events:none}.seg{display:flex;align-items:center;gap:2px}.divider{width:1px;height:26px;background:var(--line);margin:0 var(--s1);flex:none}.toolBtn{width:var(--tap);height:var(--tap);border-radius:var(--r-pill);display:grid;place-items:center;color:var(--ink-2);transition:background .14s,color .14s,transform .14s cubic-bezier(.2,.8,.3,1)}.toolBtn:active{transform:scale(.9)}.toolBtn.on{background:var(--accent-wash);color:var(--accent)}.dot{width:var(--tap);height:var(--tap);border-radius:var(--r-pill);display:grid;place-items:center}.dot i{display:block;width:21px;height:21px;border-radius:var(--r-pill);background:var(--c);box-shadow:inset 0 0 0 1px #0000001a;transition:transform .16s cubic-bezier(.2,.8,.3,1),box-shadow .16s}.dot.on i{transform:scale(1.05);box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2.5px var(--card),0 0 0 4px var(--c)}.dot:active i{transform:scale(.86)}.inkChip{display:flex;align-items:center;gap:var(--s2);height:var(--tap);padding:0 var(--s3) 0 var(--s2);border-radius:var(--r-pill);color:var(--ink-2);transition:background .14s,transform .14s cubic-bezier(.2,.8,.3,1)}.inkChip:active{transform:scale(.94)}.inkChip.on{background:var(--accent-wash);color:var(--accent)}.inkChip i{display:block;border-radius:var(--r-pill);min-width:6px;min-height:6px;box-shadow:inset 0 0 0 1px #0000001f}.inkChip span{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;min-width:2ch}.inkPanel{position:absolute;z-index:6;left:50%;transform:translate(-50%);top:calc(var(--tap) + var(--s3) + var(--s3) + 8px);width:min(360px,calc(100vw - var(--s5) * 2));max-height:calc(100dvh - 190px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--s5);display:grid;gap:var(--s5);align-content:start;background:var(--card);border-radius:var(--r-xl);box-shadow:var(--sh-3);animation:pop .18s cubic-bezier(.2,.9,.3,1)}@keyframes pop{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.97)}}.inkPanel h3{font-size:12.5px;font-weight:640;color:var(--ink-2);margin-bottom:var(--s3);display:flex;gap:var(--s2);align-items:baseline}.inkPanel h3 b{color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}.swatchGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s2)}.swatch{aspect-ratio:1;border-radius:var(--r-pill);background:var(--c);display:grid;place-items:center;color:#fff;position:relative;box-shadow:inset 0 0 0 1px #0000001f;transition:transform .16s cubic-bezier(.2,.8,.3,1)}.swatch:active{transform:scale(.88)}.swatch.on{box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2.5px var(--card),0 0 0 4.5px var(--ink)}.swatch.on svg{filter:drop-shadow(0 0 1.5px rgba(0,0,0,.55))}.swatch.custom{background:conic-gradient(#f2617a,#f0a13c,#e8d64a,#63c27a,#4aa8e8,#8b6ee0,#f2617a);color:#fff;cursor:pointer}.swatch.custom svg{filter:drop-shadow(0 0 2px rgba(0,0,0,.6))}.swatch.custom input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.sizeRow{display:flex;align-items:center;gap:var(--s4)}.sizePreview{flex:none;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px #0000001f}.sizeRow input[type=range]{flex:1;-webkit-appearance:none;appearance:none;background:none;height:var(--tap)}.sizeRow input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-pill);background:var(--line)}.sizeRow input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:var(--r-pill);background:var(--paper);box-shadow:var(--sh-2),inset 0 0 0 2px var(--accent)}.styleRow{display:grid;gap:var(--s2)}.styleBtn{text-align:left;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--line-soft);display:grid;gap:2px;transition:background .14s,box-shadow .14s}.styleBtn b{font-size:14.5px;font-weight:620}.styleBtn small{font-size:12px;color:var(--ink-2);line-height:1.4}.styleBtn.on{background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}.pager{position:absolute;z-index:5;left:50%;transform:translate(-50%);bottom:calc(var(--s4) + var(--safe-b));display:flex;align-items:center;gap:var(--s1);padding:var(--s1);border-radius:var(--r-pill);background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-2);transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.3,1)}.pager .num{font-size:14px;font-weight:560;padding:0 var(--s3);font-variant-numeric:tabular-nums;text-align:center}.pager .btn.icon{min-height:38px;width:38px;background:none;box-shadow:none}@media(max-height:700px){.dock{top:var(--s2)}.pager{bottom:calc(var(--s2) + var(--safe-b))}}.fields{display:grid;gap:var(--s3);margin-bottom:var(--s4)}.fields label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2)}.fields input{font:inherit;font-size:15px;color:var(--ink);background:var(--desk);border:1.5px solid var(--line);border-radius:var(--r-md);padding:11px var(--s4);outline:none;min-height:var(--tap);-webkit-user-select:text;user-select:text}.fields input:focus{border-color:var(--accent)}.aiOut{margin-top:var(--s4);padding:var(--s4);background:var(--desk);border-radius:var(--r-md);font:inherit;font-size:14.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow-y:auto;-webkit-user-select:text;user-select:text}.textBar .sizeNum{font-size:13.5px;font-weight:620;min-width:3ch;text-align:center;font-variant-numeric:tabular-nums;color:var(--ink-2)}.textPanel{position:absolute;z-index:6;left:50%;transform:translate(-50%);top:calc(var(--tap) * 2 + var(--s5));width:min(340px,calc(100vw - var(--s5) * 2));max-height:calc(100dvh - 230px);overflow-y:auto;padding:var(--s5);display:grid;gap:var(--s5);align-content:start;background:var(--card);border-radius:var(--r-xl);box-shadow:var(--sh-3);animation:pop .18s cubic-bezier(.2,.9,.3,1)}.textPanel h3{font-size:12.5px;font-weight:640;color:var(--ink-2);margin-bottom:var(--s3)}.fontList{display:grid;gap:var(--s2)}.fontBtn{text-align:left;padding:10px var(--s4);border-radius:var(--r-md);background:var(--line-soft);font-size:16px;min-height:var(--tap);transition:background .14s,box-shadow .14s}.fontBtn.on{background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}.swatch.none{background:var(--line-soft);color:var(--ink-2);font-size:13px;box-shadow:inset 0 0 0 1.5px var(--line)}.sheet[data-paper=lined]{background-image:repeating-linear-gradient(to bottom,transparent,transparent 35px,#d9e2ee 35px,#d9e2ee 36px);background-position:0 64px}.sheet[data-paper=grid]{background-image:repeating-linear-gradient(to bottom,transparent,transparent 35px,#dfe6ef 35px,#dfe6ef 36px),repeating-linear-gradient(to right,transparent,transparent 35px,#dfe6ef 35px,#dfe6ef 36px)}.sheet[data-paper=dotted]{background-image:radial-gradient(#c9d3e0 1.6px,transparent 1.7px);background-size:36px 36px;background-position:18px 18px}.scrim{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:var(--s5);background:#3b2f3452;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .16s ease}@keyframes fade{0%{opacity:0}}.dialog{width:min(430px,100%);max-height:90dvh;overflow-y:auto;background:var(--card);border-radius:var(--r-xl);padding:var(--s5);box-shadow:var(--sh-3);animation:pop .2s cubic-bezier(.2,.9,.3,1)}.dialog h2{font-size:20px;font-weight:680;margin-bottom:var(--s4);letter-spacing:-.015em}.dialog h3{font-size:12.5px;font-weight:640;color:var(--ink-2);margin:var(--s4) 0 var(--s3)}.choices{display:flex;gap:var(--s2);flex-wrap:wrap}.choice{flex:1 1 84px;display:grid;justify-items:center;gap:7px;padding:var(--s3) var(--s2);border-radius:var(--r-md);background:var(--line-soft);font-size:12.5px;font-weight:560;transition:background .14s,box-shadow .14s}.choice.on{background:color-mix(in srgb,var(--brand) 11%,transparent);box-shadow:inset 0 0 0 1.5px var(--brand);color:var(--brand)}.pagePreview{display:block;width:30px;height:40px;border-radius:3px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}.pagePreview.wide{width:40px;height:30px}.pagePreview[data-paper=lined]{background-image:repeating-linear-gradient(to bottom,transparent,transparent 4px,#d9e2ee 4px,#d9e2ee 5px)}.pagePreview[data-paper=grid]{background-image:repeating-linear-gradient(to bottom,transparent,transparent 4px,#dfe6ef 4px,#dfe6ef 5px),repeating-linear-gradient(to right,transparent,transparent 4px,#dfe6ef 4px,#dfe6ef 5px)}.pagePreview[data-paper=dotted]{background-image:radial-gradient(#c9d3e0 1px,transparent 1.1px);background-size:6px 6px;background-position:3px 3px}.stage.board{background-image:radial-gradient(var(--line) 1.4px,transparent 1.5px)}.stage.board .docLayer{background:none;box-shadow:none}.boardAdd{position:absolute;z-index:5;left:50%;transform:translate(-50%);bottom:calc(var(--s4) + var(--safe-b));display:flex;gap:var(--s2);padding:var(--s1);border-radius:var(--r-pill);background:color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-2);transition:opacity .22s ease}.stage.writing .boardAdd{opacity:.16;pointer-events:none}.boardAdd .btn{background:none;box-shadow:none;min-height:40px;font-size:14px}.bItem{position:absolute;pointer-events:none;z-index:3}.bBody{position:absolute;inset:0;overflow:hidden;background:var(--paper);border-radius:var(--r-md);box-shadow:var(--sh-2);pointer-events:none}.bBody.img{background:none;box-shadow:none;border-radius:4px}.bBody.bBodyOn{outline:2px solid var(--brand);outline-offset:2px}.bBody img{width:100%;height:100%;object-fit:contain;display:block}.bBody .textLayer{position:absolute;inset:0}.bBody .tiptap{padding:var(--s4);font-size:17px;min-height:100%}.stage.typing .bBody{pointer-events:auto}.bGrip{position:absolute;left:0;bottom:100%;width:max-content;height:var(--tap);display:flex;align-items:center;gap:var(--s2);padding:0 var(--s3);margin-bottom:5px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--sh-2);pointer-events:auto;touch-action:none;cursor:grab}.bHandles.dragging .bGrip{cursor:grabbing}.bDots{width:22px;height:12px;flex:none;background-image:radial-gradient(var(--ink-2) 1.3px,transparent 1.4px);background-size:6px 6px}.bDel,.bGripBtn{width:var(--tap);height:var(--tap);flex:none;display:grid;place-items:center;border-radius:var(--r-pill);color:var(--ink-2)}.bDel:active,.bGripBtn:active{background:var(--line-soft)}.bGripBtn.on{background:var(--line-soft);color:var(--ink)}.bNoteChip{width:20px;height:20px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px #0000001a}.bGripBtn.on .bNoteChip{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--ink)}.bGripLocked{cursor:default}.bGripLocked .bDots{opacity:.35}.bBody.bNote{background:var(--note-yellow);border-radius:var(--r-sm);box-shadow:0 1px 1px #5a3c442e,0 6px 10px -4px #5a3c4438}.bBody.bNote .tiptap{padding:var(--s4);font-size:18px}.bRotate{position:absolute;left:0;bottom:0;width:var(--tap);height:var(--tap);transform-origin:0 0;display:grid;place-items:center;border-radius:var(--r-pill);color:var(--ink-2);background:var(--card);box-shadow:var(--sh-2);pointer-events:auto;touch-action:none;cursor:grab;opacity:.82;transition:opacity .16s}.bResize{position:absolute;right:0;bottom:0;width:var(--tap);height:var(--tap);display:grid;place-items:center;border-radius:var(--r-pill);color:var(--ink-2);background:var(--card);box-shadow:var(--sh-2);pointer-events:auto;touch-action:none;cursor:nwse-resize}.pagePreview.board{width:40px;height:40px;border-radius:var(--r-sm);box-shadow:none;background-color:var(--paper);background-image:radial-gradient(var(--line) 1.2px,transparent 1.3px);background-size:7px 7px}.handleLayer{position:absolute;top:0;left:0;transform-origin:0 0;z-index:5;pointer-events:none}.bHandles{position:absolute;pointer-events:none}.coverThumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:0}.cover .coverBody:before{content:"";position:absolute;inset:-60px 0 0;z-index:-1;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.82) 55%,rgba(255,255,255,.95))}.pageMgr{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;background:var(--desk-grad) fixed;padding-bottom:var(--safe-b)}.dim{font-size:13.5px;color:var(--ink-2)}.paperRow{margin-bottom:var(--s5)}.pageGrid{list-style:none;display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pageCard{position:relative;background:var(--card);border-radius:var(--r-lg);padding:var(--s3);box-shadow:var(--sh-1)}.pageCardOn{box-shadow:inset 0 0 0 2.5px var(--brand),var(--sh-2)}.pageOpen{position:relative;display:block;width:100%;transition:transform .14s cubic-bezier(.2,.8,.3,1)}.pageOpen:active{transform:scale(.97)}.pageSheet{display:block;width:100%;position:relative;overflow:hidden;background:var(--paper);box-shadow:0 0 0 1px var(--line);border-radius:3px}.pageSheet[data-paper=lined]{background-image:repeating-linear-gradient(to bottom,transparent,transparent 7px,#d9e2ee 7px,#d9e2ee 8px)}.pageSheet[data-paper=grid]{background-image:repeating-linear-gradient(to bottom,transparent,transparent 7px,#dfe6ef 7px,#dfe6ef 8px),repeating-linear-gradient(to right,transparent,transparent 7px,#dfe6ef 7px,#dfe6ef 8px)}.pageSheet[data-paper=dotted]{background-image:radial-gradient(#c9d3e0 1px,transparent 1.1px);background-size:10px 10px;background-position:5px 5px}.pageShot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.pageNo{position:absolute;right:6px;bottom:6px;padding:1px 8px;border-radius:var(--r-pill);font-size:11.5px;font-weight:640;color:var(--ink-2);background:color-mix(in srgb,var(--card) 88%,transparent)}.coverSkeleton{background:color-mix(in srgb,var(--card) 60%,transparent);box-shadow:var(--sh-1);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.coverSkeleton{animation:none}}.saveErr{position:absolute;z-index:30;left:var(--s3);right:var(--s3);top:var(--s3);display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--card);color:var(--warn);box-shadow:inset 0 0 0 2px var(--warn),var(--sh-3);font-size:14px;font-weight:560}.saveErr span{flex:1}.shareCard{display:grid;gap:var(--s4);justify-items:start}.shareCard p{font-size:15px;line-height:1.55}.shareCard .btn{width:100%;justify-content:center}.pickDot{position:absolute;left:6px;top:6px;width:26px;height:26px;border-radius:var(--r-pill);display:grid;place-items:center;background:color-mix(in srgb,var(--card) 90%,transparent);box-shadow:inset 0 0 0 1.5px var(--line)}.pickDot.on{background:var(--brand);color:#fff;box-shadow:none}.pageMgr .warn{color:var(--warn);font-size:14px;margin-bottom:var(--s3)}.pageTools{display:flex;justify-content:space-between;margin-top:var(--s2)}.pageTools .btn{box-shadow:none;background:none}.pageTools .btn:disabled{opacity:.42}.pageAsk{position:absolute;inset:0;z-index:1;display:grid;place-content:center;gap:var(--s2);text-align:center;padding:var(--s3);border-radius:var(--r-lg);background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13.5px}.pageAskGo{background:var(--brand);color:#fff}.pager .num{min-height:38px;display:inline-flex;align-items:center;border-radius:var(--r-pill)}.pager .num:active{background:var(--line-soft)}.guide{position:absolute;z-index:6;pointer-events:none;outline:1.5px dashed var(--brand);outline-offset:0}.guide.gap{outline-style:solid;outline-color:var(--logo-gold);outline-width:2.5px}.opacityPreview{width:34px;height:34px;flex:none;border-radius:var(--r-sm);display:grid;place-items:center;overflow:hidden;background-color:#fff;background-image:linear-gradient(45deg,var(--line-soft) 25%,transparent 25%,transparent 75%,var(--line-soft) 75%),linear-gradient(45deg,var(--line-soft) 25%,transparent 25%,transparent 75%,var(--line-soft) 75%);background-size:10px 10px;background-position:0 0,5px 5px;box-shadow:0 0 0 1px var(--line)}.opacityPreview i{width:100%;height:100%;display:block}
