:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18324a;background:#f6fbff;--ink: #18324a;--muted: #65758a;--panel: #ffffff;--line: #d8e3ed;--blue: #118ab2;--red: #ef476f;--yellow: #ffd166;--green: #06d6a0;--purple: #8f5cff;--shadow: 0 16px 42px rgba(28, 48, 74, .16)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:rgba(17,138,178,.18)}.shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);min-height:100vh;min-height:100dvh;background:linear-gradient(90deg,#ffffff8c,#fff0),#c8f1ff}.stage{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden}.game-host{position:absolute;inset:0}.game-host canvas{display:block}.mission-chip,.launch-banner{position:absolute;left:18px;display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(24,50,74,.15);border-radius:8px;background:#ffffffdb;color:var(--ink);font-size:.9rem;font-weight:800;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mission-chip{top:18px;padding:10px 12px}.launch-banner{bottom:18px;padding:12px 14px}.panel{display:flex;flex-direction:column;gap:18px;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-left:2px solid rgba(24,50,74,.1);background:linear-gradient(180deg,#fffffff2,#f6fbfff7),var(--panel);padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) 20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:2px solid var(--line)}.panel-header h1,.mission-brief h2,.launch-readout h2,.result-card h2{margin:0;color:var(--ink);letter-spacing:0}.panel-header h1{font-size:clamp(1.35rem,1.4vw + 1rem,2.05rem);line-height:1.02}.header-icon{flex:0 0 auto;color:var(--red)}.eyebrow{margin:0 0 5px;color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--ink);font-weight:900}.mission-board,.builder,.launch-readout,.result-view{display:flex;flex-direction:column;gap:16px}.mission-list{display:grid;gap:10px}.world-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.world-tab{display:grid;min-width:0;min-height:44px;gap:2px;padding:9px 7px;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-align:center}.world-tab strong{overflow:hidden;font-size:.78rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.world-tab span{color:var(--muted);font-size:.7rem;font-weight:900}.world-tab.is-selected{border-color:var(--blue);background:#eefaff;box-shadow:inset 0 0 0 2px #118ab21f}.world-brief{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px;border:2px solid rgba(17,138,178,.2);border-radius:8px;background:#f7fcff}.world-brief h2,.world-brief p{margin:0}.world-brief h2{color:var(--ink);font-size:1.1rem}.world-brief p{color:var(--muted);line-height:1.3}.world-brief>strong{display:grid;width:50px;height:50px;place-items:center;border:2px solid rgba(6,214,160,.45);border-radius:999px;background:#e9fff8;color:#058767;font-size:.85rem}.mission-card{display:grid;gap:7px;width:100%;min-height:44px;padding:14px;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.mission-card:hover,.mission-card:focus-visible{transform:translateY(-1px);border-color:var(--blue);box-shadow:0 10px 28px #118ab229;outline:none}.mission-card.is-selected{border-color:var(--red);box-shadow:inset 0 0 0 2px #ef476f29}.mission-level{justify-self:start;color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.mission-card-title{font-size:1rem;font-weight:900}.mission-card-copy,.mission-brief p,.launch-readout p,.result-line{margin:0;color:var(--muted);line-height:1.35}.mission-card-hint{display:flex;align-items:center;gap:6px;color:#375a75;font-size:.82rem;font-weight:800}.mission-badge-pill{justify-self:start;padding:4px 8px;border:2px solid rgba(239,71,111,.22);border-radius:999px;background:#fff3f6;color:var(--red);font-size:.72rem;font-weight:900}.mission-badge-pill.is-earned{border-color:#06d6a073;background:#e9fff8;color:#058767}.mission-brief{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:14px;border:2px solid var(--line);border-radius:8px;background:#fff}.mission-brief h2,.launch-readout h2,.result-card h2{font-size:1.2rem}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;border:2px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);cursor:pointer}.icon-button:hover,.icon-button:focus-visible{border-color:var(--blue);outline:none}.meter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meter{min-width:0;padding:11px;border:2px solid var(--line);border-radius:8px;background:#fff}.meter-top{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;font-size:.86rem;font-weight:900}.meter-top svg{color:var(--red)}.meter-track{height:9px;margin:8px 0 5px;overflow:hidden;border-radius:999px;background:#e7eef6}.meter-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--yellow),var(--red))}.meter small{color:var(--muted);font-size:.72rem;font-weight:700}.lab-progress{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px;border:2px solid rgba(17,138,178,.22);border-radius:8px;background:#eefaff}.lab-progress div{display:grid;gap:2px}.lab-progress span,.lab-progress small{color:var(--muted);font-size:.74rem;font-weight:800}.lab-progress strong{color:var(--ink);font-size:.95rem}.badge-shelf{display:grid;gap:10px;padding:12px;border:2px solid var(--line);border-radius:8px;background:#fff}.badge-shelf .section-title{margin-bottom:0}.badge-shelf .section-title small{margin-left:auto;color:var(--muted);font-size:.78rem;font-weight:900}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.badge-shelf.is-compact .badge-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.badge-shelf.is-compact .badge-tile{min-height:42px;padding:4px}.badge-shelf.is-compact .badge-icon{width:34px;height:34px}.badge-shelf.is-compact .badge-tile>span:last-child{display:none}.badge-tile{display:grid;min-width:0;gap:6px;justify-items:center;padding:8px 6px;border:2px solid #dfe8f1;border-radius:8px;background:#f9fcff;text-align:center}.badge-tile.is-featured{grid-template-columns:auto 1fr;justify-items:start;align-items:center;text-align:left}.badge-icon{width:52px;height:52px;border-radius:999px;background-repeat:no-repeat;background-size:400% 400%;filter:saturate(1.08)}.badge-tile.is-locked .badge-icon{filter:grayscale(1) saturate(.4);opacity:.28}.badge-tile.is-earned{border-color:#118ab247}.badge-tile strong,.badge-tile small{display:block}.badge-tile strong{color:var(--ink);font-size:.74rem;font-weight:900}.badge-tile small{margin-top:2px;color:var(--muted);font-size:.66rem;font-weight:800;line-height:1.15}.earned-badge-row{display:grid;gap:8px}.parts-section,.slot-list{display:grid;gap:10px}.part-slot{padding:11px;border:2px solid var(--line);border-radius:8px;background:#fff}.part-slot.is-suggested{border-color:var(--yellow);box-shadow:0 0 0 3px #ffd16638}.slot-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.slot-heading span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.slot-heading strong{min-width:0;color:var(--ink);font-size:.86rem;text-align:right}.part-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:7px}.part-button,.prediction-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:8px;font-weight:900;cursor:pointer}.part-button{min-width:0;padding:8px;border:2px solid #dfe8f1;background:#f9fcff;color:var(--ink);font-size:.79rem}.part-button:disabled{cursor:not-allowed;opacity:.36}.part-button.is-locked{background:#f3f6fa}.part-button.is-selected{border-color:var(--red);background:#fff3f6}.part-swatch{flex:0 0 auto;width:15px;height:15px;border:2px solid currentColor;border-radius:999px}.part-thumb{flex:0 0 auto;width:28px;height:24px;border:1px solid rgba(24,50,74,.12);border-radius:6px;background-repeat:no-repeat;background-color:#ffffffad}.prediction-section{display:grid;gap:8px}.prediction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prediction-button{min-width:0;padding:10px;border:2px solid var(--line);background:#fff;color:var(--ink);font-size:.86rem}.prediction-button.is-selected{border-color:var(--purple);background:#f4f0ff}.action-row{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}.action-row.stacked{grid-template-columns:1fr}.primary-button,.secondary-button{padding:12px 14px;border:2px solid transparent}.primary-button{background:var(--red);color:#fff;box-shadow:0 12px 24px #ef476f47}.primary-button:hover,.primary-button:focus-visible{background:#d93a60;outline:none}.secondary-button{border-color:var(--line);background:#fff;color:var(--ink)}.secondary-button:hover,.secondary-button:focus-visible{border-color:var(--blue);outline:none}.launch-readout{min-height:360px;justify-content:center}.countdown-card{display:flex;align-items:center;gap:12px;padding:20px;border:2px solid rgba(239,71,111,.25);border-radius:8px;background:#fff3f6;color:var(--red);font-size:1.2rem;font-weight:900}.flight-bars{display:grid;gap:9px;padding:12px;border:2px solid var(--line);border-radius:8px;background:#fff}.readout-bar{display:grid;grid-template-columns:72px 1fr 34px;gap:8px;align-items:center;font-size:.78rem;font-weight:900}.readout-bar div{height:8px;overflow:hidden;border-radius:999px;background:#e7eef6}.readout-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--yellow),var(--red))}.result-card{display:flex;align-items:center;gap:13px;padding:16px;border-radius:8px}.result-card.success{border:2px solid rgba(6,214,160,.5);background:#e9fff8;color:#058767}.result-card.try-again{border:2px solid rgba(239,71,111,.38);background:#fff3f6;color:var(--red)}.result-line{padding:0 4px;font-size:1rem;font-weight:800}.clue-box{display:flex;gap:10px;padding:14px;border:2px solid rgba(255,209,102,.85);border-radius:8px;background:#fff9e6;color:#7a4e00;font-weight:900;line-height:1.35}.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.result-stats span{padding:10px 8px;border:2px solid var(--line);border-radius:8px;background:#fff;text-align:center;font-size:.82rem;font-weight:900}.build-notebook{display:grid;gap:8px}.notebook-row{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;padding:10px;border:2px solid var(--line);border-radius:8px;background:#fff}.notebook-row strong{color:var(--red);font-size:.78rem}.notebook-row span{color:var(--ink);font-size:.82rem;font-weight:900}.notebook-row small{grid-column:1 / -1;color:var(--muted);font-size:.74rem;font-weight:800}@media(max-width:1180px),(pointer:coarse)and (max-width:1366px){body{overflow:auto;overscroll-behavior-y:auto}.shell{grid-template-columns:1fr;min-height:100svh;min-height:100dvh}.stage{min-height:clamp(360px,48svh,520px);min-height:clamp(360px,48dvh,520px)}.game-host{min-height:inherit}.panel{height:auto;min-height:52svh;min-height:52dvh;border-top:2px solid rgba(24,50,74,.1);border-left:0;padding-left:max(20px,env(safe-area-inset-left))}.mission-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.mission-card{align-content:start}.part-options{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}}@media(orientation:landscape)and (pointer:coarse)and (min-width:900px){.shell{grid-template-columns:minmax(0,1fr) minmax(390px,44vw);min-height:100svh;min-height:100dvh}.stage{min-height:100svh;min-height:100dvh}.panel{height:100svh;height:100dvh;min-height:0;border-top:0;border-left:2px solid rgba(24,50,74,.1)}.mission-list{grid-template-columns:1fr}}@media(max-width:720px){.mission-list{grid-template-columns:1fr}.world-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.panel{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.panel-header h1{font-size:1.34rem}.meter-grid,.prediction-grid,.action-row,.result-stats{grid-template-columns:1fr}.part-options{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-chip,.launch-banner{left:10px;max-width:calc(100% - 20px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
