:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}#root{min-height:100vh}.explore-root{--bg-deep:#1b0f2e;--bg-deep-2:#100821;--accent-orange:#ff7a1a;--accent-teal:#2de0c2;--accent-pink:#ff3d81;--accent-yellow:#ffd23f;--ink:#f3ecff;--muted:#a68fc9;--panel:#241536;--panel-line:#3d2459;--char-jay:#3d7dff;--char-pb:#e0293f}.explore-root[data-theme=light]{--bg-deep:#eee6ff;--bg-deep-2:#fff;--ink:#241536;--muted:#6b5590;--panel:#fff;--panel-line:#d8c8f5}@media (prefers-color-scheme:light){.explore-root:not([data-theme=dark]){--bg-deep:#eee6ff;--bg-deep-2:#fff;--ink:#241536;--muted:#6b5590;--panel:#fff;--panel-line:#d8c8f5}}.explore-root *{box-sizing:border-box}.explore-root{background:radial-gradient(ellipse 120% 80% at 50% -10%, color-mix(in srgb, var(--accent-orange) 22%, transparent), transparent 60%), radial-gradient(ellipse 100% 70% at 90% 110%, color-mix(in srgb, var(--accent-teal) 18%, transparent), transparent 60%), var(--bg-deep);min-height:100vh;color:var(--ink);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}.explore-root .stage{flex-direction:column;align-items:center;gap:14px;min-height:100vh;padding:22px 14px 34px;display:flex}.explore-root .titlecard{text-align:center;margin-top:4px}.explore-root .titlecard h1{letter-spacing:.5px;background:linear-gradient(90deg, var(--accent-orange), var(--accent-yellow) 40%, var(--accent-teal) 75%, var(--accent-pink));color:#0000;text-shadow:0 6px 24px color-mix(in srgb, var(--accent-orange) 25%, transparent);text-wrap:balance;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.1rem,6vw,3.4rem);font-weight:900;line-height:1;transform:skew(-4deg)}.explore-root .titlecard .sub{letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin:6px 0 0;font-size:.8rem;font-weight:600}.explore-root .cabinet{background:linear-gradient(160deg, var(--panel), var(--bg-deep-2));border:1px solid var(--panel-line);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-teal) 15%, transparent) inset, 0 24px 60px -20px #0000008c;border-radius:22px;padding:10px;position:relative}.explore-root #gameCanvas{aspect-ratio:960/600;touch-action:none;cursor:crosshair;background:#0b3d55;border-radius:14px;width:min(94vw,1200px,140.8vh);height:auto;display:block}.explore-root #rotateHint{color:#fff;letter-spacing:.3px;z-index:50;pointer-events:none;white-space:nowrap;background:#0009;border-radius:999px;padding:7px 16px;font-size:.72rem;display:none;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}@media (orientation:portrait) and (width<=700px){.explore-root #rotateHint{display:block}.explore-root #gameCanvas{aspect-ratio:3/4;width:min(94vw,500px)}}@media (height<=520px){.explore-root .titlecard,.explore-root .hint{display:none}.explore-root .stage{gap:4px;padding:6px}.explore-root .cabinet{padding:6px}}.explore-root .overlay{background:linear-gradient(160deg, color-mix(in srgb, var(--bg-deep-2) 92%, transparent), color-mix(in srgb, var(--bg-deep) 92%, transparent));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:14px;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:10px;overflow-y:auto}.explore-root .overlay.hidden{display:none}.explore-root .panelbox{text-align:center;width:100%;max-width:480px}.explore-root .panelbox h2{letter-spacing:.5px;background:linear-gradient(90deg, var(--accent-yellow), var(--accent-pink));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:clamp(1.4rem,4vw,2rem);font-weight:900}.explore-root .panelbox p{color:var(--muted);font-size:.92rem;line-height:1.5}.explore-root .charrow{flex-wrap:wrap;justify-content:center;gap:14px;margin:16px 0;display:flex}.explore-root .charcard{border:2px solid var(--panel-line);background:color-mix(in srgb, var(--panel) 80%, transparent);cursor:pointer;width:150px;color:var(--ink);border-radius:16px;padding:14px 18px;transition:transform .15s,border-color .15s}.explore-root .charcard:hover{transform:translateY(-3px)}.explore-root .charcard.selected{border-color:var(--accent-yellow);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-yellow) 40%, transparent)}.explore-root .charcard .avatar{justify-content:center;display:flex}.explore-root .charcard .name{margin-top:6px;font-weight:800}.explore-root .charcard .tag{color:var(--muted);font-size:.72rem}.explore-root .charcard.jay .avatar{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--char-jay) 60%, transparent));transform:scale(1.15)}.explore-root .charcard.pb .avatar{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--char-pb) 60%, transparent));transform:scale(.88)}.explore-root .bigbtn{cursor:pointer;background:linear-gradient(90deg, var(--accent-orange), var(--accent-pink));color:#1b0f2e;letter-spacing:.5px;box-shadow:0 10px 24px -8px color-mix(in srgb, var(--accent-pink) 60%, transparent);border:none;border-radius:999px;padding:12px 30px;font-family:inherit;font-size:1.05rem;font-weight:800;transition:transform .12s}.explore-root .bigbtn:hover{transform:translateY(-2px)scale(1.02)}.explore-root .bigbtn:active{transform:translateY(0)scale(.98)}.explore-root .controls{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;margin-top:14px;font-size:.76rem;display:flex}.explore-root .controls b{color:var(--ink)}.explore-root .statrow{font-variant-numeric:tabular-nums;justify-content:center;gap:22px;margin:14px 0;display:flex}.explore-root .statrow div{text-align:center}.explore-root .statrow .num{color:var(--accent-yellow);font-size:1.6rem;font-weight:900}.explore-root .statrow .lbl{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-size:.68rem}.explore-root .hint{color:var(--muted);margin-top:18px;font-size:.72rem}.explore-root .linkbtn{background:color-mix(in srgb, var(--panel) 80%, transparent);border:2px solid var(--panel-line);color:var(--ink);cursor:pointer;border-radius:999px;margin:14px auto 0;padding:8px 18px;font-family:inherit;font-size:.82rem;font-weight:700;transition:border-color .12s,transform .12s;display:block}.explore-root .linkbtn:hover{border-color:var(--accent-yellow);transform:translateY(-1px)}.explore-root .settingrow{text-align:left;margin:18px 0}.explore-root .settinglabel{text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:8px;font-size:.7rem}.explore-root .togglegroup{gap:8px;display:flex}.explore-root .togglegroup button{border:2px solid var(--panel-line);background:color-mix(in srgb, var(--panel) 80%, transparent);color:var(--ink);cursor:pointer;border-radius:10px;flex:1;padding:9px 4px;font-family:inherit;font-size:.85rem;font-weight:700;transition:transform .12s,border-color .12s}.explore-root .togglegroup button:hover{transform:translateY(-1px)}.explore-root .togglegroup button.active{border-color:var(--accent-yellow);background:color-mix(in srgb, var(--accent-yellow) 18%, transparent);color:var(--accent-yellow)}.explore-root #touchLayer{pointer-events:none;position:absolute;inset:0}.explore-root #joyZone{pointer-events:none;touch-action:none;width:58%;height:70%;position:absolute;bottom:0;left:0}.explore-root #touchLayer.gameplay #joyZone{pointer-events:auto}.explore-root #joyBase{background:color-mix(in srgb, var(--ink) 10%, transparent);border:2px solid color-mix(in srgb, var(--ink) 30%, transparent);opacity:0;pointer-events:none;border-radius:50%;width:100px;height:100px;transition:opacity .12s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.explore-root #touchLayer.gameplay #joyBase{opacity:.55}.explore-root #touchLayer.gameplay #joyBase.active{opacity:.3}.explore-root #joyKnob{background:color-mix(in srgb, var(--accent-yellow) 85%, transparent);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 4px 10px #0000004d}.explore-root #throwBtn{background:color-mix(in srgb, var(--accent-pink) 75%, transparent);border:2px solid color-mix(in srgb, var(--ink) 30%, transparent);color:#1b0f2e;opacity:0;pointer-events:none;touch-action:none;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;font-size:1.7rem;transition:opacity .12s;display:flex;position:absolute;bottom:26px;right:26px}.explore-root #touchLayer.gameplay #throwBtn{pointer-events:auto;opacity:1}@media (prefers-reduced-motion:reduce){.explore-root *{transition:none!important}}.build-root{color:#f3ecff;background:#1b0f2e;flex-direction:column;align-items:center;gap:20px;min-height:100vh;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.build-hud{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.build-hud-stat{background:#241536cc;border:2px solid #3d2459;border-radius:10px;flex-direction:column;align-items:center;min-width:72px;padding:8px 14px;font-size:.95rem;font-weight:700;display:flex}.build-hud-label{letter-spacing:1.5px;text-transform:uppercase;color:#a68fc9;margin-bottom:2px;font-size:.65rem;font-weight:600}.build-endturn-btn{color:#1b0f2e;cursor:pointer;background:#ffd23f;border:2px solid #ffd23f;border-radius:999px;padding:12px 22px;font-family:inherit;font-size:.85rem;font-weight:800}.build-endturn-btn:hover{background:#ffe27a}.build-help-btn{color:#f3ecff;cursor:pointer;background:#241536cc;border:2px solid #3d2459;border-radius:999px;padding:10px 16px;font-family:inherit;font-size:.78rem;font-weight:700}.build-help-btn:hover{border-color:#ffd23f}.build-help{background:#241536cc;border:2px solid #3d2459;border-radius:14px;width:100%;max-width:700px;padding:16px 20px}.build-help p{color:#d9cdf0;margin:0 0 10px;font-size:.85rem;line-height:1.5}.build-help p:last-of-type{margin-bottom:12px}.build-help-close{color:#ffd23f;cursor:pointer;background:0 0;border:2px solid #ffd23f;border-radius:999px;padding:6px 16px;font-family:inherit;font-size:.75rem;font-weight:700}.build-help-close:hover{background:#ffd23f22}.build-island-switcher{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.build-island-tab{color:#a68fc9;cursor:pointer;background:#241536cc;border:2px solid #3d2459;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.75rem;font-weight:700}.build-island-tab:hover{border-color:#ffd23f}.build-island-tab-active{color:#f3ecff;border-color:#2de0c2}.build-elevator-banner{background:#ffd23f1a;border:2px solid #ffd23f;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:12px 20px;font-size:.85rem;font-weight:700;display:flex}.build-elevator-btn{color:#1b0f2e;cursor:pointer;background:#ffd23f;border:none;border-radius:999px;padding:10px 20px;font-family:inherit;font-size:.8rem;font-weight:800}.build-elevator-btn:hover{background:#ffe27a}.build-plot-richness-note{color:#ffd23f;margin:-4px 0 10px;font-size:.78rem}.build-canvas-wrap{text-align:center;background:#0b3d55;border:1px solid #3d2459;border-radius:18px;max-width:100%;max-height:72vh;padding:14px;overflow:auto}.build-canvas{cursor:pointer;touch-action:manipulation;border-radius:10px;display:inline-block}.build-lower{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;max-width:900px;display:flex}.build-panel{background:#241536cc;border:2px solid #3d2459;border-radius:14px;flex-direction:column;gap:10px;width:min(420px,100%);padding:18px;display:flex}.build-trader h3{margin:0;font-size:1rem}.build-trader-status{color:#a68fc9;margin:0;font-size:.8rem}.build-trader-docked{color:#2de0c2;font-weight:700}.build-trader-goods{flex-direction:column;gap:8px;display:flex}.build-trader-row{grid-template-columns:1fr auto auto auto auto auto;align-items:center;gap:8px;font-size:.8rem;display:grid}.build-trader-commodity{text-transform:capitalize;font-weight:700}.build-trader-stock,.build-trader-price{color:#a68fc9;white-space:nowrap}.build-trader-qty{color:#f3ecff;background:#1b0f2e;border:2px solid #3d2459;border-radius:6px;width:52px;padding:5px 6px;font-family:inherit;font-size:.78rem}.build-trader-qty:disabled{opacity:.4}.build-trader-max-btn{color:#a68fc9;cursor:pointer;background:#1b0f2e;border:2px solid #3d2459;border-radius:6px;padding:5px 8px;font-family:inherit;font-size:.7rem;font-weight:700}.build-trader-max-btn:hover:not(:disabled){color:#f3ecff;border-color:#ffd23f}.build-trader-max-btn:disabled{opacity:.4;cursor:not-allowed}.build-trader-quote{color:#f3ecff;border-left:2px solid #3d2459;margin:0;padding-left:8px;font-size:.78rem;font-style:italic}.build-trader-buyorder{color:#ffd23f;margin:0;font-size:.78rem;font-weight:700}.build-panel-hint{color:#a68fc9;margin:0;font-size:.85rem}.build-actions h3{margin:0 0 10px;font-size:1rem}.build-action-btn{color:#f3ecff;cursor:pointer;background:#1b0f2e;border:2px solid #3d2459;border-radius:8px;margin:0 6px 6px 0;padding:8px 14px;font-family:inherit;font-size:.78rem;font-weight:700}.build-action-btn:hover:not(:disabled){border-color:#ffd23f}.build-action-btn:disabled{opacity:.4;cursor:not-allowed}.build-cost-short{color:#ff6b6b;font-weight:800}.build-action-btn-sanctuary{border-color:#ff3d81}.build-action-group-label{text-transform:uppercase;letter-spacing:1px;color:#a68fc9;margin-bottom:6px;font-size:.7rem}.build-action-group{margin-bottom:10px}.build-plot-output{color:#2de0c2;margin:6px 0 0;font-size:.8rem}.build-log{color:#a68fc9;border-top:1px solid #3d2459;margin:6px 0 0;padding-top:10px;font-size:.78rem}.build-upkeep-warning{color:#ffb3b3;text-align:center;background:#ff6b6b1a;border:2px solid #ff6b6b;border-radius:10px;width:100%;max-width:700px;margin:-8px 0 0;padding:10px 16px;font-size:.8rem;font-weight:700}.build-event-banner{color:#a6e8e8;text-align:center;background:#2aa0a01a;border:2px solid #2aa0a0;border-radius:10px;width:100%;max-width:700px;padding:10px 16px;font-size:.82rem}.build-species-hint{color:#a68fc9;margin:0 0 10px;font-size:.75rem}.build-species-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.build-species-entry{opacity:.55;background:#1b0f2e;border:2px solid #3d2459;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.build-species-unlocked{opacity:1;border-color:#2de0c2}.build-species-icon{font-size:1.4rem}.build-species-name{text-align:center;color:#a68fc9;font-size:.62rem}.menu-screen{color:#f3ecff;background:radial-gradient(120% 80% at 50% -10%,#ff7a1a33,#0000 60%),radial-gradient(100% 70% at 90% 110%,#2de0c230,#0000 60%),#1b0f2e;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100vh;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.menu-titlecard{text-align:center}.menu-titlecard h1{letter-spacing:.5px;background:linear-gradient(90deg,#ff7a1a,#ffd23f 40%,#2de0c2 75%,#ff3d81);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.2rem,6vw,3.6rem);font-weight:900}.menu-sub{letter-spacing:3px;text-transform:uppercase;color:#a68fc9;margin:6px 0 0;font-size:.8rem;font-weight:600}.menu-cards{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.menu-card{text-align:left;cursor:pointer;color:#f3ecff;background:#241536cc;border:2px solid #3d2459;border-radius:16px;width:260px;padding:20px;font-family:inherit;transition:transform .15s,border-color .15s}.menu-card:hover:not(:disabled){border-color:#ffd23f;transform:translateY(-3px)}.menu-card-disabled{opacity:.5;cursor:not-allowed}.menu-card-title{margin-bottom:6px;font-size:1.1rem;font-weight:800}.menu-card-desc{color:#a68fc9;font-size:.8rem}.menu-footer{letter-spacing:2px;text-transform:uppercase;color:#a68fc9;font-size:.75rem}.mode-shell{min-height:100vh;position:relative}.mode-back-btn{z-index:100;color:#f3ecff;cursor:pointer;background:#241536cc;border:2px solid #3d2459;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:.78rem;font-weight:700;position:fixed;top:14px;left:14px}.mode-back-btn:hover{border-color:#ffd23f}
