:root{color-scheme:dark;--bg:#080819;--panel:#111122;--line:#29273c;--muted:#9691ac;--text:#eeebf7;--gold:#f0ca7c;--mint:#a5decb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Space Grotesk','Segoe UI',sans-serif;font-size:16px;background-image:radial-gradient(ellipse at 48% 45%,#22203a55,transparent 65%)}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid var(--line);background:#191728;border-radius:8px;min-height:44px;padding:10px 15px;cursor:pointer;transition:transform .25s,background .25s,border-color .25s}button:hover{border-color:var(--gold);background:#282334;transform:translateY(-2px)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}.stars{position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(1px 1px at 15% 28%,#d9d0ee 90%,transparent),radial-gradient(1px 1px at 77% 17%,#d9d0ee 90%,transparent),radial-gradient(2px 2px at 44% 78%,#9d8fb4 90%,transparent);background-size:281px 253px,373px 359px,521px 471px;opacity:.4;animation:drift 70s linear infinite}@keyframes drift{to{transform:translateY(-50px)}}header{max-width:1440px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;border-bottom:1px solid #ffffff0a;align-items:center}.brand{font-family:monospace;font-weight:700;letter-spacing:2px;font-size:16px}.brand span:not(.brand-icon){color:var(--muted)}.brand-icon{font-size:28px;color:var(--gold);margin-right:13px}.brand small{font-size:11px;color:#726b89;margin-left:22px;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:10px}.header-right button{background:transparent;font-size:20px;width:44px;padding:0}.online{font:11px monospace;letter-spacing:1px;color:#9badab;margin-right:20px}.online:before,.live-dot{content:'';display:inline-block;background:var(--mint);width:6px;height:6px;border-radius:50%;margin-right:10px;box-shadow:0 0 10px #a5decb55}main{max-width:1350px;margin:auto;padding:36px 40px 0}.intro{display:flex;justify-content:space-between;align-items:center;margin:0 0 30px}.eyebrow,label,.panel-label,.small-row,.tag,.machine-foot,.board-hint,.board-coordinate,footer{font-family:'DM Mono',monospace}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2px}h1{font-size:58px;letter-spacing:-3px;line-height:1.15;margin:9px 0}h1 .title-star{color:var(--gold);font-size:34px;vertical-align:top;display:inline-block;margin:3px 12px}.version{font:11px monospace;color:var(--muted);letter-spacing:0;border:1px solid var(--line);padding:4px 7px;vertical-align:middle}p{color:var(--muted);line-height:1.65;margin:8px 0 20px;font-size:14px}.intro p{margin:0;font-size:16px}.intro p strong{font-weight:400;color:var(--gold)}.intro-note{position:relative;padding-right:100px;font-size:14px;line-height:1.8;color:var(--muted);transform:rotate(-4deg)}.intro-note span{color:var(--gold)}.orbit{position:absolute;right:5px;top:-35px;font-size:115px;opacity:.45}.dashboard{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border:1px solid var(--line);border-radius:12px;background:#141223bd;margin-bottom:24px;padding:22px 26px}.dashboard>div{padding:0 23px;border-left:1px solid var(--line)}.dashboard .balance{padding-left:0;border:0;display:flex;gap:16px;align-items:center;position:relative}.coin-symbol{border:1px solid #e1b9666b;background:#c2912d16;color:var(--gold);width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:28px}label{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:7px}.dashboard strong{font-size:25px;font-weight:600;font-variant-numeric:tabular-nums}.dashboard small{font:12px monospace;color:var(--muted)}.balance strong{color:var(--gold)}#gain{position:absolute;right:8px;bottom:-12px;color:var(--mint);font:12px monospace}.workspace{display:grid;grid-template-columns:230px minmax(320px,1fr) 260px;gap:22px;align-items:start}.panel{border:1px solid var(--line);background:linear-gradient(135deg,#171527ce,#111121ef);border-radius:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff03}.panel-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.9px;color:var(--muted)}.panel-label span{color:#655e7d}.pilot{text-align:center;padding:20px}.avatar{width:88px;height:88px;background:#2b2439;border:1px solid #50415b;border-radius:22px;display:grid;place-items:center;margin:26px auto 17px;color:var(--gold);font:32px monospace;box-shadow:0 0 35px #e1ba6120}.avatar img{width:100%;height:100%;object-fit:contain}h2{font-size:20px;letter-spacing:-.5px;margin:12px 0 6px}h3{font-size:16px;margin:22px 0 8px}.pilot p{font-size:12px;margin-bottom:14px}.tag{display:inline-block;font-size:10px;color:var(--gold);background:#f0ca7c0c;border:1px solid #f0ca7c23;border-radius:4px;padding:5px 7px}.text-button{background:none;border:0;padding:10px 0;color:var(--gold);font-size:12px}.pilot .text-button{display:block;width:100%;margin-top:14px;border-top:1px solid var(--line);border-radius:0;padding-top:18px}.journey{padding:20px;margin-top:20px}.journey p{font-size:12px}.small-row{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:10px 0}.small-row span:last-child{color:var(--gold)}progress{appearance:none;width:100%;height:6px;border:0;border-radius:9px;overflow:hidden;background:#272337}progress::-webkit-progress-bar{background:#272337}progress::-webkit-progress-value{background:var(--gold);border-radius:9px;transition:width .3s}progress::-moz-progress-bar{background:var(--gold)}.side-note{font:11px/1.9 monospace;color:#77718d;padding:20px 8px}.machine{padding:0 16px 12px;background:#101020}.machine-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.machine-head strong{font-size:13px;font-weight:500}.machine-head .tag{margin-left:12px;color:var(--muted);background:none;border-color:var(--line);font-size:9px}.machine-head button{border:0;background:none;font-size:23px;padding:6px}.board-wrap{position:relative;background:radial-gradient(ellipse at 50% 65%,#31223c33,transparent 65%);margin:0 -2px}.board-wrap:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#00000014 4px);opacity:.45}.board-hint{text-align:center;font-size:9px;letter-spacing:1.8px;color:#7c748e;position:absolute;top:17px;width:100%;pointer-events:none}canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.board-coordinate{position:absolute;left:14px;bottom:67px;font-size:8px;color:#59536d;pointer-events:none}#combo{position:absolute;right:15px;top:47px;color:var(--mint);font:13px monospace;pointer-events:none}.drop-controls{display:flex;gap:10px;margin-top:6px}.primary{background:var(--gold);color:#262033;border-color:var(--gold);font-weight:650;box-shadow:0 0 22px #f0ca7c10}.primary:hover{background:#ffdc95;color:#181421}.drop-controls .primary{flex:1;font-size:14px;min-height:52px}.primary>span{font-size:20px;margin-right:8px}kbd{font:9px monospace;border:1px solid #3b304644;border-radius:4px;padding:4px;margin-left:12px}.drop-controls #auto{font-size:18px;color:var(--muted)}#auto span{font-size:12px}#auto[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.machine-foot{display:flex;justify-content:space-between;color:#7f7892;font-size:9px;margin-top:13px}.crate-panel{padding:20px}.crate-art{position:relative;text-align:center;font:100px monospace;color:#b5a0e7;margin:15px auto 12px;line-height:1.25;text-shadow:0 0 40px #a783ee45}.crate-art span{position:absolute;top:5px;right:42px;font-size:24px;color:var(--gold)}.crate-panel h2{font-size:17px}.crate-panel p,.modules-panel p{font-size:12px}.outlined{width:100%;font-size:12px;color:var(--gold);border-color:#f0ca7c44;background:#f0ca7c07;margin-top:16px;display:flex;gap:8px;align-items:center;justify-content:center}.count{font:11px monospace;border-radius:4px;background:#f0ca7c1a;padding:3px 7px;margin-left:auto}.modules-panel{padding:20px;margin-top:20px}.module-preview{display:flex;gap:12px;margin-top:22px}.module-preview span{width:44px;height:44px;display:grid;place-items:center;border:1px solid #66528366;color:#baa0e8;background:#8b67b510;border-radius:9px;font:22px monospace}.module-preview span:nth-child(2){color:var(--mint);border-color:#a5decb44;font-size:17px}.module-preview span:nth-child(3){color:var(--gold);border-color:#f0ca7c44}.modules-panel h3{margin-top:16px;font-size:14px}.bottom-nav{display:flex;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:12px;width:fit-content;margin:25px auto 0;padding:6px;background:#121122}.bottom-nav button{border:0;background:none;color:var(--muted);font-size:17px;padding:12px 22px}.bottom-nav span{font-size:12px;margin-left:7px}.bottom-nav .active{background:#f0ca7c10;color:var(--gold)}footer{display:flex;justify-content:space-between;color:#706980;font-size:9px;letter-spacing:1px;margin:26px 0 20px}footer b{color:var(--gold);margin:0 6px}dialog{background:#131123;color:var(--text);border:1px solid #655175;border-radius:16px;padding:25px;width:min(740px,calc(100% - 24px));max-height:88dvh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#050511ba;backdrop-filter:blur(8px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head button{background:none;border:0}.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.item{border:1px solid var(--line);background:#1b172b;padding:18px;border-radius:10px}.item h3{margin:4px 0 8px}.item p{font-size:13px;min-height:40px}.item button{width:100%;font-size:13px;margin-top:8px}.item .item-icon{font:32px monospace;color:var(--gold);margin-bottom:12px}.item.selected{border-color:var(--gold)}.shop-scene{text-align:center;background:radial-gradient(ellipse at bottom,#76513a55,transparent 75%);border-bottom:9px solid #473345;padding:12px}.shop-scene .avatar{margin:0 auto;border-radius:35px 35px 0 0;height:100px;width:110px}.shop-scene p{margin:8px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.odds{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.odds span{padding:6px 9px;border:1px solid var(--line);border-radius:4px;font:11px monospace}.mount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mount-grid button{font-size:12px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.setting label{font:14px 'Segoe UI',sans-serif;color:var(--text);margin:0}.setting input[type=checkbox]{width:22px;height:22px;accent-color:var(--gold)}select{background:#242035;color:var(--text);border:1px solid var(--line);padding:12px;border-radius:7px}#toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#30283d;border:1px solid #b6976255;padding:14px 22px;border-radius:10px;z-index:10;transition:.3s;font-size:14px;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.result{animation:reveal .4s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}body.reduced *,body.reduced *:before{animation:none!important;transition:none!important}@media(min-width:1450px){main{padding-top:44px}.workspace{grid-template-columns:240px minmax(320px,1fr) 270px}}@media(max-width:1100px){main{padding:26px 24px 0}.workspace{grid-template-columns:190px minmax(300px,1fr) 210px;gap:14px}.panel-label{font-size:9px}.pilot,.journey,.crate-panel,.modules-panel{padding:15px}.dashboard{padding:18px}.dashboard>div{padding:0 15px}.dashboard strong{font-size:22px}.machine-head .tag{display:none}.intro-note{padding-right:70px}}@media(max-width:900px){.workspace{grid-template-columns:minmax(300px,1fr) 230px}.left-column{display:none}.dashboard{grid-template-columns:1.7fr 1fr 1fr}.dashboard>div:last-child{display:none}.intro-note{display:none}header{padding:20px 25px}.online{display:none}}@media(max-width:600px){header{padding:14px 16px}.brand{font-size:12px;letter-spacing:1px}.brand small{display:none}.brand-icon{font-size:23px;margin-right:7px}main{padding:21px 12px 85px}.intro{margin-bottom:20px}.eyebrow{font-size:9px}h1{font-size:43px;margin:8px 0}.intro p{font-size:13px}.title-star{font-size:25px!important}.dashboard{padding:14px 11px;margin-bottom:14px;border-radius:9px;gap:5px;grid-template-columns:1.5fr 1fr 1fr}.dashboard>div{padding:0 8px}.coin-symbol{display:none}label{font-size:8px;letter-spacing:.4px}.dashboard strong{font-size:18px}.dashboard small{font-size:9px}.workspace{display:block}.right-column{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}.crate-panel{display:grid;grid-template-columns:1fr auto;column-gap:15px}.crate-panel .panel-label{grid-column:1/-1}.crate-art{display:none}.crate-panel h2{font-size:15px;margin-top:15px}.crate-panel p{grid-column:1/-1;margin:4px 0 9px}.crate-panel .small-row{grid-column:1/-1}.crate-panel progress{grid-column:1/-1}.crate-panel .outlined{grid-column:1/-1;margin-top:12px}.modules-panel{display:none}.machine{padding:0 10px 10px}.machine-head{min-height:48px}.machine-head strong{font-size:12px}.board-hint{font-size:8px;top:12px;letter-spacing:1px}.drop-controls .primary{font-size:13px}.drop-controls kbd{display:none}.machine-foot{font-size:8px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;border-radius:12px 12px 0 0;margin:0;z-index:5;justify-content:space-around;padding:6px 3px calc(6px + env(safe-area-inset-bottom));gap:0;box-shadow:0 -10px 30px #080819a0}.bottom-nav button{padding:8px 7px;min-width:56px}.bottom-nav span{display:block;margin:5px 0 0;font-size:10px}footer{font-size:8px;gap:12px;flex-wrap:wrap}footer>span:first-child{display:none}.modal-grid{grid-template-columns:1fr}dialog{padding:18px}.mount-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:901px){canvas{height:clamp(340px,48vh,480px)}main{padding-top:26px}.intro{margin-bottom:22px}h1{font-size:50px}.dashboard{margin-bottom:20px;padding-top:18px;padding-bottom:18px}.pilot .avatar{margin-top:18px;margin-bottom:12px}.journey{margin-top:14px}.crate-art{font-size:78px}.modules-panel{margin-top:14px}.bottom-nav{margin-top:18px}footer{margin-top:20px}.board-coordinate{bottom:56px}}
/* Coinsmic 1.1 · reachable controls, inline board lab, cargo reveals */
.header-right #sound{width:auto;min-width:108px;padding:8px 12px;font:12px monospace;color:var(--gold)}
.header-right #sound[aria-pressed=false]{color:var(--muted);border-color:#f0ca7c66}
.bottom-nav{position:sticky;top:10px;z-index:6;margin:0 0 18px;width:100%;justify-content:flex-start;background:#141223f5;backdrop-filter:blur(16px);box-shadow:0 8px 22px #08081965}
.bottom-nav button{flex:1}
#inventory-drawer[hidden]{display:none}
#inventory-drawer{padding:16px;max-height:640px;display:flex;flex-direction:column;border-color:#766044;box-shadow:0 0 35px #f0ca7c08;animation:reveal .3s ease-out}
.editing-board .right-column>.crate-panel,.editing-board .right-column>.modules-panel{display:none}
.drawer-head{display:flex;gap:8px;justify-content:space-between;align-items:center}.drawer-head .eyebrow{font-size:9px;letter-spacing:1px}.drawer-head h2{font-size:20px;margin:8px 0 0}.drawer-head h2 small{font:11px monospace;color:var(--muted)}.drawer-head>button{padding:4px 9px;background:transparent;min-width:38px;flex-shrink:0;border:0}
.drawer-help{font-size:12px;margin:14px 0;line-height:1.7}.placement-picker{border-block:1px solid var(--line);padding:12px 0;margin-bottom:12px}#inventory-status{font-size:12px;color:var(--muted);line-height:1.5;min-height:36px}#inventory-status strong{color:var(--gold)}
.slot-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:9px}.slot-picker button{padding:5px 2px;font:14px monospace;min-height:45px}.slot-picker small{display:block;font:8px monospace;color:var(--muted);margin-top:3px}.slot-picker button:enabled{border-color:#f0ca7c88;color:var(--gold)}.slot-picker button:disabled{opacity:.55}
.inventory-list{overflow:auto;min-height:90px;scrollbar-width:thin;scrollbar-color:#665375 transparent;overscroll-behavior:contain}.inventory-item{border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:10px;background:#1b172b}.inventory-item.selected{border-color:var(--rarity);box-shadow:inset 0 0 20px color-mix(in srgb,var(--rarity) 8%,transparent)}
.module-handle{border:0;background:transparent!important;display:flex;align-items:center;gap:9px;padding:0;width:100%;text-align:left;cursor:grab;user-select:none;transform:none!important}.module-handle:active{cursor:grabbing}.module-glyph{font:25px monospace;color:var(--rarity);flex-shrink:0}.module-handle strong{display:block;font-size:12px}.module-handle small{display:block;font:9px monospace;color:var(--rarity);margin-top:6px}.grip{margin-left:auto;color:#8d819f;font-size:23px}.inventory-item p{font-size:11px;line-height:1.55;margin:8px 0}.inventory-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.inventory-actions>span{font:9px monospace;color:var(--muted);flex:1 0 100%}.inventory-actions button{font-size:10px;min-height:34px;padding:5px 8px}.drawer-foot{display:flex;justify-content:space-between;gap:8px;font:9px/1.5 monospace;color:var(--gold);padding-top:12px}.drawer-foot span{color:var(--muted);text-align:right}.inventory-empty{text-align:center;padding:20px 8px}.inventory-empty>span{font-size:38px;color:#b5a0e7}.inventory-empty h3{font-size:15px}.inventory-empty p{font-size:12px}
#board-mounts{position:absolute;inset:0;z-index:2;pointer-events:none}.mount-target{position:absolute;transform:translate(-50%,-50%)!important;width:48px;height:48px;min-height:48px;padding:0;display:flex;align-items:center;justify-content:center;gap:5px;background:#211d30f0;pointer-events:auto;border-color:#736184;border-style:dashed}.mount-target b{font:14px monospace;color:var(--gold)}.mount-target span{color:var(--muted);font:15px monospace}.mount-target:disabled{opacity:1}.mount-target.available{border-color:var(--gold);background:#302838;box-shadow:0 0 14px #f0ca7c16}.mount-target.available:hover,.mount-target.over{background:#f0ca7c;border-style:solid;box-shadow:0 0 30px #f0ca7c50}.mount-target.over b,.mount-target.over span,.mount-target:hover:enabled b{color:#241b30}.editing-board .machine{border-color:#756140}.editing-board .drop-controls{opacity:.4;pointer-events:none}.editing-board .board-hint{color:var(--gold)}
.module-drag-ghost{position:fixed;z-index:30;pointer-events:none;padding:12px 18px;border:1px solid var(--gold);border-radius:8px;color:var(--gold);background:#292239;box-shadow:0 12px 25px #0009;font-size:14px}.dragging-module,.dragging-module *{cursor:grabbing!important;user-select:none!important}
.cargo-intro{text-align:center}.cargo-intro h2{font-size:26px}.cargo-intro p{margin-bottom:8px}.cargo-stage{position:relative;display:grid;place-items:center;min-height:230px;isolation:isolate;border-radius:12px;background:radial-gradient(ellipse at center,#a48ace13,transparent 65%);overflow:hidden}.cargo-box-button{border:0;background:transparent!important;display:flex;flex-direction:column;align-items:center;gap:27px;min-width:190px;padding:30px 15px 20px;z-index:2;box-shadow:none;transform:none!important}.cargo-box-button:disabled{opacity:1}.cargo-box-button:disabled .cargo-tap{opacity:.6}.cargo-box{display:block;position:relative;width:118px;height:98px;filter:drop-shadow(0 0 20px #bda0f533)}.cargo-lid{position:absolute;top:0;left:-5px;width:128px;height:25px;border:2px solid #c1a6e8;background:#4a385f;border-radius:6px 6px 3px 3px;z-index:2;transform-origin:10% 80%}.cargo-lid:after{content:'';position:absolute;left:51px;width:18px;top:0;bottom:0;background:#ccb5ee55}.cargo-base{position:absolute;top:28px;left:0;width:118px;height:70px;border:2px solid #a88acb;background:#30263f;border-radius:3px 3px 8px 8px;display:grid;place-items:center;box-shadow:inset 0 -8px #211b2d}.cargo-base>span{color:var(--gold);font-size:35px;text-shadow:0 0 12px #f0ca7c44}.cargo-tap{font:10px monospace;letter-spacing:2px;color:#baa6d2}.cargo-box-button:hover:enabled .cargo-lid{transform:translateY(-4px);transition:transform .25s}.cargo-actions{justify-content:center;margin:8px 0 20px}.cargo-actions button{min-width:90px}.skip-reveal{display:block;margin:-2px auto 10px;color:var(--muted);min-height:44px}
.charging .cargo-box{animation:crate-charge .75s ease-in-out infinite}.charging .cargo-base{box-shadow:inset 0 0 24px #bea2e533,0 0 22px #c5a0f133}.charging .cargo-tap{visibility:hidden}
@keyframes crate-charge{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-4deg)}75%{transform:translateY(-2px) rotate(4deg)}}
.cargo-revealed{border-color:var(--loot-color);background:radial-gradient(ellipse at 50% 10%,color-mix(in srgb,var(--loot-color) 17%,transparent),transparent 65%),#131123;transition:background .35s,border-color .35s}
.cargo-revealed::backdrop{background:color-mix(in srgb,var(--loot-color) 12%,#050511e8)}
.unboxed{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--loot-color) 23%,transparent),transparent 68%)}.unboxed .cargo-lid{transform:translate(-12px,-29px) rotate(-14deg);border-color:var(--loot-color);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.unboxed .cargo-base{border-color:var(--loot-color);box-shadow:inset 0 0 25px color-mix(in srgb,var(--loot-color) 25%,transparent),0 0 35px color-mix(in srgb,var(--loot-color) 20%,transparent)}.unboxed .cargo-tap{color:var(--loot-color)}.reveal-particles{position:absolute;inset:0;pointer-events:none;z-index:1}.reveal-particles i{position:absolute;left:50%;top:45%;color:var(--loot-color);font-style:normal;font-size:23px;opacity:0}.unboxed .reveal-particles i{animation:cargo-spark .85s ease-out var(--delay) both}@keyframes cargo-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--px),var(--py)) scale(.8)}}
.loot-heading{text-align:center;margin-top:10px}.loot-heading span{display:block;font:10px monospace;letter-spacing:2px;color:var(--loot-color);margin-bottom:7px}.loot-heading strong{font-size:18px}.loot-item{border-color:color-mix(in srgb,var(--rarity) 55%,transparent);background:color-mix(in srgb,var(--rarity) 7%,#171324)}.loot-item .item-icon,.loot-item .tag{color:var(--rarity)}.loot-item p{min-height:0;margin-bottom:0}.cargo-odds{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;font-size:12px;color:var(--muted)}.cargo-odds summary{cursor:pointer;min-height:38px}.cargo-odds p{font-size:12px}.cargo-odds .odds{margin:12px 0}
@media(min-width:901px){header{padding:12px 40px}main{padding-top:15px}.intro{margin-bottom:15px}.intro h1{font-size:40px;margin:4px 0}.intro .eyebrow{font-size:9px}.intro p{font-size:13px}.dashboard{padding:13px 20px;margin-bottom:13px}.dashboard strong{font-size:22px}.bottom-nav{margin:0 0 14px;padding:4px}.bottom-nav button{padding:9px 16px;min-height:42px}.workspace{grid-template-columns:200px minmax(320px,1fr) 280px;gap:16px}canvas{height:clamp(285px,calc(100dvh - 385px),490px)}.machine-head{min-height:45px}.drop-controls .primary{min-height:46px}.machine-foot{margin-top:9px}.pilot{padding:15px}.pilot .avatar{height:64px;width:64px;margin:13px auto 8px}.pilot h2{font-size:18px}.pilot .text-button{padding-top:10px;margin-top:8px}.journey{padding:15px}.journey h3{margin-top:16px}.side-note{display:none}.crate-panel{padding:17px}.crate-art{font-size:65px;margin:12px auto}.modules-panel{padding:16px}.module-preview{margin-top:12px}#inventory-drawer{max-height:calc(100dvh - 270px);min-height:400px}}
@media(min-width:601px) and (max-width:1000px){.left-column{display:none}.workspace{grid-template-columns:minmax(320px,1fr) 270px;gap:14px}.online{display:none}}
@media(max-width:600px){.header-right #sound{min-width:95px;font-size:11px;padding:6px 8px}.header-right{gap:5px}.brand{font-size:11px}.intro{margin-bottom:14px}main{padding-top:15px}.bottom-nav{position:fixed;top:auto;bottom:0;margin:0;justify-content:space-around;left:0;right:0;border-radius:12px 12px 0 0;padding:6px 3px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{padding:8px 6px}.mount-target{width:44px;height:44px;min-height:44px}.mount-target b{font-size:12px}.mount-target span{font-size:12px}#inventory-drawer{position:fixed;bottom:calc(77px + env(safe-area-inset-bottom));left:10px;right:10px;z-index:7;max-height:53dvh;padding:13px;border-radius:14px;box-shadow:0 -15px 45px #050510aa;background:#151225fa}.drawer-head h2{font-size:18px}.drawer-head .eyebrow{font-size:8px}.drawer-help{font-size:11px;margin:8px 0}.drawer-help br{display:none}.placement-picker{padding:8px 0;margin-bottom:8px}.slot-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.slot-picker button{font-size:12px;min-height:44px}.slot-picker small{font-size:7px}#inventory-status{min-height:0;font-size:11px}.inventory-list{min-height:95px}.inventory-item p{display:none}.inventory-actions{margin-top:6px}.inventory-actions>span{flex:1 1 auto}.inventory-actions button{min-height:44px}.module-handle{min-height:50px;cursor:pointer}.module-handle strong{font-size:13px}.module-handle small{font-size:10px}.drawer-foot{font-size:8px;padding-top:8px}.grip{display:none}.cargo-intro h2{font-size:22px}.cargo-stage{min-height:220px}.cargo-actions{gap:6px}.cargo-actions button{min-width:0;flex:1;font-size:12px;padding:10px 8px}.cargo-box-button{display:flex}.cargo-revealed .modal-grid{grid-template-columns:1fr}.cargo-revealed dialog{padding:16px}}
@media(prefers-reduced-motion:reduce){.reveal-particles{display:none}}body.reduced .reveal-particles{display:none}
/* Keep coins circular and the full machine reachable on laptop displays. */
@media(min-width:901px){header{padding-top:6px;padding-bottom:6px}main{padding-top:10px}.intro{margin-bottom:10px}.intro h1{font-size:36px}.dashboard{padding-top:10px;padding-bottom:10px;margin-bottom:10px}.bottom-nav{margin-bottom:10px}.board-wrap{width:clamp(290px,calc((100dvh - 425px)*1.05263),516px);max-width:100%;margin-inline:auto}canvas{width:100%;height:auto;aspect-ratio:600/570}.board-hint{top:10px;font-size:8px;letter-spacing:1px}.board-coordinate{font-size:7px;bottom:49px}.machine-foot{padding-bottom:1px}.board-wrap:after{border-radius:4px}#inventory-drawer{max-height:calc(100dvh - 310px);min-height:360px}.drawer-help{margin:10px 0}.placement-picker{padding:9px 0}#inventory-status{min-height:0}.slot-picker{margin-top:7px}}
@media(min-width:901px) and (max-height:850px){.pilot .avatar{height:52px;width:52px;margin:7px auto}.pilot h2{margin-top:6px}.pilot p{margin:4px 0 8px}.pilot .text-button{min-height:37px}.journey{margin-top:10px;padding-top:12px;padding-bottom:10px}.journey h3{margin-top:12px}.journey p{margin-bottom:9px}.journey .text-button{min-height:36px}.crate-art{font-size:48px;margin:8px auto}.crate-panel p{margin-bottom:12px}.modules-panel{margin-top:10px}.modules-panel p{display:none}.modules-panel h3{margin:12px 0 4px}.modules-panel .module-preview{margin-top:9px}.modules-panel .module-preview span{width:34px;height:34px;font-size:18px}.modules-panel .text-button{min-height:35px}}
dialog[data-view=crates]{max-height:94dvh;padding:20px 24px;--loot-color:#bda0e7}dialog[data-view=crates] .modal-head{margin-bottom:4px}.cargo-intro h2{font-size:24px;margin-top:5px}.cargo-intro p{font-size:13px}.cargo-stage{min-height:175px}.cargo-box-button{padding:24px 15px 12px;gap:23px}.cargo-actions{margin:4px 0 12px}.loot-heading{margin-top:6px}.loot-item{display:grid;grid-template-columns:42px 1fr;gap:6px 12px;padding:14px}.loot-item .item-icon{grid-row:1/4;align-self:center;margin:0;font-size:32px}.loot-item .tag{width:fit-content}.loot-item h3{margin:0;font-size:16px}.loot-item p{grid-column:2;font-size:12px;line-height:1.55}#loot-results .modal-grid{grid-template-columns:1fr;margin:12px 0}.cargo-odds{margin-top:14px;padding-top:12px}.cargo-box{width:106px;height:91px}.cargo-lid{width:116px}.cargo-base{width:106px;height:63px}.cargo-lid:after{left:45px}
@media(max-width:600px){.slot-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.slot-picker small{font-size:9px}.slot-picker button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px}.slot-picker small{margin:0}.drawer-help{margin:6px 0}#inventory-drawer{max-height:58dvh}.drawer-head .eyebrow{display:none}.drawer-head h2{margin-top:0}.drawer-foot{padding-top:6px}dialog[data-view=crates]{padding:15px}.cargo-intro h2{font-size:20px}.cargo-intro p{font-size:12px}.cargo-stage{min-height:175px}.loot-item p{font-size:11px}.cargo-tap{font-size:9px}.loot-heading strong{font-size:16px}}
/* Ika's shop: character artwork sits behind the counter. */
dialog[data-view=shop]{width:min(840px,calc(100% - 24px));max-height:92dvh;padding:22px;background:#131123}
.ika-shop-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:6px 0 15px}.ika-shop-title h2{font-size:27px;margin:6px 0}.ika-shop-title .eyebrow{font-size:9px}.ika-shop-title>.tag{font-size:9px;white-space:nowrap}
.ika-scene{position:relative;min-height:240px;isolation:isolate;border:1px solid #44324e;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 25% 80%,#67436b45,transparent 60%),#191528}
.ika-backwall{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,#ffffff03 50%,transparent 50.2%)}.ika-backwall>span{position:absolute;right:23px;top:18px;color:#ab88c2;font:10px/1.8 monospace;letter-spacing:2px;text-align:right;opacity:.55}.ika-backwall b{font-size:8px;font-weight:400}.ika-backwall i{position:absolute;left:25px;top:30px;color:#f0ca7c66;font:24px monospace}
.ika-keeper{position:absolute;z-index:1;bottom:38px;left:34px;width:200px;height:192px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 16px #b58ae825)}
.ika-speech{position:absolute;left:265px;right:25px;top:58px;min-height:103px;padding:15px 19px;border:1px solid #715772;border-radius:12px 12px 12px 2px;background:#272033;z-index:2}.ika-speech:before{content:'';position:absolute;width:12px;height:12px;left:-7px;bottom:18px;background:#272033;border-left:1px solid #715772;border-bottom:1px solid #715772;transform:rotate(45deg)}.ika-speech>span:first-child{font:9px monospace;color:var(--gold);letter-spacing:2px}.ika-speech p{font-size:15px;color:#e7dcec;line-height:1.6;margin:7px 0 8px}.ika-voice{font:10px monospace;letter-spacing:3px;color:var(--gold);opacity:.25}.speaking .ika-voice{opacity:1;animation:ika-talk .2s steps(2) infinite}@keyframes ika-talk{to{letter-spacing:5px;opacity:.55}}
.ika-counter{position:absolute;bottom:0;left:0;right:0;height:55px;background:linear-gradient(#403045,#2b2034);border-top:1px solid #c29a7955;box-shadow:0 -5px 20px #07050d50;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:13px 22px 0}.ika-counter-top{position:absolute;left:0;right:0;top:0;height:10px;background:#715165;border-block:1px solid #be929c55;box-shadow:0 4px 4px #0003}.ika-nameplate{font:10px monospace;color:var(--gold);letter-spacing:1px;border:1px solid #bd90634d;padding:5px 9px;border-radius:3px;background:#271e30}.ika-counter-note{font:8px monospace;color:#b098ae;letter-spacing:1px}
.shop-wallet{position:sticky;top:-1px;z-index:4;display:flex;align-items:center;gap:15px;margin:16px 0;padding:16px 18px;border:1px solid #aa824c;border-radius:10px;background:#242031;box-shadow:0 8px 22px #0a071a99,inset 0 1px #f0ca7c18}.wallet-coin{display:grid;place-items:center;width:45px;height:45px;flex-shrink:0;border:1px solid #b99655;border-radius:50%;background:#f0ca7c12;font-size:29px;color:var(--gold)}.wallet-label{display:block;font:10px monospace;letter-spacing:1px;color:#beb1c9;margin-bottom:4px}#shop-balance{font:700 31px/1.2 'Segoe UI',sans-serif;color:#ffda91;letter-spacing:-1px;font-variant-numeric:tabular-nums}#shop-balance small{font:12px monospace;letter-spacing:0;color:var(--gold)}#shop-spend{margin-left:auto;max-width:195px;text-align:right;color:#cdb9d0;font:11px/1.6 monospace}
.shop-products{gap:13px;margin-top:10px}.shop-product{padding:17px}.shop-product-heading{display:flex;align-items:center;justify-content:space-between}.shop-product-heading .item-icon{font-size:28px;margin:0}.shop-product-heading .tag{color:#b1a5be;border-color:#51405e;background:transparent}.shop-product h3{margin:15px 0 7px;font-size:17px}.shop-product p{min-height:44px;margin:0 0 12px;font-size:13px}.shop-product button{display:flex;justify-content:space-between;align-items:center;gap:9px;min-height:49px;margin:0;border-color:#806a45;background:#f0ca7c09}.shop-product button:enabled>span{color:var(--gold);font-weight:600}.shop-product button small{font-size:10px}.shop-product button:disabled{opacity:.6}.shop-product.just-bought{border-color:#a5decb99;animation:reveal .3s ease-out}
@media(max-width:600px){dialog[data-view=shop]{padding:15px;max-height:94dvh}.ika-shop-title>.tag{display:none}.ika-shop-title h2{font-size:23px}.ika-scene{min-height:285px}.ika-keeper{width:142px;height:155px;left:5px;bottom:39px}.ika-backwall>span{top:12px;right:14px;font-size:8px}.ika-backwall i{top:17px;left:17px;font-size:18px}.ika-speech{left:113px;right:11px;top:56px;padding:11px 12px;min-height:130px}.ika-speech p{font-size:13px;line-height:1.55}.ika-counter{height:48px;padding:12px 12px 0}.ika-nameplate{font-size:8px}.ika-counter-note{display:none}.shop-wallet{gap:10px;padding:12px;margin:12px 0;flex-wrap:wrap}.wallet-coin{width:36px;height:36px;font-size:24px}.wallet-label{font-size:8px;letter-spacing:.5px}#shop-balance{font-size:27px}#shop-spend{flex-basis:100%;max-width:none;text-align:left;padding-left:46px;font-size:10px;margin-top:-4px}.shop-products{grid-template-columns:1fr}.shop-product p{min-height:0}.shop-product button small{font-size:11px}}
@media(max-width:600px){.ika-scene{min-height:340px}.ika-keeper{width:160px;height:160px;left:15px}.ika-speech{top:13px;left:13px;right:13px;min-height:0}.ika-speech:before{left:43px;bottom:-7px;transform:rotate(-45deg)}.ika-backwall>span,.ika-backwall i{display:none}}
/* Progression 2.0 */
.reserve-bar{display:flex;align-items:center;gap:12px;font:10px monospace;color:var(--muted);padding:9px 0 3px}.reserve-bar strong{color:var(--gold);margin-left:6px}.reserve-bar progress{flex:1;width:auto;min-width:30px}#reserve-note{font:9px monospace;color:var(--mint);text-align:right;margin:2px 0 7px}.character-art{width:100%;height:145px;object-fit:contain}.inventory-item p{display:block!important;line-height:1.6;font-size:12px}.inventory-actions button{min-height:38px}.inventory-item>.tag{margin:4px 0;font-size:9px}.quest-list{display:grid;gap:12px;margin-top:20px}.quest-item{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.quest-item h3{margin:0}.quest-item p{margin:6px 0;min-height:0}.quest-item progress{grid-column:1/-1}.quest-item small{font:11px monospace;color:var(--muted)}.quest-done{border-color:#a5decb45}.quest-done h3{color:var(--mint)}.prestige-goals{padding:18px;border:1px solid var(--line);border-radius:10px;margin:18px 0}.prestige-goals label{margin-top:12px}.prestige-goals progress{margin-bottom:10px}.dust-preview{display:flex;gap:16px;align-items:center;padding:20px;border:1px solid #f0ca7c55;background:#f0ca7c09;border-radius:10px;margin:15px 0;color:var(--gold)}.dust-preview>span{font-size:35px}.dust-preview p{font-size:12px;margin:6px 0 0}.skill-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.skill-node:first-child{grid-column:1/-1;border-color:#f0ca7c66}.skill-node.locked{opacity:.65}.skill-node p{min-height:45px}.skill-node .eyebrow{font-size:10px;letter-spacing:.5px}.heirloom-choice{width:100%;margin-bottom:15px}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px}#migration-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid #c29bf066;background:#21182f;margin-bottom:12px;border-radius:10px;font-size:12px}#migration-banner[hidden]{display:none}#migration-banner button{font-size:11px}.bottom-nav button{padding-left:8px;padding-right:8px}.bottom-nav span{font-size:11px;margin-left:5px}
@media(min-width:901px){.board-wrap{width:clamp(275px,calc((100dvh - 470px)*1.05263),490px)}#inventory-drawer{max-height:calc(100dvh - 310px)}}
@media(max-width:600px){.bottom-nav button{min-width:42px;padding:8px 1px}.bottom-nav span{font-size:8px;margin-left:0}.reserve-bar{font-size:9px;gap:7px}.quest-item{grid-template-columns:1fr}.quest-item .tag{width:fit-content}.skill-tree{grid-template-columns:1fr}.skill-node:first-child{grid-column:auto}.character-art{height:130px}.inventory-item p{font-size:11px}.collection-grid{grid-template-columns:1fr}#migration-banner{flex-wrap:wrap}.dust-preview{padding:14px}.dust-preview strong{font-size:16px}}
.skill-node:nth-child(2){grid-column:1;grid-row:2}.skill-node:nth-child(3){grid-column:2;grid-row:2}.skill-node:nth-child(4){grid-column:1;grid-row:3}.skill-node:nth-child(5){grid-column:1;grid-row:4}.skill-node:nth-child(6){grid-column:2;grid-row:3}.modal-head{position:sticky;top:-23px;z-index:9;background:#131123;padding:5px 0}.shop-wallet{top:39px}
@media(max-width:600px){.skill-node:nth-child(n){grid-column:auto;grid-row:auto}.modal-head{top:-16px}.shop-wallet{top:39px}}
