:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--canvas);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-rounded,SF Pro Rounded,Segoe UI,system-ui,sans-serif}:root[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;scrollbar-width:none}::-webkit-scrollbar{display:none}html,body,#root{min-width:320px;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;background:var(--canvas);min-height:100dvh}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}input,textarea,select{-webkit-user-select:text;user-select:text}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}:root{--canvas:#191916;--sidebar:#11110f;--surface:#20201c;--surface-raised:#292923;--surface-hover:#333128;--line:#393931;--line-strong:#625d50;--ink:#f0eade;--ink-soft:#c7c0b0;--muted:#878278;--subtle:#69655c;--accent:#e3c56e;--accent-soft:#393321;--accent-ink:#1e1c16;--positive:#a8c47b;--warning:#d5b85e;--danger:#d98a82;--focus:#f1dc8e;--scrim:#000000a3;--shadow:0 24px 80px #0000006b;--font-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--radius:12px;--ease:cubic-bezier(.2,.8,.2,1);--fast:.16s;--normal:.26s}:root[data-mode=light]{--canvas:#f6f2e9;--sidebar:#ede7da;--surface:#fffdf8;--surface-raised:#f4ede1;--surface-hover:#ece2cf;--line:#d8cfbf;--line-strong:#a99d88;--ink:#28241d;--ink-soft:#524b40;--muted:#766f63;--subtle:#918878;--accent:#9d6f18;--accent-soft:#f1dfad;--accent-ink:#fffaf0;--positive:#597b40;--warning:#ad7915;--danger:#ad4c46;--focus:#8a671f;--scrim:#1b18126b;--shadow:0 24px 80px #32281733}:root[data-theme=gruvbox][data-mode=dark]{--canvas:#282828;--sidebar:#1d2021;--surface:#3c3836;--surface-raised:#504945;--surface-hover:#665c54;--line:#665c54;--line-strong:#928374;--ink:#ebdbb2;--ink-soft:#d5c4a1;--muted:#a89984;--subtle:#928374;--accent:#fabd2f;--accent-soft:#5b4d21;--positive:#b8bb26;--warning:#fe8019;--danger:#fb4934;--focus:#fabd2f}:root[data-theme=gruvbox][data-mode=light]{--canvas:#fbf1c7;--sidebar:#f2e5bc;--surface:#fffbdf;--surface-raised:#f2e5bc;--surface-hover:#ebdbb2;--line:#d5c4a1;--line-strong:#a89984;--ink:#3c3836;--ink-soft:#504945;--muted:#7c6f64;--subtle:#928374;--accent:#af3a03;--accent-soft:#f8d98c;--accent-ink:#fff;--positive:#79740e;--warning:#b57614;--danger:#9d0006;--focus:#af3a03}:root[data-theme=tokyo][data-mode=dark]{--canvas:#1a1b26;--sidebar:#16161e;--surface:#24283b;--surface-raised:#292e42;--surface-hover:#3b4261;--line:#3b4261;--line-strong:#565f89;--ink:#c0caf5;--ink-soft:#a9b1d6;--muted:#787c99;--subtle:#565f89;--accent:#7aa2f7;--accent-soft:#253557;--positive:#9ece6a;--warning:#e0af68;--danger:#f7768e;--focus:#bb9af7}:root[data-theme=tokyo][data-mode=light]{--canvas:#d5d6db;--sidebar:#c9cad1;--surface:#e9e9ec;--surface-raised:#dfe0e5;--surface-hover:#c9cad1;--line:#b4b5bd;--line-strong:#787c99;--ink:#343b58;--ink-soft:#565a6e;--muted:#6f7286;--subtle:#8990ae;--accent:#34548a;--accent-soft:#c7d7f7;--accent-ink:#fff;--positive:#33635c;--warning:#8c6c3e;--danger:#8c4351;--focus:#34548a}:root[data-theme=node][data-mode=dark]{--canvas:#132019;--sidebar:#0d1711;--surface:#1d3025;--surface-raised:#284331;--surface-hover:#365842;--line:#365842;--line-strong:#568464;--ink:#e3f6e8;--ink-soft:#bad8c1;--muted:#8aae94;--subtle:#63856d;--accent:#74c365;--accent-soft:#264e29;--accent-ink:#0f2212;--positive:#8bd577;--warning:#e2bd61;--danger:#db7d72;--focus:#9ae58a}:root[data-theme=node][data-mode=light]{--canvas:#edf5ed;--sidebar:#dfecdf;--surface:#fbfffb;--surface-raised:#e1efe2;--surface-hover:#d0e5d2;--line:#b6cfb8;--line-strong:#789b7c;--ink:#18331e;--ink-soft:#365b3d;--muted:#608066;--subtle:#84a088;--accent:#357a36;--accent-soft:#c7e6c9;--accent-ink:#fff;--positive:#3d8035;--warning:#a67623;--danger:#a74d44;--focus:#357a36}:root[data-theme=obsidian][data-mode=dark]{--canvas:#201f26;--sidebar:#18171d;--surface:#292831;--surface-raised:#34333e;--surface-hover:#42414d;--line:#454450;--line-strong:#676673;--ink:#e7e4ef;--ink-soft:#c4c0cf;--muted:#9792a4;--subtle:#6e6a78;--accent:#a783e9;--accent-soft:#382c53;--accent-ink:#20182c;--positive:#83c6aa;--warning:#d8ad6d;--danger:#d78297;--focus:#c5adff}:root[data-theme=obsidian][data-mode=light]{--canvas:#f4f2f7;--sidebar:#eae7ef;--surface:#fff;--surface-raised:#f0edf5;--surface-hover:#e4dfea;--line:#d3cddc;--line-strong:#a79eae;--ink:#2a2831;--ink-soft:#504b5a;--muted:#756e80;--subtle:#948b9c;--accent:#6f4db7;--accent-soft:#ded0f7;--accent-ink:#fff;--positive:#36755d;--warning:#9a6827;--danger:#a64966;--focus:#6f4db7}:root[data-theme=nier][data-mode=dark]{--canvas:#20211b;--sidebar:#171812;--surface:#2a2b22;--surface-raised:#38392e;--surface-hover:#4a4c3c;--line:#4a4c3c;--line-strong:#777968;--ink:#d5d3bd;--ink-soft:#bab8a5;--muted:#939282;--subtle:#6f7062;--accent:#c7c49c;--accent-soft:#464532;--accent-ink:#1f2019;--positive:#a4be7b;--warning:#d3aa65;--danger:#c77f71;--focus:#efecbd}:root[data-theme=nier][data-mode=light]{--canvas:#d9d7c4;--sidebar:#c9c7b3;--surface:#e9e6d1;--surface-raised:#d9d7c4;--surface-hover:#cac8b5;--line:#b5b3a1;--line-strong:#868574;--ink:#282920;--ink-soft:#4c4d40;--muted:#6e6f60;--subtle:#8c8d7d;--accent:#555846;--accent-soft:#c4c2a6;--accent-ink:#fff;--positive:#5c7c46;--warning:#936522;--danger:#924d43;--focus:#555846}:root[data-theme=overdose][data-mode=dark]{--canvas:#281522;--sidebar:#1c0f19;--surface:#3a1d32;--surface-raised:#4c2540;--surface-hover:#61314f;--line:#663557;--line-strong:#8d557e;--ink:#fff0fa;--ink-soft:#e9bcd8;--muted:#bc83aa;--subtle:#8d557e;--accent:#ff8ecf;--accent-soft:#632f54;--accent-ink:#351126;--positive:#8ee7c0;--warning:#ffd166;--danger:#ff8795;--focus:#ffb1df}:root[data-theme=overdose][data-mode=light]{--canvas:#fff0f8;--sidebar:#f7dce9;--surface:#fff9fd;--surface-raised:#f8e8f1;--surface-hover:#f2d5e5;--line:#e1bbcf;--line-strong:#b2789a;--ink:#4d1c3e;--ink-soft:#71355e;--muted:#985d82;--subtle:#b2789a;--accent:#ba3f83;--accent-soft:#f6c6df;--accent-ink:#fff;--positive:#248261;--warning:#a16c12;--danger:#b5415c;--focus:#ba3f83}.app-shell{background:var(--canvas);min-height:100dvh;color:var(--ink);-webkit-user-select:none;user-select:none;grid-template-columns:248px minmax(0,1fr);display:grid}.sidebar{padding:calc(26px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:28px;display:flex}.brand{font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.brand-mark{border:1px solid var(--accent);width:26px;height:26px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.vault-picker{width:100%;min-height:50px;color:var(--ink-soft);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;padding:9px 10px;display:flex}.vault-picker:hover{border-color:var(--line-strong)}.vault-picker small,.vault-picker strong{display:block}.vault-picker small{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:700}.vault-picker strong{max-width:150px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vault-icon{width:28px;height:28px;color:var(--accent);background:var(--accent-soft);border-radius:7px;place-items:center;display:grid}.vault-picker>:last-child{margin-left:auto}nav{gap:4px;display:grid}.nav-item,.tag-filter{width:100%;min-height:44px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:10px;font-size:13px;display:flex}.nav-item span{width:16px;color:var(--muted);font-size:16px}.nav-item:hover,.nav-item.active,.tag-filter:hover,.tag-filter.selected{color:var(--ink);background:var(--surface)}.nav-item.active span{color:var(--accent)}.sidebar-section{gap:2px;display:grid}.sidebar-label{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;padding:0 10px;font-size:10px;font-weight:700}.tag-filter{justify-content:space-between;gap:3px;font-size:12px}.tag-filter span:last-child{color:var(--subtle);font-family:var(--font-mono);font-size:10px}.local-note{border-top:1px solid var(--line);color:var(--muted);gap:8px;margin-top:auto;padding:14px 10px 0;font-size:11px;line-height:1.55;display:flex}.local-note span{color:var(--positive);font-size:9px}.local-note p{margin:0}.local-note strong{color:var(--ink-soft)}.workspace{min-width:0;padding:42px clamp(26px,5vw,76px)}.workspace-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:30px;display:flex}.eyebrow{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{color:var(--ink);letter-spacing:-.055em;margin-bottom:0;font-size:clamp(28px,3vw,40px);line-height:1.08}h2{letter-spacing:-.04em}.header-actions,.editor-actions{align-items:center;gap:9px;display:flex}.button{border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-size:12px;font-weight:700;display:inline-flex}.button.primary{color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent)}.button.primary:hover{filter:brightness(1.08)}.button.ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.button.ghost:hover{color:var(--ink);border-color:var(--line-strong)}.icon-label{white-space:nowrap}.appearance-control{position:relative}.appearance-menu{z-index:5;width:218px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.appearance-heading{justify-content:space-between;align-items:center;font-size:12px;font-weight:800;display:flex}.appearance-heading button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;font-size:21px;display:grid}.appearance-menu label{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.appearance-menu select{min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:8px}.mode-switch{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.mode-switch button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:5px;font-size:11px}.mode-switch button.selected{color:var(--accent-ink);background:var(--accent)}.blocking-banner,.notice{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:14px;margin-bottom:21px;padding:14px;font-size:12px;display:flex}.blocking-banner{color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-strong)}.blocking-banner strong{color:var(--ink)}.blocking-banner p{color:var(--muted);margin:4px 0 0}.notice{color:var(--positive);background:color-mix(in srgb,var(--positive) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--positive) 40%,var(--line))}.view-panel{min-height:520px}.quest-list{border-top:1px solid var(--line);display:grid}.quest-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(130px,auto);align-items:start;gap:14px;padding:15px 10px 15px 2px;display:grid}.quest-row:hover{background:var(--surface)}.quest-check{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--accent-ink);background:0 0;border-radius:50%;margin-top:-2px;font-size:15px;font-weight:800}.is-done .quest-check{border-color:var(--positive);background:var(--positive)}.quest-content{min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;gap:5px;padding:2px 0;display:grid}.quest-title{color:var(--ink);font-size:14px;font-weight:700}.is-done .quest-title{color:var(--muted);text-decoration:line-through}.quest-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.quest-meta{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;display:flex}.status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.status-dot.backlog,.node-status.backlog{background:var(--muted);fill:var(--muted)}.status-dot.active,.node-status.active{background:var(--warning);fill:var(--warning)}.status-dot.done,.node-status.done{background:var(--positive);fill:var(--positive)}.tag-list{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.tag{color:var(--muted);background:var(--surface-raised);font-family:var(--font-mono);border-radius:4px;padding:4px 6px;font-size:10px}.empty-state{min-height:330px;color:var(--muted);text-align:center;place-content:center;display:grid}.empty-state strong{color:var(--ink-soft)}.empty-state span{margin-top:7px;font-size:12px}.kanban-board{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;padding-bottom:4px;display:grid;overflow-x:auto}.kanban-column{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:460px;padding:13px}.kanban-column header{align-items:center;gap:8px;padding:1px 3px 13px;display:flex}.kanban-column h2{color:var(--ink-soft);margin:0;font-size:13px}.kanban-column header>:last-child{color:var(--subtle);font-family:var(--font-mono);margin-left:auto;font-size:11px}.kanban-cards{gap:9px;display:grid}.kanban-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:9px;padding:13px}.kanban-card:hover{border-color:var(--line-strong)}.kanban-card .tag-list{justify-content:flex-start}.kanban-card h3{color:var(--ink);margin:12px 0 6px;font-size:13px}.kanban-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:13px;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.kanban-card footer{color:var(--subtle);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:6px;font-size:10px;display:flex}.kanban-card select{min-width:94px;min-height:44px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;padding:0 6px;font-size:10px}.empty-column{color:var(--subtle);text-align:center;padding:23px 0;font-size:11px}.graph-area{gap:10px;display:grid}.graph-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.graph-toolbar p{color:var(--muted);margin:0;font-size:12px}.graph-scroll{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);background-image:radial-gradient(color-mix(in srgb,var(--line-strong) 45%,transparent) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}.quest-graph{touch-action:none;width:100%;min-height:450px;display:block}.graph-edge{fill:none;stroke:var(--line-strong);stroke-width:2px;marker-end:url(#arrow)}.graph-node{cursor:grab;outline:none}.graph-node.dragging{cursor:grabbing}.node-halo{fill:color-mix(in srgb,var(--accent) 14%,transparent);opacity:0}.node-fill{fill:var(--surface-raised);stroke:var(--line-strong);stroke-width:1.5px}.graph-node:hover .node-fill,.graph-node:focus .node-fill{fill:var(--surface-hover);stroke:var(--accent);stroke-width:2.5px}.graph-node:hover .node-halo,.graph-node:focus .node-halo{opacity:1}.graph-status{fill:var(--muted);font-family:var(--font-mono);text-anchor:middle;font-size:9px}.graph-title{fill:var(--ink);text-anchor:middle;font-family:ui-rounded,system-ui,sans-serif;font-size:12px;font-weight:700}.graph-mobile-list{display:none}.graph-mobile-list button{width:100%;min-height:44px;color:var(--ink-soft);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;display:flex}.graph-mobile-list small{color:var(--muted);margin-left:auto}.editor-backdrop{z-index:10;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));background:var(--scrim);place-items:center;display:grid;position:fixed;inset:0}.editor-panel{width:min(560px,100%);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:16px;padding:25px;overflow:auto}.editor-heading{justify-content:space-between;align-items:start;margin-bottom:23px;display:flex}.editor-heading h2{color:var(--ink);margin:0;font-size:22px}.icon-button{min-width:44px;min-height:44px;color:var(--ink-soft);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;font-size:24px;display:grid}.icon-button:hover{background:var(--surface-hover)}.quest-editor{gap:16px;display:grid}.quest-editor label,.quest-editor fieldset{color:var(--ink-soft);border:0;gap:7px;margin:0;padding:0;font-size:11px;font-weight:700;display:grid}.quest-editor label span{color:var(--muted);font-weight:400}.quest-editor input,.quest-editor textarea,.quest-editor select{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:7px;outline:none;padding:10px;font-size:12px}.quest-editor textarea{resize:vertical;line-height:1.55}.quest-editor input:focus,.quest-editor textarea:focus,.quest-editor select:focus{border-color:var(--accent)}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quest-editor legend{color:var(--ink-soft);margin-bottom:7px;font-size:11px;font-weight:700}.dependency-list{border:1px solid var(--line);border-radius:7px;max-height:150px;display:grid;overflow:auto}.check-row{border-bottom:1px solid var(--line);align-items:center;min-height:44px;padding:8px 10px;font-weight:500!important;display:flex!important}.check-row:last-child{border-bottom:0}.check-row input{width:auto;min-height:auto;margin:0 8px 0 0}.muted{color:var(--muted);margin:0;padding:10px;font-size:11px}.editor-actions{justify-content:flex-end;margin-top:4px}.delete-button{min-height:44px;color:var(--danger);background:0 0;border:0;border-radius:7px;margin-top:13px;padding:0 8px;font-size:11px}.mobile-nav,.mobile-add{display:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.graph-node:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 85%,transparent);outline-offset:3px}@media (prefers-reduced-motion:no-preference){.button,.nav-item,.tag-filter,.quest-row,.kanban-card,.node-fill,.node-halo,.appearance-menu,.editor-panel,.editor-backdrop{transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),opacity var(--normal) var(--ease),transform var(--normal) var(--ease)}.editor-panel{animation:sheet-in var(--normal) var(--ease)}.editor-backdrop{animation:fade-in var(--fast) var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.app-shell{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom));display:block}.sidebar{padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 10px calc(14px + env(safe-area-inset-left));border-right:0;border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:10px;display:grid}.brand{align-self:center;padding:0;font-size:12px}.brand-mark{width:23px;height:23px}.vault-picker{justify-self:stretch;min-height:44px}.sidebar nav,.local-note{display:none}.sidebar-section{grid-column:1/-1;display:block}.sidebar-label{display:none}.tag-scroller{scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.tag-filter{background:var(--surface);flex:none;width:auto;min-height:38px;padding:8px 10px}.workspace{padding:24px calc(16px + env(safe-area-inset-right)) 24px calc(16px + env(safe-area-inset-left))}.workspace-header{flex-direction:column;align-items:start;margin-bottom:20px}.header-actions{grid-template-columns:auto 1fr 1fr;width:100%;display:grid}.header-actions .button{padding-inline:10px}.install-button{display:none}.blocking-banner{flex-direction:column;align-items:stretch}.blocking-banner .button{width:100%}.quest-row{grid-template-columns:44px minmax(0,1fr);gap:8px;padding:13px 0}.quest-row .tag-list{grid-column:2;justify-content:flex-start;max-height:25px;overflow:hidden}.quest-preview{white-space:normal}.kanban-board{grid-template-columns:repeat(3,minmax(255px,1fr));margin-right:-16px;padding-right:16px}.graph-toolbar{flex-direction:column;align-items:start}.graph-toolbar .button{width:100%}.quest-graph{min-width:0;min-height:330px}.graph-scroll{overflow:auto}.graph-mobile-list{gap:7px;display:grid}.editor-backdrop{align-items:end;padding:0}.editor-panel{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);padding:22px calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0}.field-grid{grid-template-columns:1fr}.editor-actions .button{flex:1}.mobile-nav{z-index:7;padding:8px calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background:color-mix(in srgb,var(--sidebar) 94%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-height:48px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;gap:1px;font-size:10px;display:grid}.mobile-nav button span{font-size:17px}.mobile-nav button.active{color:var(--accent);background:var(--accent-soft)}.mobile-add{z-index:8;right:18px;bottom:calc(80px + env(safe-area-inset-bottom));width:52px;height:52px;color:var(--accent-ink);background:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 75%,white);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;place-items:center;font-size:28px;display:grid;position:fixed}.appearance-menu{top:auto;right:16px;bottom:calc(74px + env(safe-area-inset-bottom));width:min(310px,100vw - 32px);position:fixed}.notice{align-items:start}.notice .icon-button{flex:none}}.appearance-heading button{min-width:44px;min-height:44px}.kanban-open{width:100%;min-height:54px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;gap:6px;padding:12px 0 8px;display:grid}.kanban-open:hover{color:var(--accent)}.kanban-title{font-size:13px;font-weight:700}.kanban-preview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}@media (width<=760px){.tag-filter{min-height:44px}}@media (pointer:coarse){.sidebar{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.workspace{padding-left:calc(clamp(26px, 5vw, 76px) + env(safe-area-inset-left));padding-right:calc(clamp(26px, 5vw, 76px) + env(safe-area-inset-right))}}.notice{z-index:20;top:calc(16px + env(safe-area-inset-top));width:min(620px,100vw - 32px);box-shadow:var(--shadow);position:fixed;left:50%;transform:translate(-50%)}:root{--accent-secondary:var(--accent);--tag-accent:var(--accent);--graph-edge:var(--line-strong);--graph-node:var(--surface-raised);--graph-grid:var(--line-strong)}:root[data-theme=gruvbox][data-mode=dark]{--accent:#83a598;--accent-secondary:#d3869b;--tag-accent:#8ec07c;--graph-edge:#83a598;--graph-node:#3c3836;--graph-grid:#665c54}:root[data-theme=gruvbox][data-mode=light]{--canvas:#f2f0e6;--sidebar:#f9f5d7;--surface:#fbf1c7;--surface-raised:#f2e5bc;--surface-hover:#ebdbb2;--line:#d5c4a1;--line-strong:#a89984;--ink:#3c3836;--ink-soft:#504945;--muted:#7c6f64;--subtle:#928374;--accent:#076678;--accent-secondary:#8f3f71;--tag-accent:#427b58;--accent-soft:#dce6d4;--accent-ink:#fff;--positive:#79740e;--warning:#b57614;--danger:#9d0006;--focus:#076678;--graph-edge:#076678;--graph-node:#f9f5d7;--graph-grid:#d5c4a1}:root[data-theme=tokyo][data-mode=dark]{--accent:#7aa2f7;--accent-secondary:#bb9af7;--tag-accent:#7dcfff;--positive:#9ece6a;--warning:#ff9e64;--danger:#f7768e;--focus:#bb9af7;--graph-edge:#2ac3de;--graph-node:#292e42;--graph-grid:#3b4261}:root[data-theme=tokyo][data-mode=light]{--accent:#34548a;--accent-secondary:#7847a8;--tag-accent:#166775;--positive:#33635c;--warning:#965027;--danger:#8c4351;--focus:#7847a8;--graph-edge:#0f8fa7;--graph-node:#e9e9ec;--graph-grid:#b4b5bd}:root[data-theme=overdose][data-mode=dark]{--canvas:#120b14;--sidebar:#0b0810;--surface:#1b1422;--surface-raised:#261b31;--surface-hover:#362443;--line:#5b476b;--line-strong:#8e6bff;--ink:#fffaff;--ink-soft:#f3bbe7;--muted:#b5a6c7;--subtle:#786b8e;--accent:#8afdfe;--accent-secondary:#fe89d9;--tag-accent:#8e6bff;--accent-soft:#203e55;--accent-ink:#130f1d;--positive:#8afdfe;--warning:#fe89d9;--danger:#ff6d99;--focus:#f3bbe7;--graph-edge:#589adf;--graph-node:#261b31;--graph-grid:#3a2a4d;--radius:4px}:root[data-theme=overdose][data-mode=light]{--canvas:#f7f5ff;--sidebar:#e8e4fb;--surface:#fff;--surface-raised:#f1edff;--surface-hover:#e4dcff;--line:#c6b7e6;--line-strong:#8e6bff;--ink:#251b3a;--ink-soft:#4b3b6e;--muted:#76668f;--subtle:#9b8eb1;--accent:#589adf;--accent-secondary:#fe89d9;--tag-accent:#8e6bff;--accent-soft:#d9f7ff;--accent-ink:#fff;--positive:#1d9ca8;--warning:#d9519f;--danger:#d64d70;--focus:#8e6bff;--graph-edge:#589adf;--graph-node:#fff;--graph-grid:#d8cfee;--radius:4px}.tag{color:var(--tag-accent);background:color-mix(in srgb,var(--tag-accent) 13%,var(--surface-raised))}.graph-scroll{background-color:var(--surface);background-image:radial-gradient(color-mix(in srgb,var(--graph-grid) 55%,transparent) 1px,transparent 1px)}.quest-graph{cursor:grab}.quest-graph.is-panning{cursor:grabbing}.graph-edge{pointer-events:none;stroke:var(--graph-edge)}.quest-graph marker path{fill:var(--graph-edge)}.node-fill{fill:var(--graph-node)}.node-halo{fill:color-mix(in srgb,var(--accent-secondary) 30%,transparent)}:root[data-theme=overdose] .kanban-card,:root[data-theme=overdose] .editor-panel,:root[data-theme=overdose] .appearance-menu{box-shadow:3px 3px 0 var(--accent-secondary),-2px -2px 0 var(--accent)}:root[data-theme=overdose] .graph-scroll{background-image:linear-gradient(90deg,color-mix(in srgb,var(--accent-secondary) 8%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px);background-size:16px 16px}.graph-controls{gap:6px;display:flex}.graph-controls .button{min-width:44px}@media (width<=760px){.graph-toolbar .graph-controls{grid-template-columns:44px 44px 1fr;width:100%;display:grid}.graph-toolbar .graph-controls .button{width:auto}}@media (prefers-reduced-motion:no-preference){.view-panel{animation:view-panel-in .26s var(--ease) both}@supports (view-transition-name:none){.view-panel{view-transition-name:quest-view;animation:none}::view-transition-old(quest-view){animation:.14s ease-in both view-panel-out}::view-transition-new(quest-view){animation:view-panel-in .24s var(--ease) both}}@keyframes view-panel-in{0%{opacity:0;transform:translateY(10px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes view-panel-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)scale(.996)}}}.app-shell{height:100dvh;min-height:0;overflow:hidden}.sidebar,.workspace{min-height:0;overflow:auto}.graph-scroll{height:clamp(330px,58dvh,720px)}.quest-graph{width:100%;height:100%;min-height:0}@media (width<=760px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding-bottom:0;display:grid}.sidebar{overflow:visible}.workspace{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.graph-scroll{height:clamp(300px,48dvh,520px);overflow:hidden}}.auth-page{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{width:min(420px,100%);color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:18px;gap:22px;padding:32px;display:grid}.auth-card h1{font-size:34px}.auth-card label{color:var(--ink-soft);gap:8px;font-size:12px;font-weight:700;display:grid}.auth-card input,.admin-panel input{width:100%;min-height:46px;color:var(--ink);background:var(--canvas);border:1px solid var(--line-strong);border-radius:8px;outline:none;padding:11px 12px}.auth-card input:focus,.admin-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.auth-brand{font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.auth-description{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.auth-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));border-radius:8px;padding:11px 12px;font-size:12px}.auth-loading{text-align:center;align-content:center;min-height:180px}.auth-loading .auth-brand{justify-content:center}.account-controls{align-items:center;gap:8px;display:flex}.account-controls>span{max-width:190px;color:var(--muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-backdrop{z-index:40}.admin-panel{width:min(760px,100vw - 32px);max-height:min(820px,100dvh - 32px);color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:18px;gap:20px;padding:24px;display:grid;overflow:auto}.admin-heading,.admin-create,.admin-user,.admin-user>div:last-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-heading h2{margin:0}.admin-create label{color:var(--ink-soft);flex:1;font-size:12px;font-weight:700}.admin-user-list{border-top:1px solid var(--line);display:grid}.admin-user{border-bottom:1px solid var(--line);padding:14px 0}.admin-user>div:first-child{gap:4px;display:grid}.admin-user span{color:var(--muted);font-size:11px}.credential-result{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:10px;gap:8px;padding:16px;display:grid}.credential-result code{overflow-wrap:anywhere;color:var(--accent-ink);font-size:14px}.credential-result p{color:var(--muted);margin:0;font-size:11px}.credential-result .button{justify-self:start}@media (width<=900px){.workspace-header{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.account-controls{justify-content:flex-end;width:100%}.account-controls>span{max-width:150px}}@media (width<=600px){.auth-page{padding:14px}.auth-card{padding:24px 20px}.admin-panel{padding:18px}.admin-create,.admin-user{flex-direction:column;align-items:stretch}.admin-user>div:last-child{justify-content:flex-start}.account-controls>span{display:none}}
