:root{--bg:#f4f4f6;--surface:#fff;--text:#1c1c1e;--muted:#6b6b72;--border:#d9d9de;--accent:#2f6fde;--accent-text:#fff;--danger:#c62828;--warn-bg:#fff4d6;--warn-text:#6b4a00;--ok-bg:#e3f5e6;--ok-text:#1b5e20;--paper:#fdfdfb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121214;--surface:#1e1e21;--text:#ececf0;--muted:#9a9aa3;--border:#34343a;--accent:#5b8ff0;--warn-bg:#3a2e0c;--warn-text:#ffd978;--ok-bg:#133019;--ok-text:#9be3a6}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}code{font-family:ui-monospace,Roboto Mono,monospace;font-size:.9em}code.wrap{word-break:break-all}.screen{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);z-index:1;align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar h1{white-space:nowrap;text-overflow:ellipsis;margin:0 8px;font-size:1.25rem;overflow:hidden}.spacer{flex:1}.content{flex-direction:column;gap:16px;width:100%;max-width:900px;margin:0 auto;padding:16px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.small{min-height:32px;margin-left:8px;padding:0 10px;font-size:.9em}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.nb-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.nb-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.nb-row.confirm{border-color:var(--danger)}.nb-row.muted{opacity:.75}.nb-main{min-width:200px;color:inherit;flex-direction:column;flex:1;padding:6px 0;text-decoration:none;display:flex}.nb-title{font-size:1.05rem;font-weight:600}.nb-meta{color:var(--muted);font-size:.85rem}.title-form{flex-wrap:wrap;flex:1;gap:8px;display:flex}.title-form input{border:1px solid var(--border);background:var(--bg);min-width:200px;min-height:44px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:0 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.card h2{margin:0 0 12px;font-size:1.05rem}.row{flex-wrap:wrap;gap:8px;display:flex}.hint,.empty{color:var(--muted);margin:8px 0 0}.empty{text-align:center;padding:48px 0}.note{border-radius:8px;margin:8px 0 0;padding:8px 12px}.note.ok{background:var(--ok-bg);color:var(--ok-text)}.note.err{color:var(--danger);background:#fde0e0}.banner{padding:10px 16px;font-size:.95rem}.banner.warn{background:var(--warn-bg);color:var(--warn-text)}.banner.ok{background:var(--ok-bg);color:var(--ok-text)}.banner a{color:inherit;font-weight:600}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{min-width:0;margin:0}.kv dd.warn-text{color:var(--warn-text);background:var(--warn-bg);border-radius:8px;grid-column:1/-1;padding:8px 12px}.pill{border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:600;display:inline-block}.pill.granted{background:var(--ok-bg);color:var(--ok-text)}.pill.denied,.pill.unsupported{background:var(--warn-bg);color:var(--warn-text)}.fatal{white-space:pre-wrap;color:var(--danger);padding:16px}@media (max-width:520px){.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}}:root{--desk:#b9bac0}@media (prefers-color-scheme:dark){:root{--desk:#2b2b30}}.screen.notebook{height:100dvh;min-height:0}.notebook .topbar{padding-top:max(6px, env(safe-area-inset-top));padding-bottom:6px}.hint.small{margin:0 8px;font-size:.85rem}.ink-wrap{flex:1;min-height:0;position:relative}.ink-host{position:absolute;inset:0}.ink-surface{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--desk);position:absolute;inset:0;overflow:hidden}.ink-layer{width:100%;height:100%;display:block;position:absolute;inset:0}.empty.overlay{position:absolute;inset:0}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 12px;display:flex;overflow-x:auto}.toolbar .sep{background:var(--border);align-self:stretch;width:1px;margin:0 6px}.tool{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;border-radius:10px;padding:0 14px}.tool.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.swatch{border:3px solid var(--surface);background:var(--c);width:36px;height:36px;box-shadow:0 0 0 1px var(--border);border-radius:50%;flex:none}.swatch.hl{border-radius:8px}.swatch.on{box-shadow:0 0 0 2px var(--accent)}.width{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.width span{background:var(--text);border-radius:4px;width:22px;display:block}.width.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.debug-panel{z-index:2;pointer-events:none;color:#e8e8ee;white-space:pre;background:#141418d1;border-radius:10px;max-width:calc(100% - 16px);margin:0;padding:10px 12px;font:12px/1.4 ui-monospace,Roboto Mono,monospace;position:absolute;bottom:8px;right:8px;overflow:hidden}.banner.err{color:var(--danger);background:#fde0e0;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.checks{flex-direction:column;gap:4px;margin-top:8px;display:flex}.check{align-items:center;gap:10px;min-height:40px;display:flex}.check input{width:22px;height:22px}
