@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;700&display=swap");
:root {
  color-scheme: dark;
  --ink:#f6f2e8; --muted:#9ea8b9; --paper:#0c1018; --panel:#121925; --panel2:#0f151f; --line:#283447;
  --gold:#f5c451; --cyan:#55d8e6; --green:#8fd694; --red:#f07070; --violet:#b496ff; --orange:#ff9a5c;
  --highway:#55d8e6; --gearshift:#ff9a5c; --park:#f5c451; --subway:#b496ff;
}
*{box-sizing:border-box} body{margin:0;color:var(--ink);background:radial-gradient(circle at 80% -10%,rgba(85,216,230,.10),transparent 32rem),radial-gradient(circle at 15% 15%,rgba(245,196,81,.08),transparent 25rem),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),var(--paper);background-size:auto,auto,100% 4px,auto;font-family:"Noto Sans JP",sans-serif} button,select{font:inherit}button{cursor:pointer}.hero,main,footer{width:min(1540px,calc(100% - 40px));margin-inline:auto}.hero{min-height:46vh;display:grid;align-content:end;padding:72px 0 42px;border-bottom:1px solid var(--line)}.hero h1{margin:8px 0 14px;font:400 clamp(4.7rem,11vw,9.8rem)/.78 "Bebas Neue",sans-serif;letter-spacing:-.02em;text-transform:uppercase}.lede{max-width:820px;margin:0;color:#d4dae3;font-size:clamp(1rem,2vw,1.25rem);line-height:1.8}.eyebrow{margin:0;color:var(--gold);font:600 .7rem/1.2 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase}.stats{color:var(--muted);font:.78rem "IBM Plex Mono",monospace}.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.legend span{padding:7px 10px;border:1px solid currentColor;border-radius:999px;font:600 .65rem "IBM Plex Mono",monospace}.legend small{opacity:.65;font-weight:400}.layer-highway{color:var(--highway)}.layer-gearshift{color:var(--gearshift)}.layer-park_portal{color:var(--park)}.layer-subway{color:var(--subway)}
.control-deck{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:minmax(280px,.8fr) auto 2.4fr;gap:14px;padding:15px 0;background:rgba(12,16,24,.95);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.start-control,#filters{display:flex;gap:7px;align-items:end}.start-control>label{display:grid;gap:4px;color:var(--muted);font:.62rem "IBM Plex Mono",monospace;text-transform:uppercase}.start-control select{flex:1;min-width:0}.start-control button{color:#111;background:var(--gold);border-color:var(--gold);font-weight:700}.test-data-controls{display:flex;align-items:center;gap:6px}.test-data-controls button{background:#182131}.test-data-controls button,select,.start-control button{min-height:38px;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:7px 9px}select{background:#151e2b}.test-data-controls button{padding:7px 9px;color:var(--ink);border:1px solid var(--line)}#io-status{max-width:160px;color:var(--muted);font:.58rem/1.35 "IBM Plex Mono",monospace}#filters{justify-content:flex-end;flex-wrap:wrap}#filters label{display:grid;gap:4px;color:var(--muted);font:.62rem "IBM Plex Mono",monospace;text-transform:uppercase}.checkbox{display:flex!important;align-items:center;min-height:38px;padding-top:15px}.checkbox input{accent-color:var(--gold)}.mode-note{grid-column:1/-1;margin:0;color:#7e8da4;font:.62rem/1.4 "IBM Plex Mono",monospace}
.quick-start{padding:32px 0 20px}.quick-start-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}.quick-start-heading h2,.advanced-intro h2{margin:4px 0 0;font:400 clamp(2.4rem,4vw,3.8rem)/1 "Bebas Neue",sans-serif}.quick-start-heading>p,.advanced-intro>p{max-width:650px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.7}.quick-start-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0;padding:0;list-style:none}.quick-start-steps li{display:flex;gap:12px;align-items:center;padding:13px 15px;background:#101722;border:1px solid var(--line);border-top:2px solid var(--gold)}.quick-start-steps b{display:grid;place-items:center;flex:0 0 30px;height:30px;color:#111;background:var(--gold);border-radius:50%;font:700 .72rem "IBM Plex Mono",monospace}.quick-start-steps span{display:grid;gap:3px}.quick-start-steps strong{font-size:.82rem}.quick-start-steps small{color:var(--muted);font:.59rem/1.45 "IBM Plex Mono",monospace}.advanced-intro{display:grid;grid-template-columns:auto minmax(280px,1fr);gap:16px 40px;align-items:end;margin-top:26px;padding:34px 0 20px;border-top:1px solid var(--line)}.advanced-intro nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.advanced-intro a{padding:8px 10px;color:var(--cyan);text-decoration:none;background:#101925;border:1px solid var(--line);font:600 .61rem "IBM Plex Mono",monospace;text-transform:uppercase}.advanced-intro a:hover{color:var(--gold);border-color:var(--gold)}
section{padding:42px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading h2{margin:4px 0 0;font:400 clamp(2.6rem,5vw,4.6rem)/1 "Bebas Neue",sans-serif;letter-spacing:.02em}.section-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:.8rem}.current-route{display:flex;gap:14px;align-items:stretch;margin:0;padding:0 0 14px;list-style:none;overflow-x:auto}.route-step{position:relative;display:flex;flex:0 0 240px}.route-step:not(:first-child)::before{content:"";position:absolute;top:50%;left:-14px;width:14px;border-top:1px solid #576a86}.route-node{width:100%;min-height:142px;display:grid;align-content:end;gap:5px;padding:16px;color:var(--ink);text-align:left;background:linear-gradient(145deg,#172232,#0f151f);border:1px solid var(--line);border-top:3px solid #60708a}.route-node.layer-highway{border-top-color:var(--highway)}.route-node.layer-gearshift{border-top-color:var(--gearshift)}.route-node.layer-park_portal{border-top-color:var(--park)}.route-node.layer-subway{border-top-color:var(--subway)}.route-node:hover{border-color:#697b96}.route-node strong{font-size:1.05rem}.route-node span,.route-node small{color:var(--muted);font:.67rem/1.4 "IBM Plex Mono",monospace}.route-connector{position:absolute;z-index:2;left:-24px;top:calc(50% - 12px);width:22px;height:22px;padding:0;color:#111;background:var(--gold);border:0;border-radius:50%}.branch-memory{margin-top:12px;color:var(--muted);border-top:1px solid var(--line)}.branch-memory summary{width:max-content;padding:12px 0;cursor:pointer;color:var(--cyan);font:.67rem "IBM Plex Mono",monospace;text-transform:uppercase}.branch-memory ul{display:flex;gap:8px;margin:0;padding:0 0 10px;overflow-x:auto;list-style:none}.branch-memory li{display:flex;flex:0 0 auto;border:1px solid var(--line)}.branch-memory li>button{padding:8px 10px;color:var(--ink);text-align:left;background:#111925;border:0}.branch-memory li>button span{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-memory li>button small{color:var(--muted);font:.6rem "IBM Plex Mono",monospace}.branch-memory .forget-branch{color:var(--muted);border-left:1px solid var(--line)}.branch-memory .no-history{padding:9px;color:var(--muted);border-style:dashed;font:.65rem "IBM Plex Mono",monospace}
.branches-section{border-top:1px solid var(--line)}.next-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.edge-card{--layer:#60708a;display:grid;grid-template-rows:1fr auto auto;min-height:470px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--layer);transition:transform .16s,opacity .16s,border-color .16s}.edge-card.layer-highway{--layer:var(--highway)}.edge-card.layer-gearshift{--layer:var(--gearshift)}.edge-card.layer-park_portal{--layer:var(--park)}.edge-card.layer-subway{--layer:var(--subway)}.edge-card:hover{transform:translateY(-3px);border-color:#52647f;border-top-color:var(--layer)}.edge-card.is-rejected{opacity:.34}.edge-choice{display:grid;align-content:start;gap:10px;padding:20px;color:var(--ink);text-align:left;background:transparent;border:0}.edge-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.layer-badge{color:var(--layer);font:600 .64rem "IBM Plex Mono",monospace}.rejoin{padding:3px 5px;color:var(--cyan);border:1px solid var(--cyan);font:500 .55rem "IBM Plex Mono",monospace;font-style:normal}.edge-kicker{color:#8e9cb0;font:500 .62rem "IBM Plex Mono",monospace;text-transform:uppercase}.edge-choice h3{margin:4px 0 0;font:400 clamp(2.1rem,3.8vw,3.5rem)/.88 "Bebas Neue",sans-serif}.edge-choice p{margin:0;color:#c5cfdd;font-size:.78rem;line-height:1.65}.edge-choice .port-label{color:var(--muted);font:.67rem/1.5 "IBM Plex Mono",monospace}.mix-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mix-facts span{padding:8px;background:#0e141d;border:1px solid #202c3d;color:var(--ink);font:600 .76rem "IBM Plex Mono",monospace}.mix-facts b{display:block;margin-bottom:3px;color:#76869d;font-size:.52rem}.from-to{color:#8998ad!important;font:500 .62rem "IBM Plex Mono",monospace!important}.from-to b{color:#c6d1df}.dj-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dj-score{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;border:1px solid #2b394c;font:.58rem "IBM Plex Mono",monospace}.dj-score b{color:#75849a}.dj-score strong{color:var(--layer);font-size:.82rem}.method{min-height:4.9em}.technique{padding:8px 9px;background:#0d131c;color:#96a8bf!important;font:500 .61rem/1.5 "IBM Plex Mono",monospace!important}.technique b{color:var(--layer)}.ratings{display:flex;gap:7px;margin-top:auto;padding-top:6px}.rating{display:flex;align-items:center;gap:4px;color:var(--muted);font:.62rem "IBM Plex Mono",monospace}.rating i{display:grid;place-items:center;width:27px;height:27px;color:var(--ink);background:color-mix(in srgb,var(--layer) calc(var(--score) * 13%),#182131);border:1px solid #334258;border-radius:50%;font-style:normal}.edge-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font:.59rem "IBM Plex Mono",monospace}.confidence{padding:4px 6px;border:1px solid currentColor}.confidence-verified{color:var(--green)}.confidence-strong{color:var(--cyan)}.confidence-hypothesis{color:var(--gold)}.confidence-experimental{color:var(--red)}.evidence{padding:0 14px;color:var(--muted);background:#0d131c;border-top:1px solid var(--line);font-size:.7rem;line-height:1.6}.evidence summary{padding:10px 0;color:#c9d2df;cursor:pointer;font:.62rem "IBM Plex Mono",monospace;text-transform:uppercase}.evidence p{margin:6px 0}.evidence ul{margin:8px 0 13px;padding-left:18px}.evidence a{color:var(--cyan)}.status-control{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;color:var(--muted);background:#0a0f17;border-top:1px solid var(--line);font:.64rem "IBM Plex Mono",monospace;text-transform:uppercase}.status-control select{min-height:31px;padding:4px 7px;font-size:.68rem}.empty{padding:50px 24px;color:var(--muted);text-align:center;border:1px dashed var(--line)}.empty h3{color:var(--ink)}.fatal{padding:80px 0;color:var(--red)}footer{padding:40px 0 70px;color:var(--muted);border-top:1px solid var(--line);font:.68rem/1.7 "IBM Plex Mono",monospace}
@media(max-width:1180px){.control-deck{grid-template-columns:1fr auto}.control-deck #filters{grid-column:1/-1;justify-content:flex-start}.next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hero,main,footer{width:min(100% - 24px,1540px)}.hero{min-height:38vh;padding-top:44px}.hero h1{font-size:4.15rem}.quick-start-heading{align-items:start;flex-direction:column}.quick-start-steps{grid-template-columns:1fr}.advanced-intro{grid-template-columns:1fr}.advanced-intro nav{grid-column:auto}.control-deck{position:static;grid-template-columns:1fr}.start-control{display:grid;grid-template-columns:1fr auto}.start-control>label{grid-column:1/-1}.test-data-controls{flex-wrap:wrap}.control-deck #filters{grid-column:auto}.control-deck #filters label{width:calc(50% - 4px)}.control-deck #filters select{width:100%}.checkbox{width:100%!important}.section-heading{align-items:start;flex-direction:column}.next-grid{grid-template-columns:1fr}.edge-card{min-height:430px}}

/* Transit map */
.map-section{padding:46px 0 50px;border-bottom:1px solid var(--line)}
.map-heading{margin-bottom:14px}.map-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:12px;padding:10px;background:#0e141e;border:1px solid var(--line)}
.map-toolbar label{display:grid;gap:4px;color:var(--muted);font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.map-toolbar select{min-width:160px;min-height:34px;padding:5px 7px}
.map-zoom{display:flex}.map-zoom button,.map-center{min-height:34px;padding:5px 10px;color:var(--ink);background:#172131;border:1px solid var(--line)}.map-zoom button+button{border-left:0}.map-zoom-reset{min-width:62px}.map-center{margin-left:2px}.map-stats{margin-left:auto;align-self:center;color:var(--muted);font:.58rem "IBM Plex Mono",monospace}
.network-map-shell{height:min(68vh,760px);min-height:480px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),#090e16;background-size:40px 40px;border:1px solid var(--line);scrollbar-color:#34445c #0a1018}
.network-map{transform-origin:0 0}.network-map svg{display:block;max-width:none}.map-lane-bg{fill:rgba(255,255,255,.014)}.map-lane-bg.alt{fill:rgba(255,255,255,.025)}.map-lane-line{stroke:#202b3b;stroke-width:1}.map-lane-title{fill:#7f8ea4;font:600 12px "IBM Plex Mono",monospace;letter-spacing:.08em}.map-lane-sub{fill:#4f5d70;font:500 9px "IBM Plex Mono",monospace}
.map-edge{fill:none;stroke:#4e6079;stroke-width:1.3;stroke-opacity:.20;vector-effect:non-scaling-stroke;transition:stroke-opacity .12s,stroke-width .12s}.map-edge.layer-highway{stroke:var(--highway)}.map-edge.layer-gearshift{stroke:var(--gearshift)}.map-edge.layer-park_portal{stroke:var(--park)}.map-edge.layer-subway{stroke:var(--subway)}.map-edge.is-current-edge{stroke-opacity:.9;stroke-width:2.8}.map-edge.is-route-edge{stroke-opacity:1;stroke-width:4.2}.map-edge.is-dim{stroke-opacity:.055}
.map-node{cursor:pointer}.map-node rect{fill:#111a27;stroke:#304059;stroke-width:1.2;rx:5;vector-effect:non-scaling-stroke;transition:stroke .12s,fill .12s}.map-node:hover rect{fill:#19263a;stroke:#8192aa;stroke-width:2}.map-node.is-hub rect{stroke:var(--gold);stroke-width:1.8}.map-node.is-adjacent rect{stroke:var(--cyan);stroke-width:2}.map-node.is-route rect{stroke:#f6f2e8;stroke-width:2.2}.map-node.is-current rect{fill:#f5c451;stroke:#fff0b5;stroke-width:2.8}.map-node text{pointer-events:none}.map-node .map-node-title{fill:#eef2f7;font:600 10px "Noto Sans JP",sans-serif}.map-node .map-node-meta{fill:#8291a5;font:500 8px "IBM Plex Mono",monospace}.map-node.is-current .map-node-title,.map-node.is-current .map-node-meta{fill:#14100a}.map-node .map-node-dot{fill:#60708a}.map-node.source-film_song .map-node-dot,.map-node.source-disney_channel .map-node-dot{fill:var(--cyan)}.map-node.source-official_remix .map-node-dot{fill:var(--gearshift)}.map-node.source-park_external .map-node-dot{fill:var(--park)}.map-node.source-film_score .map-node-dot,.map-node.source-park_original .map-node-dot{fill:var(--subway)}
.map-hint{margin:9px 2px 0;color:var(--muted);font:.62rem/1.6 "IBM Plex Mono",monospace}.map-hint b{color:var(--ink)}
@media(max-width:640px){.network-map-shell{height:60vh;min-height:430px}.map-toolbar label{width:calc(50% - 4px)}.map-toolbar label select{width:100%;min-width:0}.map-stats{width:100%;margin-left:0}.map-center{flex:1}.map-section{padding-top:30px}}

/* Route finder */
.planner-section{padding:46px 0;border-bottom:1px solid var(--line)}
.planner-heading{margin-bottom:14px}.planner-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:12px;background:#0e141e;border:1px solid var(--line)}
.planner-controls label{display:grid;gap:4px;color:var(--muted);font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.planner-controls select{min-width:190px;min-height:38px}.planner-controls button{min-height:38px;padding:7px 11px;color:var(--ink);background:#172131;border:1px solid var(--line);border-radius:4px}.planner-controls .planner-find{color:#111;background:var(--gold);border-color:var(--gold);font-weight:700}.planner-arrow{align-self:center;margin:0 2px;color:var(--gold);font:400 1.5rem "Bebas Neue",sans-serif}.planner-note{margin:9px 2px 14px;color:var(--muted);font:.64rem/1.5 "IBM Plex Mono",monospace}
.planner-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-card{display:grid;align-content:start;gap:12px;padding:16px;background:linear-gradient(150deg,#121b29,#0e141e);border:1px solid var(--line);border-top:3px solid #40506a;transition:border-color .15s,transform .15s}.planner-card:hover{transform:translateY(-2px);border-color:#52647f}.planner-card.is-preview{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,196,81,.18) inset}.planner-card-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.planner-card-top h3{margin:4px 0 0;font:400 clamp(1.8rem,3vw,2.6rem)/.92 "Bebas Neue",sans-serif}.planner-card-top h3 em{color:var(--gold);font-style:normal}.planner-card-top>strong{display:grid;place-items:center;min-width:48px;height:48px;color:#111;background:var(--gold);border-radius:50%;font:600 .8rem "IBM Plex Mono",monospace}.planner-score-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.planner-score-row .dj-score strong{color:var(--cyan)}.planner-layer-row{display:flex;flex-wrap:wrap;gap:5px}.planner-layer{padding:4px 6px;border:1px solid currentColor;font:600 .55rem "IBM Plex Mono",monospace}.planner-steps{display:grid;gap:5px;margin:0;padding:0;list-style:none}.planner-steps li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:8px;background:#0b111a;border:1px solid #202c3d}.planner-steps li>span{display:grid;place-items:center;width:22px;height:22px;color:#111;background:#9aabc2;border-radius:50%;font:600 .58rem "IBM Plex Mono",monospace}.planner-steps b{display:block;font-size:.72rem}.planner-steps small{display:block;margin-top:3px;color:var(--muted);font:.56rem/1.35 "IBM Plex Mono",monospace}.planner-steps .planner-layer{font-size:.48rem;white-space:nowrap}.planner-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto}.planner-actions button{min-height:36px;color:var(--ink);background:#172131;border:1px solid var(--line)}.planner-actions button.primary{color:#111;background:var(--gold);border-color:var(--gold);font-weight:700}
.map-edge.is-preview-edge{stroke:#fff3ba;stroke-opacity:1;stroke-width:5.6;filter:drop-shadow(0 0 2px rgba(245,196,81,.55))}.map-node.is-preview rect{stroke:#fff3ba;stroke-width:2.6}.map-node.is-preview:not(.is-current) rect{fill:#1d2230}
@media(max-width:1180px){.planner-results{grid-template-columns:1fr}.planner-card{grid-template-columns:1fr}.planner-controls label:first-child,.planner-controls label:nth-of-type(2){flex:1 1 300px}.planner-controls label select{width:100%}}
@media(max-width:640px){.planner-section{padding-top:30px}.planner-controls{align-items:stretch}.planner-controls label{width:100%}.planner-controls select{width:100%;min-width:0}.planner-arrow{display:none}.planner-controls button{flex:1}.planner-score-row{grid-template-columns:repeat(2,1fr)}.planner-steps li{grid-template-columns:22px 1fr}.planner-steps .planner-layer{grid-column:2;justify-self:start}}

/* v0.4 broad route explorer */
.planner-card-compact{gap:9px;padding:13px}.planner-card-compact .planner-card-top h3{font-size:clamp(1.45rem,2.2vw,2rem)}
.planner-chain{margin:0;color:#d9e1ed;font:.65rem/1.55 "IBM Plex Mono",monospace}.planner-compact-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-score-mini{display:flex;gap:5px;flex-wrap:wrap}.planner-score-mini span{padding:3px 5px;background:#0a1018;border:1px solid #26344a;color:var(--muted);font:600 .52rem "IBM Plex Mono",monospace}
.planner-detail{border-top:1px solid #202c3d;padding-top:7px}.planner-detail summary{cursor:pointer;color:var(--muted);font:600 .57rem "IBM Plex Mono",monospace;text-transform:uppercase}.planner-detail[open] summary{margin-bottom:9px;color:var(--ink)}
.planner-actions-wide{grid-template-columns:.8fr 1fr 1.15fr}.planner-actions button.shortlist.active{color:var(--gold);border-color:var(--gold);background:#1d1a10}.planner-card.is-shortlisted{border-left-color:var(--gold);border-left-width:3px}.planner-card.is-base{box-shadow:0 0 0 1px var(--gold) inset;border-color:var(--gold)}
@media(max-width:1180px){.planner-results{grid-template-columns:1fr}}
@media(max-width:640px){.planner-actions-wide{grid-template-columns:1fr}.planner-compact-meta{align-items:flex-start;flex-direction:column}}

/* v0.5 crate dig explorer */
.crate-section{padding:46px 0;border-bottom:1px solid var(--line)}
.crate-heading{margin-bottom:14px}
.crate-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:12px;background:#0e141e;border:1px solid var(--line)}
.crate-controls label{display:grid;gap:4px;color:var(--muted);font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.crate-controls select{min-width:150px;min-height:38px}.crate-origin{display:grid;gap:4px;min-width:240px;padding:8px 11px;background:#0a1018;border:1px solid #26344a}.crate-origin strong{font-size:.9rem}.crate-check{display:flex!important;width:auto!important;min-height:38px;padding:0 8px!important;align-items:center!important;text-transform:none!important}.crate-dig{min-height:38px;padding:7px 12px;color:#111;background:var(--gold);border:1px solid var(--gold);border-radius:4px;font-weight:700}.crate-note{margin:9px 2px 14px;color:var(--muted);font:.64rem/1.5 "IBM Plex Mono",monospace}
.crate-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.crate-card{display:grid;align-content:start;gap:9px;min-height:270px;padding:13px;background:linear-gradient(150deg,#121b29,#0e141e);border:1px solid var(--line);border-top:3px solid #40506a;transition:border-color .15s,transform .15s}.crate-card:hover{transform:translateY(-2px);border-color:#52647f}.crate-card.is-preview{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,196,81,.18) inset}.crate-card.is-shortlisted{border-left:3px solid var(--gold)}.crate-card-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.crate-card-top h3{margin:4px 0 0;font:400 clamp(1.55rem,2.4vw,2.25rem)/.9 "Bebas Neue",sans-serif}.crate-card-top>strong{display:grid;place-items:center;min-width:42px;height:42px;color:#111;background:#b9c5d6;border-radius:50%;font:600 .7rem "IBM Plex Mono",monospace}.crate-meta{margin:0;color:var(--muted);font:.58rem/1.5 "IBM Plex Mono",monospace}.crate-sketch{display:grid;gap:4px;margin:0;padding:8px 9px;background:#0a1018;border:1px solid #202c3d;color:#d9e1ed;font:.58rem/1.55 "IBM Plex Mono",monospace}.crate-sketch b{color:#718299;font-size:.5rem}.crate-compact-meta{display:grid;gap:7px}.crate-actions{display:grid;grid-template-columns:.95fr .95fr 1.15fr;gap:6px;margin-top:auto}.crate-actions button{min-height:34px;padding:5px 7px;color:var(--ink);background:#172131;border:1px solid var(--line);font-size:.65rem}.crate-actions button.primary{color:#111;background:var(--gold);border-color:var(--gold);font-weight:700}.crate-actions button.shortlist.active{color:var(--gold);border-color:var(--gold);background:#1d1a10}
@media(max-width:1180px){.crate-results{grid-template-columns:repeat(2,minmax(0,1fr))}.crate-origin{flex:1 1 260px}}
@media(max-width:640px){.crate-section{padding-top:30px}.crate-controls{align-items:stretch}.crate-controls label,.crate-origin{width:100%}.crate-controls select{width:100%;min-width:0}.crate-check{width:100%!important}.crate-dig{width:100%}.crate-results{grid-template-columns:1fr}.crate-actions{grid-template-columns:1fr}}


/* v0.6 DJ test memory + learned ranking */
.learning-toggle{border-color:#31465f!important;background:#101a28!important}
.learning-summary{margin:5px 0 0;padding:7px 9px;background:#0a111a;border-left:3px solid var(--cyan);color:#a9bad0;font:600 .58rem/1.45 "IBM Plex Mono",monospace;letter-spacing:.03em}
.test-memory-row{display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;padding:9px 11px;border-top:1px solid #202c3d;background:#0b111a}
.test-memory-row .status-control{margin:0;padding:0;border:0;background:transparent}.log-test{min-height:30px;padding:4px 8px;color:var(--ink);background:#172131;border:1px solid #30405a;border-radius:3px;font:600 .52rem "IBM Plex Mono",monospace}.log-test:disabled{opacity:.35;cursor:not-allowed}.learning-memory{justify-self:end;color:#8291a5;font:600 .52rem "IBM Plex Mono",monospace}.learning-memory.is-positive{color:#7ee2b8}.learning-memory.is-negative{color:#ff8c8c}
@media(max-width:640px){.test-memory-row{grid-template-columns:1fr 1fr}.learning-memory{grid-column:1/-1;justify-self:start}}


/* v0.7 Test Queue */
.test-queue-section{padding:46px 0;border-bottom:1px solid var(--line)}.test-queue-heading{margin-bottom:14px}
.test-queue-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:12px;background:#0e141e;border:1px solid var(--line)}
.test-queue-controls label{display:grid;gap:4px;color:var(--muted);font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.test-queue-controls select{min-width:170px;min-height:38px}.test-queue-check{display:flex!important;width:auto!important;min-height:38px;padding:0 8px!important;align-items:center!important;text-transform:none!important}.test-queue-generate{min-height:38px;padding:7px 12px;color:#111;background:var(--gold);border:1px solid var(--gold);border-radius:4px;font-weight:700}.test-queue-note{margin:9px 2px 14px;color:var(--muted);font:.64rem/1.5 "IBM Plex Mono",monospace}
.test-queue-results{display:grid;gap:8px}.test-queue-card{--layer:#60708a;display:grid;grid-template-columns:46px minmax(0,1fr) minmax(250px,.34fr);gap:12px;align-items:stretch;padding:11px;background:linear-gradient(150deg,#121b29,#0e141e);border:1px solid var(--line);border-left:4px solid var(--layer)}.test-queue-card.layer-highway{--layer:var(--highway)}.test-queue-card.layer-gearshift{--layer:var(--gearshift)}.test-queue-card.layer-park_portal{--layer:var(--park)}.test-queue-card.layer-subway{--layer:var(--subway)}.test-queue-card.is-preview{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,196,81,.15) inset}.test-queue-rank{display:grid;place-items:center;color:#111;background:var(--layer);font:700 .75rem "IBM Plex Mono",monospace}.test-queue-main{display:grid;gap:5px;align-content:center}.test-queue-top{display:flex;align-items:center;gap:7px}.test-queue-top>strong{margin-left:auto;color:var(--layer);font:700 .62rem "IBM Plex Mono",monospace}.test-queue-reason{padding:3px 5px;color:var(--gold);background:#17150d;border:1px solid #4d4020;font:600 .52rem "IBM Plex Mono",monospace}.test-queue-main h3{margin:1px 0;font:400 clamp(1.5rem,2.6vw,2.25rem)/.92 "Bebas Neue",sans-serif}.test-queue-main h3 em{color:var(--layer);font-style:normal}.test-queue-ports,.test-queue-technique{margin:0;color:var(--muted);font:.57rem/1.45 "IBM Plex Mono",monospace}.test-queue-technique{color:#b9c5d5}.test-queue-scores{display:flex;flex-wrap:wrap;gap:5px}.test-queue-scores span{padding:3px 5px;background:#0a1018;border:1px solid #26344a;color:var(--muted);font:600 .51rem "IBM Plex Mono",monospace}.test-queue-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:center;padding-left:10px;border-left:1px solid #273448}.test-queue-actions button,.test-queue-actions select{min-height:32px;color:var(--ink);background:#172131;border:1px solid #30405a}.test-queue-actions label{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center;color:var(--muted);font:600 .51rem "IBM Plex Mono",monospace}.test-queue-actions small{grid-column:1/-1;color:#8291a5;font:600 .51rem "IBM Plex Mono",monospace}.test-queue-actions small.is-positive{color:#7ee2b8}.test-queue-actions small.is-negative{color:#ff8c8c}.test-queue-actions button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:900px){.test-queue-card{grid-template-columns:38px 1fr}.test-queue-actions{grid-column:2;border-left:0;border-top:1px solid #273448;padding:8px 0 0}}
@media(max-width:640px){.test-queue-section{padding-top:30px}.test-queue-controls{align-items:stretch}.test-queue-controls label{width:100%}.test-queue-controls select{width:100%;min-width:0}.test-queue-check{width:100%!important}.test-queue-generate{width:100%}.test-queue-card{grid-template-columns:34px 1fr}.test-queue-top{align-items:flex-start;flex-wrap:wrap}.test-queue-top>strong{margin-left:0}.test-queue-actions{grid-template-columns:1fr}.test-queue-actions label{grid-template-columns:1fr}.test-queue-actions small{grid-column:auto}}

/* v0.8 — persistent DJ Notes */
.dj-note-trigger {
  border: 1px solid rgba(124, 174, 255, .32);
  background: rgba(10, 16, 28, .72);
  color: #c8d7ef;
  border-radius: 999px;
  padding: .42rem .7rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  cursor: pointer;
}
.dj-note-trigger:hover { border-color: rgba(255,255,255,.62); color: #fff; }
.dj-note-trigger.has-note {
  border-color: rgba(249, 205, 92, .66);
  background: rgba(74, 55, 10, .42);
  color: #ffe9a5;
}
.route-step > .dj-note-trigger { align-self: center; margin-left: .35rem; }
.test-memory-row .dj-note-trigger { margin-left: .15rem; }
.test-queue-actions .dj-note-trigger { width: 100%; }
.planner-steps .dj-note-trigger { align-self: center; }

.dj-note-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: min(86vh, 820px);
  border: 1px solid rgba(142, 177, 229, .38);
  border-radius: 22px;
  background: rgba(10, 15, 25, .98);
  color: #eef5ff;
  padding: 0;
  box-shadow: 0 30px 90px rgba(0,0,0,.72);
}
.dj-note-dialog::backdrop { background: rgba(2, 5, 10, .76); backdrop-filter: blur(5px); }
.dj-note-shell { padding: 22px; }
.dj-note-head { display: flex; gap: 18px; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.dj-note-head h2 { margin: .1rem 0 .25rem; font-size: clamp(1.3rem, 3vw, 2rem); }
.dj-note-head p:last-child { margin: 0; color: #95a8c2; font-size: .82rem; }
.dj-note-close { border: 0; background: transparent; color: #aebbd0; font-size: 1.8rem; line-height: 1; cursor: pointer; padding: .1rem .25rem; }
.dj-note-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dj-note-grid label { display: grid; gap: 7px; color: #afbdd2; font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.dj-note-grid input, .dj-note-grid textarea {
  width: 100%; box-sizing: border-box; border: 1px solid rgba(129, 158, 202, .28); border-radius: 12px;
  background: rgba(20, 28, 43, .9); color: #edf4ff; padding: .78rem .85rem; font: inherit; text-transform: none; letter-spacing: normal;
}
.dj-note-grid textarea { resize: vertical; min-height: 120px; line-height: 1.5; }
.dj-note-grid input:focus, .dj-note-grid textarea:focus { outline: 2px solid rgba(98, 162, 255, .45); border-color: rgba(98, 162, 255, .75); }
.dj-note-wide { grid-column: 1 / -1; }
.dj-note-foot { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(125,148,181,.16); }
.dj-note-foot > span { color: #8798af; font-size: .75rem; }
.dj-note-foot > div { display: flex; gap: 8px; }
.dj-note-foot button { border-radius: 10px; padding: .68rem .9rem; cursor: pointer; }
.danger-soft { border: 1px solid rgba(255, 111, 111, .28); background: rgba(95, 24, 24, .24); color: #ffbaba; }

@media (max-width: 680px) {
  .dj-note-grid { grid-template-columns: 1fr; }
  .dj-note-wide { grid-column: auto; }
  .dj-note-foot { align-items: flex-start; flex-direction: column; }
  .dj-note-foot > div { width: 100%; }
  .dj-note-foot button { flex: 1; }
}

/* v0.9 — Master Verification */
.master-section{padding:42px 0;border-bottom:1px solid var(--line)}
.master-heading{margin-bottom:14px}
.master-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:10px;background:#0d141e;border:1px solid var(--line)}
.master-toolbar>div{display:grid;gap:4px}.master-toolbar strong{font:400 1.55rem/1 "Bebas Neue",sans-serif;letter-spacing:.02em}.master-toolbar p{margin:0;color:#91a0b5;font:.6rem/1.45 "IBM Plex Mono",monospace;text-align:right}
.master-port-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.master-port-card{position:relative;display:grid;gap:9px;align-content:start;padding:12px;background:linear-gradient(150deg,#111a28,#0c121b);border:1px solid var(--line);border-top:3px solid #495970;min-width:0}.master-port-card.is-current{border-color:#6c88aa}.master-port-card.is-verified{border-top-color:#7ee2b8;box-shadow:0 0 0 1px rgba(126,226,184,.08) inset}.master-port-card h3{margin:3px 0 0;font:400 1.7rem/.95 "Bebas Neue",sans-serif}.master-port-card>div:first-child>p{margin:4px 0 0;color:#6e7d91;font:.51rem/1.35 "IBM Plex Mono",monospace;overflow-wrap:anywhere}.master-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.master-facts span{display:grid;gap:2px;padding:6px 7px;background:#0a1018;border:1px solid #202c3d;color:#dce5f1;font:600 .58rem "IBM Plex Mono",monospace}.master-facts b{color:#667991;font-size:.48rem}.master-aliases,.master-diff{margin:0;color:#8494aa;font:.53rem/1.45 "IBM Plex Mono",monospace}.master-diff{color:#a99872}.master-trigger{min-height:30px;padding:5px 8px;color:#c9d7eb;background:#121d2b;border:1px solid #31445f;border-radius:999px;font:700 .54rem "IBM Plex Mono",monospace;white-space:nowrap}.master-trigger:hover{border-color:#6986aa;color:#fff}.master-trigger.is-verified{color:#8fe6bf;border-color:#3a775f;background:#0d2119}.route-step>.master-trigger{align-self:center;margin-left:.3rem}.test-memory-row .master-trigger{min-width:max-content}.test-queue-actions .master-trigger{width:100%}.planner-steps .master-trigger{align-self:center;font-size:.47rem;padding:4px 6px}

.master-dialog{width:min(760px,calc(100vw - 28px));max-height:min(88vh,850px);padding:0;border:1px solid rgba(126,226,184,.34);border-radius:20px;background:rgba(9,14,23,.99);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.74)}.master-dialog::backdrop{background:rgba(2,5,10,.78);backdrop-filter:blur(5px)}.master-shell{padding:22px}.master-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.master-head h2{margin:.15rem 0 .25rem;font-size:clamp(1.4rem,3vw,2.1rem)}.master-head p:last-child{margin:0;color:#8294aa;font:.68rem/1.35 "IBM Plex Mono",monospace;overflow-wrap:anywhere}.master-close{border:0;background:transparent;color:#aebbd0;font-size:1.8rem;line-height:1}.master-baseline{margin:15px 0;padding:9px 10px;background:#0b121b;border-left:3px solid #6d7d92;color:#8fa0b6;font:.57rem/1.5 "IBM Plex Mono",monospace}.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.master-grid label{display:grid;gap:6px;color:#afbdd2;font:700 .69rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.04em}.master-grid input,.master-grid select,.master-grid textarea{width:100%;min-height:40px;padding:.7rem .78rem;border:1px solid #2a3a50;border-radius:9px;background:#111b29;color:#edf4ff;font:inherit;text-transform:none;letter-spacing:normal}.master-grid textarea{resize:vertical;min-height:88px}.master-grid input:focus,.master-grid select:focus,.master-grid textarea:focus{outline:2px solid rgba(126,226,184,.28);border-color:#4d8d73}.master-wide{grid-column:1/-1}.master-foot{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:1px solid #263247}.master-foot>span{color:#8798af;font:.7rem/1.4 "IBM Plex Mono",monospace}.master-foot>div{display:flex;gap:8px}.master-foot button{min-height:38px;padding:7px 10px;border-radius:8px}.master-foot .primary{color:#07110d;background:#7ee2b8;border:1px solid #7ee2b8;font-weight:700}
.test-memory-row{grid-template-columns:auto auto auto auto auto 1fr}.learning-memory{min-width:max-content}
@media(max-width:1180px){.master-port-list{grid-template-columns:repeat(2,minmax(0,1fr))}.test-memory-row{grid-template-columns:repeat(3,auto) 1fr}.learning-memory{grid-column:1/-1;justify-self:start}}
@media(max-width:680px){.master-toolbar{align-items:flex-start;flex-direction:column}.master-toolbar p{text-align:left}.master-port-list{grid-template-columns:1fr}.master-grid{grid-template-columns:1fr}.master-wide{grid-column:auto}.master-foot{align-items:flex-start;flex-direction:column}.master-foot>div{width:100%}.master-foot button{flex:1}.route-step>.master-trigger{position:absolute;right:5px;top:5px;z-index:2}.test-memory-row{grid-template-columns:1fr 1fr}.test-memory-row .master-trigger{width:100%}.learning-memory{grid-column:1/-1}}

/* v0.10 — Set Builder */
.set-builder-section{padding:46px 0;border-bottom:1px solid var(--line)}
.set-builder-heading{margin-bottom:14px}
.set-builder-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:12px;background:#0d151c;border:1px solid var(--line)}
.set-builder-controls label{display:grid;gap:4px;color:var(--muted);font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.set-builder-controls select{min-width:150px;min-height:38px}
.set-builder-controls button{min-height:38px;padding:7px 11px;color:var(--ink);background:#172131;border:1px solid var(--line);border-radius:4px}
.set-builder-controls .set-build{color:#07130f;background:#7ee2b8;border-color:#7ee2b8;font-weight:800}
.set-builder-controls .set-builder-check{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 8px;border:1px solid #27364b;background:#111a27}
.set-note{margin:9px 2px 14px;color:var(--muted);font:.64rem/1.5 "IBM Plex Mono",monospace}
.set-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.set-card{display:grid;align-content:start;gap:10px;padding:14px;background:linear-gradient(150deg,#111c22,#0d141c);border:1px solid var(--line);border-top:3px solid #4b6c66;transition:border-color .15s,transform .15s}
.set-card:hover{transform:translateY(-2px);border-color:#5f837b}.set-card.is-preview{border-color:#7ee2b8;box-shadow:0 0 0 1px rgba(126,226,184,.16) inset}.set-card.is-shortlisted{border-left:3px solid var(--gold)}.set-card.is-base{box-shadow:0 0 0 1px #7ee2b8 inset;border-color:#7ee2b8}
.set-card-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.set-card-head h3{margin:4px 0 0;font:400 clamp(1.6rem,2.5vw,2.2rem)/.94 "Bebas Neue",sans-serif}.set-card-head h3 em{font-style:normal;color:#7ee2b8}.set-card-head>strong{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;background:#7ee2b8;color:#07130f;font:700 .72rem "IBM Plex Mono",monospace}
.set-layer-row,.set-condition-row{display:flex;flex-wrap:wrap;gap:5px}.set-layer-count{padding:4px 6px;border:1px solid currentColor;font:700 .5rem "IBM Plex Mono",monospace}.set-condition{padding:4px 6px;border:1px solid #31425a;background:#0b121b;color:#9fb0c5;font:700 .49rem "IBM Plex Mono",monospace}.set-condition.ok{border-color:#3e765f;color:#8fe6bd;background:#0c1d17}.set-condition.neutral{color:#75859a}
.set-tracklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.set-tracklist li{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;column-gap:7px;padding:7px 8px;background:#0a1118;border:1px solid #202e3c;min-width:0}.set-tracklist li>span{grid-row:1/3;display:grid;place-items:center;width:22px;height:22px;align-self:center;border-radius:50%;background:#263849;color:#dce8f4;font:700 .52rem "IBM Plex Mono",monospace}.set-tracklist b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}.set-tracklist small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#75879b;font:.48rem "IBM Plex Mono",monospace}.set-score-mini{margin-top:0}.set-transition-detail{border-top:1px solid #253544;padding-top:8px}.set-transition-detail summary{cursor:pointer;color:#9eafc3;font:700 .55rem "IBM Plex Mono",monospace}.set-transition-detail .planner-steps{margin-top:8px}.set-actions{margin-top:2px}.set-actions button.primary{background:#7ee2b8;border-color:#7ee2b8;color:#07130f}
@media(max-width:1180px){.set-results{grid-template-columns:1fr}.set-builder-controls label:first-child,.set-builder-controls label:nth-of-type(2){flex:1 1 280px}.set-builder-controls label select{width:100%}}
@media(max-width:680px){.set-builder-section{padding-top:30px}.set-builder-controls{align-items:stretch}.set-builder-controls label{width:100%}.set-builder-controls select{width:100%;min-width:0}.set-builder-controls .set-builder-check{width:100%}.set-builder-controls button{width:100%}.set-tracklist{grid-template-columns:1fr}.set-actions{grid-template-columns:1fr}}

/* Phase 2S · Segment Surgery */
.surgery-section{padding:46px 0;border-bottom:1px solid var(--line)}
.surgery-heading{margin-bottom:14px}.surgery-heading h2{color:#ffb86b}
.surgery-basebar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;padding:11px 12px;background:#15110d;border:1px solid #4b3522;border-left:3px solid #ffb86b}
.surgery-basebar>div{display:grid;gap:3px}.surgery-basebar strong{font:700 .72rem "IBM Plex Mono",monospace;color:#f6dfc3}.surgery-basebar button{min-height:36px;padding:7px 11px;color:#f5d8b9;background:#251b13;border:1px solid #5b4027;border-radius:4px}
.surgery-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:12px;background:#10120f;border:1px solid #3d3428}
.surgery-controls label{display:grid;gap:4px;color:var(--muted);font:600 .55rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.surgery-controls select{min-width:150px;min-height:38px}.surgery-arrow{align-self:center;color:#ffb86b;font:700 .78rem "IBM Plex Mono",monospace;padding-bottom:8px}
.surgery-controls .surgery-check{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 8px;border:1px solid #4d4030;background:#19150f}.surgery-controls .surgery-build{min-height:38px;padding:7px 13px;background:#ffb86b;border:1px solid #ffb86b;color:#1b1007;border-radius:4px;font-weight:800}
.surgery-note{margin:9px 2px 14px;color:var(--muted);font:.64rem/1.5 "IBM Plex Mono",monospace}.surgery-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.surgery-card{display:grid;align-content:start;gap:10px;padding:14px;background:linear-gradient(150deg,#18140f,#0d1116);border:1px solid #41372a;border-top:3px solid #996b36;transition:border-color .15s,transform .15s}.surgery-card:hover{transform:translateY(-2px);border-color:#b98245}.surgery-card.is-preview{border-color:#ffb86b;box-shadow:0 0 0 1px rgba(255,184,107,.14) inset}.surgery-card.is-shortlisted{border-left:3px solid var(--gold)}
.surgery-card-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.surgery-card-head h3{margin:4px 0 0;font:400 clamp(1.55rem,2.4vw,2.1rem)/.95 "Bebas Neue",sans-serif}.surgery-card-head h3 em{font-style:normal;color:#ffb86b}.surgery-card-head>strong{display:grid;place-items:center;min-width:48px;height:48px;border-radius:50%;background:#ffb86b;color:#1b1007;font:700 .72rem "IBM Plex Mono",monospace}
.surgery-lock-row{display:flex;flex-wrap:wrap;gap:5px}.surgery-lock-row span{padding:4px 6px;border:1px solid #514230;background:#120f0b;color:#d8b991;font:700 .49rem "IBM Plex Mono",monospace}.surgery-lock-row span:nth-child(2){border-color:#a66f36;color:#ffc787}
.surgery-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.surgery-compare>div{padding:9px;background:#0a1016;border:1px solid #26313a}.surgery-compare>div:last-child{border-color:#654623;background:#12100d}.surgery-compare p{margin:0 0 7px;color:#7d8d9f;font:700 .49rem "IBM Plex Mono",monospace;letter-spacing:.08em}.surgery-compare>div:last-child p{color:#d9a768}
.surgery-compare ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.surgery-compare li{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;column-gap:6px;min-width:0;padding:5px 6px;border:1px solid #1e2a35;background:#090e14}.surgery-compare li>span{grid-row:1/3;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#263644;color:#d9e6f0;font:700 .48rem "IBM Plex Mono",monospace}.surgery-compare li b,.surgery-compare li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surgery-compare li b{font-size:.62rem}.surgery-compare li small{color:#718396;font:.45rem "IBM Plex Mono",monospace}
.surgery-actions button.primary{background:#ffb86b;border-color:#ffb86b;color:#1b1007}
@media(max-width:1180px){.surgery-results{grid-template-columns:1fr}.surgery-controls label:first-child,.surgery-controls label:nth-of-type(2){flex:1 1 280px}.surgery-controls label select{width:100%}}
@media(max-width:680px){.surgery-section{padding-top:30px}.surgery-basebar{align-items:stretch;flex-direction:column}.surgery-basebar button{width:100%}.surgery-controls{align-items:stretch}.surgery-controls label{width:100%}.surgery-controls select{width:100%;min-width:0}.surgery-controls .surgery-check{width:100%}.surgery-controls button{width:100%}.surgery-arrow{display:none}.surgery-compare{grid-template-columns:1fr}.surgery-actions{grid-template-columns:1fr}}
