:root{--bg:#f4f4f2;--fg:#141412;--hairline:#e3e3de;--muted:#6c6c66;--surface:#fbfbf9;--radius:6px;--success:#46a758;--error:#e5484d;--blue:#0070f3}@media (prefers-color-scheme:dark){:root{--bg:#0a0c10;--fg:#e8ecf4;--hairline:#232833;--muted:#8b93a3;--surface:#12151d}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.eyebrow a{color:inherit;border-bottom:1px solid var(--hairline);text-decoration:none}.eyebrow a:hover{border-color:var(--fg)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.small-text{font-size:12px}.good{color:var(--success)}.bad{color:var(--error)}h1,h2{letter-spacing:-.04em;margin:0;font-weight:600}.topbar{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding-top:20px;padding-bottom:14px;display:flex}.logo{letter-spacing:-.05em;font-size:24px}.header-actions{align-items:center;gap:8px;display:flex}.header-actions button{white-space:nowrap}.menu-card{max-height:calc(100dvh - 32px);overflow-y:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top-note{margin:0 0 4px}.layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;padding-bottom:32px;display:grid}.hud{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.chip{letter-spacing:.04em;color:var(--muted);border:1px solid var(--hairline);border-radius:var(--radius);align-items:center;gap:5px;padding:4px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:inline-flex}.chip b{color:var(--fg);font-weight:600}.rep-chip{gap:7px}.meter{background:var(--hairline);border-radius:3px;width:64px;height:5px;display:inline-block;overflow:hidden}.meter>span{background:var(--fg);width:100%;height:100%;transition:width .2s;display:block}.board-frame{border:1px solid var(--hairline);border-radius:var(--radius);width:100%;max-width:100%;overflow:hidden}#board{cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;height:auto;display:block}.board-footer{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-top:10px;display:flex}.hint{color:var(--muted);font-size:12px}.wave-controls{flex-shrink:0;gap:8px;display:flex}.btn-primary,.btn-ghost{font:inherit;border-radius:var(--radius);cursor:pointer;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.btn-primary{background:var(--fg);color:var(--bg);border:1px solid var(--fg)}.btn-ghost{color:var(--fg);border:1px solid var(--hairline);background:0 0}.btn-primary:hover,.btn-ghost:hover{opacity:.8}.btn-primary:disabled,.btn-ghost:disabled{opacity:.35;cursor:default}.btn-primary.big{width:100%;padding:12px;font-size:14px}.small{padding:4px 10px;font-size:12px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.panel{border:1px solid var(--hairline);border-radius:var(--radius);margin-bottom:14px;padding:14px}.panel .eyebrow{margin-bottom:10px}.mini-card{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.mini-card:first-of-type{border-top:none;padding-top:0}.mini-body{flex-direction:column;min-width:0;display:flex}.mini-body b{font-size:13px}.mini-body .muted{font-size:11px}.mini-card.done .check{color:var(--success);font-weight:600}.shop-card{border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;margin-bottom:8px;padding:9px 10px;transition:border-color .15s;display:flex}.shop-card:hover{border-color:var(--muted)}.shop-card.selected{border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}.shop-card.locked{opacity:.45;cursor:default}.shop-icon{flex-shrink:0;display:flex}.shop-body{flex-direction:column;flex:1;min-width:0;display:flex}.shop-body b{font-size:13px}.shop-body .muted{font-size:11px}.req{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.shop-cost{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600}.shop-cost.poor{color:var(--error)}.stat-grid{grid-template-columns:1fr auto;gap:4px 12px;font-size:13px;display:grid}.stat-grid span{color:var(--muted)}.stat-grid b{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sel-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.sel-head>div{flex-direction:column;display:flex}.sel-head .muted{font-size:11px}.big-num{letter-spacing:-.03em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:600}.dash .eyebrow{align-items:center;gap:6px;display:flex}.live-dot{background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.dash-top{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:8px;display:flex}.dash-big{flex-direction:column;display:flex}.dash-net{flex-direction:column;align-items:flex-end;display:flex}.dash-net b{font-size:14px}#spark{border-bottom:1px solid var(--hairline);width:100%;height:34px;margin-bottom:4px;display:block}.dash-legend{gap:12px;margin-bottom:8px;display:flex}.lg-spend:before{content:"";background:var(--fg);vertical-align:middle;width:10px;height:2px;margin-right:4px;display:inline-block}.lg-rev:before{content:"";background:var(--success);vertical-align:middle;width:10px;height:2px;margin-right:4px;display:inline-block}.dash-row{border-top:1px solid var(--hairline);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:5px 4px;display:flex}.dash-row:hover{background:color-mix(in srgb, var(--fg) 5%, transparent)}.dash-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dash-body b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.util{background:var(--hairline);border-radius:2px;height:3px;display:block;overflow:hidden}.util>span{background:var(--fg);width:0%;height:100%;transition:width .2s;display:block}.dash-nums{flex-direction:column;align-items:flex-end;display:flex}.dash-nums b{font-size:12px}.dash-nums .muted{font-size:10px}.overlay{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:70;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.modal{background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius);width:100%;max-width:460px;padding:30px;box-shadow:0 8px 30px #0000001f}.modal-title{margin-bottom:12px;font-size:30px}.modal p{margin:0 0 12px}.howto{margin:0 0 14px;padding-left:18px}.howto li{margin-bottom:6px}.report{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:1fr auto;gap:5px 16px;margin-bottom:18px;padding:12px 0;font-size:13px;display:grid}.report span{color:var(--muted)}.report b{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:1000px){.layout{grid-template-columns:1fr}}*{scrollbar-width:thin;scrollbar-color:var(--muted) var(--hairline)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--hairline)}::-webkit-scrollbar-thumb{background:var(--muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--fg)}.hud-wrap{display:contents}.modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.confirm-chip[hidden],.ctrlbar,.hintstrip,.confirm-chip{display:none}.tabbar{gap:4px;margin:0 0 8px;display:flex}.tabbar button{min-height:40px;font:inherit;color:var(--fg);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;background:0 0;flex:1;font-size:13px;font-weight:500}.tabbar button.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.wave-mode .tabbar,.tabpane{display:none}.tabpane.active{display:block}body{-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,.shop-card,.dash-row{touch-action:manipulation}@media (max-width:820px),(max-height:500px){html{overflow:hidden}body{height:100vh;height:100dvh;overflow:hidden}#app{flex-direction:column;height:100%;min-height:0;display:flex}.wrap{max-width:none;margin:0}.topbar{width:100%;padding-top:calc(8px + env(safe-area-inset-top));flex:none;margin-bottom:8px;padding-bottom:8px}.logo{font-size:18px}.logo-sub{margin-left:6px;font-size:10px}.top-note{display:none}.layout{flex-direction:column;flex:1;align-items:stretch;gap:6px;min-width:0;max-width:none;min-height:0;padding-bottom:0;display:flex}.board-col{flex-direction:column;flex:none;gap:6px;width:100%;max-width:100%;min-height:0;display:flex}.hud-wrap{min-width:0;display:block;position:relative}.hud-wrap:after{content:"";background:linear-gradient(90deg, transparent, var(--bg));pointer-events:none;width:32px;transition:opacity .2s;position:absolute;top:0;bottom:2px;right:0}.hud-wrap.end:after{opacity:0}.hud{flex-wrap:nowrap;margin-bottom:0;padding-bottom:2px;overflow-x:auto}.hud .chip{flex:none}.board-col{min-width:0}.board-frame{width:100%;max-width:100%;max-height:40vh;contain:inline-size;min-width:0;max-height:40dvh;overflow:auto}#board{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:none;height:auto;margin:0 auto}.board-frame{touch-action:pan-x pan-y}.hintstrip{color:var(--muted);min-height:15px;font-size:11px;line-height:1.35;display:block}.ctrlbar{flex-wrap:wrap;gap:6px;display:flex}.ctrlbar button{flex:auto;min-height:40px}.ctrl-start{flex:100%}.confirm-chip{border:1px solid var(--fg);border-radius:var(--radius);align-items:center;gap:8px;width:100%;min-width:0;max-width:100%;padding:6px 8px;font-size:12px;display:flex}.confirm-chip span{overflow-wrap:anywhere;flex:1;min-width:0}.board-footer{display:none}.sidewrap{flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;display:flex}.tabbar{flex:none;gap:4px;padding:2px 0 6px;display:flex}.tabbar button{min-height:40px;font:inherit;color:var(--fg);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;background:0 0;flex:1;font-size:13px;font-weight:500}.tabbar button.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.wave-mode .tabbar{display:none}.side{min-height:0;padding-right:4px;padding-bottom:calc(8px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.tabpane{display:none}.tabpane.active{display:block}.plan-start{display:none}.shop-card{padding:12px 10px}.btn-ghost.small,.btn-primary.small{min-height:36px}.panel{margin-bottom:10px;padding:12px}}@media (max-height:500px){.hintstrip{display:none}.topbar{margin-bottom:4px;padding-top:4px;padding-bottom:4px}.board-frame{max-height:52vh;max-height:52dvh}.tabbar button,.ctrlbar button{min-height:34px}}.select,.search{font:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--hairline);border-radius:var(--radius);width:100%;padding:8px 10px;font-size:13px}.search{margin-bottom:8px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chipbtn{font:inherit;border:1px solid var(--hairline);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:11px}.chipbtn.active{color:var(--chip,var(--fg));border-color:var(--chip,var(--fg))}details[data-group]{border-top:1px solid var(--hairline);padding:6px 0}details[data-group] summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}details[data-group] summary::-webkit-details-marker{display:none}.count{color:var(--muted)}.shop-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.badges{align-items:center;gap:4px;display:flex}.tier{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.t-starter{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.t-pro{color:#f59e0b;background:#f59e0b24}.t-elite{color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent)}.own{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.star{color:#f59e0b;font-size:11px}.campaign{flex-wrap:wrap;gap:4px;display:flex}.day-dot{border:1px solid var(--hairline);width:18px;height:18px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;display:flex}.day-dot.done{background:var(--fg);color:var(--bg);border-color:var(--fg)}.day-dot.current{border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}.day-dot.boss{color:#f59e0b;border-color:#f59e0b}.day-dot.done.boss{color:#000;background:#f59e0b;border-color:#f59e0b}.steps{counter-reset:step;margin:0 0 14px;padding:0;list-style:none}.steps li{counter-increment:step;margin-bottom:10px;padding-left:34px;position:relative}.steps li:before{content:counter(step);background:var(--fg);width:22px;height:22px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;display:flex;position:absolute;top:2px;left:0}.warnlist .warn{color:#f59e0b;margin:6px 0 0;font-size:12px}.planner-meter{margin:10px 0 4px}:root[data-theme=light]{--bg:#f4f4f2;--fg:#141412;--hairline:#e3e3de;--muted:#6c6c66;--surface:#fbfbf9}:root[data-theme=dark]{--bg:#0a0c10;--fg:#e8ecf4;--hairline:#232833;--muted:#8b93a3;--surface:#12151d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0c10;--fg:#e8ecf4;--hairline:#232833;--muted:#8b93a3;--surface:#12151d}}.board-wrap{position:relative}.zoomers{z-index:5;gap:6px;display:flex;position:absolute;top:8px;right:8px}.zoomers button{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:40px;height:40px;padding:0;font-size:18px}.zoomers .menu-shortcut{width:auto;padding:0 10px;font-size:13px}body:not(.factory-game) .factory-overview-btn{display:none}body.factory-game .board-frame{contain:inline-size;overflow:auto}@media (min-width:821px) and (min-height:501px){body.factory-game:not(.stage-full) .board-frame{max-height:calc(100dvh - 340px)}}body.factory-game #board{max-width:none}.factory-sections{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.factory-sections .active{color:var(--bg);background:var(--fg)}.factory-toolstrip{border:1px solid var(--blue);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.factory-toolstrip[hidden]{display:none}body.factory-game .confirm-chip:not([hidden]){background:var(--surface);z-index:39;width:min(620px,100vw - 24px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000004d}body.factory-game .confirm-chip>span{flex:1}@media (max-width:820px),(max-height:500px){body.factory-game .confirm-chip:not([hidden]){bottom:80px}}body.stage-full .factory-toolstrip{background:var(--bg);z-index:38;position:fixed;bottom:16px;left:12px;right:12px}@media (max-height:500px){body.factory-placing .board-frame{max-height:calc(100dvh - 280px)}}.factory-layer-strip,.shop-chain{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.factory-layer-strip span,.shop-chain span{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:9px 12px;font-size:13px}.factory-layer-strip i,.shop-chain i{color:var(--muted);font-style:normal}.factory-floor-buy{justify-content:space-between;align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.factory-wire-row{border-top:1px solid var(--hairline);grid-template-columns:minmax(140px,1fr) 2fr;align-items:center;gap:10px;padding:16px 0;display:grid}.factory-links{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;font-size:13px;display:flex}.factory-links>span{border:1px solid var(--hairline);border-radius:8px;padding:6px 10px}.factory-links button{min-height:28px;margin-left:8px;padding:2px 7px}.blueprint-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.blueprint-parts label{background:var(--surface);border:1px solid var(--hairline);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:12px;font-size:13px;display:flex}.blueprint-parts input{width:20px;height:20px;accent-color:var(--blue);flex:none}.factory-name{font-size:13px;display:block}.factory-name input{margin:8px 0;display:block}.blueprint-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.blueprint-mini{color:var(--muted);flex-wrap:wrap;gap:6px;margin:12px 0;font-size:12px;display:flex}.blueprint-mini span{border:1px solid var(--hairline);border-radius:5px;padding:5px 7px}.blueprint-mini i{align-self:center}.machine-spec{background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;padding:12px;font-size:12px;display:grid}.machine-spec span{color:var(--muted);letter-spacing:.06em;font-size:10px}.machine-spec b{font-weight:500}.factory-inspector{flex-direction:column;gap:10px;margin:14px 0;display:flex}.factory-inspector p{margin:0;font-size:13px;line-height:1.5}.factory-inspector details{border-top:1px solid var(--hairline);padding:10px 0}.factory-inspector summary{cursor:pointer;margin-bottom:8px;font-size:13px}.runtime-choices,.service-list{flex-wrap:wrap;gap:6px;display:flex}.storage-meter{width:100%;height:5px}.storage-meter span{background:#0d9488}.factory-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.factory-totals div{flex-direction:column;gap:5px;display:flex}.factory-totals b{font-size:24px;font-weight:600}.factory-totals span{color:var(--muted);font-size:11px}.factory-log{margin-top:12px;padding-left:18px;font-size:12px;line-height:1.6}.factory-log li{margin-bottom:5px}.factory-pulse details>summary{cursor:pointer;color:var(--muted);font-size:12px}.factory-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.factory-steps>div{background:var(--surface);border:1px solid var(--hairline);border-radius:9px;padding:18px}.factory-steps p{font-size:14px;line-height:1.6}.scenario-choices{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.scenario-choices .mode-card{margin:0}@media (max-width:820px){body.factory-game .topbar .eyebrow{display:none}.factory-steps,.blueprint-library,.blueprint-parts,.scenario-choices,.factory-wire-row{grid-template-columns:1fr}.factory-floor-buy{flex-wrap:wrap}.factory-sections button{flex:1;min-height:44px}.factory-steps{gap:10px}}.ctrlbar{gap:6px;margin-top:8px;display:flex}.ctrlbar button{min-height:44px}.ctrl-start{flex:auto}.hintstrip{color:var(--muted);min-height:18px;margin-top:6px;font-size:12.5px;display:block}.board-footer{display:none}@media (max-width:820px),(max-height:500px){.wrap{padding:0 12px}.topbar{padding-top:calc(6px + env(safe-area-inset-top));margin-bottom:6px;padding-bottom:6px}.chip{padding:7px 10px;font-size:12px}.board-wrap{margin:0 -12px}.board-frame{border-left:none;border-right:none;border-radius:0;max-height:40dvh}.zoomers button{width:44px;height:44px}.ctrlbar{flex-wrap:nowrap}.ctrlbar button{flex:0 0 44px;min-height:48px;padding:0;font-size:16px}.ctrl-start{flex:auto;font-size:14px}.confirm-chip{padding:8px;font-size:13px}.confirm-chip button{min-height:44px}.tabbar{padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--hairline);z-index:20;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:48px;font-size:13px}.side{padding-bottom:76px}body{font-size:15px}.panel{padding:14px}.shop-card{padding:14px 12px}.shop-body b{font-size:15px}.mini-body b,.btn-ghost,.btn-primary{font-size:14px}}@media (min-width:821px){.wrap{max-width:1240px}.ctrlbar button{flex:none;min-width:44px}}.ctrl-start .short{display:none}@media (max-width:820px),(max-height:500px){.ctrl-start .long{display:none}.ctrl-start .short{display:inline}.ctrl-start{white-space:nowrap;font-size:15px}.board-frame{height:auto;max-height:46dvh}}.picker{background:var(--bg);border:1px solid var(--hairline);width:min(560px,100%);padding:12px 12px calc(12px + env(safe-area-inset-bottom));z-index:40;border-bottom:none;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 30px #00000059}.picker[hidden]{display:none}.picker-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.picker-head .eyebrow{margin:0}.picker-grid{grid-template-columns:1fr 1fr;gap:8px;max-height:46dvh;display:grid;overflow-y:auto}.pick-card{font:inherit;text-align:left;color:var(--fg);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px;display:flex}.pick-card:hover{border-color:var(--fg)}.pick-card.off{opacity:.45;cursor:default}.build-explainer{grid-column:1/-1;margin:0 0 4px;line-height:1.5}.learning-card h3{margin:0 0 10px;font-size:19px}.learning-card p{line-height:1.5}.advanced-build>summary{cursor:pointer;color:var(--muted);padding:12px 0;font-size:13px}.pick-body{flex-direction:column;flex:1;min-width:0;display:flex}.pick-body b{font-size:13px}.pick-body .muted{font-size:11px}.tabs-pill{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:25;font:inherit;background:var(--fg);color:var(--bg);cursor:pointer;border:none;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:600;display:none;position:fixed}.tabbar{transition:transform .22s}@media (max-width:820px),(max-height:500px){body.tabs-hidden .tabbar{transform:translateY(110%)}body.tabs-hidden .tabs-pill{display:block}body.tabs-hidden .side{padding-bottom:16px}}.fs-only,.drawer-head,body.stage-full .topbar,body.stage-full .hud,body.stage-full .hintstrip,body.stage-full .ctrlbar,body.stage-full .tabs-pill{display:none}body.stage-full .layout{grid-template-columns:1fr;gap:0;max-width:none;padding:0}body.stage-full .board-col{gap:0}body.stage-full .board-wrap{margin:0}body.stage-full .board-frame{border:none;border-radius:0;width:100%;height:100dvh;max-height:none}body.stage-full #board{max-width:none}body.stage-full .fs-only{display:block}body.stage-full .zoomers{z-index:36;flex-wrap:wrap;justify-content:flex-start;max-width:190px;top:8px;left:8px;right:auto}body.stage-full.drawer-open .zoomers{top:54px}@media (max-width:820px),(max-height:500px){body.stage-full.drawer-open .zoomers{display:none}}body.stage-full .sidewrap{background:var(--bg);border-left:1px solid var(--hairline);z-index:35;flex-direction:column;width:min(430px,100vw);max-width:100vw;margin:0;padding:0;transition:transform .24s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(103%);box-shadow:-14px 0 44px #00000073}body.stage-full.drawer-open .sidewrap{transform:none}body.stage-full .drawer-head{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}body.stage-full .sidewrap .tabbar{z-index:auto;background:0 0;border-top:none;flex:none;width:auto;margin:0;padding:8px 10px;display:flex;position:static;transform:none}body.stage-full .sidewrap.wave-mode .tabbar{display:none}body.stage-full .sidewrap .side{min-height:0;padding:12px 12px calc(16px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.menu{z-index:60;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.menu[hidden]{display:none}.menu-bg{pointer-events:none;background:radial-gradient(38% 34% at 18% 22%, color-mix(in srgb, var(--blue) 16%, transparent), transparent 70%), radial-gradient(34% 30% at 82% 74%, #8b5cf624, transparent 70%), radial-gradient(26% 24% at 70% 18%, #16a34a1a, transparent 70%);animation:22s ease-in-out infinite alternate menu-drift;position:absolute;inset:-20%}@keyframes menu-drift{0%{transform:translate(-2%,-1%)rotate(-1deg)}to{transform:translate(2%,2%)rotate(1.5deg)}}.menu-card{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;width:min(520px,100%);padding:30px 30px 22px;position:relative;box-shadow:0 24px 70px #00000047}.menu-logo{letter-spacing:-.06em;text-shadow:0 0 26px color-mix(in srgb, var(--blue) 35%, transparent);margin:2px 0 6px;font-size:clamp(52px,12vw,88px);line-height:.95}:root[data-theme=light] .menu-logo{text-shadow:none}.menu-tag{color:var(--muted);margin:0 0 18px;font-size:15px}.menu-save{border:1px solid var(--hairline);background:color-mix(in srgb, var(--bg) 60%, var(--surface));border-radius:10px;margin-bottom:14px;padding:10px 14px}.menu-save .eyebrow{margin-bottom:4px}.menu-save-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.menu-save-row b{letter-spacing:-.02em;font-size:17px}.menu-buttons{flex-direction:column;gap:8px;display:flex}.menu-buttons .btn-primary.big,.menu-buttons .btn-ghost{min-height:48px;font-size:15px}.menu-foot{color:var(--muted);margin:16px 0 0;font-size:11px}.menu-foot a{color:inherit}.btn-ghost.danger{color:var(--error);border-color:color-mix(in srgb, var(--error) 45%, var(--hairline))}.btn-primary.danger{background:var(--error);color:#fff;border-color:var(--error)}.settings{z-index:65;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:flex-end;display:flex;position:fixed;inset:0}.settings[hidden]{display:none}.pause-menu{z-index:74}.pause-menu .modal{width:min(360px,100%)}.pause-menu .modal>p{margin:16px 0 0}body:has(.pause-menu:not([hidden])) .settings{z-index:76}.settings-card{background:var(--surface);border-left:1px solid var(--hairline);flex-direction:column;width:min(440px,100vw);height:100%;display:flex;overflow-y:auto;box-shadow:-18px 0 60px #0000004d}.settings-head{background:var(--surface);border-bottom:1px solid var(--hairline);z-index:1;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.settings-head .eyebrow{margin:0}.settings-body{padding:16px 18px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:18px;display:flex}.settings-body section{border:1px solid var(--hairline);background:color-mix(in srgb, var(--bg) 45%, var(--surface));border-radius:10px;padding:12px 14px}.settings-body section .eyebrow{margin-bottom:6px}.set-row{border-bottom:1px dashed var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:14px;display:flex}.set-row:last-child{border-bottom:none;padding-bottom:2px}.seg{border:1px solid var(--hairline);border-radius:8px;display:flex;overflow:hidden}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:7px 12px;font-size:12px}.seg button+button{border-left:1px solid var(--hairline)}.seg button.active{background:var(--fg);color:var(--bg);font-weight:600}.switch{border:1px solid var(--hairline);background:var(--hairline);cursor:pointer;border-radius:999px;flex:none;width:46px;height:26px;transition:background .18s;position:relative}.switch:after{content:"";background:var(--surface);border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0000004d}.switch.on{background:var(--fg);border-color:var(--fg)}.switch.on:after{background:var(--bg);transform:translate(20px)}.set-row input[type=range]{width:150px;accent-color:var(--fg);height:26px}.set-row input[type=range]:disabled{opacity:.4}.toast{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:80;background:var(--fg);color:var(--bg);text-align:center;border-radius:999px;max-width:min(92vw,480px);padding:10px 18px;font-size:13px;font-weight:500;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.toast[hidden]{display:none}:root[data-motion=off] *{transition:none!important;animation:none!important}@media (max-width:820px),(max-height:500px){.menu-card{padding:22px 20px 18px}.settings-card{border-left:none;width:100vw}}.chip-btn{font:inherit;cursor:pointer;color:var(--muted);background:0 0;align-items:center;gap:6px;display:inline-flex}.chip-btn b{color:var(--fg)}.chip-btn .meter{width:40px}.chip-btn:hover{border-color:var(--fg);color:var(--fg)}.menu-modes{flex-direction:column;gap:8px;display:flex}.menu-modes[hidden]{display:none}.mode-card{text-align:left;font:inherit;color:var(--fg);border:1px solid var(--hairline);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.mode-card b{letter-spacing:-.01em;font-size:15px}.mode-card .muted{font-size:12px}.mode-card:hover{border-color:var(--fg)}.mode-card.picked{border-color:var(--fg);background:color-mix(in srgb, var(--fg) 8%, transparent)}.menu-confirm{border:1px dashed color-mix(in srgb, var(--error) 50%, var(--hairline));border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.menu-confirm[hidden]{display:none}.cv-xp{align-items:center;gap:10px;margin:10px 0 14px;display:flex}.cv-xp .meter{flex:1;height:6px}.cv-skills{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.cv-chip{border:1px solid var(--hairline);background:color-mix(in srgb, var(--bg) 60%, var(--surface));color:var(--fg);border-radius:999px;padding:4px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.cv-log{max-height:180px;margin:0 0 14px;padding:0;list-style:none;overflow-y:auto}.cv-log li{border-bottom:1px dashed var(--hairline);gap:8px;padding:5px 0;font-size:13px;display:flex}.cv-log li:last-child{border-bottom:none}.cv-log .mono{flex:none;padding-top:2px;font-size:11px}.picker-next{margin:8px 2px 0}.pick-desc{opacity:.85;font-size:11px}@media (max-width:820px),(max-height:500px){body.pane-view .board-col{display:none}body.pane-view .sidewrap{flex:1;min-height:0}body.pane-view .side{padding-bottom:76px}}.menu-buttons[hidden]{display:none}.mini-card .cv-skills{margin:4px 0 0}.pick-card.picked{border-color:var(--fg)}.product-card{cursor:default}.product-card .check{color:var(--success);font-weight:600}.product-card .good{color:var(--success)}.product-card .bad{color:var(--error)}body.guide-view .board-col{display:none}body.guide-view .layout{grid-template-columns:minmax(0,1fr)}body.guide-view .sidewrap{width:100%;min-height:0}body.guide-view .side{max-height:none}.guide-page{max-width:760px;margin:0 auto;padding:16px 0 32px}.guide-page .learning-card{padding:clamp(18px,3vw,32px)}.guide-page .learning-card p{font-size:17px;line-height:1.7}.guide-page .learning-card h3{font-size:24px;line-height:1.25}.quest-progress{gap:8px;margin-bottom:28px;display:flex}.quest-progress span{border-bottom:3px solid var(--hairline);color:var(--muted);flex:1;padding:10px 4px;font-size:13px}.quest-progress .current{border-color:var(--fg);color:var(--fg);font-weight:700}.quest-progress .complete{border-color:var(--success);color:var(--success)}.quest-options{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;display:grid}.quest-option{min-width:0;color:var(--fg);background:var(--surface);border:2px solid var(--hairline);cursor:pointer;font:inherit;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;display:flex}.quest-option.chosen{border-color:var(--fg);background:color-mix(in srgb, var(--fg) 6%, var(--surface))}.quest-option strong{font-size:26px}.quest-option span{font-size:14px}.quest-option small{color:var(--muted);font-size:12px}.quest-feedback{min-height:3.4em}.quest>.btn-primary{width:100%;min-height:48px}.quest-back{margin-top:12px}.practice-dots{justify-content:center;gap:20px;margin:24px 0;display:flex}.practice-dot{border:1px solid var(--hairline);width:48px;height:48px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.practice-dot.served{color:var(--success);border-color:var(--success)}.quest-server{border:2px solid var(--fg);background:var(--surface);width:100%;color:var(--fg);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:14px;padding:28px 12px;display:flex}.quest-checklist{margin:26px 0;padding:0;list-style:none}.quest-checklist li{border-bottom:1px solid var(--hairline);padding:12px 0;font-size:18px}.guide-tools{justify-content:flex-end;margin-bottom:12px;display:flex}body.workspace-view .board-col{display:none}body.workspace-view .layout{grid-template-columns:minmax(0,1fr)}body.workspace-view .sidewrap{flex:1;width:100%;min-height:0}body.workspace-view .side{max-height:none}.workspace-head{justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.workspace-head h2{margin:0}.build-page,.product-page{max-width:1040px;margin:0 auto}.build-page .shop-card{min-height:104px}.future-tech{color:var(--muted);margin-top:20px;padding:12px 0}.mission-card h3{margin:8px 0;font-size:20px}.mission-card p{line-height:1.5}.mission-card details{margin-top:14px;font-size:13px}.seg [data-action^=profile\:][aria-pressed=true]{background:var(--fg);color:var(--bg)}[data-m=otherprofiles]:empty{display:none}.simulator-panel h3{margin:8px 0}.simulator-panel p{line-height:1.5}body.simulator-profile .top-note{font-size:11px;display:block}.chip[hidden],.hud-more{display:none}body:not(.stage-full) .board-wrap{flex-direction:column;gap:6px;display:flex}body:not(.stage-full) .zoomers{order:-1;justify-content:flex-end;padding:0 8px;position:static}@media (max-width:820px),(max-height:500px){.hud-more{align-self:flex-end;min-height:32px;display:block}body.expanded-stats .hud{flex-wrap:wrap;overflow-x:visible}body.expanded-stats .hud-wrap:after{display:none}}body.stage-full .hud-more{display:none}@media (max-height:500px){.topbar .eyebrow,body.simulator-profile .top-note,.hud-more,.hintstrip{display:none}.topbar{margin-bottom:4px;padding-top:4px;padding-bottom:4px}.board-frame{max-height:calc(100dvh - 230px)}body:not(.stage-full) .zoomers{padding:0;position:absolute;top:4px;right:4px}.ctrlbar{margin-top:0}.ctrlbar button{min-height:40px}}.product-title{justify-content:space-between;gap:12px;width:100%;display:flex}.product-page .product-card{margin-bottom:16px;padding:24px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-grid .product-card{min-width:0;margin:0;padding:18px}.product-grid .product-card p{margin:10px 0;font-size:13px;line-height:1.5}.product-grid .requirement-pills{margin:6px 0}@media (max-width:820px){.product-grid{grid-template-columns:1fr}}.requirement-pills,.feature-results{flex-wrap:wrap;gap:8px 16px;margin:12px 0;font-size:14px;display:flex}.requirement-pills span{border:1px solid var(--hairline);border-radius:999px;padding:5px 10px}.requirement-pill.actionable{cursor:pointer}.requirement-pill.actionable:hover,.requirement-pill.actionable:focus-visible{border-color:var(--error);background:color-mix(in srgb, var(--error) 10%, transparent);outline:none}#techsheet{width:min(850px,100%)}body.stage-full.workspace-view .sidewrap{width:100%;height:100dvh;box-shadow:none;position:static;transform:none}body.workspace-view .tabbar{transform:none}@media (min-width:821px){.build-page details[data-group]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.build-page details[data-group]>summary{grid-column:1/-1}}@media (max-width:820px),(max-height:500px){body.workspace-view .side{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.workspace-head{flex-direction:column;align-items:flex-start}}.wiki{z-index:90;background:var(--bg);color:var(--fg);flex-direction:column;padding:20px;display:flex;position:fixed;inset:0}.wiki[hidden]{display:none}body.wiki-open{overflow:hidden}.wiki-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.wiki-head h2{margin:0}.wiki-layout{flex:1;grid-template-columns:260px minmax(0,1fr);width:100%;max-width:1160px;min-height:0;margin:0 auto;display:grid}.wiki-nav{border-right:1px solid var(--hairline);padding:20px 16px 20px 0;overflow-y:auto}.wiki-nav .search{width:100%}.wiki-nav .eyebrow{margin-top:24px}.wiki-topic{text-align:left;width:100%;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:12px;display:block}.wiki-topic.selected{background:var(--fg);color:var(--bg)}.wiki-article{min-width:0;padding:28px clamp(16px,4vw,56px);overflow-y:auto}.wiki-article p{max-width:65ch;font-size:17px;line-height:1.7}.wiki-article h2{margin-top:8px;font-size:28px}.wiki-article h3{margin-top:28px}@media (max-width:620px){.wiki{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.wiki-head .eyebrow{font-size:10px}.wiki-layout{grid-template-rows:minmax(100px,26dvh) minmax(0,1fr);grid-template-columns:1fr}.wiki-nav{border-right:0;border-bottom:1px solid var(--hairline);padding:12px 0}.wiki-article{padding:16px 4px}}body.guide-view .tabs-pill{display:none}body.guide-view .tabbar{transform:none}body.stage-full.guide-view .sidewrap{width:100%;height:100dvh;box-shadow:none;position:static;transform:none}@media (max-width:820px),(max-height:500px){body.guide-view .sidewrap{flex:1;min-height:0}body.guide-view .side{padding-bottom:calc(92px + env(safe-area-inset-bottom));overflow-y:auto}.guide-page{padding-top:8px}}body.canvas-first,.canvas-first #app{overscroll-behavior:none;width:100%;height:100%;min-height:100dvh;overflow:hidden}html:has(body.canvas-first){overscroll-behavior:none;width:100%;height:100%;min-height:100dvh;overflow:hidden}.canvas-first{--radius:10px}.canvas-first .topbar,.canvas-first .hud-wrap,.canvas-first .hud-more,.canvas-first .zoomers,.canvas-first .ctrlbar,.canvas-first .hintstrip,.canvas-first .tabbar,.canvas-first .tabs-pill{display:none!important}.canvas-first .layout.wrap{width:100%;max-width:none;height:100dvh;margin:0;padding:0;position:fixed;inset:0;display:block!important}.canvas-first .board-col{width:100%;min-width:0;position:absolute;inset:0;display:block!important}.canvas-first .board-wrap{position:absolute;inset:0;margin:0!important;display:block!important}.canvas-first .board-frame{background:#091b21;border:0;border-radius:0;width:100%;height:100%;display:block;position:absolute;inset:0;max-height:none!important;overflow:hidden!important}.canvas-first #board{touch-action:none;width:100%;max-width:none;height:100%;display:block}.canvas-hud{inset:calc(12px + env(safe-area-inset-top)) 14px auto;z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed}.canvas-day,.canvas-menu{pointer-events:auto;color:var(--fg);background:color-mix(in srgb,var(--bg) 75%,transparent);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #0000;border-radius:10px;min-height:44px}.canvas-day{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;align-items:center;gap:9px;padding:0 5px;font:500 12px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.canvas-first .canvas-day{text-align:left;flex-direction:column;align-items:flex-start;gap:3px;max-width:calc(100% - 58px)}.canvas-first .canvas-phase{font-size:10px}.canvas-first .canvas-phase:before{content:none}[data-canvas-activity]{width:128px;height:22px;display:block}.activity-chart{width:100%;height:auto;display:block;overflow:visible}.activity-forecast{fill:var(--muted);opacity:.35}.activity-actual{fill:none;stroke:#6bd7bd;stroke-width:1.8px}.activity-cursor{stroke:var(--fg);stroke-width:1px;opacity:.8}.activity-failure{fill:#fb806a;opacity:.8}.activity-chart text{fill:var(--muted);font:10px ui-monospace,monospace}.calendar-month{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.calendar-month .btn-ghost{min-width:44px;font-size:20px}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-week{text-align:center;color:var(--muted);padding-bottom:6px;font:11px ui-monospace,monospace}.calendar-grid>*{justify-content:center;align-items:center;min-height:44px;display:flex;position:relative}.calendar-date{min-width:0;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;font:13px ui-monospace,monospace}.calendar-date.today{background:color-mix(in srgb,#6bd7bd 10%,var(--surface))}.calendar-date.selected{border-color:#6bd7bd}.calendar-date i{background:#efba67;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:calc(50% - 2px)}.calendar-outside{color:var(--muted);opacity:.4;font-size:12px}.calendar-detail{border-top:1px solid var(--hairline);margin-top:18px;padding-top:16px}.calendar-detail h3{margin:5px 0 12px;font-size:18px}.calendar-event{border-left:2px solid #efba67;margin:12px 0;padding-left:10px}.calendar-event b{font-size:14px}.calendar-event p{color:var(--muted);margin:5px 0;font-size:12px}.activity-legend{color:var(--muted);gap:14px;margin:10px 0 18px;font-size:11px;display:flex}.activity-legend span:before{content:"●";color:var(--muted);margin-right:5px}.activity-legend span:nth-child(2):before{color:#6bd7bd}.activity-legend span:nth-child(3):before{color:#fb806a}.calendar-start{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.calendar-start input{background:var(--surface);border:1px solid var(--hairline);color:var(--fg);border-radius:8px;min-height:44px;padding:10px;font:14px system-ui}.canvas-phase{color:var(--muted)}.canvas-phase:before{content:"·";margin-right:9px}.canvas-menu{border-color:var(--hairline);width:44px;font-size:23px;line-height:1}.canvas-first button:focus-visible,.canvas-first [role=button]:focus-visible,.canvas-first summary:focus-visible{outline-offset:3px;outline:2px solid #83bafa}.canvas-first .sidewrap{border:1px solid color-mix(in srgb,var(--muted) 38%,transparent);background:color-mix(in srgb,var(--surface) 97%,transparent);z-index:35;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;min-height:0;max-height:min(75dvh,760px);display:flex;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -12px 45px #0003;width:100%!important;height:auto!important;position:fixed!important;top:auto!important;transform:none!important}.canvas-first .sidewrap[hidden]{display:none!important}@media (max-width:820px) and (orientation:portrait){.canvas-first .sidewrap[data-panel=inspect]{max-height:min(75dvh,100dvh - 210px)}}.onboarding-card[hidden]{display:none!important}.onboarding-card{background:var(--surface);color:var(--fg);border:1px solid #568d8a;border-radius:12px;padding:12px 14px}.onboarding-card.is-floating{z-index:30;left:14px;right:14px;bottom:calc(18px + env(safe-area-inset-bottom));max-width:360px;max-height:55dvh;margin:0 auto;position:fixed;overflow:auto;box-shadow:0 12px 40px #0003}.onboarding-card.is-inline{background:color-mix(in srgb,#6bd7bd 6%,var(--surface));border-width:0 0 0 2px;border-radius:0 8px 8px 0;margin:4px 0 14px;padding:8px 12px 12px}.onboarding-top{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.onboarding-skip{color:var(--muted);cursor:pointer;background:0 0;border:0;min-width:60px;min-height:44px;padding:4px;font:12px system-ui,sans-serif}.onboarding-card h3{letter-spacing:-.02em;margin:3px 0 7px;font-size:18px}.onboarding-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.onboarding-card.is-inline h3{font-size:15px}.onboarding-card.is-inline p{font-size:12px}.onboarding-card [data-action=onboarding\:done]{font-size:13px}.canvas-first[data-onboarding-step=server] [data-action=tech\:nodejs-sqlite],.canvas-first[data-onboarding-step=catalog] [data-action=ship\:catalog],.canvas-first[data-onboarding-step=work] [data-action=work-1],.canvas-first[data-onboarding-step=start] #side [data-action=start-wave]{outline-offset:3px;outline:2px solid #6bd7bd}.canvas-first.sheet-open .canvas-menu{visibility:hidden}.canvas-first .drawer-head{background:0 0;border:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:20px 16px 8px;display:flex;position:relative}.sheet-handle{background:var(--muted);opacity:.5;border-radius:3px;width:36px;height:4px;position:absolute;top:8px;left:calc(50% - 18px)}.drawer-head h2{letter-spacing:-.02em;flex:1;font-size:20px}.sheet-close,.sheet-back{color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:44px;min-height:44px;font-size:20px}.sheet-back{min-width:32px;font-size:30px}.canvas-first .side{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;scroll-padding-bottom:20px;overflow:auto;padding:0 20px calc(20px + env(safe-area-inset-bottom))!important;max-height:none!important}.canvas-first .side .tabpane{display:none}.canvas-first .side .tabpane.active{display:block}.canvas-first .panel{border:0;margin:0 0 16px;padding:0}.canvas-first .panel+.panel{border-top:1px solid var(--hairline);padding-top:14px}.canvas-first .workspace-head,.canvas-first .guide-tools,.canvas-first .guide-page>[data-action=guide-back]{display:none}.canvas-first .build-page,.canvas-first .product-page,.canvas-first .guide-page{max-width:none;padding:0}.canvas-first .btn-primary,.canvas-first .btn-ghost{min-height:44px;padding:10px 14px;font-size:14px}.canvas-first .select,.canvas-first input.search{max-width:100%;min-height:44px;font-size:16px}.sheet-primary{width:100%;margin-top:12px}.sheet-meta{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin-bottom:18px;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.sheet-meta b{color:var(--fg)}.control-grid{grid-template-columns:1fr 1fr;gap:0 14px;margin:18px 0 0;display:grid}.control-grid button{text-align:left;border:0;border-top:1px solid var(--hairline);color:var(--fg);min-height:52px;font:inherit;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:10px;padding:14px 0;display:flex}.control-grid button:disabled{opacity:.4;cursor:default}.control-grid svg{flex:none;width:19px;height:19px}.control-grid small{color:var(--muted);font-size:10px;display:block}.menu-options{border-top:1px solid var(--hairline);margin-top:16px}.menu-options>summary,.machine-advanced>summary,.sheet-disclosure>summary{cursor:pointer;min-height:44px;color:var(--muted);padding:12px 0}.menu-options .btn-row{padding-bottom:8px}.menu-runtime{gap:8px;margin-bottom:14px;display:flex}.menu-runtime>button{flex:1}.canvas-first .campaign{grid-template-columns:repeat(10,1fr);gap:4px}.canvas-first .factory-sections{gap:5px;margin:0 0 14px}.canvas-first .factory-sections button{flex:1;min-height:44px;padding:8px;font-size:12px}.canvas-first .factory-layer-strip{display:none}.canvas-first .factory-space{margin:0 0 12px;font-size:12px}.report-profit{margin:18px 0;font:600 26px ui-monospace,SFMono-Regular,Menlo,monospace}.report-profit span{font-size:15px;font-weight:400}.canvas-first .build-page .shop-card{min-height:74px;margin-bottom:8px;padding:12px}.canvas-first .build-page details[data-group]{display:block}.canvas-first .shop-body .small-text{display:none}.canvas-first .shop-body b{font-size:15px}.canvas-first .shop-body .muted{font-size:12px}.canvas-first .chips{flex-wrap:wrap}.canvas-first .factory-floor-buy{border-top:1px solid var(--hairline);padding-top:12px;font-size:12px}.canvas-first .factory-wire-row{padding:12px 0;display:block}.canvas-first .factory-wire-row .select{width:100%;margin:8px 0}.canvas-first .blueprint-parts,.canvas-first .blueprint-library{grid-template-columns:1fr}.canvas-first .machine-spec{font-size:12px}.machine-title{align-items:center;gap:12px;margin-bottom:14px;display:flex}.machine-title b{font-size:18px;display:block}.machine-title span{color:var(--muted);font-size:12px}.machine-status{margin:6px 0 12px;font-size:12px}.machine-actions{gap:8px;margin-top:14px;display:flex}.machine-actions>button{flex:1}.machine-facts{color:var(--muted);flex-wrap:wrap;gap:7px 18px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.machine-advanced{border-top:1px solid var(--hairline);margin-top:16px}.canvas-first .product-grid{display:block}.canvas-first .product-grid .product-card{border:1px solid var(--hairline);background:0 0;border-radius:10px;margin-bottom:8px;padding:0;display:block}.product-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:14px;display:flex}.product-summary b{font-size:14px}.product-summary .product-state{text-align:right;font-size:11px}.product-detail{padding:0 14px 14px}.canvas-first .product-title{font-size:14px}.canvas-first .shop-chain{margin:0 0 16px;font-size:11px}.canvas-first .shop-chain span{padding:5px 8px;font-size:11px}.canvas-first .requirement-pills{gap:6px;font-size:12px}.requirement-pill{font:inherit;color:var(--fg);border:1px solid var(--hairline);cursor:pointer;background:0 0;border-radius:999px;min-height:34px;padding:6px 9px}.requirement-pill.bad{color:#efba67}.requirement-pill:hover{border-color:currentColor}.help-diagram{color:#69d3be;justify-content:center;align-items:center;gap:24px;padding:20px 0;display:flex}.help-choice{border:1px solid var(--hairline);border-radius:10px;margin:12px 0;padding:12px}.help-choice b,.help-choice small{display:block}.help-choice small{color:var(--muted);margin:5px 0 0}.canvas-first .picker{width:100%;max-width:none;max-height:70dvh;padding:18px 20px calc(20px + env(safe-area-inset-bottom));z-index:46;background:var(--surface);border-radius:18px 18px 0 0;position:fixed;inset:auto 0 0;overflow:auto;transform:none}.canvas-first #techsheet{width:100%}.canvas-first .picker-grid{grid-template-columns:1fr;gap:8px;display:grid}.canvas-first .pick-card{min-height:72px;padding:12px}.canvas-first .pick-body b{font-size:15px}.canvas-first .pick-body .muted{font-size:12px}.canvas-first .picker-head{background:var(--surface);padding-bottom:10px;position:sticky;top:0}.canvas-first .picker-head .eyebrow{text-transform:none;letter-spacing:0;color:var(--fg);font-size:13px}.canvas-first .confirm-chip:not([hidden]){padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--hairline);z-index:45;border-radius:16px 16px 0 0;flex-wrap:wrap;gap:10px;display:flex;top:auto;width:100%!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;transform:none!important}.canvas-first .confirm-chip>span{flex:1 0 100%;font-size:14px}.canvas-first .confirm-chip>button{flex:1}.canvas-first .factory-toolstrip:not([hidden]){top:calc(66px + env(safe-area-inset-top));background:color-mix(in srgb,var(--surface) 94%,transparent);z-index:24;border:1px solid var(--hairline);width:auto;padding:6px 10px;font-size:12px;display:flex;position:fixed;bottom:auto;left:14px;right:14px}.canvas-first .factory-toolstrip[hidden]{display:none!important}.canvas-first .menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d}.canvas-first .menu-bg{display:none}.canvas-first .menu-card{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;width:min(420px,100vw - 32px);max-height:calc(100dvh - 28px);padding:24px;box-shadow:0 18px 70px #00000059}.canvas-first .menu-logo{letter-spacing:-.06em;text-shadow:none;font-size:50px}.canvas-first .menu-tag{margin:4px 0 20px;font-size:13px}.canvas-first .menu-card>.eyebrow{display:none}.canvas-first .menu-buttons{gap:8px}.canvas-first .menu-foot{margin:18px 0 0;font-size:10px}.canvas-first .menu-modes .mode-card{margin-bottom:6px;padding:10px 12px}.canvas-first .menu-modes .mode-card b{font-size:14px}.canvas-first .menu-modes .mode-card>.muted:not(.small-text){display:none}.canvas-first .scenario-choices{grid-template-columns:1fr 1fr;gap:8px}.canvas-first .mode-card .small-text{font-size:11px}.canvas-first .overlay{justify-content:center;align-items:flex-end;padding:0}.canvas-first .modal{width:100%;max-width:none;max-height:80dvh;padding:22px 20px calc(22px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow:auto}.canvas-first .modal-title{font-size:25px}.canvas-first .modal .report{gap:7px 12px;font-size:13px}.canvas-first .pause-menu .modal{width:100%}.canvas-first .settings{justify-content:center;align-items:flex-end}.canvas-first .settings-card{border:1px solid var(--hairline);border-radius:18px 18px 0 0;width:100%;height:auto;max-height:80dvh}.canvas-first .settings-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.canvas-first .settings-head{background:var(--surface)}.canvas-first .wiki{height:82dvh;padding:18px 20px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--hairline);background:var(--surface);border-radius:18px 18px 0 0;inset:auto 0 0}.canvas-first .wiki-layout{flex-direction:column;width:100%;display:flex}.canvas-first .wiki-head{padding-bottom:12px}.canvas-first .wiki-head h2{font-size:20px}.canvas-first .wiki-head .eyebrow{display:none}.canvas-first .wiki-nav{border-right:0;border-bottom:1px solid var(--hairline);flex-shrink:0;min-height:80px;max-height:26%;padding:10px 0}.canvas-first .wiki-nav [data-wiki-list]{gap:5px;display:flex;overflow:auto}.canvas-first .wiki-nav [data-wiki-list] .eyebrow{display:none}.canvas-first .wiki-topic{min-width:max-content;padding:8px;font-size:12px}.canvas-first .wiki-article{flex:1;padding:16px 0}.canvas-first .wiki-article h2{font-size:22px}.canvas-first .wiki-article p{font-size:15px;line-height:1.6}.canvas-first .toast{bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:none;width:max-content;max-width:calc(100vw - 32px);font-size:12px;position:fixed;left:50%;transform:translate(-50%)}.canvas-first.sheet-open .toast{bottom:auto;top:calc(65px + env(safe-area-inset-top))}:is(.canvas-first:has(#mainmenu:not([hidden])) .canvas-hud,.canvas-first:has(.overlay:not([hidden])) .canvas-hud){visibility:hidden}.canvas-first:has(.overlay:not([hidden])) .toast{bottom:auto;top:calc(65px + env(safe-area-inset-top))}.canvas-first:has(.onboarding-card.is-floating:not([hidden])) .toast{bottom:auto;top:calc(65px + env(safe-area-inset-top))}.canvas-first:is([data-onboarding-step=work],[data-onboarding-step=start]) #side [data-tab=day] .mission-card{display:none}.canvas-first:has(#techsheet:not([hidden])) #picker{visibility:hidden}:is(.canvas-first:has(.settings:not([hidden])) .sidewrap,.canvas-first:has(.wiki:not([hidden])) .sidewrap,.canvas-first:has(#techsheet:not([hidden])) .sidewrap,.canvas-first:has(#picker:not([hidden])) .sidewrap){visibility:hidden}@media (min-width:821px) and (min-height:501px){.canvas-first .sidewrap{border:1px solid var(--hairline);border-radius:16px;max-height:calc(100dvh - 28px);margin:auto 0 0;bottom:14px;left:auto;right:14px;width:390px!important;height:max-content!important;top:14px!important}.canvas-first .side{padding-bottom:20px!important}.canvas-first .picker,.canvas-first #techsheet{border-radius:16px;width:390px;max-height:calc(100dvh - 28px);bottom:14px;left:auto;right:14px}.canvas-first .confirm-chip:not([hidden]){border-radius:14px;max-width:440px;bottom:18px!important;left:50%!important;right:auto!important;transform:translate(-50%)!important}.canvas-first .factory-toolstrip:not([hidden]){width:max-content;max-width:calc(100vw - 28px);top:16px;left:50%;right:auto;transform:translate(-50%)}.canvas-first .modal,.canvas-first .pause-menu .modal{border-radius:16px;width:min(520px,100vw - 32px);max-height:calc(100dvh - 40px);margin-bottom:20px}.canvas-first .settings-card{border-radius:16px;width:390px;max-height:calc(100dvh - 28px);margin:14px 14px 14px auto}.canvas-first .wiki{border-radius:16px;width:min(650px,100vw - 28px);height:calc(100dvh - 28px);bottom:14px;left:auto;right:14px}}@media (max-height:500px) and (orientation:landscape){.canvas-first .sidewrap,.canvas-first .picker,.canvas-first #techsheet{border-radius:14px 0 0 14px;max-height:100dvh;bottom:0;left:auto;right:0;width:min(390px,66vw)!important;height:100dvh!important;top:0!important}.canvas-first .drawer-head{padding-top:10px}.canvas-first .sheet-handle{display:none}.canvas-first .modal,.canvas-first .settings-card{max-height:100dvh}}
