:root{--paper:#f4f1e9;--ink:#11100e;--muted:#6d685f;--line:#cfc8ba;--panel:#fffdf7;--red:#e43d30;--blue:#2458d3;--green:#16845b;--shadow:0 18px 55px rgba(32,27,18,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,"Helvetica Neue",Arial,sans-serif;letter-spacing:0}body.contrast{--paper:#0e0e0d;--ink:#f7f4ec;--muted:#aaa59b;--line:#393833;--panel:#191917;--shadow:none}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}main{width:100%;max-width:100%;overflow-x:hidden}nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-weight:800;text-decoration:none}.nav-actions,.hero-actions,.answer-actions{display:flex;gap:10px}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:22px}.button{min-height:44px;border:1px solid var(--ink);padding:0 18px;font-weight:750;background:transparent;color:var(--ink)}.button.primary{background:var(--ink);color:var(--panel)}.button.secondary:hover,.icon-button:hover{background:var(--ink);color:var(--panel)}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:clamp(40px,8vw,120px);align-items:end;padding:clamp(70px,10vw,140px) clamp(20px,5vw,72px) clamp(64px,8vw,110px)}.kicker{margin:0 0 12px;text-transform:uppercase;font-size:12px;font-weight:850;letter-spacing:1.6px;color:var(--red)}h1{max-width:1080px;margin:0;font-size:clamp(2.5rem,5vw,5rem);line-height:.98;letter-spacing:0}h1 span{color:var(--blue)}.intro{max-width:700px;font-size:clamp(18px,2vw,24px);line-height:1.45;color:var(--muted);margin:28px 0}.result-tile{background:var(--ink);color:var(--paper);padding:32px;min-height:260px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end}.tile-label{font-size:12px;text-transform:uppercase;letter-spacing:1.6px}.result-tile strong{font-size:clamp(26px,3vw,40px);line-height:1.05}.result-tile>p:not(.tile-label){color:#c9c3b7;line-height:1.5}.metric-row{display:flex;gap:24px;border-top:1px solid #57534d;padding-top:20px}.workbench{display:grid;grid-template-columns:minmax(290px,.38fr) minmax(0,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.controls-panel,.graph-panel{padding:clamp(24px,4vw,56px)}.controls-panel{background:var(--panel);border-right:1px solid var(--line)}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:32px}.panel-heading h2,.section-heading h2,.answer-section h2{font-size:clamp(25px,3vw,42px);margin:0;letter-spacing:0}.text-button{border:0;border-bottom:1px solid var(--ink);background:none;color:var(--ink);padding:4px 0;white-space:nowrap}.controls-panel label,.controls-panel fieldset{display:block;border:0;padding:0;margin:0 0 26px;font-size:13px;font-weight:750}.controls-panel output{float:right;color:var(--muted);font-weight:500}.controls-panel select{display:block;width:100%;margin-top:10px;padding:13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0}.controls-panel input[type=range]{width:100%;margin-top:16px;accent-color:var(--red)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px}.segmented button{min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);margin-right:-1px}.segmented button.active{background:var(--blue);color:white;border-color:var(--blue)}.privacy-note{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px}.privacy-note span{color:var(--green)}.privacy-note p{margin:0}.graph-panel{min-width:0}.step-count{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}#graph{width:100%;height:auto;min-height:350px;background:var(--panel);border:1px solid var(--line)}.edge{stroke:var(--line);stroke-width:3}.edge.path{stroke:var(--green);stroke-width:6}.node circle{fill:var(--panel);stroke:var(--ink);stroke-width:2}.node text{fill:var(--ink);font-size:12px;font-weight:800;text-anchor:middle;dominant-baseline:central}.node.start circle{fill:var(--blue);stroke:var(--blue)}.node.start text,.node.goal text,.node.frontier text{fill:white}.node.goal circle{fill:var(--green);stroke:var(--green)}.node.explored circle{fill:#d9d2c6}.node.frontier circle{fill:var(--red);stroke:var(--red);transform-box:fill-box;transform-origin:center;animation:pulse 1.1s ease-in-out infinite alternate}.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font-size:12px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:10px;height:10px;border-radius:50%;background:#d9d2c6}.legend i.start{background:var(--blue)}.legend i.frontier{background:var(--red)}.legend i.goal{background:var(--green)}.comparison-section{padding:clamp(80px,12vw,170px) clamp(20px,5vw,72px)}.section-heading{max-width:750px;margin-bottom:48px}.section-heading>p:last-child{color:var(--muted);font-size:18px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;border-top:1px solid var(--ink)}.strategy-card{padding:30px 22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:220px;transition:background .3s ease}.strategy-card:last-child{border-right:0}.strategy-card.active{background:var(--panel)}.strategy-card h3{font-size:28px;margin:12px 0}.strategy-card p{color:var(--muted);line-height:1.5}.card-metrics{display:flex;justify-content:space-between;margin-top:26px;font-size:13px}.answer-section{display:grid;grid-template-columns:1.5fr .5fr;background:var(--blue);color:white;padding:clamp(60px,9vw,120px) clamp(20px,5vw,72px);gap:clamp(40px,8vw,120px)}.answer-section .kicker{color:#ffb6a9}.answer-copy>p:not(.kicker,.status-message){font-size:clamp(18px,2vw,25px);line-height:1.55;max-width:850px}.answer-section .button.primary{background:white;color:#111;border-color:white}.answer-section .button.secondary{color:white;border-color:white}.next-action{border-left:1px solid rgba(255,255,255,.45);padding-left:32px;align-self:end}.next-action strong{font-size:25px}.next-action p:last-child{line-height:1.5;color:#dce5ff}.status-message{min-height:20px;font-size:13px}footer{display:flex;justify-content:space-between;gap:30px;padding:32px clamp(20px,5vw,72px);color:var(--muted);font-size:13px}footer strong{color:var(--ink)}@keyframes pulse{to{transform:scale(1.16)}}@media(max-width:800px){.hero,.workbench,.answer-section{grid-template-columns:1fr}.hero{padding-top:60px}.result-tile{min-height:220px}.controls-panel{border-right:0;border-bottom:1px solid var(--line)}.comparison-grid{grid-template-columns:1fr}.strategy-card{border-right:0}.next-action{border-left:0;border-top:1px solid rgba(255,255,255,.45);padding:28px 0 0}footer{flex-direction:column}.nav-actions .secondary{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
