:root{color-scheme:light;--bg-app: #f2f1ec;--bg-sidebar: #efeee8;--bg-surface: #ffffff;--bg-inset: #e9e7df;--ink: #1b1a17;--on-ink: #ffffff;--ink-hover: #33312c;--ink-active: #000000;--ink-muted: #6d6a60;--ink-faint: #8a867c;--accent: #c05a32;--accent-ink: #ffffff;--border: #e2e0d7;--danger: #b23a2e;--warning-bg: #faf3dc;--warning-border: #e8d9a8;--warning-ink: #7a5c10;--overlay: rgba(27, 26, 23, .35);--diff-add-bg: #f2ded3;--badge-app-bg: #e7eefc;--badge-app-ink: #2b52b8;--badge-image-bg: #f1e9fb;--badge-image-ink: #7a3fc0;--badge-video-bg: #fbf3d9;--badge-video-ink: #8a6a10;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Avenir Next", "Segoe UI", -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--fs-micro: 11px;--fs-body: 14px;--fs-md: 15px;--fs-title: 17px;--fs-step: 26px;--fs-hero: 44px;--w-sidebar: 240px;--w-panel: 312px;--h-titlebar: 56px;--radius: 5px;--radius-lg: 8px;--t-fast: .12s ease-out;--t-med: .16s ease-out;--focus-ring: 0 0 0 2px var(--bg-app), 0 0 0 4px var(--ink)}@media (prefers-reduced-motion: reduce){:root{--t-fast: 0ms;--t-med: 0ms}}[data-theme=dark]{color-scheme:dark;--bg-app: #1c1b18;--bg-sidebar: #171613;--bg-surface: #242219;--bg-inset: #2d2b26;--ink: #eae7df;--on-ink: #1c1b18;--ink-hover: #f8f6f0;--ink-active: #d6d3ca;--ink-muted: #a7a296;--ink-faint: #767268;--accent: #d06a3f;--accent-ink: #1c1b18;--border: #383530;--danger: #e06a5c;--warning-bg: #332b14;--warning-border: #5c4d1e;--warning-ink: #e8cf7a;--overlay: rgba(0, 0, 0, .55);--diff-add-bg: #4a3323;--badge-app-bg: #1e2a45;--badge-app-ink: #9db8f0;--badge-image-bg: #2c2140;--badge-image-ink: #c9a3f5;--badge-video-bg: #3a3213;--badge-video-ink: #e3c65a}[data-theme=contrast]{--bg-app: #ffffff;--bg-sidebar: #ffffff;--bg-surface: #ffffff;--bg-inset: #ececec;--ink: #000000;--on-ink: #ffffff;--ink-hover: #2b2b2b;--ink-active: #000000;--ink-muted: #333333;--ink-faint: #595959;--accent: #9c3f14;--accent-ink: #ffffff;--border: #6b6b6b;--danger: #a11607;--warning-bg: #fff8dc;--warning-border: #8a6d00;--warning-ink: #4a3a00;--overlay: rgba(0, 0, 0, .5);--diff-add-bg: #ffd9bd;--badge-app-bg: #dbe6ff;--badge-app-ink: #0b2f8a;--badge-image-bg: #efe2ff;--badge-image-ink: #5a1e9e;--badge-video-bg: #fff0b8;--badge-video-ink: #6b4e00;--focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px #000000}[data-accent=indigo]{--accent: #4f5aa8;--accent-ink: #ffffff}[data-accent=forest]{--accent: #3f7a4e;--accent-ink: #ffffff}[data-accent=plum]{--accent: #7a4fa0;--accent-ink: #ffffff}[data-accent=slate]{--accent: #5a5f66;--accent-ink: #ffffff}[data-motion=reduced]{--t-fast: 0ms;--t-med: 0ms}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-app);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius)}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--on-ink);padding:8px 14px;border-radius:var(--radius)}.skip-link:focus{left:8px}.micro{font-size:var(--fs-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.muted{color:var(--ink-muted)}.page-title{font-size:var(--fs-md);font-weight:700}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:1px solid transparent;border-radius:var(--radius);padding:9px 16px;font-weight:600;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),opacity var(--t-fast);background:transparent}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover{background:var(--ink-hover)}.btn-primary:active{background:var(--ink-active)}.btn-secondary{background:var(--bg-surface);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-app)}.btn-secondary:active{background:var(--bg-inset)}.btn-sm{padding:6px 12px;font-weight:500}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:default;pointer-events:none}.btn-icon{padding:8px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.badge{display:inline-block;padding:2px 9px;border-radius:var(--radius);font-size:12px;font-weight:600}.badge-app{background:var(--badge-app-bg);color:var(--badge-app-ink)}.badge-image{background:var(--badge-image-bg);color:var(--badge-image-ink)}.badge-video{background:var(--badge-video-bg);color:var(--badge-video-ink)}.chip{display:inline-block;padding:2px 10px;border-radius:var(--radius);background:var(--bg-inset);color:var(--ink-muted);font-size:12px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);padding:2px;gap:2px}.seg button{border:none;background:transparent;padding:7px 16px;border-radius:3px;cursor:pointer;font-weight:600;color:var(--ink-muted);transition:background var(--t-fast),color var(--t-fast)}.seg button:hover{color:var(--ink)}.seg button[aria-checked=true]{background:var(--ink);color:var(--on-ink)}textarea.field,input.field,select.field{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;resize:vertical;transition:border-color var(--t-fast)}textarea.field:hover,input.field:hover{border-color:var(--border-strong)}textarea.field:focus-visible,input.field:focus-visible{border-color:var(--ink);box-shadow:none}textarea.field::placeholder,input.field::placeholder{color:var(--ink-faint)}.danger-link{color:var(--danger);background:none;border:none;padding:0;cursor:pointer;font-weight:500}.danger-link:hover{text-decoration:underline}.shell{display:grid;grid-template-columns:var(--w-sidebar) 1fr;height:100%}.shell.with-panel{grid-template-columns:var(--w-sidebar) 1fr var(--w-panel)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);padding:14px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;font-weight:700;padding:6px 8px 16px}.brand-mark{width:28px;height:28px;border-radius:4px;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-size:12px;font-weight:800}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:var(--radius);background:transparent;color:var(--ink-muted);font-weight:600;cursor:pointer;text-align:left;transition:background var(--t-fast),color var(--t-fast)}.nav-item:hover{background:var(--bg-inset);color:var(--ink)}.nav-item[aria-current=page],.nav-item.selected{background:var(--ink);color:var(--on-ink)}.nav-item.accent[aria-current=page],.nav-item.accent.selected{background:var(--accent)}.side-group{margin-top:18px;padding:0 8px 6px}.main{display:flex;flex-direction:column;min-width:0}.titlebar{height:var(--h-titlebar);display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--border);flex:none}.content{flex:1;overflow-y:auto;padding:28px 32px}.panel{border-left:1px solid var(--border);display:flex;flex-direction:column;min-width:0;overflow-y:auto}.panel-head{height:var(--h-titlebar);display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--border);flex:none}.panel-body{padding:16px;display:flex;flex-direction:column;gap:14px}.acc{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.acc+.acc{margin-top:10px}.acc-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:none;border:none;cursor:pointer;font-weight:600}.acc-head:hover{background:var(--bg-app)}.acc-body{padding:0 14px 12px;color:var(--ink-muted)}.acc-chevron{transition:transform var(--t-med);color:var(--ink-muted)}.acc[data-open=true] .acc-chevron{transform:rotate(180deg)}.progress-row{display:flex;align-items:center;gap:16px;margin-bottom:34px}.progress-track{flex:1;height:2px;background:var(--border);border-radius:1px}.progress-fill{height:100%;background:var(--ink);transition:width var(--t-med)}.step-eyebrow{color:var(--accent);margin-bottom:10px}.step-q{font-family:var(--font-display);font-size:var(--fs-step);font-weight:700;margin:0 0 8px}.step-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius);background:transparent;color:var(--ink-muted);cursor:pointer;text-align:left;transition:background var(--t-fast),color var(--t-fast)}.step-item:hover{background:var(--bg-inset)}.step-item[aria-current=step]{background:var(--bg-inset);color:var(--ink);font-weight:600}.step-num{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;font-size:11px;background:var(--bg-surface);flex:none}.step-item.done .step-num{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.chat{flex:1;display:flex;flex-direction:column;min-height:0}.chat-log{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:12px}.msg{max-width:620px;padding:10px 14px;border-radius:var(--radius-lg)}.msg-assistant{background:var(--bg-surface);border:1px solid var(--border);align-self:flex-start}.msg-user{background:var(--ink);color:var(--on-ink);align-self:flex-end}.msg-section-tag{display:block;margin-bottom:4px}.chat-inputbar{border-top:1px solid var(--border);padding:16px 32px 10px;flex:none}.chat-inputrow{display:flex;gap:10px;align-items:flex-end}.chat-hint{font-size:12px;color:var(--ink-faint);margin-top:6px}.empty{display:grid;place-items:center;text-align:center;padding:60px 20px;color:var(--ink-muted)}.warn-card{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-ink);border-radius:var(--radius);padding:12px 14px;display:flex;gap:10px;align-items:flex-start}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--border)}.tl-item{position:relative;padding:0 0 28px}.tl-dot{position:absolute;left:-26px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--border);border:2px solid var(--bg-app)}.tl-item.current .tl-dot{background:var(--accent)}.tl-current-label{color:var(--accent);font-weight:700;font-size:var(--fs-micro);letter-spacing:.08em}.list-row{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--t-fast)}.list-row:hover{border-color:var(--border-strong)}.list-row+.list-row{margin-top:12px}.row-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--bg-inset);display:grid;place-items:center;color:var(--ink-muted);flex:none}.help-fab{position:fixed;right:20px;bottom:20px;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--on-ink);border:none;cursor:pointer;font-weight:700;transition:background var(--t-fast)}.help-fab:hover{background:var(--ink-hover)}.toast-wrap{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:50}.toast{background:var(--ink);color:var(--on-ink);padding:10px 18px;border-radius:var(--radius-lg);font-weight:500}.toast.error{background:var(--danger)}.icon-btn{background:none;border:none;cursor:pointer;color:var(--ink-muted);padding:6px 8px;border-radius:var(--radius);line-height:1;transition:background var(--t-fast),color var(--t-fast)}.icon-btn:hover{background:var(--bg-inset);color:var(--ink)}.icon-btn.fav-on{color:var(--accent)}.row-open{display:flex;gap:14px;align-items:center;flex:1;min-width:0;background:none;border:none;text-align:left;cursor:pointer;padding:0}.row-actions{margin-left:4px;display:flex;gap:2px;align-items:center;flex:none}.search-field{max-width:280px;padding:8px 12px}.filter-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}.chip-btn{border:1px solid transparent;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.chip-btn:hover{color:var(--ink);border-color:var(--border)}.chip-btn[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.dialog-overlay{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;z-index:40}.dialog{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,calc(100vw - 40px));max-height:85vh;overflow-y:auto;padding:22px}.dialog h2{margin:0 0 16px;font-size:var(--fs-title)}.tag-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--t-fast)}.tag-input:hover{border-color:var(--border-strong)}.tag-input:focus-within{border-color:var(--ink)}.tag-input input{border:none;background:none;flex:1;min-width:110px;padding:2px}.tag-input input:focus-visible{box-shadow:none}.tag-input input::placeholder{color:var(--ink-faint)}.tag-x{border:none;background:none;cursor:pointer;padding:0 0 0 4px;color:inherit;font-size:13px}.tag-x:hover{color:var(--danger)}.popover{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;width:320px;max-height:280px;overflow-y:auto;padding:4px;box-shadow:0 8px 24px #1b1a171f}.block-row{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:8px 10px;border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--radius);transition:background var(--t-fast)}.block-row:hover{background:var(--bg-app)}.title-input{border:none;background:none;font-weight:600;color:var(--ink-muted);padding:5px 10px;border-radius:var(--radius);min-width:180px;transition:background var(--t-fast),color var(--t-fast)}.title-input:hover{background:var(--bg-inset);color:var(--ink)}.title-input:focus-visible{background:var(--bg-surface);color:var(--ink);box-shadow:var(--focus-ring)}.idea-row{display:flex;flex-wrap:wrap;gap:6px}.meter{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.meter-fill{height:100%;background:var(--ink);border-radius:2px;transition:width var(--t-med)}.q-list{margin:10px 0 0;padding-left:18px;color:var(--ink-muted);font-size:13px}.q-list li+li{margin-top:4px}.diff-del{color:var(--danger);text-decoration:line-through;text-decoration-thickness:1px}.diff-add{background:var(--diff-add-bg);border-radius:2px;padding:0 2px}.diff-sec{padding:12px 0;border-top:1px solid var(--border)}.dialog.wide{width:min(780px,calc(100vw - 40px))}.palette{width:min(600px,calc(100vw - 40px));margin-top:12vh;padding:10px}.palette-list{max-height:340px;overflow-y:auto;margin-top:8px}.palette-group{padding:10px 12px 4px}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 12px;border:none;background:none;border-radius:var(--radius);cursor:pointer;text-align:left;font-weight:500}.palette-item:hover{background:var(--bg-inset)}.palette-item[aria-selected=true]{background:var(--ink);color:var(--on-ink)}.palette-item[aria-selected=true] .kbd{border-color:var(--on-ink);color:var(--on-ink);background:transparent}.kbd{font-family:var(--font-mono);font-size:11px;background:var(--bg-surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:1px 6px;color:var(--ink-muted);white-space:nowrap}.help-table{width:100%;border-collapse:collapse}.help-table td{padding:7px 10px 7px 0;border-bottom:1px solid var(--border);vertical-align:top}.dialog.wide{width:min(680px,calc(100vw - 40px))}:root{--border-strong: #cfcdc3}[data-theme=dark]{--border-strong: #4a463f}[data-theme=contrast]{--border-strong: #000000}.nav-item.accent[aria-current=page],.nav-item.accent.selected{color:var(--accent-ink)}.swatch-row{display:flex;gap:10px;align-items:center}.swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;padding:0;display:grid;place-items:center;color:var(--accent-ink);font-size:13px;transition:transform var(--t-fast),border-color var(--t-fast)}.swatch:hover{transform:scale(1.1)}.swatch[aria-pressed=true]{border-color:var(--ink)}.menu-btn,.panel-toggle{display:none}.backdrop{position:fixed;inset:0;background:var(--overlay);z-index:55;border:none}.backdrop-panel{z-index:65}@media (max-width: 860px){.shell,.shell.with-panel{display:block;height:100dvh}.main{height:100dvh;width:100%}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(300px,82vw);z-index:60;transform:translate(-102%);transition:transform var(--t-med);box-shadow:0 0 40px #00000040;padding-bottom:env(safe-area-inset-bottom)}.shell.nav-open .sidebar{transform:none}.menu-btn{display:inline-flex;font-size:18px}.shell.with-panel .panel{position:fixed;inset:auto 0 0;width:auto;height:86dvh;z-index:70;transform:translateY(103%);transition:transform var(--t-med);border-top:1px solid var(--border);border-left:none;border-radius:16px 16px 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.shell.panel-open .panel{transform:translateY(0)}.panel .panel-body{overflow-y:auto;flex:1}.panel-toggle{display:inline-flex;position:fixed;z-index:75;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));border-radius:999px;padding:10px 18px;box-shadow:0 4px 18px #00000040}.shell.nav-open,.shell.panel-open{overflow:hidden}textarea.field,input.field,select.field{font-size:16px}.btn,.nav-item{min-height:44px}.content{padding:18px 16px calc(84px + env(safe-area-inset-bottom))}.titlebar{padding-left:12px;padding-right:12px;gap:8px;flex-wrap:wrap}.help-fab,.kbd{display:none}.dialog-overlay{z-index:80}.dialog{width:calc(100vw - 24px);max-height:92dvh}.palette{margin-top:6dvh}.toast-wrap{z-index:90;bottom:calc(16px + env(safe-area-inset-bottom))}}
