:root{--bg:#f7f6f2;--ink:#1e1e24;--panel:#fff;--muted:#8a8a93;--line:#e4e2dc;--accent:#3b5bdb;--hover:#f0efea;--active:#e7ecff;--danger:#e03131;--shadow:0 1px 2px #0000000f, 0 6px 24px #00000014;--btn:36px;--edge:14px;--top:calc(var(--edge) + env(safe-area-inset-top));--bottom:calc(var(--edge) + env(safe-area-inset-bottom));--left:calc(var(--edge) + env(safe-area-inset-left));--right:calc(var(--edge) + env(safe-area-inset-right))}*{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#board{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.bar,.menu{z-index:10;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;position:fixed}.bar{gap:2px;padding:5px;display:flex}#notesBar{top:var(--top);left:var(--left)}#actions{top:var(--top);right:var(--right)}#tools{bottom:var(--bottom);left:50%;transform:translate(-50%)}#pageBar{right:var(--right);flex-direction:column;align-items:center;top:50%;transform:translateY(-50%)}#pageBar .sep{align-self:stretch;width:auto;height:1px}#pageLabel{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;padding:2px 0;font-size:12px;font-weight:600}button{all:unset;box-sizing:border-box;cursor:pointer;width:var(--btn);height:var(--btn);color:var(--ink);touch-action:manipulation;border-radius:8px;place-items:center;display:grid;position:relative}button:hover{background:var(--hover)}button.active{background:var(--active);color:var(--accent)}button:disabled{opacity:.3;cursor:default;background:0 0}button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}button .k{color:var(--muted);font-size:9px;position:absolute;bottom:1px;right:3px}button .icon{display:grid}button .dot{background:var(--tool-color,transparent);border-radius:2px;width:12px;height:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 .5px #0003}.sep{background:var(--line);width:1px;margin:4px}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}#zoomLabel{font-variant-numeric:tabular-nums;width:52px;font-size:12px}#options{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;max-width:calc(100vw - 16px);padding:6px 8px;animation:.12s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}#options .sep{align-self:stretch;margin:4px 2px}.choices,.sizes{gap:2px;display:flex}button.labeled{gap:6px;width:auto;padding:0 10px 0 8px;font-size:13px;font-weight:600;display:flex}button.labeled svg{width:18px;height:18px}button.delete:hover{color:var(--danger)}.swatches{align-items:center;gap:6px;padding:0 4px;display:flex}.sw{background:var(--c);cursor:pointer;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #00000026}.sw:hover{background:var(--c);transform:scale(1.1)}.sw.active{background:var(--c);outline:2px solid var(--accent);outline-offset:2px}.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative;overflow:hidden}.custom.active{background:radial-gradient(var(--c) 45%, transparent 48%), conic-gradient(red, yellow, lime, cyan, blue, magenta, red)}.custom input{opacity:0;cursor:pointer;position:absolute;inset:-4px}.sizes span{background:currentColor;display:block}.size-pen{border-radius:50%}.size-marker{opacity:.55;border-radius:3px;width:20px}.size-shape{border-radius:2px;width:22px}.size-text{font-weight:700;line-height:1;background:0 0!important}.size-eraser{border-radius:50%;box-shadow:inset 0 0 0 1.5px;background:0 0!important}#scrim{z-index:30;opacity:0;pointer-events:none;background:#14141e2e;transition:opacity .2s;position:fixed;inset:0}.sidebar-open #scrim{opacity:1;pointer-events:auto}#sidebar{z-index:31;width:min(320px,85vw);padding:var(--top) 10px var(--bottom) calc(10px + env(safe-area-inset-left));background:var(--panel);border-right:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;transition:transform .22s cubic-bezier(.3,.7,.4,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}#sidebar.open{transform:none}#sidebar header{justify-content:space-between;align-items:center;padding:0 2px 8px 8px;display:flex}#sidebar h2{margin:0;font-size:18px}.sidebar-actions{border-bottom:1px solid var(--line);gap:6px;padding-bottom:10px;display:flex}button.wide{border:1px solid var(--line);flex:1;justify-content:center;gap:6px;width:auto;padding:0 12px;font-size:14px;font-weight:600;display:flex}button.wide svg{width:18px;height:18px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:#3451c6}#noteList{flex:1;margin:0;padding:8px 0 0;list-style:none;overflow-y:auto}#noteList .note{flex-direction:column;align-items:flex-start;gap:2px;width:100%;height:auto;margin-bottom:2px;padding:9px 12px;display:flex}#noteList .note.current{background:var(--active)}#noteList .note.current .note-name{color:var(--accent)}.note-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:600;overflow:hidden}.note-time{color:var(--muted);font-size:12px}.menu{top:calc(var(--top) + 54px);right:var(--right);flex-direction:column;min-width:210px;padding:6px;animation:.12s ease-out drop;display:flex}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}.menu button{justify-content:flex-start;gap:10px;width:auto;padding:0 12px 0 10px;font-size:14px;display:flex}.menu button svg{width:18px;height:18px;color:var(--muted)}.menu-sep{background:var(--line);height:1px;margin:4px 6px}#recordBtn.recording{width:auto;color:var(--danger);background:#fff0f0;gap:6px;padding:0 10px 0 8px;display:flex}#recordBtn.recording svg{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}#recordTime{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}#recordTime:empty{display:none}#recordingsBtn.playing{color:var(--accent)}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:15px;height:15px;padding:0 4px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:2px;right:2px}#recordingsPanel{width:min(340px, calc(100vw - 2 * var(--edge)));max-height:60vh;overflow-y:auto}.menu-title{color:var(--muted);padding:6px 10px 8px;font-size:13px;font-weight:700}#recordingList{margin:0;padding:0;list-style:none}#recordingList li{border-top:1px solid var(--line);align-items:center;gap:6px;padding:6px 4px;display:flex}#recordingList .play,#recordingList .rec-delete{width:var(--btn);flex:none;justify-content:center;padding:0}#recordingList button svg{color:inherit}#recordingList .play{color:var(--accent)}#recordingList .play svg{stroke:none;width:18px;height:18px}.rec-main{flex:1;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;min-width:0;display:grid}.menu .rec-name,.rec-name{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;width:auto;height:auto;padding:2px 0;font-size:14px;font-weight:600;display:block;overflow:hidden}.rec-name:hover{background:0 0;text-decoration:underline}.rec-seek{width:100%;accent-color:var(--accent);margin:0}.rec-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}#recordingList .rec-delete{color:var(--muted);flex:none}#recordingList .rec-delete svg{width:16px;height:16px}dialog{background:var(--panel);width:min(420px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--ink);-webkit-user-select:none;user-select:none;border:none;border-radius:16px;padding:0;box-shadow:0 10px 50px #00000040}dialog[open]{animation:.16s ease-out rise}dialog::backdrop{background:#14141e4d}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.98)}}dialog form{flex-direction:column;gap:14px;padding:20px;display:flex}dialog h2{margin:0;font-size:18px}dialog footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.muted{color:var(--muted);margin:0;font-size:13px}button.text-btn{gap:8px;width:auto;padding:0 16px;font-size:14px;font-weight:600;display:flex}button.text-btn svg{width:18px;height:18px}button.danger{color:var(--danger)}button.danger:hover{background:#fff0f0}.formats{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.formats label{border:1.5px solid var(--line);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:10px 12px;display:grid}.formats label:has(:checked){border-color:var(--accent);background:var(--active)}.formats input{accent-color:var(--accent);grid-row:span 2;margin:0}.formats b{font-size:14px}.formats small{color:var(--muted);font-size:12px}.png-only{flex-direction:column;gap:10px;display:none}.is-png .png-only{display:flex}.is-pages .seamless-only{display:none}.pages-pdf,.pages-paper,.range-input{display:none!important}.is-pages.is-pdf .pages-pdf{display:flex!important}.is-pages.is-pdf.is-custom .range-input{display:block!important}.is-pages:is(.is-pdf,.is-png) .pages-paper{display:flex!important}.range-input{border:1.5px solid var(--line);height:38px;font:inherit;color:var(--ink);background:var(--panel);-webkit-user-select:text;user-select:text;border-radius:10px;padding:0 12px;font-size:14px}.range-input:focus{border-color:var(--accent);outline:none}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px}.check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.pages-only{display:none!important}.is-pages .pages-only{display:flex!important}p.pages-only{margin:0}.templates{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.templates label{cursor:pointer;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.templates input{display:none}.paper{aspect-ratio:3/4;width:100%;box-shadow:0 0 0 1.5px var(--line), 0 1px 4px #00000014;background-color:#fff;border-radius:6px}.templates label:has(:checked){color:var(--accent)}.templates label:has(:checked) .paper{box-shadow:0 0 0 2.5px var(--accent), 0 1px 4px #00000014}.t-dots{background-image:radial-gradient(#c4c1b6 1px,#0000 1.4px);background-position:4px 4px;background-size:8px 8px}.t-ruled{background-image:linear-gradient(90deg,#0000 12px,#efa5a5 12px 13px,#0000 13px),linear-gradient(#0000 7px,#c5d3e8 7px 8px);background-position:0 0,0 10px;background-repeat:no-repeat,repeat-y;background-size:100% 100%,100% 8px}.t-grid{background-image:linear-gradient(#e2dfd6 1px,#0000 1px),linear-gradient(90deg,#e2dfd6 1px,#0000 1px);background-size:8px 8px}.field{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.segmented{background:var(--hover);border-radius:10px;gap:2px;padding:3px;display:flex}.segmented label{cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.segmented label:has(:checked){background:var(--panel);color:var(--accent);box-shadow:0 1px 3px #0000001f}.segmented input{display:none}.name-field input{border:1.5px solid var(--line);min-width:0;height:38px;font:inherit;color:var(--ink);background:var(--panel);-webkit-user-select:text;user-select:text;border-radius:10px;flex:1;padding:0 12px;font-size:15px}.name-field input:focus{border-color:var(--accent);outline:none}#noteStats{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}#noteStats dt{color:var(--muted)}#noteStats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.danger-zone{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:flex}.danger-zone button{border:1px solid var(--line);flex:1;justify-content:center}#textInput{z-index:20;outline:1px dashed var(--accent);outline-offset:4px;resize:none;white-space:pre;-webkit-user-select:text;user-select:text;background:0 0;border:none;min-width:20px;margin:0;padding:0;display:none;position:fixed;overflow:hidden}#hint{top:calc(var(--top) + 12px);white-space:nowrap;color:var(--muted);pointer-events:none;font-size:12px;position:fixed;left:50%;transform:translate(-50%)}#toast{bottom:calc(var(--bottom) + 64px);background:var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:8px;padding:8px 14px;font-size:13px;transition:opacity .2s;position:fixed;left:50%;transform:translate(-50%)}#toast.show{opacity:1}@media (width<=1150px){#hint{display:none}}@media (pointer:coarse){:root{--btn:44px}.desktop-only{display:none!important}button svg{width:22px;height:22px}button .k{display:none}button .dot{bottom:5px}.swatches{gap:10px}.sw{width:30px;height:30px}.menu button{height:48px;font-size:15px}#noteList .note{padding:12px 14px}#pageLabel{font-size:13px}#options{padding:6px 10px}}
