:root{color-scheme:dark;--sf-ink:#f5efdf;--sf-muted:#a8afb5;--sf-gold:#e3cb8d;--sf-mint:#acddcb;--sf-line:#d1c39729;--sf-paper:#111b26;--sf-panel:#17212cef}
*{box-sizing:border-box}body{margin:0;background:var(--sf-paper);color:var(--sf-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--sf-mint);outline-offset:4px}button{touch-action:manipulation}[hidden]{display:none!important}::selection{background:#cdb681;color:#17212c}
.game-shell{width:100%;min-height:100svh;background:radial-gradient(ellipse at 50% 0,#3e374a50,transparent 70%)}.game-top{height:62px;min-height:62px;padding:0 28px;border-bottom:1px solid var(--sf-line);background:#111b26ee;display:flex;align-items:center;justify-content:space-between;gap:20px}.acre{font-size:13px;font-weight:700;letter-spacing:.14em;text-decoration:none;color:var(--sf-ink);display:flex;align-items:center;gap:10px}.acre>span:not(.brand-star){color:#9fa9b3;font-size:10px}.brand-star{color:var(--sf-gold);font-size:30px;font-weight:400}.game-identity{font:14px Georgia,serif;letter-spacing:.22em;color:var(--sf-gold)}.game-identity span{display:block;font:8px system-ui,sans-serif;letter-spacing:.17em;color:var(--sf-muted);margin-top:4px;text-align:center}.top-actions{display:flex;align-items:center;gap:8px}.quiet,.secondary{border:1px solid var(--sf-line);border-radius:6px;padding:9px 13px;background:#ffffff06;color:var(--sf-ink);font-size:12px;font-weight:550;transition:background .18s,border-color .18s}.quiet:hover,.secondary:hover{background:#e3cb8d12;border-color:#e3cb8d70}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;border:1px solid #f6e8b4;border-radius:6px;background:linear-gradient(120deg,#ede0ae,#c7aa70);color:#1b2830;font-weight:700;letter-spacing:.01em;box-shadow:0 4px 20px #d6b67b17;padding:12px 17px}.primary:hover{background:linear-gradient(120deg,#fff0bd,#ddc08a)}.music-button{color:var(--sf-gold);white-space:nowrap}.volume-label{font-size:0;display:flex;align-items:center}.volume-label input{width:62px;accent-color:var(--sf-gold);height:22px;padding:0;background:transparent;border:0}.text-button{border:0;background:transparent;padding:7px 0;color:var(--sf-gold);font-size:11px;text-decoration:none}.text-button:hover{color:#fff1c2}.eyebrow,.panel-eyebrow{font-size:9px;font-weight:650;letter-spacing:.22em;color:var(--sf-gold)}.muted{font-size:13px;line-height:1.75;color:var(--sf-muted)}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;padding:20px;min-height:calc(100svh - 62px);max-width:1920px;margin:auto}.arena{min-height:700px;border:1px solid var(--sf-line);border-radius:12px;position:relative;overflow:hidden;background:#172030;box-shadow:0 12px 45px #0002}.arena:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101b2ce3 0%,#151d2990 40%,#151d2900 80%),url("/arcade/assets/starfall-cover.png") 59% 50%/cover;transition:opacity .7s;pointer-events:none}.arena canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline-offset:-4px}.attract-copy{position:relative;inset:auto;padding:74px 48px 40px;max-width:640px;z-index:1;pointer-events:none}.attract-copy .eyebrow{font-size:9px;letter-spacing:.24em;margin-bottom:28px}.attract-copy .eyebrow span{font-size:18px;margin-right:10px}.attract-copy h1{font:clamp(58px,7.2vw,112px)/.89 Georgia,"Times New Roman",serif;font-weight:400;text-transform:none;letter-spacing:-.05em;margin:0;color:#fff6df;text-shadow:0 3px 35px #0006}.attract-copy h1 em{font-style:italic;color:#e9d7ab;font-size:.95em;letter-spacing:-.055em}.attract-copy>p{font:22px/1.35 Georgia,serif;color:#e3dcd0;margin:30px 0 21px}.hero-rule{width:48px;height:1px;background:var(--sf-gold);opacity:.65}.attract-copy .hero-description{font:13px/1.8 system-ui,sans-serif;color:#c6c9ca;margin:20px 0}.feature-tags{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}.feature-tags span{font-size:10px;border:0;padding:0;color:#e7d8b6;background:none}.feature-tags span+span:before{content:"✦";color:#e3cb8d75;margin-right:18px;font-size:7px}.hero-champions{display:flex;align-items:end;gap:0;margin:34px 0 10px;margin-left:-15px}.portrait{display:block;background-image:url("/arcade/assets/starfall-champions.png");background-size:600% 300%;background-repeat:no-repeat;aspect-ratio:1}.hero-champions .portrait{width:90px;height:90px;filter:drop-shadow(0 4px 15px #0008)}.hero-footer{font-size:8px;letter-spacing:.25em;color:#ded2b2;margin-top:22px}.hero-footer span{margin:0 10px;opacity:.4}.game-tip{position:absolute;bottom:16px;left:20px;right:20px;text-align:center;font-size:8px;font-weight:500;letter-spacing:.17em;color:#b7b7b499;pointer-events:none;background:none;padding:0}
.control-panel{position:relative;inset:auto;width:auto;max-height:none;overflow:auto;align-self:start;background:linear-gradient(155deg,#26313bfa,#17212bfa);border:1px solid var(--sf-line);border-radius:12px;padding:28px 24px;box-shadow:0 10px 30px #0002}.control-panel h2{font:29px/1.13 Georgia,serif;font-weight:400;letter-spacing:-.025em;margin:15px 0 18px;color:var(--sf-ink)}.control-panel h3{font:15px Georgia,serif;font-weight:400;margin:0}.control-panel label:not(.check){display:block;font-size:9px;color:#c0c4bd;letter-spacing:.13em;margin:23px 0 9px}.control-panel input:not([type=checkbox]){width:100%;min-height:43px;padding:11px 12px;background:#0f1a255c;border:1px solid #e3cb8d26;border-radius:5px;color:var(--sf-ink);font-size:13px}.control-panel input::placeholder{color:#809098}.check{display:flex;align-items:center;gap:9px;font-size:11px;color:#aeb6b7;line-height:1.6;margin:17px 0}.check input{accent-color:var(--sf-gold);width:15px;height:15px}.divider{display:flex;align-items:center;gap:12px;margin:23px 0 0;font-size:8px;letter-spacing:.15em;color:#889699}.divider:before,.divider:after{content:"";height:1px;background:var(--sf-line);flex:1}.join-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.rooms-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 12px}.open-room{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--sf-line);padding:13px 0;color:#ddd9ca;font-size:12px}.open-room small{display:block;color:var(--sf-muted);font-size:9px;margin-top:6px}.open-room button{border:1px solid var(--sf-line);color:var(--sf-gold);background:#e3cb8d08;border-radius:4px;font-size:11px;padding:8px 13px}.entry-note{font-size:10px;line-height:1.8;color:#8f9a9f;margin:26px 0 0}.notice{font-size:11px;line-height:1.6;color:var(--sf-mint);padding:0;margin-top:14px;background:none;border:0}.notice.error{color:#ffb4ae}.room-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-title h2{font-family:ui-monospace,monospace;font-size:31px;letter-spacing:.1em}.player-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--sf-line);font-size:12px}.player-row:before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--player,var(--sf-mint));box-shadow:0 0 12px var(--player,var(--sf-mint))}.player-row>div{flex:1}.player-row strong{font-size:12px;font-weight:550;display:block}.player-row small{font-size:8px;display:block;color:var(--sf-muted);margin-top:4px}.ready-label{font-size:8px;letter-spacing:.07em;color:var(--sf-gold)}#room-actions{display:grid;gap:10px;margin-top:24px}#room-actions .secondary{min-height:44px}.leave{color:#c19f97;margin-top:20px}
.game-shell.playing .game-layout{display:block;padding:10px 12px 0;min-height:0;max-width:none}.game-shell.playing .arena{height:calc(100svh - 298px);min-height:350px;border-radius:10px 10px 0 0}.game-shell.playing .arena:before{background:linear-gradient(#13222cf7,#1a2538e6),url("/arcade/assets/starfall-cover.png") center/cover;opacity:1}.game-shell.playing .control-panel{display:none}.game-shell.playing.menu-open .control-panel{display:block;position:fixed;z-index:30;top:76px;right:24px;width:340px;max-height:calc(100svh - 100px);box-shadow:0 0 0 100vmax #07101ab3}.match-menu{position:absolute;z-index:35;bottom:12px;right:15px;background:#162632cc;border:1px solid var(--sf-line);color:var(--sf-ink);border-radius:4px;padding:6px 12px;font-size:10px;min-height:30px;min-width:48px}.match-hud{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:15px;height:65px;padding:10px 22px;background:linear-gradient(#111e2bf0,#111e2b00);pointer-events:none}.round-block>span{display:block;font-size:8px;letter-spacing:.16em;color:var(--sf-gold)}.round-block strong{font:22px Georgia,serif;font-weight:400;display:block;margin-top:5px}.opponent-label{font-size:10px;color:#b8c4c7;letter-spacing:.025em;text-align:center}.timer-block{display:flex;gap:8px;align-items:center;color:var(--sf-gold);min-width:72px}.timer-block span{font:31px Georgia,serif;font-variant-numeric:tabular-nums}.timer-block small{font-size:7px;letter-spacing:.1em;color:#a9b3b7}.timer-block.urgent{color:#f4a392}.traits-panel{position:absolute;left:18px;top:86px;width:149px;z-index:3}.standings-panel{position:absolute;right:18px;top:85px;width:157px;z-index:3}.panel-eyebrow{font-size:7px;color:#a3aaa8;letter-spacing:.2em;margin-bottom:13px}.trait{display:flex;gap:8px;align-items:center;margin:7px 0;min-height:32px;opacity:.48;font-size:11px}.trait.active{opacity:1}.trait-glyph{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--trait-color);border-radius:8px 2px;color:var(--trait-color);font-size:15px;background:color-mix(in srgb,var(--trait-color) 10%,transparent)}.trait-name{flex:1}.trait small{display:block;font-size:8px;color:#b1b8b8;margin-top:3px}.trait b{font-size:10px;font-weight:500;color:var(--trait-color)}.trait.pinnacle .trait-glyph{box-shadow:0 0 14px color-mix(in srgb,var(--trait-color) 30%,transparent)}.equipped-relics{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 7px}.relic-chip{color:var(--sf-gold);border:1px solid var(--sf-line);border-radius:5px;padding:7px;background:#c9b37b09;font-size:14px}.standing{width:100%;display:grid;grid-template-columns:23px minmax(0,1fr) 25px;align-items:center;gap:8px;border:1px solid transparent;border-bottom-color:#bfcea215;background:#0b152319;border-radius:5px;padding:8px 5px;text-align:left;color:#c8d1d0;margin:4px 0;transition:background .2s}.standing:hover,.standing.selected{background:#bbcba310;border-color:#b9ceaa43}.standing.mine{border-left:2px solid var(--seat-color);background:#b9ceaa08}.standing.out{opacity:.45}.seat-orb{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:8px;color:var(--seat-color);background:color-mix(in srgb,var(--seat-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--seat-color) 30%,transparent)}.seat-name{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-name small{display:block;color:#86949d;font-size:7px;margin-top:3px}.seat-health{font-size:12px;color:var(--seat-color);text-align:right}.standing .health-meter{height:2px;grid-column:2/-1;background:#d1dec212;border-radius:1px;overflow:hidden;margin-top:-3px}.standing .health-meter i{display:block;height:100%;background:var(--seat-color)}.game-shell.playing .game-tip{left:170px;right:170px;bottom:11px;font-size:8px;color:#b5c4be;letter-spacing:.035em}.round-summary{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:22px 32px;text-align:center;min-width:250px;border:1px solid #d7c08760;background:#142432e8;border-radius:9px;box-shadow:0 18px 70px #0008;z-index:7;pointer-events:none}.round-summary strong{display:block;font:31px Georgia,serif;color:var(--sf-gold);margin:7px 0}.round-summary p{margin:0;color:#b3c1c2;font-size:11px;line-height:1.8}.round-summary.loss strong{color:#eab2af}.selection-card{position:absolute;z-index:5;left:180px;bottom:40px;width:180px;background:#152331ee;border:1px solid #d1c39755;border-radius:7px;padding:12px;box-shadow:0 8px 25px #0005}.selection-card strong{font:16px Georgia,serif;color:var(--sf-gold)}.selection-card p{font-size:9px;color:#b9c1c2;line-height:1.65;margin:7px 0}.selection-card .selection-actions{display:flex;gap:8px}.selection-card button{flex:1;font-size:10px;padding:7px 6px;border:1px solid var(--sf-line);border-radius:4px;background:#ffffff05;color:var(--sf-gold)}
.market{margin:0 12px 12px;border:1px solid var(--sf-line);border-top:0;border-radius:0 0 10px 10px;background:linear-gradient(160deg,#243039,#152430);height:214px;padding:0 15px 12px}.bench-row{display:flex;gap:14px;align-items:center;height:60px;border-bottom:1px solid var(--sf-line);margin-bottom:10px}.army-count{width:104px;display:flex;align-items:center;gap:9px;flex-shrink:0}.army-count strong{font:21px Georgia,serif;font-variant-numeric:tabular-nums;color:var(--sf-gold)}.army-count span{font-size:6px;letter-spacing:.14em;color:#a3afb3}.bench{display:flex;gap:5px;flex:1;max-width:590px}.bench-slot{position:relative;width:46px;height:45px;flex:1;max-width:53px;min-width:30px;padding:0;border:1px solid #cfbe9233;border-bottom:2px solid #81765b73;border-radius:4px;background:linear-gradient(#182632,#22343d);color:#89969b}.bench-slot .portrait{width:43px;height:43px;max-width:100%;margin:auto;filter:drop-shadow(0 3px 3px #0005)}.bench-slot .empty-mark{font-size:7px;opacity:.55}.bench-slot .unit-stars{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:7px;color:#f6da8e;text-shadow:0 1px 3px #000}.bench-slot.selected{border-color:#f0d898;background:#445346;box-shadow:0 0 12px #e3cb8d20}.bench-row>.quiet{margin-left:auto}.bench-row button:not(.bench-slot){font-size:10px;white-space:nowrap;padding:8px 11px}.bench-row #round-ready{min-width:83px;border-color:#a8d9b85c;color:#c6e4cd;background:#afd3a512}.bench-row #round-ready[aria-pressed=true]{background:#afd3a528}.market-row{display:flex;gap:14px;height:130px}.economy{width:173px;flex-shrink:0;position:relative;padding-right:14px;border-right:1px solid var(--sf-line)}.gold{display:flex;align-items:center;gap:9px;line-height:1}.coin{color:var(--sf-gold);font-size:24px}.gold strong{font:30px Georgia,serif;color:#f1d99e;font-variant-numeric:tabular-nums}.gold small{font-size:7px;letter-spacing:.12em;color:#adbaae;align-self:flex-end;margin-bottom:6px}.info-button{width:21px;height:21px;font:italic 11px Georgia,serif;border:1px solid #e1cd922e;border-radius:50%;background:transparent;color:#afbbbc;margin-left:auto}.level-line{display:flex;justify-content:space-between;margin-top:9px;font-size:7px;letter-spacing:.08em;color:#b2c2c5}.xp-track{height:3px;background:#53606c3f;margin:5px 0 8px;border-radius:3px;overflow:hidden}.xp-track i{display:block;height:100%;background:linear-gradient(90deg,#a8c2b9,#e3cb8d);width:0;transition:width .25s}.economy-actions{display:flex;gap:5px}.economy-actions button{flex:1;padding:6px 4px;font-size:9px;border-color:#c4c6ae26}.economy-actions span{font-size:8px;color:var(--sf-gold);margin-left:3px}#lock-shop{display:block;margin:0 auto;padding:5px;font-size:8px;letter-spacing:.035em}#lock-shop[aria-pressed=true]{color:#ebd196}.shop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;width:100%;min-width:0}.shop-card{position:relative;border:1px solid color-mix(in srgb,var(--rarity) 45%,#52616a);border-bottom:3px solid var(--rarity);border-radius:6px;background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--unit-color) 17%,transparent),transparent 70%),linear-gradient(135deg,#23323e,#172430);overflow:hidden;min-width:0;transition:transform .15s,box-shadow .2s}.shop-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0004}.shop-card.can-merge{box-shadow:0 0 17px #dcca8940;border-top-color:#efdb9c}.shop-buy{display:block;position:relative;width:100%;height:100%;padding:2px 8px 7px;border:0;background:transparent;text-align:left;color:var(--sf-ink)}.shop-buy .portrait{width:75px;height:75px;margin:0 auto;filter:drop-shadow(0 4px 8px #0007);transition:transform .2s}.shop-buy:hover .portrait{transform:translateY(-3px)}.shop-name{font:14px Georgia,serif;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:23px;color:#eee8d9}.shop-traits{display:block;font-size:7px;color:#b1c0c0;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-cost{position:absolute;top:8px;left:9px;color:var(--sf-gold);font-size:11px}.shop-info{position:absolute;right:5px;bottom:17px;z-index:2;width:23px;height:24px;background:#1c2b38cc;border:1px solid #e0cb902e;color:#c5cdbd;border-radius:50%;font:italic 12px Georgia,serif}.shop-empty{display:grid;place-items:center;height:100%;color:#a8c5b73d;font-size:25px;background:#0d192126;border-radius:6px;border:1px solid #bbcfa116}.merge-badge{position:absolute;right:6px;top:7px;color:#f5d991;font-size:8px;pointer-events:none}.shop-card.unaffordable .shop-buy{opacity:.5}.shop-card.sold{border-color:#c4cbb81b;background:none}
.countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#152336bd;z-index:12;font:100px Georgia,serif;color:#ebdcad;backdrop-filter:blur(3px)}.countdown span{font:10px system-ui,sans-serif;letter-spacing:.3em;margin-top:18px}.event-toast{position:absolute;z-index:40;top:80px;left:50%;transform:translate(-50%,-15px);padding:11px 18px;border:1px solid #dcc58268;border-radius:6px;background:#1b2c36f5;color:#eee1b7;font-size:12px;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:80%}.event-toast.active{opacity:1;transform:translate(-50%,0)}.result{position:fixed;inset:0;background:#091420d9;backdrop-filter:blur(12px);display:grid;place-items:center;z-index:60;padding:25px}.result-card{width:min(480px,100%);max-height:90svh;overflow:auto;text-align:center;padding:24px 32px 30px;border:1px solid #d5be805c;border-radius:13px;background:radial-gradient(circle at 50% 0,#a7915421,transparent 60%),#192631;box-shadow:0 20px 100px #0009}.result-star{color:var(--sf-gold);font:45px Georgia,serif;margin-bottom:16px}.result-card h2{font:42px/1.1 Georgia,serif;font-weight:400;margin:15px 0}.score-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:10px 0;border-top:1px solid var(--sf-line)}.score-row strong{font-weight:500}.score-row span{color:var(--sf-gold)}#result-scores{margin:20px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{color:var(--sf-ink);background:linear-gradient(140deg,#273341,#162532);border:1px solid #e3cb8d66;border-radius:13px;padding:38px;box-shadow:0 25px 100px #0009;width:min(800px,calc(100% - 36px));max-height:88svh;overflow:auto}dialog::backdrop{background:#07121ecf;backdrop-filter:blur(7px)}dialog h2{font:35px/1.13 Georgia,serif;font-weight:400;margin:14px 0 22px;color:#f0e4c7}dialog h2 em{font-weight:400;color:var(--sf-gold)}dialog p{font-size:12px;line-height:1.85;color:#bbc5c7}.dialog-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:#bfcac8;font-size:26px;width:36px;height:36px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.guide-grid article{padding:0;background:none;border:0;border-radius:0;box-shadow:none}.guide-grid article>b{font:24px Georgia,serif;color:#a9bdba66}.guide-grid h3{font:20px Georgia,serif;color:#e5d7b6;margin:6px 0 10px}.guide-grid p{margin:0}.guide-foot{border-top:1px solid var(--sf-line);padding-top:20px;margin-top:25px}.guide-dialog details{font-size:12px;color:#c0ccca}.guide-dialog details summary{cursor:pointer;padding:10px 0}.collection-dialog{width:min(1100px,calc(100% - 30px))}.unit-library{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.library-card{border:1px solid #d0c09333;border-radius:7px;padding:10px 6px;background:#152431a1;text-align:center;color:#e9ddbf}.library-card .portrait{height:auto;width:100%;max-width:110px;margin:auto}.library-card strong{font:13px Georgia,serif;display:block;margin:7px 0 5px}.library-card small{font-size:8px;color:#aabbbb}.trait-library{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.trait-library button{border:1px solid color-mix(in srgb,var(--unit-color) 35%,transparent);color:var(--unit-color);background:color-mix(in srgb,var(--unit-color) 6%,transparent);border-radius:5px;padding:9px 12px;font-size:10px}.unit-dialog{width:min(430px,calc(100% - 32px));text-align:center}.unit-dialog .portrait{width:185px;height:185px;margin:0 auto 10px;filter:drop-shadow(0 8px 25px #0006)}.unit-detail-traits{color:var(--sf-gold);font-size:10px;letter-spacing:.06em}.unit-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.unit-detail-stats b{display:block;font:21px Georgia,serif;color:#f4e1b4}.unit-detail-stats small{font-size:7px;color:#b2bdbf}.unit-dialog h3{font:21px Georgia,serif;color:#ead09a;margin:20px 0 8px}.unit-dialog p{margin:0}.relic-dialog{width:min(800px,calc(100% - 30px))}.relic-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.relic-choice{padding:25px 18px;border:1px solid #e1c5874d;background:radial-gradient(circle at 50% 20%,#d8b46314,transparent),#152532;border-radius:8px;color:var(--sf-gold)}.relic-choice:hover{border-color:var(--sf-gold);background-color:#253641}.relic-choice span{font:42px Georgia,serif;display:block;margin-bottom:20px}.relic-choice strong{font:21px Georgia,serif;display:block}.relic-choice small{display:block;font-size:11px;line-height:1.8;color:#b8c5c4;margin-top:14px}
@media(min-width:1600px){.attract-copy{padding:100px 70px}.game-layout{grid-template-columns:minmax(0,1fr) 365px}.control-panel{padding:36px 28px}.hero-champions .portrait{width:115px;height:115px}}
@media(max-width:1100px){.game-top{padding:0 18px}.game-identity{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 300px;padding:12px;gap:12px}.attract-copy{padding:65px 28px}.attract-copy h1{font-size:78px}.control-panel{padding:26px 20px}.hero-champions .portrait{width:74px;height:74px}.traits-panel{width:114px;left:12px}.standings-panel{width:123px;right:12px}.trait{font-size:10px;gap:5px}.trait-glyph{width:23px;height:25px}.standing{gap:5px;grid-template-columns:18px minmax(0,1fr) 21px;padding:7px 3px}.seat-orb{width:18px;height:18px}.seat-name{font-size:9px}.selection-card{left:134px}.game-shell.playing .game-tip{left:135px;right:140px;font-size:7px}.market-row{gap:9px}.economy{width:151px;padding-right:9px}.shop{gap:6px}.shop-name{font-size:12px}.shop-traits{font-size:6px}.army-count{width:86px}.bench-row{gap:9px}}
@media(max-width:760px){.game-top{height:54px;min-height:54px;padding:0 13px;gap:7px}.acre{font-size:10px;gap:7px}.brand-star{font-size:25px}.acre>span:not(.brand-star){display:none}.top-actions{gap:5px}.top-actions .quiet{font-size:10px;padding:7px 8px}.volume-label{display:none}.game-layout{display:flex;flex-direction:column;padding:9px;gap:12px}.arena{min-height:520px;height:520px}.arena:before{background-position:65% 50%}.attract-copy{padding:42px 27px;max-width:450px}.attract-copy h1{font-size:76px}.attract-copy .eyebrow{font-size:7px;margin-bottom:23px}.attract-copy>p{font-size:19px;margin-top:24px}.attract-copy .hero-description{font-size:11px;margin:15px 0}.feature-tags{gap:11px}.feature-tags span{font-size:9px}.feature-tags span+span:before{margin-right:10px}.hero-champions{margin:24px 0 5px}.hero-champions .portrait{width:67px;height:67px}.hero-footer{font-size:6px;margin-top:17px}.control-panel{width:100%;max-width:none;padding:25px;margin:0}.control-panel h2{font-size:29px}.game-shell.playing .game-layout{padding:5px 5px 0}.game-shell.playing .arena{height:calc(100svh - 285px);min-height:340px}.game-shell.playing .control-panel{width:calc(100% - 30px);right:15px;top:66px;max-height:calc(100svh - 85px);padding:24px;z-index:35}.match-hud{height:49px;padding:6px 13px;align-items:center}.round-block>span{font-size:6px}.round-block strong{font-size:18px;margin-top:3px}.timer-block{min-width:45px;gap:5px}.timer-block span{font-size:26px}.timer-block small{font-size:5px}.opponent-label{font-size:8px;max-width:130px}.traits-panel{display:none!important}.standings-panel{top:56px;left:9px;right:9px;width:auto;height:41px;display:flex;align-items:center;gap:6px}.standings-panel .panel-eyebrow{display:none}.standings-panel #standings{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}.standing{width:78px;min-width:78px;height:35px;padding:4px 3px;gap:4px;grid-template-columns:13px minmax(0,1fr) 17px;margin:0;border-color:#8da09d25;background:#0c1a2488}.seat-name{font-size:7px}.seat-name small{font-size:5px;margin-top:2px}.seat-orb{width:13px;height:13px;font-size:5px}.seat-health{font-size:10px}.standing .health-meter{height:1px}.standings-panel #return-board{font-size:7px;max-width:55px}.game-shell.playing .game-tip{bottom:8px;left:10px;right:63px;font-size:7px;line-height:1.4;text-align:left}.match-menu{bottom:6px;right:7px;font-size:8px;min-height:25px;padding:5px 8px;min-width:43px}.selection-card{left:10px;bottom:29px;width:155px;padding:9px}.selection-card strong{font-size:14px}.selection-card p{font-size:8px;margin:4px 0}.selection-card button{font-size:9px;padding:7px 4px}.market{margin:0 5px 5px;height:220px;padding:0 7px 9px}.bench-row{height:55px;margin-bottom:8px;gap:5px}.army-count{width:38px;display:block}.army-count strong{font-size:15px}.army-count span{font-size:5px;display:block;margin-top:3px}.bench{gap:3px;min-width:0}.bench-slot{min-width:22px;max-width:none;height:37px}.bench-slot .portrait{width:35px;height:35px;max-width:none;position:absolute;left:50%;top:0;transform:translateX(-50%)}.bench-row #arrange{display:none}.bench-row #round-ready{min-width:44px;font-size:8px;padding:8px 5px}.bench-slot .unit-stars{font-size:6px}.market-row{display:grid;grid-template-columns:91px minmax(0,1fr);height:141px;gap:7px}.economy{width:91px;padding-right:7px}.gold{gap:4px}.gold strong{font-size:23px}.coin{font-size:18px}.gold small{font-size:5px;margin-bottom:4px}.info-button{width:15px;height:16px;font-size:9px;margin-left:auto}.level-line{font-size:5px;letter-spacing:0}.xp-track{margin:5px 0 6px}.economy-actions{display:grid;gap:4px}.economy-actions button{font-size:8px;padding:6px 2px}.economy-actions span{font-size:7px}#lock-shop{font-size:7px;padding:6px 0}.shop{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:6px;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#d0ba7866 #ffffff09}.shop-card{min-width:110px;width:110px;flex-shrink:0;scroll-snap-align:start}.shop-buy .portrait{width:81px;height:81px}.shop-name{font-size:13px}.shop-traits{font-size:7px;margin-top:5px}.shop-cost{font-size:11px}.shop-info{width:26px;height:27px;bottom:18px}.event-toast{top:105px;font-size:10px;padding:9px 12px;max-width:90%;width:max-content}.round-summary{padding:18px 23px;min-width:210px}.round-summary strong{font-size:26px}.round-summary p{font-size:10px}.game-shell.playing.menu-open .match-menu{z-index:36}.guide-grid{grid-template-columns:1fr;gap:22px}dialog{padding:30px 24px}dialog h2{font-size:28px}.unit-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.library-card strong{font-size:11px}.library-card small{font-size:7px}.trait-library{gap:6px}.trait-library button{font-size:8px;padding:8px}.relic-choices{grid-template-columns:1fr}.relic-choice{padding:18px;text-align:left}.relic-choice span{float:left;margin:0 18px 10px 0;font-size:31px}.relic-choice strong{font-size:20px}.relic-choice small{margin-top:8px;font-size:11px}.result-card{padding:23px}.result-card h2{font-size:35px}}
@media(max-width:390px){.top-actions .quiet{font-size:9px;padding:7px 6px}.top-actions #collection-open{max-width:70px}.attract-copy h1{font-size:66px}.attract-copy{padding-left:23px}.game-shell.playing .arena{min-height:325px}.bench-slot{min-width:20px}.bench-row{gap:4px}.army-count{width:32px}.army-count span{font-size:4px}.bench-row #round-ready{min-width:38px}.shop-card{min-width:105px;width:105px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation:none!important;transition:none!important}

/* Independent layout keeps the garden usable on short and touch screens. */
canvas{display:block}.game-shell{position:relative}.trait{border:0;padding:0;background:transparent;color:var(--sf-ink);text-align:left;width:100%}.bench-slot{touch-action:none}.drag-ghost{position:fixed;z-index:90;width:76px;height:76px;transform:translate(-50%,-60%);pointer-events:none;filter:drop-shadow(0 8px 8px #0008)}.drag-ghost .portrait{width:100%;height:100%}.arrange-mobile{display:none}@media(max-width:760px){.game-shell.playing .arrange-mobile{display:block;position:absolute;left:8px;bottom:6px;z-index:4;font-size:8px;padding:6px}.game-shell.playing .game-tip{left:66px}}
