*{box-sizing:border-box;margin:0;padding:0}:root{--cream:#fdf6e3;--ink:#3f3730;--ink-soft:#3f37309e;--leaf:#6fbf73;--leaf-dark:#4e8f52;--coral:#f28d77;--gold:#f4c542;--sky:#a8dcf0;--tide:#4f9fc9;--panel:#fffaf0;--danger:#d4664f;font-family:Trebuchet MS,Segoe UI,Hiragino Maru Gothic ProN,sans-serif}html,body,#root{height:100%}body{background:#78b7d3;overflow:hidden}.uniseed-game{width:100%;height:100%;position:relative}.game-canvas{outline:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.hud{z-index:4;flex-direction:column;gap:8px;display:flex;position:absolute;top:14px}.hud--left{align-items:flex-start;left:16px}.hud--right{align-items:flex-end;right:16px}.wordmark{background:var(--cream);border:3px solid var(--ink);border-radius:16px;padding:8px 16px;box-shadow:0 4px #3f37304d}.wordmark b{letter-spacing:2.5px;color:var(--ink);font-size:22px;line-height:1;display:block}.wordmark small{letter-spacing:1.4px;color:var(--leaf-dark);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:700;display:block}.hud-stats{gap:6px;display:flex}.hud-stats span{color:var(--cream);letter-spacing:.8px;background:#3f3730b8;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:800}.coin-chip{background:var(--cream);border:3px solid var(--ink);color:var(--ink);letter-spacing:.6px;border-radius:999px;align-items:center;gap:8px;padding:7px 15px;font-size:12px;font-weight:800;display:flex;box-shadow:0 3px #3f373052}.coin-chip b{letter-spacing:0;font-size:18px}.coin-chip .coin-dot{background:var(--gold);border:2px solid #c79a26;border-radius:50%;width:15px;height:15px}.hud-buttons{gap:6px;display:flex}.hud-buttons button{background:var(--cream);border:3px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:12px;padding:6px 11px;font-size:13px;font-weight:800;box-shadow:0 3px #3f37304d}.hud-buttons button:active{box-shadow:none;transform:translateY(2px)}.wallet-chip{text-align:left;background:var(--cream);border:3px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 3px #3f37304d}.wallet-chip:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.wallet-chip:disabled{opacity:.7;cursor:progress}.wallet-chip b{letter-spacing:.5px;font-size:12px;display:block}.wallet-chip small{letter-spacing:1.2px;opacity:.7;text-transform:uppercase;font-size:8px;display:block}.wallet-chip--muted{cursor:default;opacity:.78}.wallet-chip--warn{background:#ffe6b8}.wallet-chip--live{background:#dff3df}.wallet-dot{border-radius:50%;flex:none;width:9px;height:9px}.wallet-dot--off{background:#b3a99b}.wallet-dot--warn{background:var(--coral)}.wallet-dot--on{background:var(--leaf)}.presence-chip{background:var(--cream);border:3px solid var(--ink);color:var(--ink);letter-spacing:.6px;border-radius:999px;align-items:center;gap:7px;padding:5px 13px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 3px #3f37304d}.presence-chip--live{background:#dff3df}.presence-chip--error{opacity:.85;background:#f3dcd7}.presence-chip--demo{background:#f6e6bd}.presence-dot{border-radius:50%;flex:none;width:8px;height:8px}.presence-dot--on{background:var(--leaf)}.presence-dot--wait{background:var(--gold)}.presence-dot--off{background:var(--danger)}.tracker{z-index:4;flex-direction:column;gap:6px;max-width:250px;display:flex;position:absolute;top:128px;left:16px}.tracker-row{border:3px solid var(--ink);color:var(--ink);background:#fffaf0f0;border-radius:14px;padding:7px 12px;box-shadow:0 3px #3f373042}.tracker-row b{letter-spacing:.4px;font-size:12px;display:block}.tracker-row>span{letter-spacing:1.3px;text-transform:uppercase;opacity:.62;font-size:8px;display:block}.tracker-row ul{gap:8px;margin-top:4px;list-style:none;display:flex}.tracker-row li{opacity:.75;font-size:11px;font-weight:800}.tracker-row li.met{opacity:1;color:var(--leaf-dark)}.interact-prompt{z-index:6;background:var(--cream);border:3px solid var(--ink);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;font-family:inherit;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 4px #3f373057}.interact-prompt:active{box-shadow:none;transform:translate(-50%)translateY(3px)}.interact-prompt kbd{background:var(--ink);color:var(--cream);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:900}.interact-prompt span{font-size:14px;font-weight:800}.interact-prompt em{opacity:.65;font-size:11px;font-style:normal;font-weight:700}.panel-scrim{z-index:12;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#28343080;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.panel{background:var(--panel);border:4px solid var(--ink);color:var(--ink);border-radius:22px;width:min(520px,100%);max-height:100%;padding:22px 24px;overflow-y:auto;box-shadow:0 10px #2d272166}.panel--wide{width:min(720px,100%)}.panel header{align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panel header h2{letter-spacing:.5px;font-size:22px}.panel header p{opacity:.7;margin-top:3px;font-size:12px;font-weight:600;line-height:1.45}.panel-close{border:3px solid var(--ink);background:var(--cream);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;margin-left:auto;font-family:inherit;font-size:13px;font-weight:900}.panel-section{margin-top:18px}.panel-section h3{letter-spacing:2px;text-transform:uppercase;color:var(--leaf-dark);margin-bottom:8px;font-size:10px}.panel-empty{opacity:.7;padding:8px 0;font-size:13px;font-weight:600;line-height:1.55}.panel-note{opacity:.68;margin-bottom:8px;font-size:11px;font-weight:600;line-height:1.5}.panel button.primary{background:var(--leaf);color:#fff;border:3px solid var(--ink);letter-spacing:.8px;cursor:pointer;border-radius:999px;width:100%;margin-top:16px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:900;box-shadow:0 4px #2d272166}.panel button.primary:disabled{cursor:not-allowed;background:#b9b2a5}.panel button.primary:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.tag{letter-spacing:1px;text-transform:uppercase;opacity:.8;background:#3f37301f;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.market-list{flex-direction:column;gap:6px;list-style:none;display:flex}.market-list li{background:var(--cream);border:2px solid #3f37303d;border-radius:12px;grid-template-columns:1fr auto 58px 74px auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.market-name{font-size:13px;font-weight:800}.market-count{opacity:.6;font-size:12px;font-weight:700}.market-price{text-align:right;font-size:15px;font-weight:900}.market-actions{gap:5px;display:flex}.market-actions button,.contract-actions button{border:2px solid var(--ink);background:var(--gold);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:11px;font-weight:800}.market-actions button.ghost,.contract-actions button.ghost{background:0 0}.market-actions button:disabled,.contract-actions button:disabled{opacity:.4;cursor:not-allowed}.trend{text-align:right;font-size:11px;font-weight:800}.trend--up{color:var(--leaf-dark)}.trend--down{color:var(--danger)}.trend--flat{opacity:.5}.contract-list{flex-direction:column;gap:10px;list-style:none;display:flex}.contract{background:var(--cream);border:3px solid #3f37304d;border-radius:16px;padding:12px 14px}.contract--ready{border-color:var(--leaf);background:#f2fbf1}.contract-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.contract-head h4{font-size:15px}.contract-issuer{letter-spacing:1.3px;text-transform:uppercase;opacity:.6;font-size:9px;font-weight:800}.contract-flavor{opacity:.72;margin:5px 0 8px;font-size:12px;font-style:italic;line-height:1.5}.contract-reqs{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.contract-reqs li{background:#3f373017;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.contract-reqs li.met{background:#6fbf7340}.contract-reward{flex-wrap:wrap;gap:12px;margin:9px 0;font-size:11px;font-weight:800;display:flex}.contract-actions{gap:6px;display:flex}.plot-facts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.plot-facts div{background:var(--cream);border:2px solid #3f373038;border-radius:12px;padding:8px 10px}.plot-facts dt{letter-spacing:1.3px;text-transform:uppercase;opacity:.6;font-size:8px;font-weight:800}.plot-facts dd{margin-top:3px;font-size:13px;font-weight:800}.build-list{flex-direction:column;gap:10px;list-style:none;display:flex}.build-list li{background:var(--cream);border:2px solid #3f373038;border-radius:14px;align-items:center;gap:12px;padding:11px 13px;display:flex}.build-list h4{font-size:14px}.build-list p{opacity:.72;margin-top:3px;font-size:11px;font-weight:600;line-height:1.45}.build-cost{flex-wrap:wrap;gap:10px;display:flex;opacity:1!important;margin-top:6px!important;font-weight:800!important}.build-cost i{margin-left:3px;font-style:normal}.build-cost i.ok{color:var(--leaf-dark)}.build-cost i.short{color:var(--danger)}.build-cycle{opacity:.6!important;font-size:10px!important}.build-list button{border:3px solid var(--ink);background:var(--leaf);color:#fff;cursor:pointer;border-radius:999px;flex:none;padding:9px 16px;font-family:inherit;font-size:12px;font-weight:900}.build-list button:disabled{cursor:not-allowed;background:#b9b2a5;font-size:10px}.business-status{letter-spacing:1px;text-transform:uppercase;text-align:center;border-radius:999px;padding:7px 14px;font-size:11px;font-weight:800}.business-status--operating{color:var(--leaf-dark);background:#6fbf7347}.business-status--starved{color:var(--danger);background:#d4664f33}.business-status--idle{background:#3f37301f}.cycle-meter{border:2px solid var(--ink);background:#e6dac0;border-radius:999px;height:8px;margin:10px 0 14px;overflow:hidden}.cycle-meter i{background:linear-gradient(90deg, var(--gold), var(--coral));height:100%;display:block}.business-figures{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.business-figures div{background:var(--cream);text-align:center;border:2px solid #3f373038;border-radius:12px;padding:8px 10px}.business-figures dt{letter-spacing:1.1px;text-transform:uppercase;opacity:.6;font-size:8px;font-weight:800}.business-figures dd{margin-top:3px;font-size:15px;font-weight:900}.business-figures .profit dd{color:var(--leaf-dark)}.business-figures .loss dd{color:var(--danger)}.supply-list{flex-direction:column;gap:6px;list-style:none;display:flex}.supply-list li{background:var(--cream);border:2px solid #3f373038;border-radius:12px;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:8px 12px;font-size:12px;font-weight:800;display:grid}.supply-count{font-size:13px}.supply-carried{opacity:.6;font-size:10px;font-weight:700}.provenance{letter-spacing:1.4px;text-transform:uppercase;background:#3f37301a;border-radius:12px;margin-bottom:12px;padding:8px 12px;font-size:10px;font-weight:900}.provenance--demo{background:#f4c54247}.provenance small{letter-spacing:.2px;text-transform:none;opacity:.75;margin-top:4px;font-size:10px;font-weight:600;display:block}.pulse-list{flex-direction:column;gap:5px;list-style:none;display:flex}.pulse-list li{background:var(--cream);border:2px solid #3f373033;border-radius:12px;grid-template-columns:1fr 78px 1fr;align-items:center;gap:10px;padding:7px 12px;display:grid}.pulse-sector{font-size:13px;font-weight:800}.pulse-label{opacity:.6;text-align:right;font-size:10px;font-weight:700}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;list-style:none;display:grid}.inventory-grid li{background:var(--cream);text-align:center;border:2px solid #3f373038;border-radius:14px;padding:10px 6px}.inv-icon{font-size:24px;display:block}.inventory-grid b{margin-top:2px;font-size:16px;display:block}.inventory-grid small{opacity:.7;font-size:9px;font-weight:700;display:block}.inventory-grid em{color:var(--leaf-dark);margin-top:3px;font-size:10px;font-style:normal;font-weight:800;display:block}.menu{--ui-accent:#fc72ff;--ui-accent-strong:#ff007a;--ui-surface:#17141a;--ui-outline:#0a080c;--ui-text:#f4f2f6;z-index:14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#1e0c20ad,#0a060ccc);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.menu-card{background:var(--ui-surface);border:4px solid var(--ui-outline);text-align:center;width:100%;max-width:540px;color:var(--ui-text);border-radius:28px;padding:34px 38px;box-shadow:0 10px #ff007a52}.menu-logo{object-fit:cover;border:4px solid var(--ui-outline);border-radius:50%;width:112px;height:112px;margin:0 auto 14px;display:block;box-shadow:0 6px #ff007a47}.menu-title{letter-spacing:2px;color:var(--ui-text);-webkit-text-stroke:2px var(--ui-accent-strong);font-size:clamp(32px,8vw,46px);font-weight:900;line-height:1}.menu-tagline{letter-spacing:2.6px;text-transform:uppercase;color:var(--ui-accent);margin-top:12px;font-size:12px;font-weight:900}.menu-kicker{letter-spacing:2.6px;text-transform:uppercase;opacity:.6;margin-top:6px;font-size:10px;font-weight:900}.menu-narrative{letter-spacing:2.2px;text-transform:uppercase;color:var(--ui-text);margin-top:10px;font-size:11px;font-weight:900;line-height:1.6}.menu-status{letter-spacing:1.6px;text-transform:uppercase;color:var(--ui-accent);opacity:.75;margin-top:5px;font-size:9px;font-weight:800;line-height:1.5}.menu-body{margin:18px 0;font-size:15px;font-weight:600;line-height:1.55}.menu-body--error{color:#ff7a93}.menu-note{color:var(--ui-accent);background:#fc72ff29;border-radius:12px;margin-bottom:14px;padding:8px 12px;font-size:11px;font-weight:700;line-height:1.5}.menu-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.menu-actions .primary{background:var(--ui-accent-strong);color:#fff;border:3px solid var(--ui-outline);letter-spacing:1px;cursor:pointer;border-radius:999px;padding:12px 34px;font-family:inherit;font-size:17px;font-weight:900;box-shadow:0 4px #0a080ca6}.menu-actions .primary:disabled{cursor:not-allowed;background:#4a4351}.menu-actions .primary:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.menu .wallet-chip{border-color:var(--ui-outline);color:var(--ui-accent);background:#221d28;box-shadow:0 3px #0a080c99}.menu .wallet-chip small{color:#f4f2f699}.menu .wallet-chip--muted{color:#f4f2f68c}.menu .wallet-chip--warn{color:#ffc46e;background:#3a2a12}.menu .wallet-chip--live{background:#2a1730}.menu .wallet-dot--off{background:#5c5563}.menu .wallet-dot--on{background:var(--ui-accent)}.menu-reset{letter-spacing:1px;color:var(--ui-text);opacity:.55;cursor:pointer;background:0 0;border:none;margin-top:14px;font-family:inherit;font-size:11px;font-weight:800;text-decoration:underline}.menu-token{flex-direction:column;align-items:center;gap:8px;margin-top:16px;display:flex}.menu-buy{background:var(--ui-accent-strong);color:#fff;border:3px solid var(--ui-outline);letter-spacing:1px;border-radius:999px;padding:11px 30px;font-size:15px;font-weight:900;text-decoration:none;transition:background .15s;display:inline-block;box-shadow:0 4px #0a080ca6}.menu-buy:hover{background:#ff2f92}.menu-buy:active{box-shadow:none;transform:translateY(3px)}.menu-ca{border:3px solid var(--ui-outline);cursor:pointer;background:#221d28;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:7px 14px;font-family:inherit;transition:background .15s;display:inline-flex;box-shadow:0 3px #0a080c99}.menu-ca:hover{background:#2a1730}.menu-ca:active{box-shadow:none;transform:translateY(3px)}.menu-ca--copied{background:#2a1730}.menu-ca-label{letter-spacing:1.4px;color:var(--ui-accent);flex:none;font-size:9px;font-weight:900}.menu-ca code{letter-spacing:.2px;color:var(--ui-text);overflow-wrap:anywhere;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.menu-ca-action{letter-spacing:1.4px;color:var(--ui-accent);flex:none;font-size:9px;font-weight:900}.menu-social{border:3px solid var(--ui-outline);letter-spacing:1px;color:var(--ui-text);background:#221d28;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:8px 18px;font-size:12px;font-weight:900;text-decoration:none;transition:background .15s,color .15s;display:inline-flex;box-shadow:0 3px #0a080c99}.menu-social:hover{color:var(--ui-accent);background:#2a1730}.menu-social:active{box-shadow:none;transform:translateY(3px)}.menu-social svg{flex:none}.menu-footer{letter-spacing:3px;opacity:.55;margin-top:18px;font-size:11px;font-weight:800}.menu-credit{letter-spacing:1.8px;opacity:.65;margin-top:14px;font-size:9px;font-weight:800;line-height:1.5;display:block}.request-row{z-index:4;pointer-events:none;gap:8px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.request-chip{background:var(--cream);border:3px solid var(--ink);color:var(--ink);text-align:center;border-radius:14px;padding:6px 12px;font-size:11px;font-weight:800;box-shadow:0 3px #3f37304d}.request-chip small{letter-spacing:1px;opacity:.7;font-size:8px;display:block}.game-toast{z-index:5;color:var(--cream);text-align:center;background:#3f3730e6;border-radius:999px;max-width:86vw;padding:10px 20px;font-size:13px;font-weight:800;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}.npc-banter{z-index:5;background:var(--cream);border:3px solid var(--ink);color:var(--ink);text-align:center;border-radius:18px 18px 18px 4px;max-width:min(460px,86vw);padding:10px 18px;position:absolute;bottom:196px;left:50%;transform:translate(-50%);box-shadow:0 4px #3f37304d}.npc-banter b{letter-spacing:2px;color:var(--leaf-dark);margin-bottom:2px;font-size:10px;display:block}.npc-banter span{font-size:14px;font-weight:600}.keyboard-hint{z-index:4;color:var(--cream);letter-spacing:1px;text-shadow:0 2px 3px #00000073;pointer-events:none;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.keyboard-hint kbd{background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:900;box-shadow:0 2px #3f373066}.touch-controls{z-index:4;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:18px;right:18px}.touch-controls div{gap:6px;display:flex}.touch-controls button{border:3px solid var(--ink);width:52px;height:52px;color:var(--ink);cursor:pointer;touch-action:none;background:#fdf6e3e6;border-radius:14px;font-size:20px;font-weight:900;box-shadow:0 3px #3f373059}.touch-controls button:active{box-shadow:none;transform:translateY(2px)}.catch-banner{z-index:6;background:var(--cream);border:4px solid var(--ink);color:var(--ink);text-align:center;border-radius:22px;max-width:min(480px,88vw);padding:14px 26px;font-size:16px;font-weight:800;animation:.35s cubic-bezier(.34,1.56,.64,1) bannerPop;position:absolute;top:38%;left:50%;transform:translate(-50%);box-shadow:0 6px #2d272166}.catch-banner span{vertical-align:-3px;margin-right:10px;font-size:26px}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%)scale(.6)}to{opacity:1;transform:translate(-50%)scale(1)}}.action-btn{z-index:4;border:4px solid var(--ink);background:var(--coral);color:#fff;cursor:pointer;touch-action:none;border-radius:50%;width:72px;height:72px;font-size:28px;font-weight:900;position:absolute;bottom:34px;right:218px;box-shadow:0 5px #2d272166}.action-btn:active{box-shadow:none;transform:translateY(3px)}.door-fade{z-index:7;opacity:0;pointer-events:none;background:#120d0b;transition:opacity .27s;position:absolute;top:0;bottom:0;left:0;right:0}@media (max-width:720px){.wordmark b{letter-spacing:1.6px;font-size:16px}.wordmark small,.tracker{display:none}.panel{border-radius:18px;padding:18px 16px}.panel-scrim{padding:12px}.market-list li{grid-template-columns:1fr auto auto;row-gap:6px}.market-list li .trend{display:none}.market-actions{grid-column:1/-1}.plot-facts,.business-figures{grid-template-columns:repeat(2,1fr)}.build-list li{flex-direction:column;align-items:stretch}.action-btn{width:62px;height:62px;font-size:22px;bottom:26px;right:200px}.keyboard-hint{display:none}.interact-prompt{bottom:128px}}
