:root{--bg:#15141c;--surface:#201f2a;--text:#e8e6ef;--muted:#9a97a8;--accent:#b9a4ff;--ok:#7fd6a0;--bad:#ee8a8a;--bar-h:52px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,sans-serif}button{font:inherit;color:var(--text);background:var(--surface);-webkit-tap-highlight-color:transparent;border:1px solid #34323f;border-radius:10px;min-width:44px;min-height:44px;padding:0 12px}button.on{background:var(--accent);color:#15141c;border-color:var(--accent)}button.ghost{background:0 0}.top{z-index:2;padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid #2a2935;align-items:center;gap:10px;display:flex;position:sticky;top:0}.title{font-weight:700}.status{color:var(--muted);flex:1;font-size:13px}.sg{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:flex}.page{max-width:760px;padding:16px 16px calc(var(--bar-h) + 40px);margin:0 auto}.ProseMirror{white-space:pre-wrap;word-wrap:break-word;outline:none;min-height:60vh;font:18px/1.7 Georgia,Times New Roman,serif}.ProseMirror p{margin:0 0 1em}.ProseMirror .scene-break,.ProseMirror .marker{text-align:center;color:var(--muted)}.ProseMirror .scene-break.ProseMirror-selectednode{outline:2px solid var(--accent);border-radius:6px}.ProseMirror .thought,.g .thought{font-style:italic}.ProseMirror .voice,.g .voice{font-variant:small-caps;letter-spacing:.06em;font-style:normal}.ProseMirror .written,.g .written{color:#d9c9a0;font-style:italic}.lint{text-underline-offset:4px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;cursor:pointer;-webkit-text-decoration:underline wavy #e0a458;text-decoration:underline wavy #e0a458;text-decoration-thickness:1.5px}.lint-card{z-index:6;background:#2a2836;border:1px solid #3d3a4d;border-radius:12px;padding:12px;font-size:15px;position:fixed;box-shadow:0 8px 24px #0006}.lint-card[hidden]{display:none}.lint-card p{margin:0 0 10px}.lint-card .fixes,.lint-card .more{flex-wrap:wrap;gap:6px;display:flex}.lint-card .fixes button{background:var(--accent);color:#15141c;border-color:var(--accent);font-weight:600}.lint-card .more{margin-top:8px}.lint-card .more button{font-size:13px}.bar{z-index:3;padding:4px 8px;padding-bottom:max(4px, env(safe-area-inset-bottom));will-change:transform;background:#1b1a23;border-top:1px solid #2a2935;flex-wrap:wrap;gap:4px 6px;display:flex;position:fixed;bottom:0;left:0;right:0}.grp{flex-wrap:wrap;gap:4px;display:flex}.cap,.h{display:none}.bar button{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;min-width:52px;padding:3px 6px;display:flex}.g{white-space:nowrap;font:17px/1.1 Georgia,Times New Roman,serif}.l{color:var(--muted);white-space:nowrap;font-size:10px;line-height:1.2}.bar button.on .l{color:#15141c}body.vv .bar{top:0;bottom:auto}html:has(body.phone){height:100%;overflow:hidden}body.phone{width:100%;height:var(--vvh,100%);transform:translateY(var(--vvt,0px));flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}body.phone .bar{padding-top:max(4px, env(safe-area-inset-top));border-top:0;border-bottom:1px solid #2a2935;flex:none;order:-1;padding-bottom:4px;position:static;transform:none}body.phone .scroller{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}body.phone .top{padding-top:8px;position:static}.sg-only{display:none}body.sg-on .sg-only{display:flex}body.sg-on:not(.phone) .page{padding-bottom:calc(var(--bar-h) * 2 + 40px)}body.phone .page{padding-bottom:40px}body.rail{--rail-w:60px}body.rail .bar{left:calc(50% - 380px - var(--rail-w));width:var(--rail-w);background:0 0;border:0;flex-flow:column;gap:14px;padding:0;top:50%;bottom:auto;right:auto}body.rail .grp{flex-flow:column;gap:4px}body.rail .bar button{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border-color:#0000;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:0;display:flex;position:relative}body.rail .g{text-align:center;background:var(--surface);border:1px solid #34323f;border-radius:8px;flex:none;width:48px;padding:9px 0}body.rail .bar button:hover .g,body.rail .bar button:focus-visible .g{border-color:var(--accent)}body.rail .bar button.on{background:0 0;border-color:#0000}body.rail .bar button.on .g{background:var(--accent);border-color:var(--accent);color:#15141c}body.rail .tip{z-index:4;opacity:0;pointer-events:none;background:#2a2836;border:1px solid #3d3a4d;border-radius:10px;width:max-content;max-width:240px;padding:8px 12px;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%);box-shadow:0 6px 20px #00000059}body.rail .bar button:hover .tip,body.rail .bar button:focus-visible .tip{opacity:1}body.rail .l{color:var(--text);font-size:14px;display:block}body.rail .h{color:var(--muted);white-space:normal;font-size:12px;line-height:1.3;display:block}body.rail .bar button.on .l{color:var(--accent)}body.rail .page{padding-bottom:40px}body.rail.rail-wide{--rail-w:190px}body.rail.rail-wide .cap{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 0 2px 2px;font-size:11px;display:block}body.rail.rail-wide .tip{opacity:1;box-shadow:none;background:0 0;border:0;max-width:130px;padding:0;position:static;transform:none}body.rail.rail-wide .h{opacity:0;max-height:0;transition:max-height .15s,opacity .15s;overflow:hidden}body.rail.rail-wide .bar button:hover .h,body.rail.rail-wide .bar button:focus-visible .h{opacity:1;max-height:40px}@media (prefers-reduced-motion:reduce){body.rail .tip,body.rail .h{transition:none}}.sheet{z-index:5;background:var(--bg);padding:12px 16px 40px;position:fixed;inset:0;overflow-y:auto}.sheet[hidden]{display:none}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet ol{padding-left:20px}.sheet li{margin-bottom:14px}.sheet li .row{gap:6px;margin-top:6px;display:flex}.sheet li .row button{flex:none}.sheet li input[type=text]{background:var(--surface);min-width:0;min-height:44px;color:var(--text);border:1px solid #34323f;border-radius:10px;flex:1;padding:0 10px;font-size:16px}.sheet li .yes.on{background:var(--ok);color:#15141c}.sheet li .no.on{background:var(--bad);color:#15141c}.sheet-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.sheet textarea{background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:10px;font:14px/1.4 ui-monospace,monospace}
