:root{color-scheme:dark;--bg:#151a19;--sidebar:#101513;--surface:#202724;--surface-hover:#29332e;--panel:#191f1c;--ink:#e8ece5;--muted:#a2ada5;--line:#354239;--accent:#c2e687;--accent-ink:#202b12;--grid:#354039;--socratic:#c6aff0;--adversarial:#efb48d;--poetic:#edadd0;--technical:#8ccbd4;--exploratory:#c2e687;--danger:#ffc1b7;--shadow:0 14px 32px #0002}
:root[data-theme=light]{color-scheme:light;--bg:#f4f6f1;--sidebar:#e9eee5;--surface:#fff;--surface-hover:#edf2e9;--panel:#f8faf5;--ink:#202b22;--muted:#546557;--line:#cbd5c8;--accent:#3a631b;--accent-ink:#fff;--grid:#c8d3c5;--socratic:#7041a5;--adversarial:#954513;--poetic:#a03c78;--technical:#186b7c;--exploratory:#3a631b;--danger:#a92420;--shadow:0 12px 28px #24391a0b}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;background:var(--bg);color:var(--ink);height:100dvh;display:flex;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:9px 13px;transition:background .12s,border-color .12s}button:hover{background:var(--surface-hover);border-color:var(--muted)}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650}button.primary:hover{filter:brightness(1.07)}button.quiet,button.icon{background:transparent;border-color:transparent}.icon{font-size:24px;line-height:1;padding:7px 10px}button.active{background:var(--surface-hover);border-color:var(--line)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#sidebar{width:236px;flex-shrink:0;padding:28px 18px 20px;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;font-size:27px;font-weight:580;letter-spacing:-1.2px;padding:0 7px;margin-bottom:35px}.brand-mark{color:var(--accent);font-size:40px;line-height:1;font-weight:400}.wordmark-dot{color:var(--accent)}#new{width:100%;text-align:left;padding:12px;margin-bottom:32px}.section-label{font-size:12px;letter-spacing:1.7px;font-weight:650;color:var(--muted)}#sidebar>.section-label{padding:0 9px;margin-bottom:15px}#graphs{overflow-y:auto;display:flex;flex-direction:column;gap:7px}.graph-item{display:flex;gap:10px;text-align:left;border-color:transparent;background:transparent;align-items:center;padding:12px 9px;line-height:1.5}.graph-icon{color:var(--muted);font-size:19px}.graph-item.selected{background:var(--surface);border-color:var(--line)}.graph-item.selected .graph-icon{color:var(--accent)}.graph-item small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-bottom p{font-family:Georgia,serif;font-size:18px;font-style:italic;color:var(--muted);line-height:1.5;padding:0 8px}.sidebar-actions{display:flex;justify-content:space-between;align-items:center}.sidebar-actions button{border-color:transparent;background:transparent}.privacy{color:var(--muted);font-size:12px;line-height:1.6;margin:17px 8px 0}
#main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}.workspace-bar{height:83px;flex-shrink:0;display:flex;align-items:center;padding:16px 28px;gap:20px;background:var(--bg);border-bottom:1px solid var(--line);z-index:5}.workspace-title{margin-right:auto;min-width:0}.workspace-title h1{font-size:17px;font-weight:550;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}#graph-meta{font-size:12px;color:var(--muted)}.view-tabs{display:flex;border:1px solid var(--line);padding:3px;border-radius:8px;gap:3px}.view-tabs button{border-color:transparent;background:transparent;padding:7px 16px}.view-tabs button.active{background:var(--surface);color:var(--accent)}#menu{display:none}#canvas-area{flex:1;min-height:0;position:relative;background-image:radial-gradient(var(--grid) .75px,transparent .75px);background-size:24px 24px}.canvas-note{position:absolute;top:24px;left:30px;display:flex;align-items:center;gap:10px;color:var(--muted);z-index:2;pointer-events:none;font-size:12px;background:var(--bg);padding:5px 9px;border-radius:5px}.little-star{font-size:20px;color:var(--accent)}#viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}#viewport:active{cursor:grabbing}#world{position:absolute;transform-origin:0 0;inset:0;overflow:visible}#edges{position:absolute;width:1px;height:1px;overflow:visible;pointer-events:none}.edge{fill:none;stroke:var(--line);stroke-width:2}.edge.path-edge{stroke:var(--accent);stroke-width:3}.edge-dot{fill:var(--bg);stroke:var(--muted);stroke-width:1.4}#nodes{position:absolute;inset:0;pointer-events:none}.thought{position:absolute;width:322px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);pointer-events:auto;cursor:default;transition:border-color .15s}.thought.selected{border-color:var(--tone);box-shadow:0 0 0 1px var(--tone),var(--shadow)}.thought.in-path{border-color:var(--accent)}.thought.is-user{background:var(--panel)}.thought-head{display:flex;align-items:center;gap:9px;padding:15px 19px 11px;cursor:move;touch-action:none;color:var(--tone);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600}.thought-head .number{margin-left:auto;color:var(--muted);font-size:12px;letter-spacing:0;font-weight:400}.tone-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--tone)}.thought-body{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.55;white-space:pre-wrap;padding:1px 19px 18px;overflow-wrap:anywhere}.is-user .thought-body{font-family:inherit;font-size:17px;line-height:1.6}.sentence{border-radius:3px;cursor:pointer}.sentence:hover,.sentence.chosen{background:color-mix(in srgb,var(--tone) 16%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 16%,transparent)}.thought-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;padding:10px 18px;color:var(--muted);font-size:12px}.thought-foot button{padding:0;background:transparent;border:0;font-size:12px;color:var(--tone)}.path-index{position:absolute;right:-10px;top:-10px;background:var(--accent);color:var(--accent-ink);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:700;font-size:13px}#canvas-footer{position:absolute;bottom:22px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:12px}#save-status{color:var(--muted);font-size:12px;background:var(--bg);padding:7px 9px;border-radius:5px}.canvas-controls{display:flex;align-items:center;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;pointer-events:auto;box-shadow:var(--shadow)}.canvas-controls button{border:0;background:transparent;padding:7px 10px}.canvas-controls>span{font-size:12px;min-width:40px;text-align:center;color:var(--muted)}.canvas-controls .control-divider{height:17px;min-width:1px;background:var(--line);margin:0 3px}#empty{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:min(590px,calc(100% - 40px));text-align:center}#empty .seed-symbol{font-size:58px;color:var(--accent);margin-bottom:16px}h2{font-family:Georgia,serif;font-weight:400;font-size:34px;letter-spacing:-.6px;line-height:1.2}#empty h2{margin:0 0 12px}#empty p{color:var(--muted);margin:0 0 30px;line-height:1.6}#seed-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px;text-align:left;box-shadow:var(--shadow)}textarea{width:100%;resize:vertical;min-height:100px;max-height:40vh;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--ink);padding:13px;line-height:1.6;font-size:16px}textarea::placeholder{color:var(--muted)}#seed-input{background:transparent;border:0;padding:4px;min-height:110px}.seed-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.seed-footer span{font-size:12px;color:var(--muted)}
#detail{position:absolute;right:0;top:83px;bottom:0;width:360px;background:var(--panel);border-left:1px solid var(--line);z-index:10;padding:22px;overflow:auto;box-shadow:-15px 0 40px #0001}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}#detail-content h2{font-size:28px;margin:12px 0 17px}.source-quote{margin:0 0 22px;padding:0 0 0 15px;border-left:2px solid var(--accent);font:20px/1.55 Georgia,serif;max-height:240px;overflow:auto;white-space:pre-wrap}.field-label{display:block;font-size:12px;color:var(--muted);margin:21px 0 10px}.tone-options{display:flex;flex-wrap:wrap;gap:7px}.tone-option{font-size:12px;padding:7px 10px;text-transform:capitalize}.tone-option.selected{color:var(--tone);border-color:var(--tone);background:var(--surface)}.branch-submit{width:100%;margin-top:11px}.panel-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.panel-actions button{font-size:12px;flex:1}.context-details{margin-top:22px;color:var(--muted);font-size:12px;line-height:1.6}.context-details summary{cursor:pointer;color:var(--ink)}.context-details ol{padding-left:22px}.context-details li{padding:4px 0}.context-details button{font-size:12px;text-align:left;background:transparent;border:0;padding:0;color:var(--muted)}.path-list{list-style:none;padding:0;counter-reset:item}.path-list li{border-bottom:1px solid var(--line);padding:14px 0;line-height:1.5;display:flex;gap:13px}.path-list li:before{counter-increment:item;content:counter(item,decimal-leading-zero);color:var(--accent);font-size:12px}.path-list p{margin:0;font-size:14px}.panel-help{color:var(--muted);font-size:14px;line-height:1.7}#essay-view{overflow:auto;flex:1;padding:52px max(28px,8vw)}.essay-intro{max-width:640px}.essay-intro h2{font-size:42px;margin:19px 0}.essay-intro p{color:var(--muted);line-height:1.8;font-size:16px;margin-bottom:26px}.essay{max-width:740px;margin:48px 0;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.essay-header{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--muted);font-size:12px}.essay-prose{white-space:pre-wrap;font:20px/1.8 Georgia,serif;margin-top:25px}.essay-header button{font-size:12px}#job-bar{position:absolute;left:50%;transform:translateX(-50%);bottom:82px;z-index:35;display:flex;gap:18px;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--accent);border-radius:8px;box-shadow:var(--shadow);width:max-content;max-width:90%;font-size:13px}#job-bar button{font-size:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 20px;z-index:100;max-width:min(600px,90vw);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);font-size:14px;line-height:1.6}#toast.error{color:var(--danger);border-color:var(--danger)}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:14px;max-width:560px;padding:36px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0009}dialog h2{margin-top:20px}dialog p,dialog li{line-height:1.7;color:var(--muted)}dialog ol{padding-left:20px}dialog li{padding:8px 0}dialog strong{color:var(--ink)}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:26px}
@media(min-width:1101px){#main.panel-open #canvas-area{margin-right:360px}.workspace-title h1{max-width:35vw}}
@media(max-width:1100px){#sidebar{width:202px;padding:26px 12px}.brand{font-size:24px;gap:8px}.workspace-bar{padding:15px 18px;gap:12px}#export{font-size:12px;padding:7px}.view-tabs button{padding:7px 12px}.workspace-title h1{max-width:29vw}#detail{width:340px}}
@media(max-width:700px){#sidebar{display:none;position:absolute;inset:68px auto 0 0;width:250px;box-shadow:10px 0 30px #0005}#sidebar.open{display:flex}#menu{display:block;font-size:20px;padding:7px 2px}.workspace-bar{height:68px;gap:12px;padding:10px 15px}.workspace-title h1{font-size:14px;max-width:38vw}.workspace-title #graph-meta{font-size:12px}.view-tabs{gap:0;padding:2px}.view-tabs button{font-size:12px;padding:6px 9px}#export{display:none}.canvas-note{top:16px;left:12px;font-size:12px}#canvas-footer{bottom:15px;left:12px;right:12px}#save-status{font-size:12px;max-width:44%}#detail{top:68px;width:min(360px,100%);padding:20px}#empty h2{font-size:29px}.seed-footer span{display:none}.seed-footer{justify-content:flex-end}#empty p{font-size:14px}#empty .seed-symbol{font-size:45px}#essay-view{padding:36px 22px}.essay-intro h2{font-size:35px}.essay{padding:20px}.essay-prose{font-size:18px}#job-bar{font-size:12px;bottom:75px;gap:10px}dialog{margin:auto 15px;padding:28px}h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

input,select{width:100%;padding:12px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;font-size:15px}#settings-dialog{width:560px}#settings-status{font-size:14px;min-height:24px;color:var(--accent)}#settings-status.error{color:var(--danger)}.settings-note{font-size:12px!important}#key-status{letter-spacing:0;color:var(--accent)}#remove-key{margin-top:12px;color:var(--danger)}.sidebar-actions{flex-wrap:wrap}.sidebar-actions button{padding:7px 8px;font-size:12px}
observatory-profile{position:fixed;right:22px;bottom:75px;z-index:8;max-width:min(680px,calc(100vw - 28px));margin:0!important;box-shadow:var(--shadow);background:var(--panel)!important;color:var(--ink)!important;border-radius:7px}
@media(max-width:700px){observatory-profile{right:12px;bottom:68px}}
@media(max-width:1100px){#main.picking #detail{top:auto;bottom:0;left:0;width:100%;height:38dvh;border-left:0;border-top:1px solid var(--line);padding:14px 20px}#main.picking #canvas-area{margin-bottom:38dvh}#main.picking .panel-top{margin-bottom:6px}#main.picking #detail-content h2{font-size:23px;margin:6px 0 10px}#main.picking .panel-help{font-size:13px;margin:8px 0}#main.picking .path-list{max-height:100px;overflow:auto;margin:8px 0}#main.picking .path-list li{padding:8px 0}#main.picking .source-quote{font-size:16px;max-height:65px;margin-bottom:10px}#main.picking .panel-actions{margin-top:12px;padding-top:10px}body:has(#main.picking) observatory-profile{bottom:calc(38dvh + 68px)}}
