/* OWN / FLOW 1.5 — restrained surfaces, explicit interaction hierarchy. */
:root{--surface-glow:rgba(136,218,196,.035)}
body{background:radial-gradient(ellipse at 88% 0,rgba(39,78,92,.10),transparent 58%),#0a121b;color:#dce8ed}
.panel{border-color:#253543;box-shadow:0 8px 28px #00000012,inset 0 1px #ffffff03;background:linear-gradient(155deg,#131f2b,#101b27 64%)}
.panel-head{border-bottom-color:#23313d}.panel-head h2{letter-spacing:.01em}.panel-body{min-width:0}
button,select,input{transition:border-color .16s,background-color .16s,box-shadow .16s}
button:hover{border-color:#657f8d}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #9edcc7;outline-offset:3px}
button.primary{box-shadow:0 3px 12px #79d6b714}button:disabled{cursor:not-allowed;opacity:.42}
input[type=range]{accent-color:#9fe2c6}input[type=checkbox]{accent-color:#9fe2c6}select{color-scheme:dark;min-height:36px}
.tabs{gap:4px;padding:4px;background:#0d1821;border:1px solid #24343f;border-radius:12px}
.tabs .tab{border-radius:8px;padding:11px 16px;border:0}.tabs .tab.active{background:#20362f;color:#b6ecd6;box-shadow:inset 0 0 0 1px #3d6555}
.hint{line-height:1.7;color:#9aafbb}.eyebrow{letter-spacing:.14em}.page-title p{color:#9eafbc}
.lab-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
.lab-workflow a{display:flex;align-items:center;gap:13px;padding:17px 18px;border:1px solid #2c424b;border-radius:12px;background:linear-gradient(130deg,#162c30,#121f2a);text-decoration:none;color:inherit;transition:transform .18s,border-color .18s}
.lab-workflow a:hover{transform:translateY(-2px);border-color:#739f94}.lab-workflow a>span{font:500 13px monospace;color:#98d7be;align-self:flex-start;padding-top:3px}
.lab-workflow strong{font-size:14px;font-weight:550;display:block;margin-bottom:6px}.lab-workflow small{font-size:11px;line-height:1.4;color:#8fa8b3}.lab-workflow svg{margin-left:auto;width:16px;color:#8fbaa9;flex-shrink:0}
.match-lens{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:0 0 12px}.match-lens>div>strong{display:block;font-size:15px;font-weight:500;margin-top:5px}.match-lens .eyebrow{font-size:10px;color:#8dafa8}
.lens-buttons{display:flex;padding:3px;background:#0b161f;border:1px solid #2c3f4b;border-radius:10px;gap:4px}.lens-buttons button{border:0;border-radius:7px;padding:9px 20px;background:transparent;font-size:12px}.lens-buttons button.active{background:#2b4c43;color:#c6f0de;box-shadow:inset 0 0 0 1px #527d6c}
.match-lens-legend{font-size:11px;color:#91a9b5;min-height:22px;line-height:1.6;margin-bottom:9px}.match-lens-legend i{display:inline-block;width:15px;height:2px;vertical-align:middle;margin-right:4px}.match-lens-legend i.blue{background:#74c9ff}.match-lens-legend i.coral{background:#ff9273}
.match-stage{padding:20px;background:linear-gradient(140deg,#13232c,#101c25);border:1px solid #2c414b;border-radius:16px;box-shadow:0 14px 42px #0002}.match-stage #match-panel{margin-bottom:0;border:1px solid #385047;border-radius:12px;overflow:hidden}
.score-strip{background:linear-gradient(100deg,#122636,#182c2b);border-bottom:1px solid #536e5e55}.pitch-player-label{background:#0a1926e8!important;border:1px solid #6d9b8a88!important;border-radius:5px!important;box-shadow:0 3px 10px #0004;font-size:10px!important;padding:4px 7px!important;backdrop-filter:blur(6px)}
.pitch-mission-tags{position:absolute;inset:0;pointer-events:none;overflow:hidden}.pitch-mission-tags span{position:absolute;transform:translate(-50%,-50%);font:600 10px system-ui;background:#0b1925de;border-radius:4px;min-width:18px;padding:1px 3px;text-align:center}
.pitch-toolbar{background:#101d27bc;border:1px solid #b0d1c522;border-radius:8px;padding:3px;backdrop-filter:blur(8px)}.pitch-toolbar button{font-size:10px;padding:6px 9px}.pitch-toolbar button.active{background:#93cbbf2b;border-color:#789b8c}
.match-mission-ribbon{display:flex;align-items:center;gap:28px;padding:18px 22px;margin:16px 0 22px;border:1px solid #2c454a;border-radius:12px;background:linear-gradient(110deg,#17312d,#14232f)}
.match-mission-ribbon>div{min-width:0}.match-mission-ribbon>div:first-child{margin-right:auto}.match-mission-ribbon strong{display:block;color:#b2e4cf;font-size:16px;margin-top:5px;font-weight:550}.match-mission-ribbon small{display:block;color:#8fa9ae;font-size:10px;margin-bottom:6px}.match-mission-ribbon>div>span:not(.eyebrow){font-size:12px}.match-mission-ribbon .eyebrow{font-size:9px}
.phase-workflow{margin:0 0 20px;padding:25px 27px;border:1px solid #304650;border-radius:14px;background:radial-gradient(ellipse at 80% 0,#1b3c3c66,transparent 70%),linear-gradient(145deg,#172832,#111f2c)}
.phase-workflow-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.phase-workflow h2{font-size:20px;font-weight:550;margin:8px 0 22px}.phase-workflow .eyebrow{font-size:10px;color:#99b9b3}
.phase-readiness{font-size:11px;color:#d9c48e;border:1px solid #6c614233;background:#8070431a;padding:8px 12px;border-radius:30px;white-space:nowrap}.phase-readiness.ready{color:#b6e9d2;border-color:#5a987d55;background:#3c7c601f}
.phase-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #30444e;border-radius:9px;background:#0d1a23;margin-bottom:19px}.phase-flow-steps>div{display:flex;align-items:center;gap:13px;padding:17px 20px;min-width:0}.phase-flow-steps>div+div{border-left:1px solid #2b3d47}.phase-flow-steps b{font:400 18px monospace;color:#49616d}.phase-flow-steps .active b{color:#9bd8bf}.phase-flow-steps span{font-size:13px}.phase-flow-steps small{display:block;font-size:10px;color:#87a0ac;margin-top:5px}
.phase-timeline>div{display:flex;justify-content:space-between;font-size:10px;color:#9bb3bf}.phase-timeline svg{display:block;width:100%;height:50px}.phase-timeline small{font:11px monospace}
.phase-filters{display:flex;flex-wrap:wrap;gap:7px}.phase-filters button{display:flex;align-items:center;gap:7px;font-size:11px;border:1px solid #324955;background:#142630;padding:7px 10px;border-radius:6px;color:#a8bcc8}.phase-filters button.active{border-color:#7cac99;color:#e1f2e9;background:#2a453c}.phase-filters i{width:6px;height:6px;border-radius:50%;background:var(--phase)}.phase-filters b{font:10px monospace;opacity:.75}
.phase-progress{margin-top:19px;padding-top:17px;border-top:1px solid #304550}.phase-progress [role=progressbar]{height:4px;border-radius:4px;background:#2a414c;overflow:hidden}.phase-progress i{height:100%;display:block;background:linear-gradient(90deg,#608e9e,#a6e2c8);border-radius:4px}.phase-progress p{font-size:11px;color:#a6bac5;line-height:1.6;margin:9px 0 0}
.mas-phase-toolbar{padding:15px 18px;border:1px solid #2e414b;background:#14232d;border-radius:10px;margin-bottom:20px}.mas-identify-toolbar{gap:12px;padding:15px 0}.mas-dual .panel{overflow:hidden}.mas-explanation{border-radius:9px}.mas-equation,.formula{line-height:1.8;letter-spacing:.015em}.formula sub,.mas-equation sub{font-size:.72em}.formula sup,.mas-equation sup{font-size:.72em}
@media(min-width:1400px){.match-stage .pitch-host{height:540px}}
@media(max-width:1100px){.match-mission-ribbon{gap:18px;flex-wrap:wrap}.match-mission-ribbon>div:first-child{min-width:180px}.lab-workflow a{padding:14px 12px;gap:9px}.lab-workflow small{font-size:10px}.lab-workflow svg{display:none}.phase-flow-steps>div{padding:15px 12px}}
@media(max-width:760px){.lab-workflow{grid-template-columns:1fr;gap:7px}.lab-workflow a{padding:12px 15px}.lab-workflow a>span{padding:0}.lab-workflow strong{display:inline;margin:0 10px 0 0;font-size:12px}.lab-workflow small{font-size:10px}.lab-workflow a>div{line-height:1.5}.match-stage{padding:12px;border-radius:12px}.match-lens{flex-wrap:wrap;gap:12px}.match-lens>div>strong{font-size:13px}.lens-buttons{width:100%}.lens-buttons button{flex:1;padding:8px 12px}.match-mission-ribbon{padding:16px;gap:18px;display:grid;grid-template-columns:1fr 1fr}.match-mission-ribbon strong{font-size:14px}.match-mission-ribbon>div:first-child{min-width:0}.match-mission-ribbon button{grid-column:1/-1}.phase-workflow{padding:18px 15px}.phase-workflow h2{font-size:17px;line-height:1.5;margin-bottom:16px}.phase-workflow-top{align-items:flex-start}.phase-readiness{padding:6px 8px;font-size:10px}.phase-flow-steps{grid-template-columns:1fr}.phase-flow-steps>div{padding:10px 14px}.phase-flow-steps>div+div{border-left:0;border-top:1px solid #2b3d47}.phase-flow-steps small{display:inline;margin-left:10px}.phase-filters{gap:6px}.phase-filters button{font-size:10px}.phase-timeline>div>span{font-size:9px}.pitch-toolbar button{font-size:9px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.lab-workflow a:hover{transform:none}}
/* Keep the editable graph visible without a tall introductory stack. */
#mission-studio[data-mode=editor] .mission-intro{padding:16px 20px;gap:20px;margin-bottom:14px;align-items:center}
#mission-studio[data-mode=editor] .mission-intro h2{font-size:18px;margin:6px 0}
#mission-studio[data-mode=editor] .mission-intro p{font-size:12px;margin:0;line-height:1.6}
#mission-studio[data-mode=editor] .mission-presets{gap:10px;margin:14px 0}
#mission-studio[data-mode=editor] .mission-presets button{padding:13px 16px;min-height:0}
#mission-studio[data-mode=editor] .mission-presets strong{font-size:13px;margin:5px 0}
#mission-studio[data-mode=editor] .mission-presets small{font-size:10px}
.mission-graph-picker{margin:15px 0 12px;font-size:12px}.mission-graph-picker .actions{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;margin:0}.mission-graph-picker .actions select{width:210px;max-width:100%;margin:0}.mission-graph-picker button{white-space:nowrap}
.des-heading{padding:19px 24px}.des-heading h2{font-size:20px;margin:7px 0}.des-heading p{font-size:12px}.des-toolbar{user-select:none}.des-port-hit{fill:transparent;stroke:none;cursor:crosshair;pointer-events:all}.des-port{pointer-events:none}.des-port-hit:focus+.des-port,.des-port-hit:hover+.des-port{fill:#a5ecd2;stroke:#d8fff1}
@media(max-width:760px){#mission-studio[data-mode=editor] .mission-intro{align-items:flex-start;padding:15px;flex-direction:column;gap:12px}.mission-enable{min-width:0;font-size:12px;padding:10px}.mission-graph-picker{flex-direction:column;align-items:stretch;gap:10px}.mission-graph-picker .actions select{min-width:0;width:100%;flex:1}.des-heading{padding:17px}.des-heading h2{font-size:18px}.des-toolbar button{font-size:11px;padding:8px}.des-version{font-size:8px}}
