:root{--bg:#f7f7f5;--surface:#fff;--surface2:#f0f1ef;--ink:#171918;--muted:#68706c;--line:#dfe3df;--accent:#f36f32;--accent2:#d95217;--blue:#206ea4;--good:#257a50;--warn:#9b6417;--bad:#a43e38;--shadow:0 16px 44px rgba(25,32,28,.08);--radius:18px;--max:760px;color-scheme:light}
:root.dark{--bg:#111412;--surface:#181c19;--surface2:#202522;--ink:#f1f4f1;--muted:#9ca6a0;--line:#303732;--accent:#ff8148;--accent2:#ff9d70;--blue:#76b6df;--good:#7ac79e;--warn:#e2b86e;--bad:#e58982;--shadow:0 18px 48px rgba(0,0,0,.25);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15.5px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.topbar{position:sticky;top:0;z-index:20;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--line),transparent 20%);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:760;letter-spacing:-.02em}.brand .mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:20px}.brand small{padding:3px 7px;border-radius:99px;background:var(--surface2);color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:10px}.version{color:var(--muted);font:10px ui-monospace,SFMono-Regular,monospace}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}main{width:min(calc(100% - 32px),var(--max));margin:0 auto;padding:38px 0 calc(106px + env(safe-area-inset-bottom))}.view{display:none}.view.active{display:block}.intro{margin:0 0 30px}.intro.compact{margin-bottom:24px}.kicker{margin:0 0 8px;color:var(--accent2);font:700 11px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em;text-transform:uppercase}.intro h1{margin:0;font-size:clamp(2.2rem,9vw,4.5rem);line-height:1;letter-spacing:-.055em}.intro.compact h1{font-size:clamp(2rem,8vw,3.6rem)}.intro>p:last-child{max-width:620px;margin:14px 0 0;color:var(--muted);font-size:1.02rem}.composer{display:grid;gap:20px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:var(--surface2)}.segmented label{cursor:pointer}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:9px;text-align:center;border-radius:9px;color:var(--muted);font-weight:700}.segmented input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}.field{display:grid;gap:7px}.field>span,.source-picker legend{font-weight:720}.field small{color:var(--muted);font-weight:500}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--bg);outline:none;padding:13px 14px}.field textarea{resize:vertical;min-height:190px}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.source-picker{margin:0;padding:0;border:0}.source-picker legend{margin-bottom:9px}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.source-grid label{position:relative;cursor:pointer}.source-grid input{position:absolute;opacity:0}.source-grid span{display:grid;padding:11px 12px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.source-grid small{font-size:11px}.source-grid input:checked+span{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink)}.source-grid input:checked+span:after{content:"✓";position:absolute;right:11px;top:9px;color:var(--accent);font-weight:800}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border-radius:12px;background:var(--surface2)}.switch-row span{display:grid}.switch-row small{color:var(--muted)}.switch-row input{appearance:none;width:46px;height:27px;flex:0 0 auto;border-radius:99px;background:#aeb6b1;cursor:pointer;position:relative}.switch-row input:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}.switch-row input:checked{background:var(--accent)}.switch-row input:checked:after{transform:translateX(19px)}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 17px;border:0;border-radius:12px;background:var(--ink);color:var(--bg);font-weight:800;cursor:pointer}.primary:hover{background:var(--accent);color:#fff}.primary:disabled{opacity:.55;cursor:wait}.error{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--bad) 12%,var(--surface));color:var(--bad)}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:70px;padding:5px max(10px,env(safe-area-inset-left)) env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(20px)}.bottom-nav a{display:grid;place-items:center;align-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:17px}.bottom-nav b{font-size:10px}.bottom-nav a.active{color:var(--accent)}.result-head{margin-bottom:22px}.result-head h1{margin:5px 0 12px;font-size:clamp(1.9rem,7vw,3.5rem);line-height:1.05;letter-spacing:-.045em}.meta-line{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:4px 9px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:11px}.recommendation{padding:22px;border-radius:var(--radius);background:var(--ink);color:var(--bg);margin-bottom:14px}.recommendation .kicker{color:var(--accent)}.recommendation h2{margin:7px 0 8px;font-size:1.6rem;line-height:1.15}.recommendation p{margin:0;opacity:.72}.result-section{margin:12px 0;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}.result-section>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px;border:0;background:none;text-align:left;font-weight:800;cursor:pointer}.result-section>button span:last-child{color:var(--muted)}.result-section .inside{padding:0 17px 17px}.result-section.closed .inside{display:none}.result-section.closed>button span:last-child{transform:rotate(-90deg)}.match{padding:14px 0;border-top:1px solid var(--line)}.match:first-child{border-top:0}.match-top{display:flex;justify-content:space-between;gap:12px}.match h3{margin:0 0 5px;font-size:1rem}.match h3 a{color:var(--blue);text-underline-offset:3px}.match p{margin:7px 0;color:var(--muted);font-size:.91rem}.score{white-space:nowrap;color:var(--accent);font:700 12px ui-monospace,monospace}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{padding:3px 7px;border-radius:99px;background:var(--surface2);color:var(--muted);font-size:10px}.tmt-item{padding:13px 0;border-top:1px solid var(--line)}.tmt-item:first-child{border-top:0}.tmt-title{display:flex;justify-content:space-between;gap:12px;font-weight:750}.confidence{font:700 10px ui-monospace,monospace;text-transform:uppercase}.confidence.high{color:var(--good)}.confidence.medium{color:var(--warn)}.confidence.low{color:var(--muted)}.tmt-item p{margin:5px 0;color:var(--muted);font-size:.9rem}.notice{padding:12px;border-radius:10px;background:var(--surface2);color:var(--muted);font-size:.88rem}.gate-list{margin:0;padding-left:20px}.gate-list li+li{margin-top:8px}.status-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.status-actions button{padding:9px 4px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:11px;cursor:pointer}.status-actions button.current{border-color:var(--accent);color:var(--accent)}.library-list{display:grid;gap:10px}.library-item{display:grid;gap:8px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer}.library-item:hover{border-color:var(--accent)}.library-item h2{margin:0;font-size:1.08rem}.library-item p{margin:0;color:var(--muted);font-size:.88rem}.empty{padding:28px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.settings-card{margin-bottom:12px;padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.settings-card h2{margin:0 0 10px;font-size:1.05rem}.settings-card p{margin:0;color:var(--muted)}.property-row{padding:12px 0;border-top:1px solid var(--line)}.property-row:first-child{border:0}.property-row b{display:block}.property-row span{color:var(--muted);font-size:.88rem}.loading{display:grid;place-items:center;gap:12px;min-height:55vh;color:var(--muted)}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:720px){.bottom-nav{left:50%;right:auto;bottom:18px;transform:translateX(-50%);width:430px;height:62px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}main{padding-bottom:110px}.composer{padding:28px}.source-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:430px){main{width:min(calc(100% - 24px),var(--max));padding-top:28px}.composer{padding:15px}.source-grid{grid-template-columns:1fr}.version{display:none}.status-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.analysis-lede{margin:0 0 18px;font-size:1.12rem;line-height:1.65;font-weight:620}.source-quote{margin:10px 0 12px;padding:11px 13px;border-left:3px solid var(--accent);background:var(--surface2);color:var(--muted);font-size:.88rem}.inside>h3{margin:18px 0 7px}.inside>h3:first-child{margin-top:0}
.knowledge-map{margin:0 0 14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.map-head h2{margin:3px 0 0;font-size:1.15rem;letter-spacing:-.02em}.map-head>span{flex:0 0 auto;padding:4px 8px;border-radius:99px;background:var(--surface2);color:var(--muted);font-size:10px}.knowledge-map svg{display:block;width:100%;height:auto;margin-top:7px;overflow:visible}.map-node rect{fill:var(--surface);stroke:var(--line);stroke-width:1.2}.map-node.source-node rect{fill:var(--surface2)}.map-node.subject-node rect{fill:var(--ink);stroke:var(--ink)}.subject-node .node-kicker,.subject-node .node-title{fill:var(--bg)}.map-node.decision-node rect{fill:color-mix(in srgb,var(--blue) 9%,var(--surface));stroke:color-mix(in srgb,var(--blue) 52%,var(--line))}.map-node.action-node rect{fill:color-mix(in srgb,var(--accent) 10%,var(--surface));stroke:var(--accent)}.node-kicker{fill:var(--accent2);font:700 8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em;text-transform:uppercase}.node-title{fill:var(--ink);font:700 11px ui-sans-serif,system-ui,sans-serif}.node-sub{fill:var(--muted);font:8px ui-monospace,SFMono-Regular,monospace}.map-edge{fill:none;stroke:var(--edge,var(--accent));stroke-width:1.6}.map-edge.downstream{stroke:var(--line);stroke-width:1.2}.map-edge.recommendation-edge{stroke:var(--accent);stroke-width:2}.arrow-muted{fill:var(--line)}.edge-label{font:700 7px ui-monospace,SFMono-Regular,monospace;text-transform:uppercase}.map-empty{fill:var(--muted);font:10px ui-monospace,SFMono-Regular,monospace}.knowledge-map a:hover rect{stroke:var(--accent);stroke-width:2}.knowledge-map figcaption{display:flex;justify-content:center;flex-wrap:wrap;gap:11px;color:var(--muted);font-size:9px}.knowledge-map figcaption span{display:flex;align-items:center;gap:4px}.knowledge-map figcaption i{display:block;width:13px;height:2px;background:var(--muted)}.knowledge-map figcaption .direct{background:#f36f32}.knowledge-map figcaption .structural{background:#287daf}.knowledge-map figcaption .tension{background:#b94a48}.knowledge-map figcaption .context{background:#79847e}
@media(min-width:720px){.knowledge-map{padding:22px}.knowledge-map svg{max-width:620px;margin:8px auto 0}.map-head h2{font-size:1.35rem}}
