:root{--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--ui: system-ui, -apple-system, "Segoe UI", Inter, sans-serif;--bg: #2c2c2e;--bg-alt: #262628;--surface: #3a3a3d;--surface-soft: #333336;--fg: #ececee;--fg-dim: #8e8e94;--fg-note: #a6a6ac;--accent: #8ab4ff;--done: #7fd08c;--running: #f0b46b;--border: #3c3c40;--error: #ff8a9b;--radius: 10px;--shadow: 0 18px 40px rgba(0, 0, 0, .45)}@media(prefers-color-scheme:light){:root{--bg: #fcfcfa;--bg-alt: #f3f3f0;--surface: #e6e6e1;--surface-soft: #ededea;--fg: #23232a;--fg-dim: #86868e;--fg-note: #6e6e76;--accent: #3f6fe0;--done: #2f9e4f;--running: #b47a22;--border: #e2e2dd;--error: #d02a44;--shadow: 0 18px 40px rgba(0, 0, 0, .12)}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:var(--ui)}body{-webkit-font-smoothing:antialiased}#app{display:flex;height:100vh;height:100dvh}#app.sidebar-collapsed #sidebar{display:none}button{font:inherit}:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--surface) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--surface);border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic-sm{width:15px;height:15px;stroke-width:1.8}#sidebar{width:214px;flex:0 0 214px;background:var(--bg-alt);border-right:1px solid var(--border);display:flex;flex-direction:column;font-size:13.5px}.side-top{display:flex;flex-direction:column;padding:46px 10px 14px;gap:1px}.side-link{text-align:left;background:none;border:none;color:var(--fg);padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease}.side-link:hover{background:var(--surface-soft)}.side-stacks{flex:1;overflow-y:auto;padding:6px 10px;border-top:1px solid var(--border)}.side-head{display:flex;justify-content:space-between;align-items:center;padding:12px 10px 6px;color:var(--fg-dim);font-size:12px;font-weight:600;letter-spacing:.02em}.side-head button{display:inline-flex;align-items:center;gap:3px;background:none;border:none;color:var(--fg-dim);cursor:pointer;font-size:12px;font-weight:600;padding:3px 5px;border-radius:7px;transition:color .12s ease,background .12s ease}.side-head button:hover{color:var(--fg);background:var(--surface-soft)}#stack-list{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}#stack-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s ease}#stack-list li:before{content:"";flex:none;width:15px;height:15px;border-radius:4px;border:1.5px solid var(--fg-dim);opacity:.75;display:grid;place-items:center;font-size:7px;line-height:1;color:var(--fg-dim)}#stack-list li:hover{background:var(--surface-soft)}#stack-list li.active{background:var(--surface)}#stack-list li.active:before{content:"▶";padding-left:1px;border-color:var(--fg-dim);opacity:1;color:var(--fg)}.side-bottom{padding:12px 14px;border-top:1px solid var(--border)}#sync-status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--fg-dim)}#sync-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.sync-synced{color:var(--done)}.sync-connecting{color:var(--running)}.sync-error{color:var(--error)}#editor-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}#toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border)}.tb-left,.tb-right{display:flex;align-items:center;gap:2px}#toolbar button{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--fg-dim);border-radius:8px;padding:6px 9px;cursor:pointer;font-size:13.5px;transition:color .12s ease,background .12s ease}#toolbar button:hover:not(:disabled){color:var(--fg);background:var(--surface-soft)}#toolbar button:disabled{opacity:.3;cursor:default}.tb-icon{padding:6px}#tb-pagecount{font-size:12px;font-variant-numeric:tabular-nums;padding:6px 7px}#tb-timer:hover{color:var(--running)}#tb-done:hover{color:var(--done)}#tb-stackbtn{position:absolute;left:50%;transform:translate(-50%);color:var(--fg)!important;font-size:14px;font-weight:600;gap:8px;max-width:38%;white-space:nowrap;overflow:hidden}#tb-stackbtn .ic{color:var(--fg-dim)}#tb-stackname{overflow:hidden;text-overflow:ellipsis}#editor{flex:1;min-height:0;overflow:hidden}.cm-editor{height:100%;background:var(--bg);color:var(--fg);font-size:15px}.cm-editor.cm-focused{outline:none}.cm-content{caret-color:var(--accent)}.cm-cursor{border-left-color:var(--accent);border-left-width:2px}.cm-editor .cm-gutters{background:transparent;border:none}.cm-lineNumbers,.cm-foldGutter{display:none!important}.cm-selectionBackground,.cm-content ::selection,.cm-editor.cm-focused .cm-selectionBackground{background:color-mix(in srgb,var(--accent) 26%,transparent)!important}.cm-editor .cm-activeLine{background:color-mix(in srgb,var(--fg) 3%,transparent);border-radius:8px}.cm-editor .cm-placeholder{color:var(--fg-dim);opacity:.7}.cm-editor .cm-selectionMatch{background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:4px}.cm-task-gutter{min-width:46px;padding-right:8px}.cm-ctl{display:inline-flex;align-items:center;gap:7px;justify-content:flex-end;width:100%}.cm-ctl-timer{cursor:pointer;color:transparent;font-size:12.5px;width:14px;text-align:center;transition:color .12s ease}.cm-gutterElement:hover .cm-ctl-timer{color:var(--fg-dim)}.cm-ctl-timer.on,.cm-ctl-timer:hover{color:var(--running)}.cm-ctl-check{cursor:pointer;display:inline-block;width:14px;height:14px;border:1.5px solid var(--fg-dim);opacity:.8;transition:border-color .12s ease,background .12s ease,opacity .12s ease}.cm-ctl-check:hover{border-color:var(--fg);opacity:1}.cm-ctl-square{border-radius:4px}.cm-ctl-round{border-radius:50%;width:11px;height:11px;visibility:hidden}.cm-gutterElement:hover .cm-ctl-round{visibility:visible}.cm-ctl-check.on{background:var(--done);border-color:var(--done);opacity:1;display:grid;place-items:center}.cm-ctl-check.on:after{content:"✓";font-size:10px;line-height:1;font-weight:700;color:color-mix(in srgb,var(--bg) 78%,#000)}.cm-task{color:var(--fg)}.cm-note{color:var(--fg-note)}.cm-done{color:color-mix(in srgb,var(--done) 72%,var(--fg-dim));text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--done) 45%,transparent)}.cm-running{background:color-mix(in srgb,var(--running) 10%,transparent);box-shadow:inset 2px 0 color-mix(in srgb,var(--running) 70%,transparent);border-radius:7px}.cm-guess{color:var(--fg-dim)}.cm-tail{color:color-mix(in srgb,var(--running) 65%,var(--fg-dim));font-variant-numeric:tabular-nums}.cm-running .cm-tail{color:var(--running)}.cm-readout{color:var(--running);font-variant-numeric:tabular-nums;font-weight:600;user-select:none}.cm-cmd-selected{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 2px 0 0 var(--accent);border-radius:7px}dialog{border:1px solid var(--border);border-radius:16px;background:var(--bg-alt);color:var(--fg);padding:0;width:min(560px,94vw);max-height:86vh;box-shadow:var(--shadow)}dialog::backdrop{background:#00000073;backdrop-filter:blur(3px)}dialog[open]{animation:pop .16s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.985)}}@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}}.menu{padding:22px 24px}.menu h3{margin:0 0 14px;font-size:16px}.menu ul{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.menu li{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px}.menu li:hover{background:var(--surface-soft)}.menu li span{cursor:pointer;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu li span.active{color:var(--accent);font-weight:600}.menu label{display:block;font-size:13px;color:var(--fg-dim);margin-bottom:12px}.menu label.row{display:flex;gap:8px;align-items:flex-start;color:var(--fg)}.menu input[type=text],.menu input[type=url],.menu input[type=password]{display:block;width:100%;margin-top:5px;padding:9px 11px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--mono)}.menu menu{display:flex;gap:8px;justify-content:flex-end;padding:0;margin:18px 0 0}dialog button{padding:8px 14px;border-radius:9px;cursor:pointer;font-size:14px;border:1px solid var(--border);background:none;color:var(--fg);transition:background .12s ease}dialog button:hover{background:var(--surface-soft)}dialog button.primary{background:var(--accent);color:#121218;border-color:transparent;font-weight:600}dialog button.primary:hover{filter:brightness(1.06);background:var(--accent)}.error{color:var(--error);font-size:13px}.muted{color:var(--fg-dim);font-size:13px}.linklike{background:none;border:none;color:var(--accent);cursor:pointer;padding:0 4px}.guide{padding:22px 26px 30px;overflow-y:auto;max-height:86vh}.guide .guide-head{display:flex;align-items:center;justify-content:space-between}.guide h2{margin:0 0 8px;font-size:19px}.guide h3{margin:20px 0 6px;color:var(--accent);font-size:14px;letter-spacing:.01em}.guide ul{margin:6px 0;padding-left:20px;font-size:14px;line-height:1.65}.guide code,#help-hint code{font-family:var(--mono);background:var(--surface-soft);padding:1.5px 6px;border-radius:5px;font-size:12.5px}.guide-table{border-collapse:collapse;margin:6px 0;font-size:14px}.guide-table td{padding:5px 14px 5px 0;vertical-align:top}.guide-table td:first-child{white-space:nowrap}#help-hint{position:fixed;bottom:12px;right:16px;font-size:11.5px;color:var(--fg-dim);background:color-mix(in srgb,var(--bg-alt) 88%,transparent);backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px;border:1px solid var(--border);opacity:.55;transition:opacity .15s ease}#help-hint:hover{opacity:1}#help-hint code{color:var(--fg);background:var(--surface-soft)}@media(max-width:640px){#sidebar{width:168px;flex-basis:168px}#help-hint,.tb-right button span{display:none}}
