:root{--bg:#172b35;--bg-grid:#142933;--panel:#233e49;--panel-2:#2b4853;--panel-3:#34545e;--line:#45616b;--line-2:#64808a;--text:#f0f6f3;--muted:#b5c9ce;--faint:var(--muted);--mint:#84dfcf;--mint-ink:#16313b;--copper:#ddaa76;--amber:#ffd081;--coral:#ffabb0;--violet:#a78bfa;--sky:#b8daff;--ok:#9de1b5;--module:#e3ece8;--module-ink:#16313b;--module-line:#b4c9c1;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius:12px;--radius-sm:8px;--radius-editorial:20px;--elevation-panel:0 8px 24px #0512182e;--elevation-module:0 5px 0 #718f86, 0 12px 24px #05121838;--elevation-overlay:0 20px 56px #05121880;--font:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}button{font:inherit;color:inherit}a{color:var(--sky)}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) var(--panel)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--panel)}::-webkit-scrollbar-thumb{background:var(--line-2);border:2px solid var(--panel);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-thumb:active{background:var(--sky)}:focus-visible{outline:2px solid var(--sky);outline-offset:3px}.pack-note{margin-top:16px;font-size:12px;line-height:1.6}.agent-trace{background:var(--bg-grid);border:1px solid var(--line);border-radius:var(--radius-sm);align-content:center;gap:8px;padding:12px;display:grid}.agent-protocol{flex-wrap:wrap;gap:8px;display:flex}.tool-contract{margin:14px 0}.tool-contract pre{background:var(--bg-grid);border:1px solid var(--line);border-radius:var(--radius-sm);max-width:100%;padding:10px;font-size:11px;line-height:1.6;overflow-x:auto}.tool-contract p{margin-top:8px;font-size:12px}.agent-protocol .chip+.chip:before{content:"→";color:var(--muted)}.agent-trace .faint{color:var(--muted);font-size:12px}@media (forced-colors:active){*{scrollbar-color:auto}:focus-visible{outline-color:highlight}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--panel-2);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-weight:500;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-3);border-color:var(--faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--mint);color:var(--mint-ink);border-color:var(--mint);font-weight:600}.btn.amber{color:var(--amber);background:0 0;border-color:#6b5313}.btn.danger{color:var(--coral);background:0 0;border-color:#6b2a39}.btn.ghost{background:0 0;border-color:#0000}.btn.small{padding:4px 8px;font-size:12px}.btn svg{width:16px;height:16px}.chip{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.chip.mint{color:var(--mint);border-color:#1f5a52}.chip.amber{color:var(--amber);border-color:#5c4614}.chip.coral{color:var(--coral);border-color:#5f2734}.chip.violet{color:var(--violet);border-color:#44366e}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.lab{grid-template:"top top top"58px"learning learning learning""left center right"minmax(0,1fr)"bottom bottom bottom"270px/330px minmax(0,1fr) 310px;height:100dvh;display:grid}.top{grid-area:top}.left{grid-area:left}.center{grid-area:center;position:relative}.right{grid-area:right}.bottom{grid-area:bottom}.panel{background:var(--panel);border-color:var(--line);border-style:solid;border-width:0;min-height:0}.left.panel{border-right-width:1px;overflow-y:auto}.right.panel{border-left-width:1px;overflow-y:auto}.bottom.panel{border-top-width:1px}.section{border-bottom:1px solid var(--line);padding:14px 16px}.section:last-child{border-bottom:0}.section-title{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(#121c33,#0e1628);align-items:center;gap:14px;padding:0 16px;display:flex}.logo{font-family:var(--mono);letter-spacing:.04em;white-space:nowrap;font-size:15px;font-weight:600}.logo .slash{color:var(--mint)}.crumbs{min-width:0;color:var(--muted);align-items:center;gap:8px;display:flex}.crumbs strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.objectives-bar{flex-wrap:nowrap;align-items:center;gap:8px;margin-left:auto;display:flex;overflow:hidden}.obj-chip{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.canvas-wrap{background:var(--bg);isolation:isolate;z-index:0;position:absolute;inset:0}.react-flow{--xy-background-color:transparent}.react-flow__attribution{opacity:.45;font-size:9px;background:0 0!important}.react-flow__attribution a{color:var(--faint)!important}.react-flow__controls{box-shadow:none!important}.react-flow__controls-button{background:var(--panel-2)!important;border-color:var(--line)!important;fill:var(--muted)!important}.react-flow__controls-button svg{fill:var(--muted)!important}.react-flow__handle{background:var(--panel-3);border:2px solid var(--mint);width:12px;height:12px}.react-flow__handle:hover{background:var(--mint)}.react-flow__edge.selected .flow-edge-line{stroke:var(--sky)!important}.react-flow__connectionline path{stroke:var(--mint);stroke-dasharray:6 4}.scenario-banner{z-index:5;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#10182beb;border-radius:999px;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.scenario-banner.hidden-replay{border-color:var(--violet);color:var(--violet)}.zone-strip{z-index:5;pointer-events:none;gap:6px;width:max-content;max-width:calc(100% - 16px);display:flex;position:absolute;top:54px;left:50%;transform:translate(-50%)}.zone-pill{white-space:nowrap;font-size:11.5px;font-family:var(--mono);color:var(--mint);background:#10182beb;border:1px solid #1f5a52;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.zone-pill.down{border-color:var(--coral);color:var(--coral);background:#3c121eeb;animation:1s ease-in-out infinite throb}.zone-tags{gap:3px;display:inline-flex}.zone-tag{color:var(--mint);border:1px solid #1f5a52;border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:600}.zone-tag.down{border-color:var(--coral);color:var(--coral);background:#fb71851f}.pip.impaired{border-color:var(--coral);background:0 0;position:relative}.pip.impaired:after{content:"✕";text-align:center;color:var(--coral);font-size:9px;line-height:11px;position:absolute;inset:-2px 0 0}.canvas-hint{z-index:5;color:var(--faint);pointer-events:none;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.cnode{background:var(--panel-2);border:1.5px solid var(--line-2);border-radius:14px;width:196px;transition:border-color .2s,box-shadow .2s;box-shadow:0 6px 24px #00000059}.cnode.selected{outline:3px solid var(--sky);outline-offset:3px}.cnode.health-hot{border-color:var(--amber)}.cnode.health-overloaded,.cnode.health-down{border-color:var(--coral);animation:1s ease-in-out infinite throb;box-shadow:0 0 0 3px #fb718533,0 0 26px #fb718540}.cnode.unreachable{opacity:.55;border-style:dashed}.cnode.identity{background:linear-gradient(160deg, #fbbf240f, var(--panel-2) 55%);border-color:#5c4614}.cnode.identity .cnode-icon{color:var(--amber)}.cnode.connect-origin{border-color:var(--mint);opacity:1;border-style:solid;box-shadow:0 0 0 3px #5eead440}.cnode.connect-target{border-color:var(--mint);opacity:1;border-style:dashed;animation:1.2s ease-in-out infinite invite}@keyframes invite{50%{box-shadow:0 0 0 6px #5eead42e}}@keyframes throb{50%{box-shadow:0 0 0 5px #fb71851f,0 0 30px #fb718559}}.cnode-head{align-items:center;gap:9px;padding:10px 12px 8px;display:flex}.cnode-icon{background:var(--panel-3);width:30px;height:30px;color:var(--mint);border-radius:9px;flex:none;place-items:center;display:grid}.cnode-icon svg{width:18px;height:18px}.cnode-title{font-size:14px;font-weight:600;line-height:1.15}.cnode-sub{color:var(--muted);font-size:12px;font-family:var(--mono)}.cnode-body{gap:6px;padding:0 12px 10px;display:grid}.cnode-row{color:var(--muted);font-size:12px;font-family:var(--mono);justify-content:space-between;display:flex}.cnode-row b{color:var(--text);font-weight:600}.cnode-row .bad{color:var(--coral)}.cnode-row .warn{color:var(--amber)}.cnode-status{color:var(--coral);white-space:nowrap;text-overflow:ellipsis;padding:0 12px 10px;font-size:11px;font-weight:600;overflow:hidden}.cnode.health-hot .cnode-status{color:var(--amber)}.bar{background:var(--panel-3);border-radius:4px;height:6px;overflow:hidden}.bar>i{background:var(--mint);border-radius:4px;height:100%;transition:width .15s linear,background .2s;display:block}.pips{flex-wrap:wrap;gap:3px;display:flex}.pip{background:var(--panel-3);border:1px solid var(--line-2);border-radius:3px;width:11px;height:11px}.pip.zombie{background:var(--violet);border-color:var(--violet);opacity:.85}.pip.idle{border-color:var(--mint);background:0 0}.pip.launching{border:1px dashed var(--sky);background:0 0;animation:1s steps(2,end) infinite blink}.pip.max{border-style:dotted;border-color:var(--faint);opacity:.5;background:0 0}@keyframes blink{50%{opacity:.35}}.badge-lock{color:var(--faint);margin-left:auto;font-size:10px}.flow-dot{transition:opacity .35s,fill .35s}.flow-edge-line{transition:stroke .35s,stroke-width .35s}.edge-caption{white-space:nowrap;border:1px solid var(--line-2);background:var(--panel);color:var(--text);border-radius:7px;align-items:center;gap:5px;padding:3px 5px;font-size:11px;display:flex;position:absolute}.edge-caption .edge-remove{position:static;transform:none}.node-navigator{z-index:7;position:absolute;bottom:12px;right:12px}.node-navigator>button{background:var(--panel);border:1px solid var(--line-2)}.node-navigator-list{background:var(--panel);border:1px solid var(--line-2);border-radius:12px;gap:8px;width:min(280px,100vw - 24px);max-height:min(360px,65dvh);padding:12px;display:grid;position:absolute;bottom:44px;right:0;box-shadow:0 12px 32px #0006}.node-navigator-list label{color:var(--muted);font-size:12px}.node-navigator-list input{border:1px solid var(--line-2);background:var(--panel-2);width:100%;min-height:36px;color:var(--text);border-radius:7px;padding:6px 8px}.node-navigator-items{gap:4px;min-height:0;display:grid;overflow-y:auto}.node-navigator-items button{text-align:left;background:var(--panel-2);min-height:42px;color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.node-navigator-items button.active{border-color:var(--sky)}.node-navigator-items small{color:var(--muted);display:block}.inspector-summary{border:1px solid var(--line-2);background:var(--panel-2);border-radius:8px;gap:4px;margin-bottom:12px;padding:9px 10px;font-size:12px;display:grid}.inspector-summary span{color:var(--muted)}.inspector-summary .issue{margin:2px 0 0}.brief-headline{margin-bottom:8px;font-size:16px;font-weight:600;line-height:1.3}.brief-story{color:var(--muted);margin-bottom:10px}.brief-task{border-radius:var(--radius-sm);background:#5eead412;border:1px solid #1f5a52;padding:10px 12px}.list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.list li{align-items:flex-start;gap:8px;display:flex}.list li .dot{margin-top:6px}.objective{grid-template-columns:18px 1fr;align-items:start;gap:8px;display:grid}.objective .state{border:1.5px solid var(--faint);border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.objective.pass .state{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}.objective.fail .state{border-color:var(--coral);color:var(--coral);background:0 0}.objective .detail{color:var(--muted);font-size:12px;font-family:var(--mono)}.medal{border-radius:var(--radius-sm);border:1px dashed var(--line-2);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.medal.earned{background:#fbbf2412;border-style:solid;border-color:#5c4614}.medal svg{width:18px;height:18px;color:var(--faint);flex:none;margin-top:1px}.medal.earned svg{color:var(--amber)}.hint-ladder{gap:4px;margin-bottom:10px;display:flex}.hint-step{background:var(--panel-3);border-radius:3px;flex:1;height:5px}.hint-step.on{background:var(--amber)}.hint-card{border-radius:var(--radius-sm);background:var(--panel-2);border-left:3px solid var(--amber);margin-bottom:8px;padding:10px 12px}.hint-card h4{color:var(--amber);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:12px}.evidence{gap:6px;display:grid}.evidence-item{border-radius:var(--radius-sm);background:var(--panel-2);border-left:3px solid var(--coral);padding:8px 10px;font-size:13px}.evidence-item.warn{border-left-color:var(--amber)}.evidence-item.info{border-left-color:var(--mint)}.toolbox{gap:8px;display:grid}.tool{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);cursor:grab;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.tool:hover{border-color:var(--mint)}.tool .cnode-icon{width:34px;height:34px}.tool-name{font-size:13px;font-weight:600}.tool-desc{color:var(--muted);font-size:11.5px;line-height:1.3}.field{gap:5px;margin-bottom:12px;display:grid}.field label{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.field label b{color:var(--text);font-family:var(--mono)}.field input[type=range]{width:100%;accent-color:var(--mint)}.field select{border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--line-2);width:100%;color:var(--text);font:inherit;padding:7px 8px;font-size:13px}.field .help{color:var(--faint);font-size:11.5px}.tally{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tally.tally-4{grid-template-columns:repeat(4,1fr)}@media (width<=600px){.tally.tally-4{grid-template-columns:repeat(2,1fr)}}.tally-cell{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);gap:2px;padding:12px;display:grid}.tally-cell b{font-family:var(--mono);font-size:26px}.tally-cell span{font-size:13px}.tally-cell small{color:var(--faint);font-size:11px}.tally-cell.provider b{color:var(--sky)}.tally-cell.customer b{color:var(--amber)}.tally-cell.breach{border-color:#5f2734}.tally-cell.breach b{color:var(--coral)}.resp-list{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.resp-list li{color:var(--muted);grid-template-columns:34px 1fr;align-items:start;gap:8px;font-size:12.5px;display:grid}.resp-owner{font-family:var(--mono);text-align:center;border:1px solid;border-radius:5px;padding:1px 0;font-size:10.5px;font-weight:600}.resp-owner.provider{color:var(--sky);background:#7dd3fc14;border-color:#24506b}.resp-owner.customer{color:var(--amber);background:#fbbf2414;border-color:#5c4614}.conn{justify-content:space-between;align-items:center;gap:6px;padding:5px 0;font-size:12.5px;display:flex}.issue{border-radius:var(--radius-sm);color:#fecdd3;background:#fb718514;border:1px solid #5f2734;margin-bottom:6px;padding:7px 9px;font-size:12.5px}.issue.warning{color:#fde68a;background:#fbbf2412;border-color:#5c4614}.dock{grid-template-columns:300px minmax(0,1fr) 360px;height:100%;display:grid}.dock>div{min-width:0;min-height:0}.controls{border-right:1px solid var(--line);align-content:start;gap:12px;padding:14px 16px;display:grid}.transport{gap:6px;width:100%;min-width:0;display:flex}.transport .btn{flex:1 1 0;justify-content:center;min-width:0}.transport [data-testid=reset] span{display:none}.simclock{font-family:var(--mono);letter-spacing:.02em;font-size:26px;font-weight:600}.simclock small{color:var(--muted);font-size:13px;font-weight:400}.progress{background:var(--panel-3);border-radius:2px;height:4px;overflow:hidden}.progress>i{background:var(--mint);height:100%;display:block}.speeds{gap:4px;width:100%;min-width:0;display:flex}.speeds .btn{min-width:0;font-family:var(--mono);flex:1 1 0;justify-content:center;padding:4px 2px;font-size:12px}.speeds .btn.on{border-color:var(--mint);color:var(--mint)}.scenario-select{flex-wrap:wrap;gap:6px;display:flex}.telemetry{border-right:1px solid var(--line);grid-template-rows:auto minmax(68px,1fr);gap:10px;padding:12px 14px;display:grid;overflow-y:auto}.kpis{scrollbar-width:none;grid-template-columns:repeat(8,minmax(100px,1fr));gap:8px;display:grid;overflow-x:auto}.kpis::-webkit-scrollbar{height:0;display:none}.kpi{border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--line);padding:7px 9px}.kpi .k{color:var(--muted);overflow-wrap:anywhere;min-height:31px;font-size:12px;line-height:1.3}.kpi .v{font-family:var(--mono);font-size:15px;font-weight:600}.kpi.bad .v{color:var(--coral)}.kpi.warn .v{color:var(--amber)}.chart{min-height:0;position:relative}.chart svg{width:100%;height:100%;display:block}.legend{color:var(--muted);gap:12px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:2px;width:10px;height:3px;display:inline-block}.timeline{flex-direction:column;min-height:0;display:flex}.timeline-head{padding:12px 14px 6px}.events{flex:1;align-content:start;gap:4px;min-height:0;padding:0 10px 10px;display:grid;overflow-y:auto}.event{border-radius:6px;grid-template-columns:54px 10px 1fr;align-items:start;gap:7px;padding:4px 6px;font-size:12.5px;display:grid}.event time{font-family:var(--mono);color:var(--faint);padding-top:1px;font-size:11px}.event .dot{margin-top:5px}.event.info .dot{color:var(--sky)}.event.success .dot{color:var(--mint)}.event.warn .dot{color:var(--amber)}.event.error .dot{color:var(--coral)}.event.fresh{background:#7dd3fc14}.toast{z-index:20;border-radius:var(--radius-sm);background:var(--panel-3);border:1px solid var(--coral);max-width:520px;padding:9px 14px;font-size:13px;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.toast.info{border-color:var(--sky)}.report{z-index:10;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);width:400px;max-height:calc(100% - 32px);position:absolute;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 16px 50px #00000080}.report.pass{border-color:#1f5a52}.report.fail{border-color:#5f2734}.report-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.report-head h3{font-size:15px}.report-body{gap:12px;padding:12px 16px;display:grid}.report-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.modal-back{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050810b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;width:min(920px,100%);min-width:0;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 80px #0009}.modal-head{border-bottom:1px solid var(--line);flex:none;padding:22px 26px 16px}.modal-body{overscroll-behavior:contain;flex:auto;align-content:start;gap:18px;min-height:0;padding:18px 26px;display:grid;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;padding:16px 26px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dim{grid-template-columns:120px 1fr 36px;align-items:center;gap:10px;font-size:13px;display:grid}.dim .bar{height:8px}.source-link{gap:1px;font-size:12.5px;display:grid}.source-link small{color:var(--faint)}.callout{border-radius:var(--radius-sm);background:#a78bfa14;border:1px solid #44366e;padding:12px 14px}.callout h4{color:var(--violet);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:12px}.home{background:radial-gradient(circle at 15% -10%, #5eead41f, transparent 45%), radial-gradient(circle at 100% 0%, #a78bfa1a, transparent 40%), var(--bg);min-height:100vh;overflow-x:clip}.home-inner{gap:28px;max-width:1180px;margin:0 auto;padding:32px 24px 64px;display:grid}.home-hero{grid-template-columns:1.3fr 1fr;align-items:stretch;gap:24px;display:grid}.hero-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px}.hero-card h1{margin:10px 0;font-size:30px;line-height:1.15}.loop{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.packs{flex-wrap:wrap;gap:10px;display:flex}.pack-tab{border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:12px;padding:10px 14px}.pack-tab.on{border-color:var(--mint)}.pack-tab:disabled{cursor:not-allowed;opacity:.55}.roadmap{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-content:start;gap:8px;min-height:132px;padding:14px;display:grid}.tile.planned{opacity:.55}.tile .num{font-family:var(--mono);color:var(--faint);font-size:12px}.mastery-row{grid-template-columns:170px 1fr 110px;align-items:center;gap:10px;padding:6px 0;font-size:13px;display:grid}.btn.on{border-color:var(--mint);color:var(--mint)}.btn-label-short{display:none}.edge-remove{pointer-events:all;z-index:5;background:var(--panel-3);min-height:32px;color:var(--coral);font:600 12px var(--font);cursor:pointer;border:1px solid #6b2a39;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;display:inline-flex;position:absolute;box-shadow:0 6px 18px #00000073}.edge-remove:hover{background:#3a1d2a}.node-actions{background:var(--panel-3);border:1px solid var(--line-2);pointer-events:none;border-radius:12px;gap:2px;padding:3px;display:flex;box-shadow:0 8px 22px #00000080}.react-flow__node-toolbar{pointer-events:none}.node-actions button{min-height:36px;color:var(--text);pointer-events:auto;font:600 12.5px var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:5px;padding:0 11px;display:inline-flex}.node-actions button:active{background:var(--panel-2)}.node-actions button.danger{color:var(--coral)}.undo-toast{z-index:30;background:var(--panel-3);border:1px solid var(--line-2);white-space:nowrap;border-radius:12px;align-items:center;gap:12px;padding:6px 6px 6px 14px;font-size:13px;animation:.18s ease-out undo-up;display:flex;position:absolute;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 34px #00000080}.undo-timer{background:var(--amber);transform-origin:0;width:100%;height:2px;animation:linear forwards undo-shrink;position:absolute;bottom:0;left:0}@keyframes undo-shrink{to{transform:scaleX(0)}}@keyframes undo-up{0%{opacity:0;transform:translate(-50%,16px)}}.connect-banner{z-index:6;border:1px solid var(--mint);white-space:nowrap;background:#10182bf2;border-radius:999px;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:6px 8px 6px 14px;font-size:13px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%)}.connect-banner-text{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=1200px){.lab{grid-template-columns:290px minmax(0,1fr) 270px}.dock{grid-template-columns:260px minmax(0,1fr) 300px}.roadmap{grid-template-columns:repeat(2,1fr)}.home-hero{grid-template-columns:1fr}}@media (pointer:coarse){.react-flow__handle{border-width:3px;width:20px;height:20px}.react-flow__handle.source{background:var(--mint);box-shadow:0 0 0 4px #5eead42e}.react-flow__handle:after{content:"";width:calc(52px * var(--inv-zoom,1));height:calc(52px * var(--inv-zoom,1));border-radius:50%;position:absolute;top:50%;left:50%}.react-flow__handle-right:after{transform:translate(calc(-50% + 12px * var(--inv-zoom,1)), -50%)}.react-flow__handle-left:after{transform:translate(calc(-50% - 12px * var(--inv-zoom,1)), -50%)}.btn{min-height:40px}.btn.small{min-height:34px}.field input[type=range]{height:28px}.field select{min-height:40px;font-size:16px}}@media (width<=900px){.home-inner{gap:20px;padding:16px 16px 48px}.home-inner>header{flex-wrap:wrap}.packs{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:0 16px 4px;overflow-x:auto}.pack-tab{flex:none}.hero-card{border-radius:14px;padding:18px}.hero-card h1{font-size:24px}.roadmap{grid-template-columns:1fr 1fr;gap:10px}.tile{min-height:0;padding:12px}.mastery-row{grid-template-columns:1fr 90px;row-gap:4px}.mastery-row .bar{grid-area:2/1/auto/-1}.modal-back{place-items:stretch stretch;padding:0}.modal{border:0;border-radius:0;width:100%;height:100%;max-height:none}.modal-head{padding:18px 16px 12px;padding-top:max(18px, env(safe-area-inset-top))}.modal-body{padding:14px 16px}.modal-foot{padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.modal-foot .btn{flex:auto;justify-content:center}.grid-2{grid-template-columns:1fr}.dim{grid-template-columns:110px 1fr 32px}.mlab{background:var(--bg);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0}.mlab>.topbar{grid-area:1/1}.mlab>.learning-bar{grid-area:2/1}.mlab>.mcenter{grid-area:3/1}.mlab>.mtransport{grid-area:4/1}.mlab>.mtabs{grid-area:5/1}.topbar{padding:0 8px;padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top));gap:8px}.logo-full,.crumb-pack,.crumb-type,.obj-chip,.debrief-btn,.btn-label{display:none}.btn-label-short{display:inline}.logo{font-size:16px}.crumbs{flex:1}.crumbs strong{font-size:14px}.objectives-bar{flex:none;margin-left:0}.mcenter{min-height:0;position:relative;overflow:hidden}.node-navigator{bottom:8px;right:8px}.scenario-banner{white-space:nowrap;max-width:calc(100% - 16px);padding:5px 10px;font-size:11.5px;top:8px;overflow:hidden}.scenario-banner strong{text-overflow:ellipsis;overflow:hidden}.banner-prefix{display:none}.zone-strip{flex-wrap:nowrap;top:44px;left:50%;transform:translate(-50%)}.zone-pill{padding:3px 8px;font-size:10.5px}.hidden-replay .banner-prefix{display:inline}.connect-banner{font-size:12.5px;top:76px}.toast{max-width:calc(100% - 24px);top:44px}.report{width:auto;max-height:56%;bottom:8px;left:8px;right:8px}.report-head,.report-body,.report-actions{padding:10px 12px}.report-actions .btn{flex:auto;justify-content:center}.msheet{z-index:15;background:var(--panel);border-top:1px solid var(--line-2);border-radius:16px 16px 0 0;flex-direction:column;max-height:64%;animation:.18s ease-out sheet-up;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -18px 50px #0000008c}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.msheet-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:10px 8px 6px 16px;display:flex;position:relative}.msheet-grip{background:var(--line-2);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:5px;left:50%}.msheet-head .btn{margin-left:auto}.msheet-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.msheet-telemetry .telemetry{border:0;grid-template-rows:auto 160px}.msheet-telemetry .kpis{grid-template-columns:1fr 1fr}.msheet-timeline .timeline{max-height:55dvh}.msheet-timeline .timeline-head{display:none}.msheet-timeline .events{padding-top:8px}.mtransport{background:var(--panel);border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:0 10px 8px;display:grid}.mtransport .progress{border-radius:0;margin:0 -10px}.mclock{white-space:nowrap;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:17px;font-weight:600;display:flex}.mclock small{color:var(--muted);font-size:11px;font-weight:400}.mdrop{color:var(--coral);font-size:11px;font-weight:600}.mbuttons{gap:6px;display:flex}.mbuttons .btn{justify-content:center;min-width:44px;min-height:44px;padding:0 10px}.mscenario{border-radius:var(--radius-sm);background:var(--panel-2);width:100%;min-height:36px;color:var(--violet);font:inherit;border:1px solid #44366e;grid-column:1/-1;padding:4px 8px;font-size:14px}.mtabs{border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#0d1424;grid-template-columns:repeat(5,1fr);display:grid}.mtab{min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;padding:7px 0 8px;font-size:11px;display:grid}.mtab.on{color:var(--mint)}.mtab-icon{width:22px;height:22px;position:relative}.mtab-icon svg{width:22px;height:22px}.mtab-badge{border:2px solid #0d1424;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-5px}.mtab-badge.coral{background:var(--coral)}.mtab-badge.sky{background:var(--sky)}}.context-preview meter{width:100%;height:12px;accent-color:var(--mint)}.context-block{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.context-block-heading{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.context-block details summary{cursor:pointer;color:var(--muted);padding:8px 0;font-size:12px}.context-block pre,.repo-preview pre{white-space:pre-wrap;overflow-wrap:anywhere}.access-preview .mono,.access-preview .help,.access-preview .faint{overflow-wrap:anywhere}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.modal-dialog{width:min(920px,100vw - 48px);max-width:none;max-height:calc(100dvh - 48px);color:var(--text);background:0 0;border:0;margin:auto;padding:0;overflow:visible}.modal-dialog.narrow{width:min(680px,100vw - 48px)}.modal-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050810c7}.modal-dialog:focus{outline:none}.learning-bar{background:var(--panel);border-bottom:1px solid var(--line);grid-area:learning;min-width:0;padding:6px 16px}.learning-actions{align-items:center;gap:8px;min-height:34px;display:flex}.check-field{color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:inline-flex}.check-field input{accent-color:var(--mint);width:16px;height:16px}.save-status{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.save-status.error{color:var(--coral)}.storage-notice{border:1px solid var(--amber);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.storage-notice span{flex:300px}.learning-notice{border:1px solid var(--sky);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-top:8px;padding:10px 12px;font-size:13px;display:flex}.learning-notice p{flex:1}.tutor{background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:52px;margin-top:6px;padding:8px 10px;display:flex}.tutor>svg{width:18px;height:18px;color:var(--amber);flex:none}.tutor p{flex:1;font-size:13px}.learning-tabs{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.learning-tabs .on{color:var(--mint);border-color:var(--mint)}.learning-content{align-content:start;gap:14px;min-width:0;display:grid}.glossary-entry,.experiment-entry{border:1px solid var(--line);border-radius:var(--radius-sm);gap:8px;padding:14px;display:grid}.glossary-entry h3,.personal-learning h3{font-size:16px}.source-links{flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.search-field{gap:6px;display:grid}.search-field>div{gap:6px;display:flex}.search-field input{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius-sm);min-width:0;color:var(--text);font:inherit;flex:1;padding:8px}.experiment-entry>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.experiment-entry .btn{justify-self:start}.comparison-table{max-width:100%;overflow-x:auto}.comparison-table table{border-collapse:collapse;width:100%}.comparison-table caption{text-align:left;color:var(--muted);margin-bottom:8px}.comparison-table th,.comparison-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}.personal-learning{border:1px solid var(--line-2);border-radius:var(--radius-sm);gap:10px;padding:14px;display:grid}.personal-learning ul{overflow-wrap:anywhere;margin:0;padding-left:18px}.inspection-note{border:1px solid var(--sky);border-radius:var(--radius-sm);gap:8px;margin-bottom:12px;padding:12px;font-size:13px;display:grid}.inspector-fields{border:0;min-width:0;margin:0;padding:0}.form-error{color:var(--coral)}.startup{align-content:center;gap:18px;max-width:720px;min-height:100dvh;margin:auto;padding:32px;display:grid}.startup .btn{justify-self:start}.prereq-note{color:var(--amber);font-size:12px}.event-filter{align-items:center;gap:8px;padding:4px 12px 8px;font-size:12px;display:flex}.event-filter select{background:var(--panel-2);border:1px solid var(--line-2);min-width:0;color:var(--text);border-radius:var(--radius-sm);font:inherit;flex:1;padding:4px}button.event{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:1px solid #0000}button.event:hover{background:var(--panel-2)}button.event.selected-event{border-color:var(--sky);background:var(--panel-2)}.evidence-jump{margin-top:8px;display:flex}.right .report{width:auto;max-height:none;box-shadow:none;margin:12px;position:relative;inset:auto}.right .report-head{gap:8px;padding:12px}.right .report-head>div{min-width:0}.right .report-body,.right .report-actions{padding:12px}@media (width<=900px){.continue-card{order:-1}.modal-dialog,.modal-dialog.narrow{width:100vw;height:100dvh;max-height:100dvh;margin:0}.learning-bar{padding:5px 8px}.learning-actions{scrollbar-width:none;gap:6px;padding:2px 0;overflow-x:auto}.learning-actions::-webkit-scrollbar{height:0;display:none}.learning-actions>*{flex-shrink:0}.learning-actions .btn,.learning-tabs .btn,.modal-foot .btn,.event-filter select{min-height:44px}.topbar>.btn{min-width:44px;min-height:44px}button.event{min-height:44px}.search-field input{min-height:44px;font-size:16px}.search-field .btn{min-width:44px;min-height:44px}.mcenter:has(.msheet) .scenario-banner{display:none}.learning-actions .check-field,.learning-actions .practice-mode,.learning-actions .save-status{display:none}.settings-link{margin-left:auto}.tutor{flex-wrap:wrap;min-height:104px}.tutor p{flex:calc(100% - 32px)}.tutor .btn{min-height:44px}.tutor .btn:last-child{margin-left:auto}.home-hero{flex-direction:column;display:flex}.storage-notice{font-size:13px}}.repo-preview>.mono{overflow-wrap:anywhere}.repo-checks{margin:0;padding:0;list-style:none}.repo-checks li{border-bottom:1px solid var(--line);padding:10px 0}.repo-checks li>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}@media (width<=420px){.roadmap{grid-template-columns:1fr}.mclock small{display:none}}.welcome .ob-body{gap:14px}.ob-progress{gap:4px;margin-top:12px;display:flex}.ob-progress i{background:var(--panel-3);border-radius:2px;flex:1;height:4px}.ob-progress i.on{background:var(--mint)}.ob-loop{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ob-loop li{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.ob-loop li:not(:last-child):after{content:"→";color:var(--faint);margin-left:4px}.ob-loop-num{color:var(--mint);font-size:11px}.ob-list{gap:8px;margin:0;padding-left:18px;display:grid}.ob-list li{line-height:1.5}.ob-layout{text-align:center;grid-template:"top top top"30px"left center right"1fr"bottom bottom bottom"42px/1fr 2.2fr 1fr;gap:6px;height:190px;font-size:11.5px;display:grid}.ob-layout.mobile{grid-template:"top"30px"center"1fr"bottom"34px"tabs"34px/1fr;max-width:240px;height:260px;margin:0 auto}.ob-area{border:1px dashed var(--line-2);background:var(--panel-2);color:var(--muted);border-radius:8px;place-items:center;padding:4px 6px;display:grid}.ob-area.top{grid-area:top}.ob-area.left{grid-area:left}.ob-area.right{grid-area:right}.ob-area.bottom{grid-area:bottom}.ob-area.tabs{grid-area:tabs}.ob-area.center{color:var(--mint);background:radial-gradient(circle at 50% 50%, #5eead414, var(--panel-2) 70%);border-style:solid;border-color:#1f5a52;grid-area:center}.ob-nodes{grid-template-columns:auto 1fr;align-items:center;gap:18px;display:grid}.ob-node{width:196px;position:relative}.ob-handle{border:2px solid var(--mint);background:var(--panel-3);border-radius:50%;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%}.ob-handle.in{left:-8px}.ob-handle.out{background:var(--mint);right:-8px}.ob-legend{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.ob-legend .sw{vertical-align:-1px;border:2px solid;border-radius:4px;width:18px;height:12px;margin-right:6px;display:inline-block}.ob-legend .sw.ok{border-color:var(--mint)}.ob-legend .sw.hot{border-color:var(--amber)}.ob-legend .sw.bad{border-color:var(--coral)}.ob-legend .sw.dash{border-color:var(--amber);border-style:dashed}.ob-dot{background:var(--mint);width:8px;height:8px;box-shadow:14px 0 0 var(--coral);border-radius:50%;margin:0 22px 0 5px;display:inline-block}.tour{z-index:90;position:fixed;inset:0}.tour-shade{position:absolute;inset:0}.tour-shade.full{background:#050810a8}.tour-spot{border:2px solid var(--mint);pointer-events:none;border-radius:12px;transition:top .2s,left .2s,width .2s,height .2s;position:absolute;box-shadow:0 0 0 9999px #050810a8,0 0 0 6px #5eead42e}.tour-card{background:var(--panel);border:1px solid var(--line-2);border-radius:14px;outline:none;width:min(360px,100vw - 16px);padding:16px 16px 12px;position:absolute;box-shadow:0 18px 50px #0000008c}.tour-card h3{margin:2px 0 6px;font-size:16px}.tour-card p{color:var(--muted);font-size:13.5px;line-height:1.55}.tour-meta{color:var(--mint);font-size:11px}.tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:12px;display:flex}@media (prefers-reduced-motion:reduce){.tour-spot{transition:none}}.coach-layer{z-index:40;pointer-events:none;position:fixed;inset:0}.coach-dim{background:#05081080;position:absolute;inset:0}.coach-spot{border:2px solid var(--amber);border-radius:12px;transition:top .2s,left .2s,width .2s,height .2s;animation:1.6s ease-in-out infinite coach-pulse;position:absolute;box-shadow:0 0 0 9999px #05081099,0 0 0 6px #fbbf2433}@keyframes coach-pulse{50%{box-shadow:0 0 0 9999px #05081099,0 0 0 11px #fbbf2400}}.coach-card,.coach-dock{pointer-events:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid #5c4614;border-radius:14px;gap:8px;padding:14px 16px 12px;display:grid;overflow-y:auto;box-shadow:0 18px 50px #0000008c}.coach-card{width:min(380px,100vw - 16px);max-height:calc(100dvh - 16px);transition:top .2s,left .2s;position:absolute}.coach-dock{z-index:40;width:min(340px,100vw - 24px);position:fixed;bottom:12px;left:12px}.coach-card h3{font-size:16px;line-height:1.3}.coach-card p,.coach-dock p{font-size:13.5px;line-height:1.55}.coach-head{align-items:center;gap:8px;display:flex}.coach-meta{color:var(--amber);font-size:11px}.coach-chip{padding:1px 7px;font-size:10.5px}.coach-icon{min-height:0;padding:2px 6px}.coach-head .coach-icon:first-of-type{margin-left:auto}.coach-progress{background:var(--panel-3);border-radius:2px;height:3px;overflow:hidden}.coach-progress i{background:var(--amber);height:100%;transition:width .25s;display:block}.coach-why{color:var(--muted)}.coach-how{color:var(--text);background:#fbbf2412;border:1px solid #4a3a12;border-radius:10px;align-items:baseline;gap:6px;padding:8px 10px;font-weight:600;display:flex}.coach-how svg{color:var(--amber);flex:none;transform:translateY(2px)}.coach-back{color:var(--coral)}.coach-question{gap:8px;display:grid}.coach-prompt{font-weight:600}.coach-choices{gap:6px;display:grid}.coach-choice{text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--line-2);min-height:40px;color:var(--text);font:13px/1.4 var(--font);border-radius:10px;padding:8px 10px}.coach-choice:hover{border-color:var(--sky)}.coach-choice.right{border-color:var(--mint);background:#5eead414}.coach-choice.wrong{border-color:var(--coral);background:#fb718512}.coach-feedback{background:var(--panel-2);border-radius:10px;padding:8px 10px}.coach-feedback.right strong{color:var(--mint)}.coach-feedback.wrong strong{color:var(--coral)}.coach-note{color:var(--faint);font-size:12px!important}.coach-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.coach-pill{z-index:40;background:var(--panel);max-width:calc(100vw - 24px);min-height:40px;color:var(--text);cursor:pointer;font:600 12.5px var(--font);white-space:nowrap;text-overflow:ellipsis;border:1px solid #5c4614;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex;position:fixed;bottom:12px;left:12px;overflow:hidden;box-shadow:0 10px 30px #00000073}.coach-pill svg{color:var(--amber);flex:none}.coach-outro h4{color:var(--amber)}@media (prefers-reduced-motion:reduce){.coach-spot{transition:none;animation:none}.coach-card,.coach-progress i{transition:none}}@media (width<=900px){.coach-card,.coach-dock{gap:6px;padding:12px 12px 10px}.coach-card h3{font-size:15px}.coach-card p,.coach-dock p{font-size:13px;line-height:1.45}.coach-how{padding:6px 8px}.coach-choice{min-height:44px}.coach-actions .btn,.coach-icon{justify-content:center;min-width:40px;min-height:40px}.coach-pill{bottom:calc(132px + env(safe-area-inset-bottom))}}@media (width<=600px){.ob-nodes{grid-template-columns:1fr;justify-items:center}.ob-layout:not(.mobile){height:170px;font-size:10.5px}}:root{--board-dot:#45616b}::selection{color:var(--text);background:#84dfcf57}.btn{min-height:40px;transition-duration:.14s}.btn.primary{box-shadow:0 2px #16313b42}.btn.primary:hover:not(:disabled){background:#a0eadc}.chip.copper{color:var(--copper);background:#ddaa7614;border-color:#886748}.chip.sky{color:var(--sky);border-color:#557b98}.lab{grid-template-rows:58px auto minmax(0,1fr) 190px;grid-template-columns:minmax(240px,270px) minmax(0,1fr) minmax(286px,320px)}.topbar{background:linear-gradient(#1d3741,#172b35)}.learning-bar,.bottom.panel{background:#203944}.left.panel,.right.panel{background:#233e49}.canvas-wrap{background-color:#142933;background-image:radial-gradient(#6385783d 1px,#0000 1px);background-size:22px 22px}.scenario-banner{border-radius:var(--radius-sm);box-shadow:var(--elevation-panel)}.node-navigator>button{min-height:44px}.node-navigator{align-items:end;gap:6px;display:flex}.node-navigator-list{box-shadow:var(--elevation-overlay)}.node-navigator-items button{min-height:44px}.node-navigator-items button.active{border-color:var(--sky);box-shadow:inset 3px 0 var(--sky)}.node-navigator-list input{min-height:44px;font-size:16px}.result-stale{color:#5a3e1c;background:#f3e4cf;border-color:#c19a64;font-size:12px}.mresult-stale{color:#ffe0ab;grid-column:1/-1;padding:3px 0;font-size:12px}.brief-objective{gap:4px;display:grid}.brief-kicker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.brief-first-step{border-radius:var(--radius-sm);color:var(--text);background:#203e43;border:1px solid #638b81;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:10px 12px;line-height:1.45;display:grid}.brief-first-step svg{width:18px;height:18px;color:var(--mint);display:block}.brief-first-step strong{color:var(--mint)}.brief-learning{border-top:1px solid var(--line);padding-top:10px}.brief-learning summary{cursor:pointer;color:var(--muted);align-items:center;min-height:36px;display:flex}.brief-learning .list{margin-top:8px}.cnode{--family-accent:#527d77;color:var(--module-ink);background:var(--module);border:1px solid var(--module-line);border-top:4px solid var(--family-accent);box-shadow:var(--elevation-module);border-radius:12px;width:216px;transition:border-color .14s,box-shadow .14s,transform .14s}.react-flow__node.family-network .cnode{--family-accent:#4a7e7b}.react-flow__node.family-compute .cnode{--family-accent:#477f6d}.react-flow__node.family-data .cnode{--family-accent:#5276a0}.react-flow__node.family-identity .cnode{--family-accent:#a77c4d}.react-flow__node.family-agent .cnode{--family-accent:#607b9d}.react-flow__node.family-tools .cnode{--family-accent:#7472a2}.react-flow__node.family-repository .cnode{--family-accent:#96744d}.react-flow__node.family-observability .cnode{--family-accent:#558b86}.cnode.selected{outline:3px solid var(--sky);outline-offset:4px;box-shadow:var(--elevation-module), 0 0 0 7px #b8daff2e}.cnode.health-hot{border-color:#c18e45;border-top-color:var(--amber)}.cnode.health-overloaded,.cnode.health-down{border-color:#be7374;border-top-color:var(--coral);box-shadow:var(--elevation-module), 0 0 0 3px #ffabb02e;animation:none}.cnode.unreachable{opacity:.68;box-shadow:none;border-style:dashed}.cnode.identity{border-color:#c4a275;border-top-color:var(--copper);box-shadow:var(--elevation-module);background:#f1e7d8}.cnode.connect-origin{border-color:var(--mint);border-top-color:var(--mint);box-shadow:var(--elevation-module), 0 0 0 4px #84dfcf47}.cnode.connect-target{box-shadow:var(--elevation-module), 0 0 0 4px #84dfcf33;border:2px dashed #347e70;border-top:4px solid #347e70;animation:none}.cnode-head{padding:10px 12px 8px}.cnode-icon{background:color-mix(in srgb, var(--family-accent) 16%, white);color:#294c4d;border-radius:9px;width:34px;height:34px}.cnode-title{color:var(--module-ink);font-size:15px}.cnode-sub{color:#50666a;font-size:12px}.cnode-body{gap:7px;padding:0 13px 11px}.cnode-row{color:#50666a;font-size:12px}.cnode-row b{color:var(--module-ink)}.cnode-row .bad,.cnode.health-down .cnode-status,.cnode.health-overloaded .cnode-status{color:#9a3f4d}.cnode-row .warn,.cnode.health-hot .cnode-status{color:#81551d}.cnode-status{color:#9a3f4d;white-space:normal;padding:4px 12px 10px}.bar{background:#c4d4ce}.bar>i{background:#39796e}.bar.hot>i{background:#a66c26}.bar.over>i{background:#ad4d56}.pip{background:#cad8d2;border-color:#9eafa8}.pip.on{background:#438b7b;border-color:#438b7b}.pip.hot{background:#bb802e;border-color:#bb802e}.pip.over{background:#b64e57;border-color:#b64e57}.pip.zombie{background:#8070a7;border-color:#8070a7}.pip.idle{background:0 0;border-color:#438b7b}.cnode .react-flow__handle{border-color:var(--family-accent);background:#f5faf6}.cnode .react-flow__handle:hover{background:var(--mint)}.flow-edge-line{stroke:#668b86;stroke-width:2px}.react-flow__edge.selected .flow-edge-line{stroke-width:3px;stroke:#b8daff!important}.react-flow__edge .react-flow__arrowhead{fill:#668b86}.zone-pill.down{animation:none}.home{background:linear-gradient(135deg,#142933 0%,#172b35 54%,#1a303a 100%)}.home-inner{gap:24px;max-width:1240px;padding-top:24px}.hero-card{border-radius:var(--radius);box-shadow:var(--elevation-panel);background:#203944}.home-hero{grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:16px}.home-hero>.hero-card:first-child{border-top:3px solid var(--copper);align-content:center;gap:14px;min-height:320px;display:grid}.hero-card h1{font-size:clamp(27px,2.4vw,34px);line-height:1.13}.home-hero>.hero-card:first-child>p{max-width:56ch;line-height:1.65}.loop{flex-wrap:wrap;gap:6px;display:flex}.loop .chip{font-size:12px}.mission-feature{background:var(--module);color:var(--module-ink);border-color:#65857f;grid-template-columns:minmax(210px,.86fr) minmax(260px,1.14fr);align-items:stretch;gap:18px;padding:18px;display:grid;overflow:hidden}.mission-feature-copy{align-content:center;justify-items:start;gap:10px;min-width:0;padding:8px 4px 8px 6px;display:grid}.mission-feature .section-title{color:#526c6c;margin:0;font-size:11px}.mission-feature h2{color:var(--module-ink);letter-spacing:-.035em;line-height:1.08;font-size:clamp(25px,2.5vw,36px)!important}.mission-feature-tags{flex-wrap:wrap;gap:6px;display:flex}.mission-feature .chip{color:#435d60;background:#ffffff8c;border-color:#becfc8}.mission-feature .chip.copper{color:#79522e;background:#f2e8dc;border-color:#c4a275}.mission-feature-headline{color:#2b454a;font-size:16px;font-weight:600;line-height:1.5}.mission-feature-goal{color:#53676a;font-size:14px;line-height:1.5}.mission-feature-meta{color:#53676a;font-size:12px}.mission-feature-action{min-height:48px;margin-top:2px;color:var(--text)!important;background:#18343e!important;border-color:#18343e!important}.mission-scene{background-color:#d4e2da;background-image:radial-gradient(#466a6052 .8px,#0000 .8px);background-size:18px 18px;border-radius:10px;align-content:center;gap:16px;min-height:270px;padding:22px;display:grid;position:relative;overflow:hidden}.mission-scene:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 45%,#ffffff52);position:absolute;inset:0}.mission-scene.agent-scene{background-color:#dce5e7;background-image:radial-gradient(#4d697b47 .8px,#0000 .8px)}.scene-eyebrow,.scene-caption{z-index:1;color:#47635d;font-family:var(--mono);letter-spacing:.035em;font-size:11px;position:relative}.scene-caption{color:#56736a;justify-self:end}.mission-mini-graph{z-index:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.mini-sequence{align-items:center;gap:8px;min-width:0;display:flex}.mini-module{color:#203b42;background:#edf3ef;border:1px solid #a8bdb4;border-top:3px solid #527d77;border-radius:9px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:2px 8px;min-width:84px;max-width:138px;padding:10px;display:grid;transform:rotate(-2deg);box-shadow:3px 4px #9bb2a6}.mini-module-icon{color:#426f66;background:#dbe8e1;border-radius:7px;grid-row:span 2;place-items:center;width:30px;height:30px;display:grid}.mini-module-icon svg{width:18px;height:18px}.mini-module strong{text-overflow:ellipsis;font-size:12px;line-height:1.2;overflow:hidden}.mini-module small{text-overflow:ellipsis;color:#5d7474;font-family:var(--mono);white-space:nowrap;font-size:10px;overflow:hidden}.mini-compute,.mini-compute-group{border-top-color:#477f6d}.mini-database,.mini-object-store,.mini-cache{border-top-color:#5276a0}.mini-agent,.mini-tool,.mini-mcp-server{border-top-color:#607b9d}.mini-identity,.mini-access-policy{border-top-color:#a77c4d}.mini-link{color:#92a99c;font-size:22px}.mini-link.linked{color:#357c6f}.scene-empty{color:#405d57}.mission-library,.mastery-panel{border:1px solid var(--line);border-radius:var(--radius);background:#203944cc;overflow:hidden}.mission-library>summary,.mastery-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:14px 18px;list-style:none;display:flex}.mission-library>summary::-webkit-details-marker{display:none}.mastery-panel>summary::-webkit-details-marker{display:none}.mission-library>summary:after,.mastery-panel>summary:after{content:"+";color:var(--mint);font:20px var(--mono)}.mission-library[open]>summary:after,.mastery-panel[open]>summary:after{content:"−"}.mission-library>summary span:first-child,.mastery-panel>summary span:first-child{gap:4px;display:grid}.mission-library>summary b,.mastery-panel>summary b{color:var(--text);font-size:16px}.mission-library>summary small,.mastery-panel>summary small{color:var(--muted);font-size:13px}.library-count{color:var(--copper);font:12px var(--mono);white-space:nowrap}.mission-library .roadmap{padding:0 16px 16px}.tile{background:#1b333d;border-radius:9px 9px 12px 12px;box-shadow:inset 0 1px #ffffff09}.tile.available{background:linear-gradient(150deg,#84dfcf1f,#203944 68%);border-color:#567d76}.tile .num{color:var(--copper)}.tile.planned{background:#1429336b}.mastery-list{padding:0 18px 18px}.mastery-panel .mastery-row{grid-template-columns:minmax(150px,220px) minmax(60px,1fr) minmax(180px,260px);padding:8px 0}.mastery-panel .bar{background:#34545e}@media (width<=1200px){.lab{grid-template-rows:56px auto minmax(0,1fr) 176px;grid-template-columns:220px minmax(0,1fr) 270px}.dock{grid-template-columns:230px minmax(0,1fr) 270px}.controls{gap:8px;padding:10px 12px}.transport{gap:4px}.transport .btn{min-width:0;padding-inline:8px}.simclock{font-size:22px}.telemetry{padding:10px}.kpis{grid-template-columns:repeat(8,minmax(96px,1fr));gap:6px}.kpi{padding:6px 7px}.mission-feature{grid-template-columns:minmax(230px,.9fr) minmax(230px,1.1fr)}.topbar{gap:8px;padding-inline:10px}.crumb-pack,.crumb-type,.objectives-bar .obj-chip,.objectives-bar .debrief-btn{display:none}.crumbs{flex:1}.crumbs strong{max-width:30vw}}@media (width<=900px){.btn{min-height:44px}.btn.small{min-height:40px}.mlab,.mcenter{background:#142933}.canvas-wrap{background-color:#142933}.node-navigator{flex-direction:column;align-items:stretch;top:52px;bottom:auto;right:8px}.node-navigator>.btn{min-height:44px}.node-navigator-list{top:calc(100% + 8px);bottom:auto}.cnode{border-radius:13px;width:260px}.cnode-title{font-size:16px}.cnode-sub,.cnode-row,.cnode-row b{font-size:13px}.cnode-head{padding:12px}.cnode-body{padding:0 13px 12px}.react-flow__handle{width:18px;height:18px}.mission-feature{grid-template-columns:1fr}.mission-feature-copy{padding:4px}.mission-scene{min-height:190px}.home-inner>header .chip{display:none}.mission-library[open] .roadmap{padding:0 12px 12px}.mastery-panel[open] .mastery-list{padding:0 14px 16px}.mastery-panel .mastery-row{grid-template-columns:1fr 100px}.mastery-panel .mastery-row>span:last-child{grid-column:1/-1}}@media (width<=600px){.home-inner{gap:16px;padding:12px 12px 36px}.home-inner>header{gap:6px!important}.home-inner>header .logo{font-size:16px!important}.home-inner>header .btn{padding-inline:8px;font-size:12px}.home-hero{gap:10px}.home-hero>.hero-card:first-child{gap:10px;min-height:0;padding:16px}.home-hero>.hero-card:first-child>p{font-size:14px}.hero-card h1{font-size:23px}.loop{gap:4px}.loop .chip{padding:3px 7px;font-size:11px}.mission-feature{gap:12px;padding:14px}.mission-feature h2{font-size:27px!important}.mission-feature-headline{font-size:15px}.mission-feature-action{justify-content:center;width:100%}.mission-scene{min-height:160px;padding:14px 8px}.mission-mini-graph,.mini-sequence{gap:4px}.mini-module{grid-template-columns:24px minmax(0,1fr);gap:2px 5px;min-width:72px;max-width:112px;padding:7px}.mini-module-icon{width:24px;height:24px}.mini-module strong{font-size:11px}.mini-module small{font-size:9px}.mini-link{font-size:17px}.mission-library>summary,.mastery-panel>summary{min-height:56px;padding:12px}.mission-library>summary small,.mastery-panel>summary small{max-width:28ch;font-size:12px}.mission-library>summary .library-count,.mastery-panel>summary .library-count{display:none}.roadmap{grid-template-columns:1fr}.mastery-panel .mastery-row{grid-template-columns:minmax(0,1fr) 82px;font-size:13px}.mastery-panel .mastery-row>span:last-child{font-size:12px!important}.mtabs{background:#172b35}.mtab{min-height:58px;font-size:12px}.mtab.on{background:#84dfcf14}}@media (height<=700px) and (width<=900px){.mlab{grid-template-rows:52px auto minmax(120px,1fr) auto 52px}.mtransport{padding-bottom:max(4px, env(safe-area-inset-bottom))}.mtab{min-height:48px;padding-block:4px}.node-navigator-list{max-height:46dvh}}
