@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c1116;--panel:#121a21;--line:#29343b;--muted:#9aaab2;--lime:#d6fa72;--purple:#b6a1ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f0f4f2;font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;transition:transform .16s,background .16s}button:hover{filter:brightness(1.12)}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}.app{max-width:1220px;margin:auto;padding:0 48px}header{height:96px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font:700 32px 'Space Grotesk',sans-serif;color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;letter-spacing:-1.6px}.logo{font-size:44px;color:var(--lime)}.beta{font:600 10px 'DM Sans';letter-spacing:1px;border:1px solid var(--line);padding:6px 8px;margin-left:12px;color:var(--muted)}.quiet{background:none;color:var(--muted);padding:10px}.intro{display:flex;align-items:center;justify-content:space-between;padding:56px 0 46px}.eyebrow,.step{font-size:11px;letter-spacing:2.3px;font-weight:700;color:var(--lime)}h1{font:600 clamp(40px,5.4vw,66px)/1.04 'Space Grotesk';letter-spacing:-3.5px;margin:20px 0}h1 span{color:var(--lime)}.sub{color:var(--muted);line-height:1.7;font-size:15px}.orb-art{width:310px;height:270px;position:relative;display:grid;place-items:center;isolation:isolate}.big-ball{width:155px;height:155px;border-radius:50%;background:linear-gradient(140deg,#f2ffb0,#bed66a 55%,#7b9c3e 70%);position:relative;transform:rotate(-20deg);overflow:hidden;box-shadow:inset -18px -15px 25px #14280060,0 30px 60px #c8ff4620}.big-ball:after{content:'';position:absolute;top:74px;width:100%;height:10px;background:#182526;box-shadow:0 6px 0 #acb8a6}.big-ball i{position:absolute;bottom:0;width:100%;height:73px;background:linear-gradient(120deg,#e6ece3,#7c8d84)}.big-ball b{position:absolute;z-index:2;top:60px;left:59px;width:39px;height:39px;border:9px solid #1c2a2a;background:#effbd4;border-radius:100%;box-shadow:0 0 0 3px #849579}.orbit{position:absolute;border:1px solid #35462e;border-radius:50%;width:290px;height:155px;transform:rotate(-25deg);z-index:-1}.o2{transform:rotate(40deg);width:235px;height:210px;border-style:dashed}.floater{position:absolute;color:var(--lime);font-size:30px}.f1{top:26px;right:44px}.f2{bottom:45px;left:27px;font-size:21px}.orb-caption{position:absolute;bottom:0;font-size:9px;color:var(--muted);letter-spacing:2px}nav{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:30px}nav button{color:var(--muted);background:transparent;padding:18px 25px;border-bottom:3px solid transparent;font-size:15px;display:flex;gap:9px;align-items:center}nav .active{border-color:var(--lime);color:var(--lime)}nav small{background:#25302c;color:var(--lime);padding:2px 7px;border-radius:6px;font-size:10px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}h2{font:500 23px 'Space Grotesk';letter-spacing:-.7px;margin:0}.tag{font-size:9px;letter-spacing:1.2px;padding:7px 10px;border:1px solid #3a4930;color:var(--lime);border-radius:5px;white-space:nowrap}.purple{color:var(--purple);border-color:#514567}.capture-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.capture-zone{min-height:380px;border:1px dashed #45514f;border-radius:12px;position:relative;background:radial-gradient(ellipse at center,#21322b88,transparent 68%),linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:auto,30px 30px,30px 30px;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;overflow:hidden}.capture-zone img{max-width:100%;max-height:310px;object-fit:contain;filter:drop-shadow(0 15px 20px #0005)}.view-icon{font-size:65px;color:var(--lime);font-weight:400}.capture-zone h3{font:500 24px 'Space Grotesk';margin:15px 0 10px}.capture-zone p{font-size:12px;line-height:1.8;color:var(--muted)}#status{position:absolute;bottom:16px;font-size:10px;color:var(--muted);max-width:90%}.capture-controls{padding:10px 2px}.capture-controls h3{font:500 30px/1.1 'Space Grotesk';letter-spacing:-1px;margin:19px 0 14px}.capture-controls p{font-size:13px;color:var(--muted);line-height:1.7}.primary,.secondary{border-radius:8px;padding:14px 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--lime);color:#182116}.secondary{background:#1e282f;border:1px solid #38434b;color:#e5ece8}.capture-controls>.primary,.capture-controls>.secondary,#captureActions>.primary{width:100%;margin-top:8px}.micro{font-size:11px!important;color:var(--muted);line-height:1.6}.divider{height:1px;background:var(--line);margin:22px 0 17px}.demo-button{background:transparent;border:1px solid #3c4931;border-radius:8px;color:var(--lime);padding:13px;width:100%;text-align:left;font-size:12px}.demo-button span{float:right}.feature-strip{display:flex;justify-content:space-around;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--lime);font-size:16px}.feature-strip b{font-size:11px;font-weight:500;color:var(--muted);margin-left:8px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;color:#71838b;font-size:10px}footer span:first-child{font-weight:700;color:var(--muted)}footer span:last-child{font-size:8px;letter-spacing:1px}.check{display:block;margin-top:15px;font-size:12px}.check input{accent-color:var(--lime)}.toolbar{display:flex;gap:10px;margin-bottom:22px}input,select{background:#0e151b;color:#ecf1ed;border:1px solid var(--line);border-radius:8px;padding:12px;min-width:0}.toolbar input{flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{text-align:left;background:#182129;border:1px solid #303c44;border-radius:12px;overflow:hidden;color:inherit;padding:0;position:relative}.card-visual{height:174px;background:radial-gradient(ellipse,#34412b80,transparent 70%);display:grid;place-items:center}.object-image{width:80%;height:150px;object-fit:contain;filter:drop-shadow(0 10px 10px #0005)}.card-info{padding:15px;border-top:1px solid var(--line)}.card-info h3{font:600 17px 'Space Grotesk';margin:7px 0}.rarity{font-size:9px;letter-spacing:1.4px;color:var(--lime)}.card-info p{font-size:11px;color:var(--muted);margin:5px 0}.stat-row{display:flex;justify-content:space-between;margin-top:15px;font-size:11px;color:var(--muted)}.stat-row strong{color:#eff4ed}.card-number{position:absolute;top:12px;left:12px;font-size:9px;color:#85958d}.element{position:absolute;top:10px;right:10px;background:#0e151b88;padding:5px 8px;border-radius:5px;font-size:10px;color:var(--purple)}.bottom-note{font-size:11px;color:var(--muted);margin-top:20px}.small{font-size:11px;padding:10px 12px}.empty{text-align:center;padding:55px;color:var(--muted)}.empty h3{color:#f1f4ed}.arena-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.mode{text-align:left;border:1px solid var(--line);background:#182129;padding:18px;border-radius:10px;color:#e5ece8}.mode b{display:block;font-size:14px;margin-bottom:8px}.mode span{font-size:11px;color:var(--muted)}.mode.active{border-color:var(--lime);background:#222d21}.fighter-select{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.fighter-select label{font-size:10px;color:var(--muted);letter-spacing:1px}.fighter-select select{display:block;width:100%;margin-top:9px;letter-spacing:0;font-size:14px}#friendImport{margin:20px 0}.battle-top{display:flex;justify-content:space-between;align-items:center}.battlefield{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;gap:15px;margin:30px 0}.combatant{text-align:center;min-width:0}.combatant img{height:160px;width:95%;object-fit:contain;filter:drop-shadow(0 12px 20px #0008)}.combatant h3{font:600 22px 'Space Grotesk';margin:8px 0}.combatant small{color:var(--muted)}.health{height:8px;background:#344149;border-radius:5px;overflow:hidden;margin:15px 0 6px}.health i{display:block;height:100%;background:var(--lime);transition:width .4s}.combatant:last-child .health i{background:var(--purple)}.vs{font:600 18px 'Space Grotesk';color:#7b8991;text-align:center}.moves{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.moves button{border:1px solid #455432;background:#233022;border-radius:8px;color:var(--lime);padding:15px}.moves b,.moves small{display:block}.moves small{color:var(--muted);font-size:10px;margin-top:7px}.battle-log{padding:15px;margin:20px 0;background:#0e151a;border-radius:8px;max-height:160px;overflow-y:auto;font-size:12px;line-height:1.8;color:var(--muted)}.battle-log div:first-child{color:#f0f5eb}dialog{width:min(94vw,480px);border:1px solid #435047;border-radius:18px;background:#172027;color:#ecf1ed;padding:32px}dialog::backdrop{background:#02070cd9;backdrop-filter:blur(7px)}.modal-close{position:absolute;right:14px;top:10px;background:none;color:var(--muted);font-size:28px}.detail-visual{display:flex;justify-content:center;background:radial-gradient(ellipse,#394b3080,transparent);margin-bottom:15px}.detail-visual img{height:220px;width:90%;object-fit:contain}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.detail-stats div{background:#10181d;border-radius:8px;padding:12px;font-size:11px;color:var(--muted)}.detail-stats strong{display:block;font:600 26px 'Space Grotesk';color:var(--lime)}.detail-buttons{display:flex;gap:8px;flex-wrap:wrap}.detail-buttons button{font-size:12px}#instructions ol{padding-left:20px}#instructions li{font-size:14px;line-height:1.7;margin:15px 0}#instructions p{color:var(--muted);font-size:13px;line-height:1.7}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--lime);color:#152016;border-radius:10px;padding:14px 22px;z-index:100;font-size:13px;max-width:90%;text-align:center;transition:transform .25s}#toast.visible{transform:translateX(-50%) translateY(0)}.hit{animation:hit .3s}.caught{animation:caught .6s}@keyframes hit{50%{transform:translateX(8px);filter:brightness(1.8)}}@keyframes caught{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.07)}100%{transform:scale(1)}}@media(max-width:760px){.app{padding:0 18px}header{height:76px}.brand{font-size:27px}.logo{font-size:37px}.beta{margin-left:3px;font-size:8px}header .quiet{font-size:11px}.intro{padding:32px 0 27px;position:relative}.intro h1{font-size:42px;letter-spacing:-2.4px}.intro .eyebrow{font-size:9px}.sub{font-size:12px}.orb-art{width:145px;height:170px;position:absolute;right:-8px;top:30px;opacity:.38;z-index:-1}.big-ball{width:108px;height:108px}.big-ball i{height:50px}.big-ball:after{top:50px}.big-ball b{top:39px;left:37px}.orbit{width:150px;height:100px}.o2{width:130px;height:130px}.orb-caption,.floater{display:none}nav{margin-bottom:20px}nav button{flex:1;justify-content:center;padding:15px 4px;font-size:13px}.panel{padding:18px;border-radius:13px}.section-top{margin-bottom:18px}h2{font-size:20px}.tag{font-size:8px;padding:6px}.capture-layout{grid-template-columns:1fr;gap:22px}.capture-zone{min-height:290px}.capture-zone img{max-height:235px}.capture-controls{padding:0}.capture-controls h3{font-size:25px}.capture-controls h3 br{display:none}.feature-strip{gap:5px;justify-content:space-between}.feature-strip span{font-size:12px}.feature-strip b{font-size:9px;margin-left:2px}footer{padding:25px 0;font-size:9px}footer span:last-child{display:none}.cards{grid-template-columns:1fr 1fr;gap:10px}.card-visual{height:135px}.object-image{height:115px}.card-info{padding:11px}.card-info h3{font-size:14px}.stat-row{font-size:9px}.toolbar select{width:135px;font-size:12px}.toolbar input{width:100px;font-size:12px}.arena-modes{gap:7px}.mode{padding:12px 8px}.mode b{font-size:12px}.mode span{font-size:9px}.fighter-select{gap:10px}.fighter-select select{font-size:12px}.combatant img{height:120px}.combatant h3{font-size:16px}.battlefield{grid-template-columns:1fr 25px 1fr;gap:4px}.moves button{padding:12px 6px}.moves b{font-size:12px}.moves small{font-size:9px}.section-top .small{font-size:9px;padding:9px}.empty{padding:25px 0}dialog{padding:26px}}
/* Trapper v2 */
:root{--lime:#d0fb83;--purple:#c0a2fc}.prism{border-radius:24px!important;clip-path:polygon(50% 0,97% 25%,97% 75%,50% 100%,3% 75%,3% 25%);background:linear-gradient(135deg,#e1ffb5,#67a988 45%,#3d7868 65%,#adf873)!important;transform:rotate(-15deg)!important}.prism i{background:linear-gradient(30deg,#284c4c,#a7dbbd)!important;clip-path:polygon(0 0,100% 45%,50% 100%)}.prism b{border-radius:7px;transform:rotate(45deg);background:#e2ffa0;box-shadow:0 0 20px #d0fb83}.prototype-note{padding:12px 14px;font-size:10px;line-height:1.6;color:#a8b8ad;background:#19261d;border:1px solid #344534;border-radius:8px;margin-top:20px}.header-actions{display:flex;gap:8px}.lab-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.lab-controls label{font-size:10px;color:var(--muted);letter-spacing:1px}.lab-controls select{display:block;width:100%;margin-top:8px;font-size:13px;letter-spacing:0}.tier-table-wrap{overflow:auto;max-height:470px}.tier-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.tier-table th{position:sticky;top:0;background:#1d2a24;color:var(--lime);padding:12px}.tier-table td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--muted)}.tier-table td:nth-child(2){color:#f0f4ed}.modifier-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.modifier-badges span{font-size:9px;background:#25332d;color:#d0fb83;border:1px solid #3b5142;padding:4px 6px;border-radius:5px}.modifier-badges .corrupt-badge{color:#ff7c84;background:#381f27;border-color:#73353e}.modifier-badges .lab-badge{color:#ccacff;border-color:#544267;background:#2c2337}.tier-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--lime)}.echo-art{position:relative;display:grid;place-items:center;width:100%;height:100%;isolation:isolate;--effect-color:#b7ff80}.echo-art img{z-index:1;width:85%;height:90%;object-fit:contain}.echo-art::before,.echo-art::after{content:'';position:absolute;inset:9%;pointer-events:none;mask-image:var(--echo-image);-webkit-mask-image:var(--echo-image);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;mask-position:center;-webkit-mask-position:center;z-index:2}.shiny-glowing img{filter:drop-shadow(0 0 7px var(--effect-color)) drop-shadow(0 0 17px var(--effect-color))}.shiny-holographic::after{background:linear-gradient(120deg,#ff647daa,#ffc16faa,#8cffa3aa,#6de0ffaa,#cf81ffaa);mix-blend-mode:screen;animation:foil 3s infinite alternate;background-size:250% 250%}.shiny-drip img{filter:drop-shadow(0 0 9px #e9bc45)}.shiny-drip::after{background:linear-gradient(130deg,transparent 25%,#e8bd5790 45%,#fff9cfa0 50%,transparent 65%);animation:foil 4s infinite alternate;background-size:250%}.shiny-illuminati img{filter:drop-shadow(0 0 8px #6affa5)}.sigil{position:absolute;font:160px/1 sans-serif;color:#52e59666;z-index:0;animation:sigil 16s linear infinite}.sigil i{font:normal 25px sans-serif;position:absolute;top:65px;left:64px;color:#82ffb5}.alien-rings{position:absolute;width:70%;height:80%;border:2px solid #bc9bff88;border-radius:50%;box-shadow:0 0 14px #9280d955,inset 0 0 15px #bc9bff44;animation:pulse 2s infinite alternate;transform:rotate(-25deg)}.shiny-lacerta::after{background:repeating-conic-gradient(from 30deg,#8daaf644 0 25%,#aa8ce866 0 50%) 0/12px 12px;mix-blend-mode:screen}.shiny-lacerta img{filter:drop-shadow(0 0 8px #be96ff)}.slit-eye{position:absolute;right:13%;top:19%;color:#baffc9;font-size:30px;z-index:3;text-shadow:0 0 8px #5befc3}.sparkles{position:absolute;left:13%;top:17%;color:#e8ffd9;font-size:20px;z-index:3;animation:pulse 1.4s infinite alternate}.sparkles i{position:absolute;left:110px;top:80px;font-style:normal}.sparkles b{position:absolute;left:35px;top:120px;font-size:12px}.drips{position:absolute;color:#f4ce63;font-size:35px;bottom:15%;letter-spacing:14px;z-index:3;animation:pulse 2s infinite alternate}.corrupted{--effect-color:#ff324c}.corrupted .sigil,.corrupted .sigil i,.corrupted .sparkles,.corrupted .slit-eye,.corrupted .drips{color:#ff334b;text-shadow:none}.corrupted .alien-rings{border-color:#ff334b;box-shadow:0 0 14px #ff334b55}.corrupted.shiny-holographic::after,.corrupted.shiny-drip::after{background:linear-gradient(120deg,transparent,#ff334b99,#ffffff99,transparent);mix-blend-mode:screen}.corrupted.shiny-lacerta::after{background:repeating-conic-gradient(#ffffff33 0 25%,#ff183966 0 50%) 0/12px 12px}.corrupted.shiny-drip img,.corrupted.shiny-illuminati img,.corrupted.shiny-lacerta img{filter:drop-shadow(0 0 10px #ff334b)}.detail-visual{height:230px}.detail-visual img{height:220px}.combatant .echo-art{height:170px}.challenge-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}#qrCanvas{display:block;width:min(100%,360px)!important;height:auto!important;margin:24px auto;background:#fff;border-radius:10px;padding:8px}#qrVideo{display:block;width:100%;max-height:340px;margin-top:20px;border-radius:10px;background:#050807}#profileForm{display:flex;gap:10px;margin-top:20px}#profileForm input{width:100%}.claim-message{background:#243724;color:var(--lime);border:1px solid #48693c;padding:14px;border-radius:8px;margin:15px 0;font-size:13px}.range-note{font-size:11px;color:var(--muted);line-height:1.7}.scan-locked{color:#ffb995}#equalize{accent-color:var(--lime)}.rarity-line{margin-top:10px;font-size:11px;color:var(--muted)}@keyframes foil{to{background-position:100% 100%}}@keyframes sigil{to{transform:rotate(360deg)}}@keyframes pulse{to{opacity:.4;transform:scale(.95)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}@media(max-width:760px){.lab-controls{grid-template-columns:1fr 1fr}.header-actions{gap:0}.header-actions button{font-size:10px;padding:8px}.beta{font-size:7px;letter-spacing:0}.brand{font-size:24px;gap:7px}.combatant .echo-art{height:130px}.sigil{font-size:110px}.sigil i{top:45px;left:43px;font-size:18px}.tier-table{font-size:10px}.tier-table td,.tier-table th{padding:9px 7px}.challenge-tools button{font-size:11px;padding:12px}.detail-stats strong{font-size:24px}.intro h1{font-size:38px}nav button{font-size:12px;gap:5px}.modifier-badges span{font-size:8px}.card-info h3{margin-bottom:9px}.card-visual{height:150px}.card-visual .echo-art img{height:135px}.section-top{flex-wrap:wrap}.toolbar{flex-wrap:wrap}}
#profileBtn{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#filterSpecial{max-width:135px}.tier-table td:nth-child(3){white-space:nowrap}@media(max-width:760px){#profileBtn{max-width:85px}.toolbar select{flex:1}}
.lab-source{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:20px;background:#10181e;border:1px solid var(--line);border-radius:12px;margin-top:20px}.lab-source-tools{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.lab-source-tools input{width:100%}.lab-source-tools p{margin:0}.lab-source-preview{display:grid;place-items:center;min-height:220px;background:linear-gradient(45deg,#25322c 25%,transparent 25%,transparent 75%,#25322c 75%),linear-gradient(45deg,#25322c 25%,#1a2520 25%,#1a2520 75%,#25322c 75%);background-size:24px 24px;background-position:0 0,12px 12px;border-radius:9px;overflow:hidden}.lab-source-preview img{max-width:95%;max-height:230px;object-fit:contain}.lab-source-preview p{text-align:center;color:var(--muted);font-size:14px;line-height:1.8}.lab-source-preview p span{font-size:10px}.lab-result{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px;border:1px solid #445d3e;background:#1b2920;border-radius:12px;padding:20px}.lab-result-art{height:260px}.lab-result-info{align-self:center}.lab-result-info .stat-row{gap:10px;flex-wrap:wrap;margin-bottom:20px}.lab-result-info h2{margin:10px 0}@media(max-width:760px){.lab-source,.lab-result{grid-template-columns:1fr;padding:15px;gap:17px}.lab-source-preview{min-height:190px}.lab-result-art{height:230px}}

/* Home and shared account flow */
.link-button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;text-align:center}.home-link{text-decoration:none;font-size:14px}.home-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding:86px 0 72px}.home-hero h1{font-size:clamp(40px,5.1vw,65px);line-height:1.08;letter-spacing:-3px}.home-lead{max-width:460px;color:var(--muted);font-size:17px;line-height:1.8}.home-lead b{color:#e8f0e9}.home-cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 14px}.home-cta .primary,.home-cta .secondary{width:auto;padding:17px 23px}.live-dot{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:9px;box-shadow:0 0 14px #d6fa7260}.home-highlights{display:flex;gap:25px;flex-wrap:wrap;margin-top:35px;font-size:11px;color:var(--muted)}.home-highlights strong{display:block;color:#eaf1ed;font:500 24px 'Space Grotesk';margin-bottom:7px}.home-specimen{position:relative;border:1px solid #40513b;border-radius:24px;background:radial-gradient(ellipse at 50% 30%,#d6fa7212,transparent 70%),#121a21;padding:25px 25px 20px;transform:rotate(3deg);box-shadow:0 35px 90px #0005;isolation:isolate}.specimen-coordinate{color:var(--muted);font-size:9px;letter-spacing:2px}.specimen-visual{position:relative;margin:10px auto 0;max-width:320px}.specimen-visual svg{width:100%;filter:drop-shadow(0 0 25px #d6fa7225);transform:rotate(-9deg)}.specimen-orbit{position:absolute;inset:15% 8% 33%;border:1px dashed #b6d17938;border-radius:50%;transform:rotate(-25deg);z-index:-1}.specimen-spark{position:absolute;color:var(--lime);font-size:32px}.spark-one{top:24%;right:5%}.spark-two{top:55%;left:4%;font-size:21px}.specimen-info{border-top:1px solid var(--line);padding-top:18px}.specimen-info h2{font:600 25px 'Space Grotesk';letter-spacing:-1px;margin:12px 0 4px}.specimen-info .tier-heading{font-size:9px;color:var(--lime)}.specimen-caption{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:18px}.home-story{border-top:1px solid var(--line);padding:62px 0 42px;display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.home-story .eyebrow{grid-column:1/-1}.home-story h2,.home-final h2{font:500 clamp(30px,3.5vw,44px)/1.15 'Space Grotesk';letter-spacing:-1.8px;margin:13px 0}.home-story h2 span{color:var(--lime)}.home-story>p:last-child{color:var(--muted);font-size:15px;line-height:1.85;margin:13px 0}.home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 70px}.home-steps article{border:1px solid var(--line);border-radius:14px;padding:26px;background:#11181e}.home-step-number{color:var(--lime);font-size:10px;letter-spacing:1.8px}.home-steps h3{font:500 21px 'Space Grotesk';letter-spacing:-.5px}.home-steps p{color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:0}.home-final{padding:30px 35px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #435538;border-radius:18px;background:linear-gradient(120deg,#d6fa720e,#121a21)}.home-final .primary{width:auto;flex-shrink:0}.home-prototype{margin:26px 0 48px;max-width:850px;line-height:1.8}.home-return{margin-top:25px}.home-return>p{color:var(--muted)}.home-return strong{color:var(--lime)}.home-return .primary{width:auto}#accountDialog{width:min(460px,calc(100vw - 32px))}#accountForm{display:flex;flex-direction:column;gap:10px}#accountForm label{font-size:10px;letter-spacing:1.5px;color:var(--muted)}#accountForm input{width:100%;padding:14px;background:#0c1116;color:#f0f4f2;border:1px solid var(--line);border-radius:8px}#accountConfirmWrap{display:flex;flex-direction:column;gap:10px}#accountForm .micro{margin:0 0 8px;line-height:1.7}#accountForm .primary{margin-top:6px}#accountSignedIn .primary{width:100%;margin-bottom:12px}.account-status{font-size:13px;line-height:1.6;color:var(--lime);min-height:21px;margin-bottom:0}
@media(max-width:850px){.home-hero{gap:35px;padding-top:55px}.home-hero h1{font-size:44px;letter-spacing:-2px}.home-cta{flex-direction:column;align-items:stretch}.home-specimen{padding:20px}.home-highlights{gap:18px}.home-steps article{padding:20px}.home-story{gap:0 35px}}
@media(max-width:620px){.home-hero{grid-template-columns:1fr;gap:38px;padding:42px 0 48px}.home-hero h1{font-size:46px}.home-lead{font-size:16px}.home-specimen{width:min(100%,360px);margin:auto;transform:rotate(2deg)}.home-story{grid-template-columns:1fr;padding-top:40px}.home-steps{grid-template-columns:1fr;margin-bottom:35px}.home-final{flex-direction:column;align-items:flex-start;padding:25px}.home-final .primary{width:100%}.home-highlights{gap:28px}.header-actions{display:flex;align-items:center}.home-page .beta{display:none}.home-page .brand{font-size:27px}.home-page .logo{font-size:35px}}
@media(max-width:620px){header .beta{display:none}body:not(.home-page) .header-actions .home-link{display:none}}

/* Full-screen capture and signature reveal */
body.capture-overlay-open{overflow:hidden}#captureOverlay{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--reveal-color,#d6fa72) 10%,transparent),transparent 65%),#070d12;color:#f4f7f2;overflow:auto}#captureOverlay::backdrop{background:#070d12}#captureFx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.capture-loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center;position:relative}.capture-loading img{width:240px;height:240px}.capture-loading h2{font:600 clamp(38px,6vw,62px) 'Space Grotesk';letter-spacing:-2px;margin:10px 0 15px}.capture-loading .eyebrow{color:#d6fa72;font-size:10px;margin-top:15px}.capture-loading .micro{font-size:13px;color:#95a69c}.capture-dots{animation:capture-breathe 1.4s ease-in-out infinite}.loading-prism{display:none;font:100px 'Space Grotesk';color:var(--lime)}.capture-reveal{position:relative;z-index:1;min-height:100dvh;max-width:1000px;padding:55px 28px 30px;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.reveal-skip{position:fixed;right:22px;top:18px;font-size:12px;z-index:2}.capture-reveal .eyebrow{color:var(--reveal-color);font-size:11px;letter-spacing:3px}.reveal-headline{font:600 clamp(32px,8vw,94px)/1.08 'Space Grotesk';color:var(--reveal-color);letter-spacing:-.045em;max-width:100%;overflow-wrap:anywhere;text-shadow:0 0 45px color-mix(in srgb,var(--reveal-color) 28%,transparent);margin:20px 0}.tier-pop{animation:tier-impact .65s cubic-bezier(.16,1,.3,1) both}.reveal-subtitle{color:#c8d3cc;font-size:12px;letter-spacing:2px;line-height:1.6;margin:0;max-width:700px}.tier-scene:before{content:'';position:absolute;left:50%;top:44%;width:min(80vw,650px);aspect-ratio:1;border:1px solid var(--reveal-color);border-radius:50%;transform:translate(-50%,-50%);opacity:.15;animation:signature-wave 1.5s ease-out both;pointer-events:none}.modifier-scene.shiny .reveal-headline{background:linear-gradient(110deg,var(--reveal-color),#fff,var(--reveal-accent),var(--reveal-color));background-size:200%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:tier-impact .65s cubic-bezier(.16,1,.3,1) both,modifier-shimmer 2s linear infinite}.modifier-scene.corrupted .reveal-headline{text-shadow:5px 2px #fff4,-5px -2px #ff423966;letter-spacing:.06em}.modifier-scene.anomaly .reveal-headline{animation:anomaly-bounce .7s cubic-bezier(.2,1.4,.4,1) both}.reveal-complete{padding-top:38px;padding-bottom:28px}.reveal-complete .reveal-headline{font-size:clamp(27px,4.5vw,44px);margin:6px 0 8px;color:#f4f7f2;letter-spacing:-1.5px}.reveal-complete .reveal-subtitle{font-size:11px;letter-spacing:1px}.reveal-echo{position:relative;display:grid;place-items:center;width:210px;height:190px;margin:16px 0 10px;isolation:isolate;animation:echo-arrive .7s cubic-bezier(.16,1,.3,1) both}.reveal-echo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 28px color-mix(in srgb,var(--reveal-color) 25%,transparent));position:relative;z-index:1}.echo-reveal-ring{position:absolute;width:150px;height:55px;border:1px solid var(--reveal-color);border-radius:50%;bottom:0;box-shadow:0 0 40px color-mix(in srgb,var(--reveal-color) 18%,transparent);opacity:.6}.reveal-modifiers{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:8px 0 16px}.mod-chip{display:flex;flex-direction:column;gap:5px;background:#14211bdd;border:1px solid #526443;border-radius:8px;padding:9px 12px;color:var(--reveal-color);font-size:12px;font-weight:700;animation:echo-arrive .5s ease-out both}.mod-chip small{font-size:8px;font-weight:400;color:#d1ded6;letter-spacing:.5px}.mod-chip.corrupted{color:#ff8177;border-color:#7e393b;background:#251515}.mod-chip.anomaly{color:#eed7ff;border-color:#614c73;background:#1b1625}.reveal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(100%,600px);margin:10px 0 22px}.reveal-stat{border:1px solid #425441;border-radius:12px;background:#101c17ed;padding:18px 12px;animation:stat-unlock .55s ease-out both;animation-delay:var(--stat-delay)}.reveal-stat span{font-size:9px;letter-spacing:1.8px;color:#a4b5ac;display:block}.reveal-stat strong{font:600 clamp(22px,3vw,34px) 'Space Grotesk';color:var(--reveal-color);display:block;margin-top:9px}.reveal-actions{display:flex;justify-content:center;gap:12px;width:min(100%,460px)}.reveal-actions .primary,.reveal-actions .secondary{flex:1;width:auto;margin:0}.reveal-complete>.micro{font-size:10px;color:#9dac9e;margin-top:16px}.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}
@keyframes capture-breathe{50%{opacity:.4}}@keyframes tier-impact{0%{opacity:0;transform:scale(1.8) translateY(-10px);filter:blur(12px)}60%{opacity:1;transform:scale(.97);filter:blur(0)}100%{transform:scale(1)}}@keyframes signature-wave{from{transform:translate(-50%,-50%) scale(.3);opacity:.7}to{transform:translate(-50%,-50%) scale(1.3);opacity:0}}@keyframes modifier-shimmer{to{background-position:200%}}@keyframes anomaly-bounce{0%{opacity:0;transform:translateY(60px) scale(.6)}65%{opacity:1;transform:translateY(-12px) scale(1.08)}100%{transform:translateY(0) scale(1)}}@keyframes echo-arrive{from{opacity:0;transform:translateY(25px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes stat-unlock{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){.capture-reveal{padding:60px 18px 22px}.reveal-headline{font-size:clamp(31px,9vw,58px);letter-spacing:-1.5px}.capture-reveal .eyebrow{font-size:9px;letter-spacing:2px}.reveal-subtitle{font-size:10px;letter-spacing:1px}.reveal-complete{padding-top:30px}.reveal-echo{width:150px;height:140px;margin:10px 0 4px}.reveal-complete .reveal-headline{font-size:30px}.reveal-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 16px}.reveal-stat{padding:12px 10px}.reveal-stat strong{font-size:26px;margin-top:5px}.reveal-modifiers{gap:6px;margin-bottom:8px}.mod-chip{padding:7px 8px;font-size:10px}.mod-chip small{font-size:7px}.reveal-actions{gap:8px}.reveal-actions button{padding:13px 10px;font-size:12px}.reveal-complete>.micro{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.capture-loading img{display:none}.loading-prism{display:block;margin:35px}#captureOverlay *{animation:none!important;transition:none!important}.tier-scene:before{display:none}}

/* Simple player dashboard and Echo icons */
.brand{gap:10px;letter-spacing:-1.4px;flex-shrink:0}.brand-mark{width:42px;height:42px}.brand-word{font:700 30px 'Space Grotesk';color:#f1f6ed}.brand-word>span{color:var(--lime)}.account-button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:6px 10px;border:1px solid var(--line);border-radius:30px;max-width:220px!important;color:#f0f4f2!important}.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#1e2e22;display:grid;place-items:center;color:var(--lime);font-size:24px}.account-avatar img{width:100%;height:100%;object-fit:contain;padding:3px}.player-home{padding:44px 0 42px}.player-heading h1{font-size:clamp(36px,5vw,56px);margin:12px 0}.player-heading h1>span{overflow-wrap:anywhere}.player-heading .sub{font-size:16px;margin:12px 0 28px}.player-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.player-icon-card,.player-count-card{border:1px solid #45533f;border-radius:20px;background:radial-gradient(ellipse at 50% 15%,#d6fa7210,transparent 80%),#131c21;padding:26px;text-decoration:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;color:#edf4eb;min-height:260px}.player-avatar{width:105px;height:105px;border-radius:50%;background:#1e2b20;border:2px solid #7a9957;display:grid;place-items:center;overflow:hidden}.player-avatar img{width:100%;height:100%;object-fit:contain;padding:10px}.player-avatar>span{font-size:70px;color:var(--lime)}.player-icon-card>.micro{font-size:10px;margin:0;letter-spacing:1px}.player-icon-card>strong{font:600 20px 'Space Grotesk';overflow-wrap:anywhere}.icon-change,.count-open{font-size:14px;color:var(--lime);font-weight:600}.player-count-card>strong{font:600 clamp(62px,8vw,94px) 'Space Grotesk';color:var(--lime);line-height:1}.player-count-card>span{font-size:17px}.player-count-card>.count-open{font-size:14px;margin-top:10px}.player-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.player-action{text-decoration:none;border:1px solid #39494a;background:#172228;border-radius:16px;min-height:156px;padding:23px;display:flex;flex-direction:column;justify-content:center;gap:10px;color:#f1f6f0}.player-action>span{color:var(--lime);font-size:30px}.player-action>strong{font:600 23px 'Space Grotesk';letter-spacing:-.5px}.player-action>small{color:#acbbb5;font-size:13px;line-height:1.5}.capture-action{background:var(--lime);border-color:var(--lime);color:#172414}.capture-action>span,.capture-action>small{color:#364b29}.player-save-note{font-size:12px;color:#9dac9f;margin-top:20px}.player-actions a:hover,.player-summary a:hover{filter:brightness(1.1)}.favorite-marker{position:absolute;top:37px;left:12px;background:var(--lime);color:#24331b;padding:4px 6px;font-size:8px;letter-spacing:.5px;z-index:3;border-radius:5px;font-weight:700}.favorite-button[aria-pressed=true]{background:#293b20;border-color:var(--lime);color:var(--lime)}.echo-more,.collection-tools{margin:20px 0;color:var(--muted)}.echo-more summary,.collection-tools summary{font-size:14px;cursor:pointer;padding:10px 0;min-height:44px}.echo-more .micro{line-height:1.7}.home-steps p{font-size:15px}.home-steps .home-step-number{font-size:12px}.home-steps h3{font-size:24px}button,.link-button{min-height:44px}nav button{min-height:56px}#accountForm label{font-size:12px;letter-spacing:.7px}#accountForm .micro{font-size:13px}.intro{padding:32px 0}.intro h1{font-size:clamp(38px,4.5vw,55px);letter-spacing:-2px}.capture-controls p{font-size:15px;line-height:1.7}.header-actions{display:flex;gap:10px;align-items:center}.detail-buttons{flex-wrap:wrap}.detail-buttons button{flex:1 1 160px}.home-prototype{font-size:12px}
@media(max-width:620px){.brand-mark{width:35px;height:35px}.brand-word{font-size:25px}.header-actions{gap:7px}header .home-link{display:none}.account-button{max-width:145px!important;font-size:13px!important;padding:5px 9px;gap:7px}.account-avatar{width:29px;height:29px}.player-home{padding-top:30px}.player-heading .sub{font-size:15px}.player-summary{gap:10px}.player-icon-card,.player-count-card{padding:17px 10px;min-height:215px;border-radius:15px;gap:10px}.player-avatar{width:80px;height:80px}.player-avatar>span{font-size:52px}.player-icon-card>strong{font-size:17px}.player-icon-card>.micro{font-size:8px}.icon-change{font-size:12px}.player-count-card>strong{font-size:60px}.player-count-card>span{font-size:14px;line-height:1.5}.player-count-card>.count-open{font-size:12px}.player-actions{grid-template-columns:1fr;gap:10px;margin-top:16px}.player-action{min-height:96px;padding:17px 20px;display:grid;grid-template-columns:38px 1fr;gap:6px 15px}.player-action>span{grid-row:1/3;align-self:center;font-size:32px}.player-action>strong{font-size:22px}.player-action>small{font-size:13px}.intro .sub{font-size:14px}.intro .eyebrow{font-size:10px}.card-info .stat-row{font-size:9px;flex-wrap:wrap;gap:8px}.detail-buttons button{flex:1 1 130px;font-size:13px}.home-hero{padding-top:35px}.home-hero h1{font-size:42px}.home-steps article{padding:23px}.player-home+section[hidden]{display:none}.home-page header{height:80px}}

@media(max-width:380px){.app>header{gap:4px}.app>header .brand-mark{width:30px;height:30px}.app>header .brand-word{font-size:22px}.app>header .account-button{max-width:105px!important}.app>header .account-name{max-width:65px}.app>header #helpBtn{padding:8px}}
/* A clear, friendly path for the single player adventure. */
.arena-main-mode{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;text-align:left;padding:17px 20px;border-radius:12px;font-size:17px}.arena-main-mode span{font-size:13px}.other-battles{margin-bottom:24px}.other-battles>summary{padding:12px 0;color:#b5c4c4;font-size:14px;cursor:pointer}.other-battles .arena-modes{margin:10px 0}.arena-progress-heading{display:flex;justify-content:space-between;gap:10px;color:#b4c1b9;font-size:12px;margin:20px 0 8px}.arena-progress-bar{height:8px;border-radius:10px;background:#28363b;overflow:hidden;margin-bottom:22px}.arena-progress-bar i{display:block;background:var(--lime);height:100%;border-radius:10px;transition:width .4s}.arena-guide{display:grid;grid-template-columns:130px 1fr;gap:23px;align-items:center;padding:23px;background:linear-gradient(110deg,#23312b,#162228);border:1px solid #3c5045;border-radius:16px}.arena-portrait{width:100%;display:block}.arena-guide h3{font:600 35px 'Space Grotesk';letter-spacing:-1px;margin:8px 0 5px;color:var(--rival-color)}.arena-guide .eyebrow{font-size:10px;letter-spacing:1px;color:#c0cfbf;margin:0}.rival-title{font-size:14px;color:#d7e2d7;margin:0}.rival-quote{font-size:15px;line-height:1.5;color:#b7c8bf;margin:10px 0 0}.rival-echo-steps{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin:22px 0}.rival-step{background:#1b252d;border:1px solid #35434c;border-radius:10px;padding:10px 2px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#92a1a7}.rival-step b{font-size:19px}.rival-step small{font-size:10px}.rival-step.won{background:#243722;border-color:#627348;color:var(--lime)}.rival-step.next{background:var(--lime);border-color:var(--lime);color:#203116;box-shadow:0 0 20px #d6fa7218}.arena-next-echo{display:flex;align-items:center;gap:20px;border:1px solid #35434b;border-radius:14px;padding:15px;margin-bottom:16px}.arena-echo-preview{width:95px;flex-shrink:0}.arena-echo-preview svg{width:100%;height:80px;display:block}.arena-next-echo h4{font:600 24px 'Space Grotesk';margin:7px 0}.arena-next-echo p{color:#b2c3b6;font-size:13px;line-height:1.5;margin:10px 0 0}.arena-tier{font-size:12px;padding:5px 8px;border-radius:5px;background:#263727;color:var(--lime)}.arena-journey{margin:18px 0 25px}.arena-journey>summary{display:list-item;color:#aabaac;font-size:14px;padding:10px 0;cursor:pointer}.arena-journey summary span{float:right;font-size:12px}.arena-opponents{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;max-height:520px;overflow:auto;padding:2px}.arena-rival{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid #303e45;background:#172128}.arena-rival .arena-portrait{width:65px;flex-shrink:0}.arena-rival div{display:flex;flex-direction:column;gap:6px}.arena-rival b{font-size:15px}.arena-rival span{font-size:11px;color:#a6b5b3}.arena-rival small{font-size:10px;color:#96a69b}.arena-rival.current{border-color:var(--lime);background:#233222}.arena-rival.beaten small{color:var(--lime)}.arena-rival.locked{opacity:.58}#arenaNeedsEcho{padding:20px;border-radius:12px;background:#253328;margin:20px 0}#arenaNeedsEcho p{font-size:16px;line-height:1.5}#arena #startBattle{width:100%;font-size:18px;padding:18px;min-height:58px}#arena .fighter-select{margin:20px 0}#arena .fighter-select label:first-child{flex:1}#arena #again{width:100%;margin-top:18px;font-size:17px}.arena-result{text-align:center;padding:22px;border-radius:14px}.arena-result strong{display:block;font:600 30px 'Space Grotesk';margin-bottom:10px}.arena-result p{margin:0;line-height:1.6;font-size:15px}.arena-result.victory{background:radial-gradient(ellipse at top,#39462b,#19261e);border-color:#82995d;color:#e6f6d7}.arena-result.loss{background:#1d2732;border-color:#536277;color:#d8e6ef}.win-stars{display:block;color:var(--lime);font-size:32px;letter-spacing:12px;animation:arena-stars .55s ease-out}.arena-complete{text-align:center;padding:25px;background:#293820;border-radius:14px;margin-top:20px}.arena-complete>span{display:block;font-size:60px}.arena-complete strong{font:600 28px 'Space Grotesk';color:var(--lime)}.arena-complete p{font-size:15px;line-height:1.6}.player-actions .player-action>strong{line-height:1.15}.arena-modes .mode{min-height:90px}
@keyframes arena-stars{from{opacity:0;transform:scale(.5) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:620px){.arena-guide{grid-template-columns:86px 1fr;gap:14px;padding:16px 12px}.arena-guide h3{font-size:29px}.arena-guide .eyebrow{font-size:8px;line-height:1.5}.rival-title{font-size:12px}.rival-quote{font-size:13px}.rival-echo-steps{grid-template-columns:repeat(5,1fr);gap:6px;margin:16px 0}.rival-step{padding:7px 2px}.rival-step b{font-size:16px}.rival-step small{font-size:9px}.arena-next-echo{gap:12px;padding:12px}.arena-echo-preview{width:65px}.arena-next-echo h4{font-size:21px}.arena-next-echo p{font-size:12px}.arena-progress-heading{font-size:10px}.arena-opponents{grid-template-columns:1fr}.arena-main-mode{flex-direction:column;align-items:flex-start;gap:5px;font-size:16px}.arena-main-mode span{font-size:12px}.other-battles .arena-modes{grid-template-columns:1fr}.other-battles .mode{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.other-battles .mode span{font-size:11px}.arena-journey>summary{font-size:12px}.arena-journey summary span{font-size:10px}.arena-result strong{font-size:26px}#arena .section-top{align-items:flex-start}#arena .section-top>.tag{display:none}#arena .section-top h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.win-stars{animation:none}.arena-progress-bar i{transition:none}}
.arena-favorite{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid #516444;border-radius:14px;background:#202c23;margin:20px 0}.arena-favorite>.echo-art{width:86px;height:85px;flex-shrink:0}.arena-favorite>.echo-art img{max-height:85px}.arena-favorite>div:last-child{display:flex;flex-direction:column;gap:7px}.arena-favorite strong{font:600 24px 'Space Grotesk';color:var(--lime)}.arena-favorite span:not(.micro){font-size:12px;color:#b9c8ba}.arena-favorite button{text-align:left;padding:0;min-height:32px;color:#c2d4b9}.fragment-wallet{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#d1b0ff;background:#252037;border:1px solid #4f3e6f;padding:12px 15px;border-radius:10px;font-size:14px;margin:14px 0}.fragment-wallet>span{font-size:24px}.fragment-wallet small{flex-basis:100%;color:#bbaccd;font-size:11px}.echo-upgrade{margin:22px 0;padding:18px;border:1px solid #48385d;background:#1c1928;border-radius:12px}.echo-upgrade .fragment-wallet{margin:0 0 12px}.echo-upgrade>button{width:100%;font-size:15px}.echo-upgrade>p{color:#b5a8c7;font-size:13px;line-height:1.6;margin:12px 0 0}.fragment-reward{font:600 20px 'Space Grotesk';color:#d1b0ff;margin:14px 0}.arena-result button{margin-top:15px}.tier-upgraded{animation:tier-boost .9s ease-out}#battle{position:relative;overflow:hidden}.combatant{position:relative}.battlefield{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at center,#29374b,#121923 65%);padding:20px 12px;margin-top:15px}.battlefield:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 45%,#95b4e510 48%,transparent 52%);pointer-events:none}.battlefield .vs{font:700 27px 'Space Grotesk';color:#a7b9cd;text-shadow:0 0 25px #90b5ff}.attack-cadence{display:block;font-size:11px;color:#c4cb9c;margin-top:10px}.auto-battle-status{text-align:center;font-size:13px;line-height:1.5;color:#a8bac9;margin:18px 0}.combatant.auto-strike .echo-art{animation:auto-lunge .24s ease-out}.combatant.auto-impact .echo-art{animation:auto-hit .28s ease-out}.combatant:nth-child(3).auto-strike .echo-art{animation-name:auto-lunge-left}.damage-burst{position:absolute;top:26%;left:50%;z-index:6;transform:translateX(-50%);color:#f6faff;text-shadow:0 2px 4px #000;white-space:nowrap;text-align:center;animation:damage-pop 1s ease-out forwards;pointer-events:none}.damage-burst b{font:700 28px 'Space Grotesk';display:block}.damage-burst small{font-size:13px;font-weight:700}.damage-burst.crit-2{color:#fce281}.damage-burst.crit-3{color:#ffaa72}.damage-burst.crit-4{color:#b8a2ff}.damage-burst.crit-5{color:#7decfa}.damage-burst.crit-10{color:#ff87d2}.damage-burst.crit-10 b{font-size:40px}.battle-effect{position:absolute;top:10%;left:50%;z-index:8;pointer-events:none;opacity:0;transform:translateX(-50%);text-align:center;white-space:nowrap;color:#fce281;text-shadow:0 3px 8px #000}.battle-effect span{font:700 70px/.95 'Space Grotesk';display:block}.battle-effect strong{display:block;font-size:14px;letter-spacing:2px;margin-top:8px}.battle-effect i{font-size:24px;font-style:normal;letter-spacing:20px}.battle-effect.show{animation:crit-flare 1s ease-out forwards}.battle-effect.crit-3{color:#ffaa72}.battle-effect.crit-4{color:#b8a2ff}.battle-effect.crit-5{color:#7decfa}.battle-effect.crit-10{color:#ff87d2;text-shadow:0 0 35px #ed54b7}.battle-effect.crit-10 span{font-size:98px}.battle-effect.crit-10.show{animation:reality-break 1.2s ease-out forwards}.battle-log{max-height:110px}.battle-log>div:nth-child(n+12){display:none}
@keyframes auto-lunge{50%{transform:translateX(18px) rotate(5deg);filter:drop-shadow(0 0 12px #d6fa72)}}@keyframes auto-lunge-left{50%{transform:translateX(-18px) rotate(-5deg);filter:drop-shadow(0 0 12px #8cb9ff)}}@keyframes auto-hit{30%{transform:translateX(6px) scale(.93);filter:brightness(2)}70%{transform:translateX(-4px)}}@keyframes damage-pop{0%{opacity:1;transform:translate(-50%,12px) scale(.7)}25%{opacity:1;transform:translate(-50%,-5px) scale(1.2)}100%{opacity:0;transform:translate(-50%,-60px) scale(.9)}}@keyframes crit-flare{0%{opacity:1;transform:translateX(-50%) scale(.5) rotate(-8deg)}25%{opacity:1;transform:translateX(-50%) scale(1.1) rotate(0)}65%{opacity:1}100%{opacity:0;transform:translate(-50%,-30px) scale(1)}}@keyframes reality-break{0%{opacity:1;transform:translateX(-50%) scale(.2) rotate(-15deg)}20%{opacity:1;transform:translateX(-50%) scale(1.3) rotate(3deg)}40%{transform:translateX(-50%) scale(1) rotate(-3deg)}70%{opacity:1;transform:translateX(-50%) rotate(0)}100%{opacity:0;transform:translate(-50%,-25px) scale(1.2)}}@keyframes tier-boost{30%{filter:drop-shadow(0 0 30px #d1b0ff);transform:scale(1.015)}}
@media(max-width:620px){.arena-favorite{padding:13px;gap:12px}.arena-favorite strong{font-size:20px}.arena-favorite>.echo-art{width:65px;height:70px}.fragment-wallet{font-size:12px}.battlefield{padding:15px 2px;gap:6px}.battlefield .vs{font-size:20px}.damage-burst b{font-size:23px}.damage-burst small{font-size:10px}.battle-effect span{font-size:56px}.battle-effect.crit-10 span{font-size:75px}.battle-effect strong{font-size:11px;letter-spacing:1px}.attack-cadence{font-size:9px}.echo-upgrade{padding:13px}.auto-battle-status{font-size:12px}}
@media(prefers-reduced-motion:reduce){.auto-strike .echo-art,.auto-impact .echo-art,.tier-upgraded{animation:none!important}.damage-burst{animation:quiet-fade 1s linear forwards}.battle-effect.show,.battle-effect.crit-10.show{animation:quiet-fade 1s linear forwards}}@keyframes quiet-fade{0%,70%{opacity:1}100%{opacity:0}}
.lab-arena-browser{border-top:1px solid #3a3b4c;margin-top:35px;padding-top:30px}.lab-arena-browser>label{display:block;font-size:11px;letter-spacing:1px;color:#b3a2ce;margin:22px 0 8px}.lab-arena-browser>select{width:100%;padding:14px;min-height:48px}.lab-arena-browser>details{margin:18px 0}.lab-arena-browser>details>summary{cursor:pointer;font-size:14px;color:#b6a1ff;padding:12px 0}.lab-arena-gallery{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin:12px 0;max-height:400px;overflow:auto;padding:3px}.lab-rival-choice{background:#1d2430;color:#dee4ec;border:1px solid #3d4458;border-radius:10px;display:flex;align-items:center;flex-direction:column;gap:6px;padding:8px 5px}.lab-rival-choice .arena-portrait{width:100%;max-width:80px}.lab-rival-choice strong{font-size:10px}.lab-rival-choice>span{font-size:9px;color:#a9a2be}.lab-rival-choice[aria-pressed=true]{border-color:var(--lime);background:#2b3324;color:var(--lime)}.lab-arena-person{display:flex;align-items:center;gap:22px;padding:20px;border:1px solid #3e4354;background:#1d2430;border-radius:14px;margin:20px 0}.lab-arena-person>.arena-portrait{width:100px;flex-shrink:0}.lab-arena-person h3{font:600 30px 'Space Grotesk';margin:8px 0}.lab-arena-person p{font-size:13px;line-height:1.5;color:#b4c2c6}.lab-arena-person .eyebrow{font-size:10px;color:var(--lime)}.lab-arena-objects{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.lab-arena-object{background:#18212a;border:1px solid #354253;border-radius:12px;padding:13px;overflow:hidden}.lab-arena-object .tag{font-size:8px;padding:5px 7px;display:inline-block}.lab-object-art svg{display:block;width:100%;height:125px}.lab-arena-object h4{font:600 17px 'Space Grotesk';margin:8px 0}.lab-arena-object p{font-size:10px;line-height:1.5;color:#adb9c3;margin:5px 0 12px}.lab-arena-object dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.lab-arena-object dt{font-size:9px;color:#a1afbc}.lab-arena-object dd{margin:3px 0 0;font-size:12px;font-weight:700;color:var(--lime)}
@media(max-width:900px){.lab-arena-gallery{grid-template-columns:repeat(5,1fr)}.lab-arena-objects{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.lab-arena-browser .section-top{display:block}.lab-arena-browser .section-top .tag{display:inline-block;margin-top:12px}.lab-arena-gallery{grid-template-columns:repeat(4,1fr)}.lab-arena-person{gap:12px;padding:13px}.lab-arena-person>.arena-portrait{width:70px}.lab-arena-person h3{font-size:24px}.lab-arena-person p{font-size:11px}.lab-arena-objects{grid-template-columns:repeat(2,1fr);gap:9px}.lab-arena-object{padding:10px}.lab-arena-object h4{font-size:16px}.lab-object-art svg{height:100px}.lab-arena-object .tag{font-size:7px;padding:5px 4px}}
.opponent-victory{position:relative;overflow:hidden;isolation:isolate;animation:opponent-win .75s ease-out}.opponent-confetti{position:absolute;inset:0;pointer-events:none;z-index:-1}.opponent-confetti i{position:absolute;left:calc(var(--i)*6.5%);top:-20px;width:9px;height:18px;background:var(--lime);border-radius:2px;animation:opponent-confetti 2.4s calc(var(--i)*.06s) ease-out both}.opponent-confetti i:nth-child(3n){background:#bdadff}.opponent-confetti i:nth-child(3n+1){background:#ffc27b}.next-opponent{display:flex;align-items:center;gap:18px;text-align:left;max-width:390px;margin:22px auto 0;background:#15271f;border:1px solid #748c52;border-radius:15px;padding:16px;animation:next-person .65s ease-out}.next-opponent .arena-portrait{width:90px;flex-shrink:0}.next-opponent h3{font-size:26px;margin:6px 0;color:var(--lime)}.next-opponent p{font-size:13px}.next-opponent .micro{font-size:10px}@keyframes opponent-confetti{0%{transform:translateY(-30px) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(440px) rotate(540deg);opacity:0}}@keyframes opponent-win{0%{transform:scale(.9);box-shadow:0 0 0 #d6fa7200}50%{transform:scale(1.02);box-shadow:0 0 45px #d6fa7255}100%{transform:scale(1);box-shadow:0 0 0 #d6fa7200}}@keyframes next-person{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.opponent-victory,.next-opponent,.opponent-confetti i{animation:none}.opponent-confetti{display:none}}
.fragment-chip{display:inline-flex;align-items:center;gap:7px;color:var(--lime);background:#253725;border:1px solid #536b43;border-radius:20px;padding:9px 13px;font-size:13px;white-space:nowrap;margin-left:auto;margin-right:12px}.fragment-chip strong{font-size:17px}.home-fragments-card{grid-column:1/-1;display:flex;align-items:center;gap:20px;background:linear-gradient(110deg,#2b3921,#182a25);border:1px solid #61754b;border-radius:16px;padding:24px;text-decoration:none;color:#e4efda}.home-fragments-card>span:first-child{font-size:40px;color:var(--lime)}.home-fragments-card>span:last-child{margin-left:auto;color:var(--lime);font-size:25px}.home-fragments-card strong{font:700 36px 'Space Grotesk';color:var(--lime);margin-right:12px}.home-fragments-card b{font-size:18px}.home-fragments-card p{margin:8px 0 0;font-size:13px;line-height:1.5;color:#bfcebb}@media(max-width:620px){.app>header{height:auto;min-height:76px;flex-wrap:wrap;gap:12px;padding:14px 0}.app>header .header-actions{margin-left:auto;justify-content:flex-end}.fragment-chip{order:3;flex-basis:100%;margin:0;width:100%;justify-content:center;border-radius:10px;padding:8px}.app>header+nav{margin-top:10px}.home-fragments-card{padding:18px;gap:12px}.home-fragments-card strong{font-size:30px}.home-fragments-card b{font-size:15px}.home-fragments-card>span:first-child{font-size:28px}}
#arena.fighting>.section-top,#arena.fighting>.arena-main-mode,#arena.fighting>.other-battles{display:none}#battle{scroll-margin-top:12px}.battle-log-details{margin-top:14px;color:#aabbb5;font-size:12px}.battle-log-details summary{cursor:pointer;padding:8px}.battle-outcome #again{margin:14px 0 0}#battle.campaign-finished .battlefield,#battle.campaign-finished #autoBattleStatus,#battle.campaign-finished #battleEffect{display:none}#battle.campaign-finished .battle-outcome{min-height:300px;display:flex;flex-direction:column;justify-content:center;max-width:650px;margin:auto}#battle.campaign-finished .claim-message{margin-top:0}@media(orientation:landscape) and (max-height:650px){#arena.fighting{padding:14px 20px}.battlefield{padding:10px 0;gap:12px}.battlefield .echo-art{height:clamp(90px,28svh,160px)}.battlefield .echo-art img{max-height:clamp(90px,28svh,160px)}.battlefield h3{font-size:20px;margin:7px 0}.battlefield .modifier-badges{margin:5px 0}.battlefield .health{margin:7px 0}.battle-top{margin-bottom:8px}.auto-battle-status{margin:8px 0}.arena-result{padding:14px}.arena-result strong{font-size:26px;margin-bottom:6px}.arena-result p{font-size:14px}.win-stars{font-size:24px}.next-opponent{margin:10px auto 0;padding:10px}.next-opponent .arena-portrait{width:58px}.next-opponent h3{font-size:22px;margin:3px 0}.fragment-reward{margin:8px 0}#battle.campaign-finished .battle-outcome{min-height:220px}.battle-outcome #again{min-height:48px;margin-top:10px}}

.delete-echo{color:#ffadb4}.delete-confirm{padding:16px;margin:12px 0;border:1px solid #79434b;border-radius:14px;background:#24181d}.delete-confirm p{margin:0 0 12px}.delete-echo-button{background:#ed6978;color:#1d0a0d;padding:13px 20px;border-radius:10px;font-weight:700}
.leaderboard-rows{display:grid;gap:10px}.leaderboard-row{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.leaderboard-you{border-color:var(--lime)}.leaderboard-rank{width:36px;text-align:center;font-weight:700;font-size:20px;flex-shrink:0}.leaderboard-avatar{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#1b272f;flex-shrink:0}.leaderboard-player{display:grid;gap:5px;min-width:0;flex:1}.leaderboard-player strong{font-size:18px}.leaderboard-player span{overflow-wrap:anywhere}.leaderboard-player small,.leaderboard-rating small{color:var(--muted);font-size:11px}.leaderboard-rating{display:grid;gap:4px;text-align:center;min-width:54px}.leaderboard-rating strong{font-size:21px;color:var(--lime)}.leaderboard-mine{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px;margin:18px 0;background:#202b1e;border-radius:14px}.leaderboard-mine span{color:var(--muted)}.leaderboard-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.public-home-link{margin-top:20px}.public-home-preview{text-align:center;margin:20px 0}@media(max-width:600px){.leaderboard-row{gap:8px;flex-wrap:wrap;padding:12px}.leaderboard-rank{width:24px;font-size:16px}.leaderboard-avatar{width:52px;height:52px}.leaderboard-player strong{font-size:15px}.leaderboard-player span{font-size:12px}.leaderboard-row button{margin-left:auto;min-width:90px;min-height:44px}.leaderboard-rating strong{font-size:17px}.leaderboard-pager{font-size:11px}}

/* Echo Expeditions: large path choices and an outcome beside the battlefield. */
.expedition-sky{position:relative;display:flex;align-items:center;justify-content:center;gap:50px;min-height:140px;margin:16px 0 24px;border-radius:24px;background:radial-gradient(ellipse at center,#574274,#192333 70%);overflow:hidden;color:#ffeca3}.expedition-sky b{font-size:64px;transform:rotate(-15deg)}.expedition-sky span{font-size:30px}.expedition-sky i{position:absolute;bottom:14px;font-size:10px;letter-spacing:2px;font-style:normal}.expedition-intro{max-width:740px;margin:auto}.expedition-intro p{color:#b8c3cf;line-height:1.7}.expedition-companion{display:flex;align-items:center;gap:20px;border:1px solid #35404c;border-radius:18px;padding:16px;margin:20px 0;background:#141d28}.expedition-companion img{width:90px;height:90px;object-fit:contain}.expedition-companion>div{flex:1;min-width:0}.expedition-companion strong,.expedition-companion span{display:block;margin:5px 0}.expedition-companion .health{margin:10px 0}.expedition-map{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.expedition-map span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #46515e;border-radius:50%;color:#a4afbc}.expedition-map .visited{background:#243a29;color:#d6fa72}.expedition-map .here{background:#d6fa72;color:#101818;box-shadow:0 0 18px #d6fa7240;font-weight:800}.expedition-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.expedition-scene{border:1px solid #394653;border-radius:20px;padding:24px;background:#121b26;min-height:220px}.expedition-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.expedition-choice{text-align:left;border:1px solid #5a5276;background:#252037;border-radius:18px;padding:24px;color:#f5f1ff;min-height:150px;cursor:pointer}.expedition-choice:hover{border-color:#d6fa72;background:#303046}.expedition-choice span{font-size:28px;display:block;margin-bottom:12px}.expedition-choice strong{display:block;font-size:20px;margin-bottom:10px}.expedition-choice small{font-size:14px;color:#c7c4dc;line-height:1.5}.expedition-battle{display:grid;grid-template-columns:1fr 40px 1fr;gap:12px;align-items:center}.expedition-battle .combatant{position:relative;min-width:0;padding:12px;text-align:center}.expedition-battle img,.expedition-battle svg{width:100%;height:180px;object-fit:contain}.expedition-battle strong{display:block;font-size:17px}.expedition-result{padding:20px;text-align:center;border-radius:16px;background:#273040;margin:16px 0}.expedition-result strong{font-size:25px;display:block}.expedition-result.victory{background:linear-gradient(130deg,#30412a,#28213d);border:1px solid #d6fa72;animation:expeditionCelebrate .6s ease-out}.expedition-result .primary{margin-top:10px}.expedition-result p{color:#d5dece}@keyframes expeditionCelebrate{from{transform:scale(.94);box-shadow:0 0 50px #d6fa72}to{transform:scale(1);box-shadow:0 0 0 transparent}}@media(max-width:600px){.expedition-choices{grid-template-columns:1fr}.expedition-scene{padding:16px}.expedition-battle img,.expedition-battle svg{height:120px}.expedition-companion img{width:65px;height:65px}.expedition-battle strong{font-size:14px}nav{overflow-x:auto}}@media(orientation:landscape) and (max-height:600px){#adventure .expedition-sky{display:none}.expedition-battle img,.expedition-battle svg{height:100px}.expedition-scene{padding:12px}.expedition-result{padding:12px}.expedition-map{margin:8px 0}.expedition-companion{margin:10px 0;padding:8px}.expedition-companion img{height:55px}.expedition-actions{margin:8px 0}}@media(prefers-reduced-motion:reduce){.expedition-result.victory{animation:none}}

/* Adventure combat theatre: bounded effects for phones and older tablets. */
.exp-live-stage{position:relative;isolation:isolate;overflow:hidden;min-height:240px;border:1px solid #5d567e;border-radius:20px;padding:16px 8px;background:radial-gradient(ellipse at 50% 100%,#57427066,transparent 65%),linear-gradient(135deg,#1f2938,#292139);transition:background-color .5s,border-color .5s}.exp-live-stage:before{content:'';position:absolute;inset:12% 8%;border:2px dashed #73679055;border-radius:50%;transform:rotate(-12deg);z-index:-1}.exp-live-stage .combatant{z-index:2}.exp-stage-particles{position:absolute;inset:0;pointer-events:none;z-index:-1}.exp-stage-particles i{position:absolute;left:10%;top:20%;font-style:normal;color:#b7a0ef66;animation:expFloat 6s ease-in-out infinite}.exp-stage-particles i:nth-child(2){left:80%;top:60%;animation-delay:-2s}.exp-stage-particles i:nth-child(3){left:50%;top:10%;animation-delay:-4s}.exp-stage-particles i:nth-child(4){left:30%;top:75%;animation-delay:-1s}.exp-announcement{position:absolute;inset:14px 10px auto;text-align:center;z-index:6;font-size:clamp(18px,4vw,30px);font-weight:900;color:#fff1b2;letter-spacing:1px;pointer-events:none;text-shadow:0 3px 0 #211c37;opacity:0}.exp-announcement.pop{animation:expAnnounce 2.2s ease-out forwards}.exp-announcement.burst,.exp-announcement.victory{color:#d6fa72}.exp-announcement.boss{color:#ffc2ce}.exp-announcement.critical{color:#f7c978}.exp-combat-hud{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:12px 16px;background:#1d2836;border-radius:12px}.exp-combo>span{font-size:11px;font-weight:800;letter-spacing:1px;color:#d6fa72}.exp-combo>small{display:block;font-size:11px;color:#c0c9d3}.exp-combo #expComboPips{display:flex;gap:5px;margin:6px 0}.exp-combo i{width:24px;height:9px;border-radius:3px;background:#465064;transition:background .2s,transform .2s}.exp-combo i.charged{background:#d6fa72;transform:scaleY(1.2)}.exp-surge-chip{font-size:12px;color:#f9e7b6;border:1px solid #716184;border-radius:20px;padding:8px 12px;text-align:center;max-width:150px}.exp-boss-phase{display:block;min-height:14px;color:#ffb7c7;font-size:10px;font-weight:800;letter-spacing:1px;margin:6px 0}.exp-versus{color:#e5d48c}.exp-boss-stage{border:2px solid #b37192;background:radial-gradient(ellipse at center,#67405955,#231f35 70%)}.exp-live-stage[data-phase="1"]{border-color:#e28b76;background-color:#492939}.exp-live-stage[data-phase="2"]{border-color:#f285a4;background:radial-gradient(ellipse at center,#783f6855,#352039 70%)}.exp-live-stage[data-surge="power"]{border-color:#ffca72;background-color:#55402a}.exp-live-stage[data-surge="shield"] #expA:after{content:'';position:absolute;inset:10% 0 0;border:3px solid #84d4e7;border-radius:50%;pointer-events:none;background:#84d4e70c}.exp-live-stage[data-surge="speed"]{border-color:#94e3e7}.exp-last-stand #expA img{filter:drop-shadow(0 0 12px #d6fa7270)}.exp-bolt{position:absolute;top:38%;left:26%;font-size:25px;color:#d6fa72;pointer-events:none;z-index:4;animation:expBoltRight .5s ease-in forwards}.exp-bolt.from-enemy{left:auto;right:26%;color:#ffaeae;animation-name:expBoltLeft}.exp-bolt-burst{font-size:46px;text-shadow:0 0 12px #cafa76}.exp-burst-damage{color:#d6fa72!important;font-size:22px!important}.exp-lunge{animation:expLunge .25s ease-out}.exp-pulse{animation:expStagePulse .6s ease-out}.exp-stage-win{border-color:#d6fa72!important}.exp-stage-loss{border-color:#a5aec4!important}#expB{--exp-lunge:-10px}#expA{--exp-lunge:10px}@keyframes expLunge{40%{transform:translateX(var(--exp-lunge)) scale(1.03)}100%{transform:translateX(0) scale(1)}}@keyframes expBoltRight{to{left:72%;opacity:0;transform:scale(1.7)}}@keyframes expBoltLeft{to{right:72%;opacity:0;transform:scale(1.7)}}@keyframes expAnnounce{0%{opacity:0;transform:translateY(-6px) scale(.85)}15%,65%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px)}}@keyframes expStagePulse{0%{box-shadow:inset 0 0 30px #c7a7ec55}100%{box-shadow:inset 0 0 0 transparent}}@keyframes expFloat{50%{transform:translateY(-16px) rotate(20deg)}}@media(max-width:600px){.exp-live-stage{padding:28px 0 8px;min-height:200px}.exp-combat-hud{padding:10px;gap:8px}.exp-announcement{inset:8px 3px auto;font-size:19px}.exp-combo i{width:18px}.exp-surge-chip{font-size:11px;padding:6px 8px}}@media(orientation:landscape) and (max-height:600px){.exp-live-stage{min-height:160px;padding:20px 4px 4px}.exp-combat-hud{margin:6px 0;padding:6px 12px}.exp-announcement{top:4px;font-size:20px}#expCombatStatus{margin:6px 0}.exp-boss-phase{margin:3px 0}}@media(prefers-reduced-motion:reduce){.exp-stage-particles i,.exp-lunge,.exp-pulse,.exp-bolt{animation:none}.exp-bolt{display:none}.exp-announcement.pop{animation:expNoticeFade 2.2s linear forwards}.exp-live-stage,.exp-combo i{transition:none}}@keyframes expNoticeFade{0%,85%{opacity:1}100%{opacity:0}}
.exp-combat-hud{flex-wrap:wrap}.exp-heal-button{min-height:44px;border:1px solid #d6fa72!important;color:#d6fa72!important;font-weight:800;white-space:nowrap}.exp-announcement.heal{color:#8ff0bb}.exp-live-stage[data-impact="heal"]{border-color:#8ff0bb}@media(max-width:600px){.exp-combat-hud .exp-heal-button{width:100%;order:3}}@media(orientation:landscape) and (max-height:600px){.exp-combat-hud .exp-heal-button{width:auto;min-height:44px;order:0}}
.exp-guest{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;max-width:230px;padding:10px;background:#183e42f5;border:2px solid #8de6df;border-radius:16px;z-index:5;pointer-events:none;animation:expGuestEnter .5s ease-out}.exp-guest img{width:58px!important;height:58px!important;object-fit:contain}.exp-guest strong{font-size:13px;max-width:135px;overflow-wrap:anywhere}.exp-guest small{font-size:9px;font-weight:800;color:#8de6df}.exp-guest span{display:block;font-size:10px;color:#c2e7e3;margin-top:3px}.exp-announcement.helper{color:#8de6df}.exp-assist-damage{color:#8de6df!important}.exp-ally-bolt{color:#8de6df!important}.exp-guest-strike{animation:expGuestStrike .25s ease-out}.exp-guest-exit{animation:expGuestExit .8s ease-in forwards}@keyframes expGuestEnter{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes expGuestStrike{50%{transform:translate(-40%,-50%) scale(1.05)}}@keyframes expGuestExit{to{opacity:0;transform:translate(-50%,-80%) scale(.8)}}@media(prefers-reduced-motion:reduce){.exp-guest,.exp-guest-strike,.exp-guest-exit{animation:none}.exp-guest-exit{opacity:0}}
.exp-announcement.helper{font-size:clamp(20px,4vw,34px);line-height:1.15;max-width:100%;text-wrap:balance}.exp-guest[hidden]{display:none}

.adventure-action{background:#282039;border-color:#6d5989}.public-arena-action{background:#30291d;border-color:#7e6941}@media(min-width:761px){.home-collection-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

.battle-effect.public-notice{color:#eaff9a;text-shadow:0 0 24px #a5e640;gap:8px}.battle-effect.public-notice strong{font-size:clamp(1.3rem,4vw,2.6rem)}.battle-effect.public-notice small{font-size:clamp(.8rem,2vw,1rem);max-width:90%;background:#0c1116d9;border-radius:12px;padding:8px 12px}.battle-effect.public-speed{color:#83e9ff}.battle-effect.public-shield{color:#b9abff}.battle-effect.public-rally{color:#ffbe76}

.battle-effect.public-notice{width:90%;white-space:normal}.battle-effect.public-notice small{display:block}.battle-effect.public-notice.show{animation:crit-flare 2s ease-out forwards}
@media(prefers-reduced-motion:reduce){.battle-effect.public-notice.show{animation:quiet-fade 2s linear forwards}}

.battle-effect.public-outcome{opacity:1;top:5%;width:90%;white-space:normal;animation:none;color:#eaff9a}.battle-effect.public-outcome strong{font-size:clamp(1.8rem,5vw,3rem);text-shadow:0 3px 12px #000,0 0 24px #729b37}.battle-effect.public-outcome.loss{color:#ffbcaf}

.adventure-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.adventure-picker .selected{border-color:#d7f985;background:#283828}.halloween-adventure .expedition-sky{background:radial-gradient(ellipse at center,#5b345f,#221a35);color:#ffbe75}.halloween-adventure .expedition-scene{border-color:#705388}.halloween-mistakes,.halloween-feedback{padding:12px 16px;background:#30253c;border:1px solid #76528c;border-radius:12px;color:#ffe1b0}.halloween-adventure .expedition-choice{min-height:100px}.halloween-adventure .exp-live-stage{background:radial-gradient(ellipse,#49304f,#181a28)}@media(max-width:600px){.adventure-picker{grid-template-columns:1fr}}

.sound-toggle{white-space:nowrap;min-height:40px;padding:8px 10px}.header-actions{flex-wrap:wrap}@media(max-width:600px){.sound-toggle{font-size:12px;padding:6px 8px}}

.capture-sound-toggle{position:absolute;top:16px;left:16px;z-index:12;padding:8px 12px;min-height:40px;background:#0c1116b8;border-radius:10px}

/* Compact game navigation and adventure browsing. */
.app>main>nav{margin-top:10px}
.adventure-carousel{touch-action:pan-y;min-width:0}.adventure-card{overflow:hidden;border:1px solid #4c5664;border-radius:18px;background:#17212c;animation:adventureCardIn .18s ease-out}.adventure-cover{display:flex;align-items:center;justify-content:center;gap:36px;height:150px;border-radius:16px;background:radial-gradient(ellipse,#584078,#1a2635);color:#ffeca3}.adventure-card .adventure-cover{border-radius:0}.adventure-cover b{font-size:76px;transform:rotate(-12deg)}.adventure-cover>span{font-size:30px}.haunted-cover{background:radial-gradient(ellipse,#6a3b68,#261c37)}.adventure-card-copy{padding:18px}.adventure-card-copy h3{font:600 25px 'Space Grotesk';margin:0 0 8px}.adventure-card-copy p{color:#b8c3cf;font-size:15px;line-height:1.5;margin:0 0 10px}.adventure-badge{display:block;color:var(--lime);font-size:12px;margin-top:8px}.adventure-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.adventure-carousel-controls button{width:44px;min-height:44px;padding:0;font-size:28px}.adventure-carousel-controls>span{color:var(--muted);font-size:12px;text-align:center}.adventure-current{margin:14px 0;padding:12px;gap:12px}.adventure-current img{width:52px;height:52px}.adventure-current strong{font-size:17px}.adventure-current span{font-size:12px}.adventure-current .micro{font-size:10px}.adventure-start{width:100%;min-height:50px}.adventure-help,.adventure-progress{color:var(--muted);font-size:14px;margin-top:12px}.adventure-help summary,.adventure-progress summary{cursor:pointer;padding:12px 0;min-height:44px}.adventure-help p{line-height:1.6}.adventure-trip-result{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #4b5a46;background:#243126;border-radius:12px;margin-bottom:14px}.adventure-trip-result>div{flex:1;min-width:0}.adventure-trip-result strong,.adventure-trip-result span{display:block;font-size:14px}.adventure-trip-result span{font-size:12px;color:var(--lime);margin-top:5px}.adventure-trip-result button{font-size:24px}.adventure-trip-result.victory{animation:expeditionCelebrate .6s ease-out}.adventure-resume-progress{color:var(--muted);font-size:14px}.adventure-progress{margin-top:0}.adventure-progress .expedition-map{margin-top:4px}
#publicSyncStatus:empty,#leaderboardStatus:empty{display:none}
@keyframes adventureCardIn{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(min-width:700px){.adventure-carousel,.adventure-current,.adventure-help,.adventure-start,.adventure-trip-result,.adventure-resume-progress{max-width:640px;margin-left:auto;margin-right:auto}.adventure-start{display:flex}.adventure-cover{height:180px}}
@media(max-width:620px){.leaderboard-row{display:grid;grid-template-columns:24px 52px minmax(0,1fr);gap:10px;padding:14px}.leaderboard-rank{grid-column:1;grid-row:1}.leaderboard-avatar{grid-column:2;grid-row:1}.leaderboard-player{grid-column:3;grid-row:1}.leaderboard-player strong{font-size:17px;overflow-wrap:anywhere}.leaderboard-player span{font-size:13px;line-height:1.45}.leaderboard-rating{grid-column:2;grid-row:2;text-align:left;min-width:0}.leaderboard-row button{grid-column:3;grid-row:2;justify-self:end;margin:0;min-width:110px;min-height:44px}.leaderboard-rating strong{font-size:20px}.leaderboard-mine{gap:7px;padding:14px}.leaderboard-mine strong{width:100%;font-size:17px}.leaderboard-mine span{font-size:13px}.leaderboard-pager{gap:8px}.leaderboard-pager button{padding:10px 8px}.leaderboard-pager>span{text-align:center}.adventure-cover{height:125px}.adventure-cover b{font-size:64px}.adventure-card-copy{padding:15px}.adventure-card-copy h3{font-size:22px}#adventure>.section-top{margin-bottom:16px}#adventure>.section-top h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.adventure-card,.adventure-trip-result.victory{animation:none}}

/* Arena art, labels and effects occupy separate areas at every screen size. */
#battle .battlefield{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:start;gap:20px;padding:110px 24px 24px;min-height:390px;overflow:hidden;border:1px solid #4a526b;background:radial-gradient(ellipse at 50% 60%,#34304d,#151e2b 75%)}
#battle .battlefield>.combatant{display:flex;flex-direction:column;align-items:stretch;min-width:0;z-index:2}
#battle .battlefield .echo-art{flex:none;height:180px;min-height:0;width:100%;max-width:340px;align-self:center}
#battle .battlefield .echo-art>img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;min-height:0}
#battle .battlefield h3{position:relative;font-size:clamp(16px,2vw,22px);line-height:1.2;margin:12px 0 6px;min-height:2.4em;overflow-wrap:anywhere}
#battle .battlefield .modifier-badges{justify-content:center;min-height:18px;margin:6px 0}
#battle .battlefield .health{flex:none;margin:12px 0 6px;width:100%}
#battle .battlefield>.vs{align-self:start;margin-top:78px}
#battle .battlefield>.battle-effect{position:absolute;top:12px;left:50%;width:calc(100% - 24px);max-width:800px;white-space:normal;max-height:90px}
#battle .battle-effect span,#battle .battle-effect.crit-10 span{font-size:44px;line-height:1}
#battle .battle-effect strong{font-size:16px;margin-top:4px}
#battle .battle-effect i{display:none}
#battle .battle-effect.public-notice strong,#battle .battle-effect.public-outcome strong{font-size:clamp(20px,3vw,30px)}
#battle .battle-effect.public-notice small{font-size:13px;padding:5px 8px;line-height:1.3;margin:auto}
#battle .damage-burst{top:18%;width:100%;white-space:normal}
#battle .damage-burst b,#battle .damage-burst.crit-10 b{font-size:clamp(20px,3vw,30px)}
.arena-projectile{position:absolute;pointer-events:none;z-index:5;font-size:26px;line-height:1;color:#d6fa72;text-shadow:0 0 8px currentColor,0 0 20px currentColor;animation:arenaProjectile .38s ease-in forwards;--travel-x:0px;--travel-y:0px}
.arena-projectile.enemy-projectile{color:#b6a1ff}.arena-projectile.critical-projectile{font-size:34px}.arena-projectile.burst-projectile{font-size:42px;color:#ffe18a}
@keyframes arenaProjectile{0%{opacity:1;transform:translate(-50%,-50%) scale(.65)}75%{opacity:1}100%{opacity:0;transform:translate(calc(var(--travel-x) - 50%),calc(var(--travel-y) - 50%)) scale(1.5)}}
@media(max-width:760px){#battle .battlefield{gap:8px;padding:100px 10px 16px;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);min-height:330px}#battle .battlefield .echo-art{height:140px}#battle .battlefield>.vs{font-size:20px;margin-top:60px}#battle .battlefield h3{font-size:16px}#battle .battle-effect.public-notice small{font-size:11px}#battle .attack-cadence{font-size:10px}}
@media(orientation:landscape) and (max-height:650px){#battle .battlefield{padding-top:90px;margin:8px 0;min-height:280px}#battle .battlefield .echo-art{height:110px}#battle .battlefield h3{font-size:16px;margin-top:8px}#battle .battlefield>.vs{margin-top:45px}#battle .battlefield .health{margin-top:8px}#battle .attack-cadence{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.arena-projectile{display:none}}

.spark-game{margin:0 0 12px;padding:12px;border:1px solid #65764b;border-radius:14px;background:#1e2a24}.spark-game-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.spark-game-heading strong{font-size:15px;color:var(--lime)}.spark-game-heading span{font-size:11px;color:#c3d1b9}.spark-field{position:relative;height:85px;overflow:hidden;touch-action:manipulation}.catch-spark{position:absolute;width:48px;height:48px;min-height:48px;border:1px solid #d6fa7277;border-radius:50%;font-size:33px;line-height:1;background:#354d29;color:#efffb6;box-shadow:0 0 12px #d6fa7255;animation:catchSpark 2.6s ease-out forwards;touch-action:manipulation}.spark-meter{display:flex;gap:5px}.spark-meter i{height:7px;flex:1;border-radius:4px;background:#43503e}.spark-meter i.charged{background:var(--lime)}@keyframes catchSpark{0%{opacity:.4;transform:scale(.8)}15%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@media(max-width:600px){.spark-game-heading{align-items:flex-start;flex-direction:column;gap:4px}.spark-game{padding:10px}}@media(prefers-reduced-motion:reduce){.catch-spark{animation:quiet-fade 2.6s linear forwards!important}}

.exp-announcement.boost{color:#d6fa72}

.catch-spark.bad-spark{background:#522431;color:#ffb6b6;border-color:#ff7373;box-shadow:0 0 12px #ff526655;font-weight:800}

/* Five stages of Adventure-only Trapper energy. */
.exp-live-stage{--trapper-glow:0px;--trapper-light:1;--trapper-scale:1;--trapper-energy:0}
.exp-live-stage[data-charge="1"]{--trapper-glow:4px;--trapper-light:1.06;--trapper-scale:1.01;--trapper-energy:.25}
.exp-live-stage[data-charge="2"]{--trapper-glow:8px;--trapper-light:1.12;--trapper-scale:1.025;--trapper-energy:.4}
.exp-live-stage[data-charge="3"]{--trapper-glow:12px;--trapper-light:1.18;--trapper-scale:1.04;--trapper-energy:.6}
.exp-live-stage[data-charge="4"]{--trapper-glow:18px;--trapper-light:1.25;--trapper-scale:1.06;--trapper-energy:.8}
.exp-live-stage[data-charge="5"]{--trapper-glow:28px;--trapper-light:1.5;--trapper-scale:1.1;--trapper-energy:1}
.exp-live-stage #expA>img{filter:brightness(var(--trapper-light)) drop-shadow(0 0 var(--trapper-glow) #d6fa72);transform:scale(var(--trapper-scale));transition:filter .2s,transform .2s}
.trapper-charge-aura{position:absolute;top:18px;left:15%;width:70%;height:150px;border:2px solid #d6fa72;border-radius:50%;box-shadow:0 0 var(--trapper-glow) #d6fa72,inset 0 0 var(--trapper-glow) #d6fa7255;opacity:var(--trapper-energy);transform:scale(var(--trapper-scale));transition:opacity .2s,box-shadow .2s,transform .2s;pointer-events:none}
.trapper-charge-aura i{position:absolute;font-style:normal;color:#edffaf;text-shadow:0 0 10px #d6fa72;font-size:20px;top:8%;left:8%}.trapper-charge-aura i:nth-child(2){top:40%;left:auto;right:-8%;font-size:25px}.trapper-charge-aura i:nth-child(3){top:80%;left:20%}
.exp-live-stage[data-charge="5"] .trapper-charge-aura{animation:trapperPowerRelease 1.2s ease-out forwards}
@keyframes trapperPowerRelease{0%{transform:scale(.9);opacity:1}45%{transform:scale(1.3);opacity:1;box-shadow:0 0 45px #d6fa72,inset 0 0 25px #d6fa7255}100%{transform:scale(1.6);opacity:0}}
@media(max-width:600px){.trapper-charge-aura{height:100px;top:26px}}
@media(orientation:landscape) and (max-height:600px){.trapper-charge-aura{height:90px;top:22px}}
@media(prefers-reduced-motion:reduce){.trapper-charge-aura,.exp-live-stage #expA>img{transition:none}.exp-live-stage[data-charge="5"] .trapper-charge-aura{animation:none}}

.spark-game-heading strong{font-weight:400}.spark-game-heading strong b{font-weight:800}

.spark-boost-readout{font-size:14px;font-weight:700;color:#c3d1b9;margin:0 0 7px;min-height:20px}.spark-boost-readout.maxed{color:#edff9c;text-shadow:0 0 12px #d6fa7277}

.arena-helper{display:flex;align-items:center;gap:12px;border:1px solid #d6fa7266;border-radius:12px;background:#243421;padding:9px 14px;margin-top:10px;max-width:500px}.arena-helper img{width:44px;height:44px;object-fit:contain}.arena-helper strong,.arena-helper span{display:block}.arena-helper strong{font-size:16px;color:#d6fa72}.arena-helper span{font-size:11px;color:#c3d1b9;margin-top:3px}.arena-helper.auto-strike img{animation:auto-lunge .24s ease-out}#battle.campaign-finished .arena-helper{display:none}.battle-effect.public-helper strong{font-size:clamp(16px,2vw,24px)!important;letter-spacing:0}

/* Helpers fight beside the equipped Echo, with cyan comet projectiles. */
.fighter-art-row{position:relative;height:180px;display:flex;justify-content:center;align-items:center}
.fighter-art-row>.echo-art{transition:transform .3s,width .3s}
#battle .fighter-art-row.helper-active>.echo-art{transform:none;width:68%;margin-left:32%}
.arena-helper,.exp-guest{position:absolute;left:0;top:auto;bottom:10px;width:30%;max-width:100px;height:120px;margin:0;padding:0;border:0;background:none;border-radius:0;display:flex;flex-direction:column;justify-content:center;gap:0;transform:none;pointer-events:none;z-index:3;animation:helperArrive .45s ease-out}
.arena-helper img,.exp-guest img{position:static!important;width:100%!important;height:90px!important;object-fit:contain;filter:drop-shadow(0 0 10px #8de6df)}
.arena-helper>div,.exp-guest>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.exp-guest{bottom:auto;top:40px;left:0;height:120px}
#expA.helper-active>img{width:70%;margin-left:25%}
.arena-helper.auto-strike img,.exp-guest-strike{animation:helperStrike .25s ease-out}
.arena-helper.helper-leaving,.exp-guest-exit{animation:helperDepart .8s ease-in forwards}
.helper-projectile,.exp-bolt.exp-ally-bolt{color:#8de6df!important;font-size:30px!important;animation:arenaProjectile .48s ease-in forwards!important;text-shadow:0 0 6px #fff,0 0 14px #8de6df,0 0 26px #8de6df;line-height:1}
.helper-projectile:before{content:'';position:absolute;right:60%;top:38%;width:36px;height:7px;border-radius:50%;background:linear-gradient(90deg,transparent,#8de6df);box-shadow:0 0 8px #8de6df;transform:rotate(-12deg)}
@keyframes helperArrive{from{opacity:0;transform:translateX(-25px) scale(.5)}to{opacity:1;transform:none}}
@keyframes helperStrike{50%{transform:translateX(8px) scale(1.12)}}
@keyframes helperDepart{to{opacity:0;transform:translateX(-20px) scale(.7)}}
@media(max-width:760px){.fighter-art-row{height:140px}.arena-helper,.exp-guest{height:90px;max-width:72px}.arena-helper img,.exp-guest img{height:68px!important}.exp-guest{top:36px}}
@media(orientation:landscape) and (max-height:650px){.fighter-art-row{height:110px}.arena-helper,.exp-guest{height:75px}.arena-helper img,.exp-guest img{height:58px!important}.exp-guest{top:30px}}
@media(prefers-reduced-motion:reduce){.arena-helper,.exp-guest,.arena-helper.auto-strike img,.exp-guest-strike,.arena-helper.helper-leaving,.exp-guest-exit{animation:none}.helper-projectile,.exp-bolt.exp-ally-bolt{display:none}.fighter-art-row>.echo-art{transition:none}}

.trial-notice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #526443;background:#202c23;border-radius:12px;padding:14px;margin-bottom:18px}.trial-notice p{flex:1 1 220px;margin:0;font-size:14px;color:#e5efdc}

.toy-scene-art{max-width:220px;margin:auto}.toy-scene-art svg{width:100%;height:150px}.toy-story{font-size:17px;line-height:1.6;color:#d6dee8;max-width:680px}.toy-feedback{padding:12px 16px;border-left:3px solid #ffcc81;background:#282437;border-radius:8px;font-size:14px;line-height:1.5}.toy-badge-shelf{margin-top:16px}.toy-badge-shelf>strong{font-size:13px;color:#ffe39b}.toy-badge-shelf>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.toy-badge{font-size:12px;padding:10px;border:1px solid #485166;border-radius:9px;background:#1c2532}.toy-badge small{display:block;color:#a8b5c4;margin-top:4px}.toy-badge.earned{border-color:#d6fa72;color:#d6fa72}.toy-ending>span{font-size:50px}.toy-ending p{max-width:650px;margin:12px auto;line-height:1.6}.adventure-trip-result p{font-size:14px;line-height:1.5;margin:8px 0 0}

.adventure-cover.toy-cover{background:radial-gradient(ellipse,#536965,#233247);color:#ffe39b}.toy-ending h3{font-size:24px}

.rather-cover{background:radial-gradient(circle at 35% 30%,#285773,#152b39 75%)}
.rather-choices .expedition-choice{min-height:180px;text-align:center;align-items:center;justify-content:center;gap:12px}
.rather-choices .rather-icon{font-size:48px;line-height:1.2}
.rather-choices strong{line-height:1.4;text-transform:none}
.rather-hint{color:var(--muted);margin:0 0 20px}
@media(max-width:560px){.rather-choices{grid-template-columns:1fr}.rather-choices .expedition-choice{min-height:130px;padding:18px}.rather-choices .rather-icon{font-size:36px}}

.engineering-wallet{font-size:1.4rem;font-weight:700;color:var(--accent,#b2efdf)}.engineering-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.engineering-card{padding:20px;border:1px solid #ffffff25;border-radius:18px;background:#ffffff06}.engineering-card h3{margin:0 0 10px}.engineering-card>strong{display:block;font-size:1.15rem}.engineering-card p{line-height:1.5}.engineering-card progress{display:block;width:100%;margin:12px 0;accent-color:#a4e3c9}.engineering-buttons{display:flex;gap:8px;flex-wrap:wrap}.engineering-buttons button{flex:1;min-height:55px}.engineering-buttons small{display:block;margin-top:4px;font-size:.75rem}

/* Give phone headers and navigation their own space in normal page flow. */
@media(max-width:760px){
 body:not(.home-page) .app{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 body:not(.home-page) .app>header{height:auto;min-height:76px;flex-wrap:wrap;gap:12px;padding:16px 0;align-items:center}
 body:not(.home-page) .app>header .header-actions{min-width:0;max-width:100%;margin-left:auto;justify-content:flex-end;gap:6px;flex-wrap:wrap}
 body:not(.home-page) .app>header .fragment-chip{order:3;flex:0 0 100%;width:100%;margin:0;justify-content:center;border-radius:10px;min-height:42px;white-space:normal;overflow-wrap:anywhere}
 body:not(.home-page) .app>main{min-width:0;padding-top:4px}
 body:not(.home-page) .app>main>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:12px 0 24px;padding-bottom:14px}
 body:not(.home-page) .app>main>nav button{min-width:0;min-height:52px;padding:10px 6px;font-size:13px;line-height:1.35;gap:5px;flex-wrap:wrap;justify-content:center;white-space:normal;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}
 body:not(.home-page) .app>main>nav button.active{background:#253725;border-color:var(--lime)}
 body:not(.home-page) .app>main>nav small{max-width:100%;white-space:nowrap}
 body:not(.home-page) .section-top{align-items:flex-start;flex-wrap:wrap}
 body:not(.home-page) .section-top>div{min-width:0;max-width:100%}
 body:not(.home-page) .section-top h2{line-height:1.25;overflow-wrap:anywhere}
}
@media(max-width:380px){
 body:not(.home-page) .app>header .header-actions{flex-basis:100%;justify-content:space-between;margin-left:0}
 body:not(.home-page) .app>main>nav button{font-size:12px}
}

/* Admin Lab mini-game sandbox; styles never target Adventure UI. */
.lab-mini-sandbox{margin:24px 0 32px;padding:20px;border:1px solid #746b9f;border-radius:16px;background:#151d2b}.lab-mini-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-mini-controls label{font-size:12px;color:#c4c1df}.lab-mini-controls select{width:100%;margin-top:7px}.lab-mini-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.lab-mini-stage{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:12px;align-items:center;position:relative;min-height:245px;padding:20px 12px 66px;background:radial-gradient(ellipse,#39314d,#101822);border:1px solid #534365;border-radius:16px;overflow:hidden}.lab-mini-fighter{min-width:0;text-align:center}.lab-mini-fighter>img{width:100%;height:105px;object-fit:contain;filter:drop-shadow(0 8px 12px #0008)}.lab-mini-fighter>strong{display:block;font-size:15px;overflow-wrap:anywhere;line-height:1.3}.lab-mini-fighter>small{font-size:11px;color:#b6c0cf}.lab-mini-fighter .health{margin-top:10px}.lab-mini-fighter:last-of-type .health i{background:var(--purple)}.lab-mini-versus{font-weight:800;color:#b6a1ff;font-size:13px}.lab-mini-shielded{outline:2px solid #8de6df;border-radius:12px;background:#8de6df15}.lab-mini-helper{position:absolute;bottom:8px;left:12px;right:12px;display:flex;align-items:center;gap:8px;padding:8px;background:#143c41;border:1px solid #8de6df;border-radius:12px;font-size:12px}.lab-mini-helper img{width:38px;height:38px;object-fit:contain}.lab-mini-helper strong{min-width:0;overflow-wrap:anywhere}.lab-mini-helper span{margin-left:auto;font-size:10px;max-width:100px}.lab-mini-projectile{position:absolute;z-index:4;left:25%;top:65px;color:#ffe69a;font-size:28px;opacity:0;pointer-events:none}.lab-mini-projectile.fired{animation:labMiniShot .55s ease-out}.lab-mini-game{margin:14px 0;border:1px solid #516343;border-radius:14px;background:#1b2821;padding:16px}.lab-mini-game-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.lab-mini-game-heading h3{margin:0;font-size:19px}.lab-mini-game-heading>span{font-size:11px;color:var(--lime);white-space:nowrap}.lab-mini-game>p{font-size:13px;line-height:1.5;color:#c3cfca;margin:10px 0}.lab-mini-field{min-height:165px;padding:10px 0;position:relative}.lab-mini-field button{min-height:48px;touch-action:manipulation}.lab-mini-charge{text-align:center;color:var(--lime);font-size:14px;margin-top:10px}.lab-spark-tray{height:105px;position:relative;background:#0d161b;border:1px solid #344638;border-radius:12px;overflow:hidden}.lab-spark{position:absolute;border:1px solid var(--lime);border-radius:50%;color:var(--lime);background:#35452b;width:48px;height:48px;font-size:32px}.lab-spark.bad-spark{color:#ff8389;border-color:#ff8389;background:#51242b}.lab-signal-display{text-align:center;min-height:65px;font-size:33px;color:#ffe598;background:#101c24;border-radius:12px;padding:10px}.lab-signal-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.lab-signal-buttons button{display:flex;flex-direction:column;font-size:23px;padding:8px 2px}.lab-signal-buttons small{font-size:10px}.lab-shield-board{width:220px;height:135px;position:relative;margin:auto;display:grid;place-items:center}.lab-shield-board>span{font-size:130px;color:#5c93ae;line-height:1}.lab-shield-crack{position:absolute;background:#142631;border:1px solid #ffe69a;border-radius:12px;width:48px;height:48px;font-size:32px;color:#ffe69a}.crack-0{left:37px;top:14px}.crack-1{right:32px;top:28px}.crack-2{left:86px;bottom:4px}.lab-shield-crack.repaired{opacity:.2;color:#8de6df}.lab-pulse-track{position:relative;height:38px;margin:25px 12px;background:#0c171f;border:1px solid #526343;border-radius:20px}.lab-pulse-target{position:absolute;left:38%;width:24%;height:100%;background:#d6fa7260;border-left:2px solid #d6fa72;border-right:2px solid #d6fa72}.lab-pulse-target:after{content:'';position:absolute;left:37.5%;width:25%;height:100%;background:#d6fa72}.lab-pulse-track>i{position:absolute;top:-7px;width:9px;height:50px;border-radius:5px;background:#fff;box-shadow:0 0 12px #fff9;transform:translateX(-50%)}#labPulseTap{display:flex;margin:auto;min-width:160px}.lab-cannon-target{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:145px;border:2px dashed #a5ba87;border-radius:16px;background:#0c191a;padding:12px;cursor:pointer;touch-action:manipulation}.lab-cannon-target>span{font-size:13px;color:#b5c0ac;margin-top:8px}.lab-cannon-assembly{position:relative;width:150px;height:72px}.lab-cannon-assembly i{position:absolute;font-style:normal;text-align:center}.cannon-base{left:25px;bottom:0;width:95px;height:24px;background:#697f8a;border-radius:8px;border-bottom:6px solid #283541;color:#cddde8;font-size:19px;line-height:18px}.cannon-barrel{left:49px;top:15px;width:95px;height:25px;background:#93acb8;border:3px solid #536b7a;border-radius:8px 3px 3px 8px;transform:rotate(-10deg);font-size:20px;line-height:13px;color:#203a43}.cannon-core{left:37px;top:18px;border:3px solid #dac782;border-radius:50%;width:35px;height:35px;background:#463345;color:#ffe596;font-size:25px;line-height:28px;box-shadow:0 0 16px #ffe59655}.lab-cannon-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.lab-cannon-part{flex-direction:column;min-width:0;padding:10px 4px!important;touch-action:none!important;user-select:none;position:relative;z-index:2}.lab-cannon-part b{font-size:25px;line-height:1}.lab-cannon-part span{font-size:11px}.lab-cannon-part.dragging{z-index:10;opacity:.85;transition:none;pointer-events:auto;box-shadow:0 8px 25px #0008}.lab-cannon-part.selected{outline:2px solid var(--lime)}.cannon-fired .lab-cannon-assembly{animation:labCannonCollapse 1.3s ease-in forwards}.lab-mini-log{font-size:11px;line-height:1.5;color:#bac7ce;max-height:140px;overflow:auto}.lab-mini-sandbox details summary{cursor:pointer;padding:12px 0;font-size:12px;color:#c0c8d7}@keyframes labMiniShot{0%{opacity:1;transform:translateX(0)}80%{opacity:1}100%{opacity:0;transform:translateX(160px)}}@keyframes labCannonCollapse{0%,20%{transform:translateX(0)}25%{transform:translateX(-8px)}35%{transform:translateX(4px)}60%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(30px) rotate(25deg);opacity:0}}@media(max-width:600px){.lab-mini-sandbox{padding:12px}.lab-mini-controls{grid-template-columns:1fr}.lab-mini-game{padding:12px}.lab-mini-game-heading{flex-wrap:wrap}.lab-mini-stage{padding-left:8px;padding-right:8px;gap:7px}.lab-mini-fighter>strong{font-size:13px}.lab-mini-helper{left:6px;right:6px}.lab-mini-field{min-height:160px}}@media(prefers-reduced-motion:reduce){.lab-mini-projectile.fired{animation:none}.cannon-fired .lab-cannon-assembly{animation:none}.lab-cannon-part{transition:none}}

.cannon-fired .cannon-base{animation:labCannonBase 1.3s ease-in forwards}.cannon-fired .cannon-barrel{animation:labCannonBarrel 1.3s ease-in forwards}.cannon-fired .cannon-core{animation:labCannonCore 1.3s ease-in forwards}@keyframes labCannonBase{0%,50%{transform:translate(0,0) rotate(0)}100%{transform:translate(-26px,20px) rotate(-20deg)}}@keyframes labCannonBarrel{0%,50%{transform:translate(0,0) rotate(-10deg)}100%{transform:translate(38px,8px) rotate(35deg)}}@keyframes labCannonCore{0%,50%{transform:translate(0,0)}100%{transform:translate(0,35px) rotate(90deg)}}@media(prefers-reduced-motion:reduce){.cannon-fired .cannon-base,.cannon-fired .cannon-barrel,.cannon-fired .cannon-core{animation:none}}

/* Second Lab tuning pass: harder shields, forgiving moving pulses, five-part cannons. */
.lab-shield-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:310px;margin:8px auto}.lab-shield-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #ffe69a;border-radius:12px;background:#142631;color:#ffe69a;font-size:30px;min-height:63px!important;padding:5px}.lab-shield-tile small{font-size:9px;font-weight:800;letter-spacing:.4px}.lab-shield-tile.trap-tile{background:#51242b;border-color:#ff8389;color:#ff8389}.lab-shield-tile.repaired{background:#164134;border-color:#8de6df;color:#8de6df;opacity:.4}.lab-mini-field[data-game="pulse"] .lab-pulse-track{margin-top:35px;margin-bottom:38px;transition:transform .15s ease-out}.lab-mini-field[data-game="pulse"] .lab-pulse-target{transition:left .15s ease-out}.lab-mini-field[data-game="pulse"] .lab-pulse-target:after{left:31.818%;width:36.364%}.lab-cannon-blueprint{display:flex;gap:6px;flex-wrap:wrap;padding:0;list-style:none;margin:10px 0}.lab-cannon-blueprint li{font-size:11px;padding:6px 8px;border:1px solid #41574a;border-radius:8px;color:#b8c4bd}.lab-cannon-blueprint b{color:#d6fa72}.lab-cannon-blueprint li.next{border-color:var(--lime);background:#34452b;color:#fff}.lab-cannon-blueprint li.placed{opacity:.45}.cannon-wheels{left:24px;bottom:-10px;width:99px;z-index:2;font-size:22px;color:#b8c5d0;letter-spacing:12px}.cannon-wheels:after{content:'◉';margin-left:25px}.cannon-fuse{left:77px;top:0;width:25px;height:27px;color:#ffbd72;font-size:28px;transform:rotate(-20deg);z-index:3}.cannon-fired .cannon-wheels{animation:labCannonBase 1.3s ease-in forwards}.cannon-fired .cannon-fuse{animation:labCannonCore 1.3s ease-in forwards}@media(min-width:601px){.lab-cannon-parts{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.lab-mini-field[data-game="pulse"] .lab-pulse-track,.lab-mini-field[data-game="pulse"] .lab-pulse-target{transition:none}.cannon-fired .cannon-wheels,.cannon-fired .cannon-fuse{animation:none}}

.lab-signal-symbol{display:block;height:44px;line-height:44px}.lab-signal-display>small{display:block;font-size:12px;line-height:18px;color:#bec8d5}
/* Adventure mini-games reserve an identical frame for every game. */
.adventure-mini-game{height:490px;display:grid;grid-template-rows:40px 60px minmax(0,1fr) 48px;gap:8px;padding:14px;position:relative;isolation:isolate;min-width:0;max-width:100%}.adventure-mini-game .lab-mini-game-heading{min-width:0;margin:0}.adventure-mini-game .lab-mini-game-heading h3{font-size:18px;line-height:1.2}.adventure-mini-game>p{margin:0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.adventure-mini-game .lab-mini-field{min-height:0;padding:0}.adventure-mini-game .lab-mini-field[data-game="spark"],.adventure-mini-game .lab-mini-field[data-game="pulse"],.adventure-mini-game .lab-mini-field[data-game="shield"],.adventure-mini-game .lab-mini-field[data-game="backup"]{display:flex;flex-direction:column;justify-content:center}.adventure-mini-game .lab-spark-tray{height:150px;flex-shrink:0}.adventure-mini-game .lab-cannon-target{min-height:94px;height:94px;padding:6px}.adventure-mini-game .lab-cannon-assembly{height:62px;transform:scale(.8);transform-origin:center bottom}.adventure-mini-game .lab-cannon-target>span{margin:0;font-size:12px}.adventure-mini-game .lab-cannon-blueprint{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:8px 0}.adventure-mini-game .lab-cannon-blueprint li{font-size:10px;padding:4px;min-width:0;line-height:1.2;overflow-wrap:anywhere}.adventure-mini-game .lab-cannon-parts{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}.adventure-mini-game .lab-cannon-part{height:54px;padding:5px!important}.adventure-mini-game .lab-cannon-part span{font-size:11px}.adventure-mini-game .lab-mini-field>p{font-size:11px!important;line-height:1.3;margin:8px 0 0}.mini-game-announcement{position:absolute;inset:0;z-index:12;border-radius:14px;background:radial-gradient(ellipse,#35462bf2,#102020f5);display:grid;place-items:center;text-align:center;padding:24px;font-size:clamp(28px,5vw,42px);line-height:1.1;font-weight:900;color:#e4ffa3;text-shadow:0 3px 0 #0c1713,0 0 24px #d6fa7255;opacity:0;visibility:hidden;pointer-events:none}.announcing .mini-game-announcement{opacity:1;visibility:visible;animation:miniNameEnter 1s ease-out}.announcing .lab-mini-field{pointer-events:none}.mini-shield-active #expA:after{content:'';position:absolute;inset:5%;border:3px solid #8de6df;border-radius:50%;box-shadow:0 0 28px #8de6df77;pointer-events:none}.exp-cannonball{color:#d9ecf2;font-size:44px;text-shadow:0 0 14px #ffe69a}.exp-live-stage .exp-guest{top:auto;left:8px;bottom:8px;max-width:250px;width:46%;height:128px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px;border:2px solid #8de6df;border-radius:14px;background:#123a40ed;z-index:5;box-shadow:0 0 28px #8de6df66;animation:adventureBackupEnter 1.6s ease-out;transform:none}.exp-live-stage .exp-guest img{width:100px!important;height:110px!important;flex-shrink:0;object-fit:contain}.exp-live-stage .exp-guest>div{position:static;width:auto;height:auto;overflow:visible;clip-path:none;min-width:0}.exp-live-stage .exp-guest strong{font-size:15px;display:block;overflow-wrap:anywhere}.exp-live-stage .exp-guest small{font-size:10px}.exp-live-stage .exp-guest span{font-size:11px}.exp-live-stage #expA.helper-active>img{width:100%;margin-left:0}.exp-live-stage .exp-announcement.helper{font-size:clamp(24px,5vw,40px);top:8px;text-shadow:0 3px 0 #12202b,0 0 20px #8de6df}.exp-live-stage .exp-guest-strike{animation:adventureBackupStrike .35s ease-out}.exp-live-stage .exp-guest-exit{animation:helperDepart .8s ease-in forwards}
@keyframes miniNameEnter{0%{opacity:0;transform:scale(.92)}20%,80%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes adventureBackupEnter{0%{opacity:0;transform:translateX(-40px) scale(1.5);filter:brightness(2)}25%,65%{opacity:1;transform:translateX(25%) translateY(-30px) scale(1.35);filter:brightness(1.3)}100%{transform:none;filter:brightness(1)}}
@keyframes adventureBackupStrike{50%{transform:translateX(20px) scale(1.08)}}
/* Phone portrait: three-wide cannon tray and blueprint, full-size tap targets. */
@media(max-width:600px) and (orientation:portrait){.adventure-mini-game{height:480px;grid-template-rows:40px 48px minmax(0,1fr) 44px;padding:10px;gap:7px}.adventure-mini-game .lab-mini-game-heading{flex-wrap:nowrap;gap:6px}.adventure-mini-game .lab-mini-game-heading h3{font-size:17px}.adventure-mini-game .lab-mini-game-heading>span{font-size:10px;max-width:80px;white-space:normal;text-align:right}.adventure-mini-game .lab-cannon-blueprint,.adventure-mini-game .lab-cannon-parts{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-mini-game .lab-cannon-blueprint li{min-height:29px;font-size:10px}.adventure-mini-game .lab-cannon-part{height:52px}.adventure-mini-game .lab-signal-buttons{gap:5px}.adventure-mini-game .lab-shield-tiles{gap:6px;width:100%;max-width:310px}.adventure-mini-game .lab-shield-tile{min-height:60px!important}.exp-live-stage{min-height:280px;padding-bottom:60px}.exp-live-stage .exp-guest{width:65%;max-width:240px;height:112px;bottom:4px;left:4px}.exp-live-stage .exp-guest img{width:85px!important;height:95px!important}.exp-live-stage .exp-guest strong{font-size:14px}.exp-live-stage .exp-announcement.helper{font-size:26px}}
/* Tablets use a wider, shorter frame and five parts in a single row. */
@media(min-width:601px) and (max-width:1100px){.adventure-mini-game{height:490px}.exp-live-stage .exp-guest{max-width:270px;width:48%}.exp-live-stage .exp-guest img{width:110px!important;height:120px!important}}
@media(max-width:600px) and (orientation:landscape){.adventure-mini-game{height:520px}.adventure-mini-game .lab-cannon-blueprint,.adventure-mini-game .lab-cannon-parts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.announcing .mini-game-announcement,.exp-live-stage .exp-guest,.exp-live-stage .exp-guest-strike{animation:none}.exp-live-stage .exp-guest-exit{animation:none;opacity:0}}

.adventure-mini-game #labMiniFeedback{font-size:12px;line-height:1.3}.exp-live-stage{padding-bottom:145px;min-height:370px}.exp-live-stage .exp-guest{z-index:7}.exp-live-stage .exp-guest small{display:block}.exp-live-stage .exp-announcement.helper{z-index:9}
@media(max-width:600px) and (orientation:portrait){#adventure{padding:12px}#adventure .expedition-scene{padding:8px}.adventure-mini-game{padding:8px}.adventure-mini-game .lab-mini-game-heading h3{font-size:16px}.adventure-mini-game .lab-signal-buttons button{min-width:48px}.exp-live-stage{min-height:320px;padding-bottom:125px}}
@media(max-width:360px) and (orientation:portrait){.adventure-mini-game{height:510px;grid-template-rows:44px 64px minmax(0,1fr) 50px}.adventure-mini-game .lab-shield-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-mini-game .lab-signal-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.adventure-mini-game .lab-signal-buttons button{min-height:48px;padding:3px}.adventure-mini-game .lab-signal-display{min-height:72px;padding:3px}.adventure-mini-game #labSignalReplay{padding:6px;min-height:44px}}

.exp-live-stage .exp-guest:before{content:'';position:absolute;inset:-10px;border:2px solid #8de6df88;border-radius:18px;pointer-events:none;animation:backupRing 1.6s ease-out forwards}@keyframes backupRing{from{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}@media(prefers-reduced-motion:reduce){.exp-live-stage .exp-guest:before{animation:none;opacity:0}}
/* One screen for play and combat, with no empty helper reservation. */
#expScene.adventure-fight-screen{position:fixed;inset:0;z-index:40;width:100%;height:100vh;height:100dvh;margin:0;border:0;border-radius:0;background:#0c1116;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'bar bar' 'mini fight' 'hud hud' 'status status' 'outcome outcome';grid-template-rows:36px minmax(0,1fr) 56px 24px auto;gap:8px;overflow:auto;text-align:left}.adventure-fight-bar{grid-area:bar;display:flex;justify-content:space-between;align-items:center;font-size:13px}.adventure-fight-bar button{min-height:32px;padding:5px 12px;color:#d6fa72}.adventure-fight-screen #adventureMiniGames{grid-area:mini}.adventure-fight-screen #expStage{grid-area:fight}.adventure-fight-screen .exp-combat-hud{grid-area:hud}.adventure-fight-screen #expCombatStatus{grid-area:status}.adventure-fight-screen #expOutcome{grid-area:outcome}.adventure-fight-screen .adventure-mini-game{height:100%;min-height:250px;max-height:360px;align-self:center;margin:0;padding:6px;grid-template-rows:24px 28px minmax(0,1fr) 28px;gap:4px}.adventure-fight-screen .lab-mini-game-heading{flex-wrap:nowrap;gap:4px}.adventure-fight-screen .lab-mini-game-heading h3{font-size:15px;line-height:1.1}.adventure-fight-screen #miniSwitchClock{font-size:10px;white-space:nowrap;max-width:none}.adventure-fight-screen #labMiniHint,.adventure-fight-screen #labMiniFeedback{font-size:11px;line-height:1.2;margin:0}.adventure-fight-screen .lab-mini-field{min-height:0}.adventure-fight-screen .lab-mini-field[data-game="cannon"]{display:grid;grid-template-columns:minmax(90px,.9fr) minmax(0,1.1fr);grid-template-rows:80px 54px;gap:6px;align-content:center}.adventure-fight-screen .lab-cannon-target{height:80px;min-height:80px;padding:2px;grid-column:1;grid-row:1}.adventure-fight-screen .lab-cannon-assembly{height:52px;width:150px;transform:scale(.6);transform-origin:center bottom;margin-top:-7px}.adventure-fight-screen .lab-cannon-target>span{font-size:10px;line-height:1.1;text-align:center}.adventure-fight-screen .lab-cannon-blueprint{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(5,1fr);gap:1px;margin:0}.adventure-fight-screen .lab-cannon-blueprint li{font-size:10px;line-height:1;min-height:0;padding:2px 5px;white-space:nowrap}.adventure-fight-screen .lab-cannon-parts{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0}.adventure-fight-screen .lab-cannon-part{height:54px;min-height:48px;padding:3px!important;gap:1px}.adventure-fight-screen .lab-cannon-part b{font-size:22px}.adventure-fight-screen .lab-cannon-part span{font-size:9px;line-height:1.1;overflow-wrap:anywhere}.adventure-fight-screen .lab-spark-tray{height:94px}.adventure-fight-screen .lab-mini-charge{margin-top:4px;font-size:12px;line-height:16px}.adventure-fight-screen .lab-shield-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0 auto;width:100%;max-width:310px}.adventure-fight-screen .lab-shield-tile{min-height:48px!important;height:48px;padding:2px;font-size:24px;gap:0}.adventure-fight-screen .lab-signal-display{min-height:44px;height:44px;padding:2px;font-size:20px;line-height:38px}.adventure-fight-screen .lab-signal-symbol{height:24px;line-height:24px;font-size:24px}.adventure-fight-screen .lab-signal-display>small{font-size:10px;line-height:13px}.adventure-fight-screen .lab-signal-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:4px 0}.adventure-fight-screen .lab-signal-buttons button{min-height:48px;min-width:44px;height:48px;padding:2px;font-size:22px;gap:0}.adventure-fight-screen #labSignalReplay{min-height:44px;height:44px;padding:2px;font-size:11px}.adventure-fight-screen .lab-pulse-track{margin:10px 10px 20px!important;flex-shrink:0}.adventure-fight-screen .lab-mini-field[data-game="pulse"]{justify-content:center}.adventure-fight-screen .exp-live-stage{min-height:0;height:100%;margin:0;padding:28px 4px 8px;align-self:stretch;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px}.adventure-fight-screen .exp-live-stage .combatant>img,.adventure-fight-screen .exp-live-stage .combatant>svg{height:110px;max-height:110px;width:100%;object-fit:contain}.adventure-fight-screen .combatant>strong{display:block;font-size:13px;line-height:16px;overflow-wrap:anywhere}.adventure-fight-screen .combatant>small{font-size:10px}.adventure-fight-screen .health{margin:5px 0;height:7px}.adventure-fight-screen .exp-boss-phase{font-size:9px;min-height:0;margin:2px 0}.adventure-fight-screen .exp-announcement{font-size:20px;top:5px}.adventure-fight-screen .exp-combat-hud{margin:0;padding:5px 8px;gap:6px;flex-wrap:nowrap}.adventure-fight-screen .exp-combo>small{display:none}.adventure-fight-screen .exp-combo>span{font-size:9px}.adventure-fight-screen .exp-combo i{width:15px;height:7px}.adventure-fight-screen .exp-surge-chip{font-size:10px;padding:5px;max-width:92px}.adventure-fight-screen .exp-combat-hud .exp-heal-button{width:auto;order:0;min-height:44px;font-size:11px;padding:6px;white-space:normal;max-width:145px}.adventure-fight-screen #expCombatStatus{margin:0!important;font-size:10px!important;line-height:1.2}.adventure-fight-screen .mini-game-announcement{font-size:28px;padding:12px}
/* Helpers are cutout Echoes beside the player, never a card or panel. */
.exp-live-stage .exp-guest{left:7%;top:29%;bottom:auto;width:34%;max-width:160px;height:auto;padding:0;gap:0;display:block;border:0;border-radius:0;background:none;box-shadow:none;z-index:5;transform:none;animation:adventureAllyEnter 1.5s ease-out}.exp-live-stage .exp-guest img{width:100%!important;height:100px!important;object-fit:contain;filter:drop-shadow(0 0 14px #8de6df)}.exp-live-stage .exp-guest>div{position:static;width:100%;height:auto;clip-path:none;overflow:visible;text-align:center;text-shadow:0 2px 5px #000}.exp-live-stage .exp-guest small{display:none}.exp-live-stage .exp-guest strong{font-size:11px;line-height:1.1;max-width:none}.exp-live-stage .exp-guest span{font-size:9px;line-height:1.1;margin:2px 0}.exp-live-stage .exp-guest:before{inset:0;border:0;border-radius:50%;background:radial-gradient(ellipse,#8de6df77,transparent 70%);z-index:-1}.exp-live-stage .exp-guest-strike{animation:adventureBackupStrike .35s ease-out}.exp-live-stage .exp-guest-exit{animation:helperDepart .8s ease-in forwards}@keyframes adventureAllyEnter{0%{opacity:0;transform:translateX(-60px) scale(1.6);filter:brightness(2)}25%,60%{opacity:1;transform:translateX(15px) scale(1.25)}100%{transform:none;filter:brightness(1)}}
@media(max-width:600px) and (orientation:portrait){#expScene.adventure-fight-screen{grid-template-columns:minmax(0,1fr);grid-template-areas:'bar' 'fight' 'hud' 'status' 'mini' 'outcome';grid-template-rows:32px minmax(175px,1fr) 52px 24px 250px auto;gap:5px}.adventure-fight-screen .adventure-mini-game{height:250px;min-height:250px;max-height:250px}.adventure-fight-screen .exp-live-stage .combatant>img,.adventure-fight-screen .exp-live-stage .combatant>svg{height:80px;max-height:80px}.adventure-fight-screen .exp-guest{top:24%;left:5%;width:32%;max-width:125px}.adventure-fight-screen .exp-guest img{height:82px!important}.adventure-fight-screen .exp-announcement.helper{font-size:23px}}
@media(orientation:landscape) and (max-height:600px){#expScene.adventure-fight-screen{grid-template-rows:28px minmax(250px,1fr) 48px 20px auto;gap:4px}.adventure-fight-screen .exp-live-stage .combatant>img,.adventure-fight-screen .exp-live-stage .combatant>svg{height:90px;max-height:90px}}
@media(prefers-reduced-motion:reduce){.exp-live-stage .exp-guest,.exp-live-stage .exp-guest-strike{animation:none}.exp-live-stage .exp-guest-exit{animation:none;opacity:0}}
.exp-live-stage .exp-guest{left:1%;width:28%}.exp-live-stage.helper-active #expA>img{width:88%;margin-left:12%;transition:margin-left .35s,width .35s}.adventure-fight-screen .exp-guest{left:1%;width:28%}@media(prefers-reduced-motion:reduce){.exp-live-stage.helper-active #expA>img{transition:none}}

.adventure-fight-screen .lab-cannon-parts{grid-template-columns:repeat(3,minmax(0,1fr))}.adventure-fight-screen .lab-cannon-blueprint{grid-template-rows:repeat(3,1fr)}.adventure-fight-screen .lab-cannon-blueprint li{font-size:12px;display:flex;align-items:center;gap:5px}.adventure-fight-screen .lab-cannon-part span{font-size:11px}
.exp-bolt.exp-cannonball{width:24px;height:24px;font-size:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f2fbff,#77939d 45%,#22313d 75%);border:2px solid #d5edf5;box-shadow:-12px 0 12px #ffe69a99,0 0 20px #fff6;z-index:10;animation:adventureCannonShot .8s linear forwards;pointer-events:none}@keyframes adventureCannonShot{0%{transform:translate(0,0) scale(.85);opacity:1}90%{opacity:1}100%{transform:translate(var(--shot-x),var(--shot-y)) scale(1.2);opacity:1}}@media(prefers-reduced-motion:reduce){.exp-bolt.exp-cannonball{display:block;animation:none;transform:translate(var(--shot-x),var(--shot-y))}}

.lab-cannon-parts{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Battle results remain in the viewport until the player continues. */
#expOutcome.adventure-result-screen{position:fixed;inset:0;z-index:60;width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;grid-area:auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 35%,#313044,#0c1116 75%);overflow:auto;text-align:center}.adventure-result-screen.is-victory{background:radial-gradient(ellipse at 50% 30%,#3a4e27,#101b1c 65%,#0c1116)}.adventure-result-screen.is-victory:before{content:'✧   ✦   ✧';position:absolute;top:10%;left:0;right:0;font-size:40px;letter-spacing:20px;color:#d6fa7277;pointer-events:none;animation:expFloat 4s ease-in-out infinite}.adventure-result-screen .expedition-result{width:100%;max-width:560px;margin:0;padding:28px 18px;border:1px solid #637849;border-radius:20px;background:#14201ce8;box-shadow:0 0 80px #d6fa7215;animation:none}.adventure-result-screen .expedition-result>strong{display:block;font-size:clamp(30px,8vw,52px);line-height:1.12;color:#d6fa72;text-wrap:balance;margin-bottom:22px}.adventure-result-screen:not(.is-victory) .expedition-result>strong{color:#e3d7ff}.adventure-result-screen .expedition-result>p{font-size:20px;color:#e5f0df;margin:20px 0;line-height:1.4}.adventure-result-screen #expNext{width:100%;min-height:56px;font-size:18px;margin-top:12px}.adventure-result-screen .toy-ending{max-height:35dvh;overflow:auto;margin:12px 0;padding:12px;font-size:14px}.adventure-result-screen .toy-ending p{font-size:14px;line-height:1.5}.adventure-result-screen .toy-ending>span{font-size:40px}@media(max-height:500px){.adventure-result-screen .expedition-result{padding:16px}.adventure-result-screen .expedition-result>strong{font-size:30px;margin-bottom:10px}.adventure-result-screen .expedition-result>p{font-size:16px;margin:10px 0}.adventure-result-screen #expNext{min-height:48px;margin-top:6px}.adventure-result-screen .toy-ending{max-height:25dvh}}@media(prefers-reduced-motion:reduce){.adventure-result-screen.is-victory:before{animation:none}}

#expScene .eyebrow,#expScene h4,#expScene,.adventure-trip-result{scroll-margin-top:16px}
.pulse-streak{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;color:#bdc9d1;border:1px solid #475653;border-radius:10px;background:#101c24}.pulse-streak>strong{font-size:40px;line-height:1;font-weight:900}.pulse-streak>span{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.8px}.pulse-streak>b{font-size:25px;line-height:1;color:#eaffbd}.pulse-streak.powered{border-color:#d6fa72;color:#eaffbd;background:radial-gradient(ellipse,#446426,#102125);box-shadow:0 0 20px #d6fa7255,inset 0 0 18px #d6fa7222}.pulse-streak.pulse-up{animation:pulseStreakUp .4s ease-out}.pulse-streak.pulse-lost{color:#ff949a;border-color:#ff7373;background:#421f2a;animation:pulseStreakLost .35s ease-out}.pulse-streak.pulse-lost>b{color:#ff949a;font-size:18px}.adventure-fight-screen .pulse-streak{min-height:44px;height:44px;flex-shrink:0;gap:10px}.adventure-fight-screen .pulse-streak>strong{font-size:34px}.adventure-fight-screen .pulse-streak>b{font-size:24px}.adventure-fight-screen .pulse-streak>span{font-size:9px}.adventure-fight-screen .lab-mini-field[data-game="pulse"] .lab-pulse-track{height:30px;margin:8px 10px 12px!important}.adventure-fight-screen .lab-mini-field[data-game="pulse"] #labPulseTap{min-height:44px;height:44px;padding:5px 18px}.adventure-fight-screen .lab-mini-field[data-game="pulse"] #labPulseMarker{height:42px;top:-6px}@keyframes pulseStreakUp{35%{transform:scale(1.06);filter:brightness(1.6)}}@keyframes pulseStreakLost{25%{transform:translateX(-5px)}65%{transform:translateX(5px)}}@media(prefers-reduced-motion:reduce){.pulse-streak.pulse-up,.pulse-streak.pulse-lost{animation:none}}
.cannon-screen-shot{position:fixed!important;z-index:55!important;display:block!important;width:38px;height:38px;border-radius:50%;border:3px solid #fff2b3;background:radial-gradient(circle at 28% 25%,#fff,#9db7c9 40%,#243d53 70%);color:#243d53;font-size:24px;line-height:30px;text-align:center;box-shadow:0 0 24px #ffe69aaa;pointer-events:none;animation:cannonScreenFlight 1s linear forwards}.cannon-screen-shot:after{content:'';position:absolute;inset:-10px;border-radius:50%;border:3px solid #ffcf7777;box-shadow:0 0 16px #ffb34d}.cannon-impact{font-size:24px!important;color:#fff1a4!important;text-shadow:0 0 14px #ffad36,0 2px 4px #000}@keyframes cannonScreenFlight{0%{transform:translate(0,0) scale(.8);opacity:1}15%{transform:translate(calc(var(--shot-x)*.15),calc(var(--shot-y)*.15)) scale(1.1)}100%{transform:translate(var(--shot-x),var(--shot-y)) scale(1.2);opacity:1}}@media(prefers-reduced-motion:reduce){.cannon-screen-shot{animation:none;transform:translate(var(--shot-x),var(--shot-y))}}
.adventure-fight-screen .spark-streak{min-height:40px;height:40px;margin-bottom:2px;flex-shrink:0}.adventure-fight-screen .spark-streak>strong{font-size:32px}.adventure-fight-screen .lab-spark-tray{height:80px}.adventure-fight-screen .lab-mini-field[data-game="spark"] .lab-mini-charge{margin-top:2px}

@media(max-width:620px){.leaderboard-row button[data-visit-kingdom]{grid-column:2 / -1;grid-row:3;justify-self:stretch;width:100%}}

.kingdom-unlock{padding:12px;border:1px solid #c3dba0;border-radius:12px;background:#2c4030;color:#e5f5ca;font-size:13px}.kingdom-unlock b{font-size:15px}


.mini-active-power{height:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:#d8f6bd}.mini-active-power>span{font-size:52px;line-height:1.1}.mini-active-power strong{font-size:20px}.mini-active-power p{font-size:13px;margin:0}.mini-active-power small{font-size:11px;color:#c2d4df}.mini-active-power.pulse>span,.mini-active-power.spark>span{animation:mini-power-glow 1.2s ease-in-out infinite alternate}.mini-lightning-active #expA>img{filter:drop-shadow(0 0 12px #9aeaff) drop-shadow(0 0 25px #698dff)}.mini-lightning-active #expA:after{content:'ϟ';position:absolute;top:12%;right:5%;font-size:70px;color:#dcf7ff;text-shadow:0 0 12px #7399ff;pointer-events:none;animation:mini-power-glow .65s ease-in-out infinite alternate}.mini-spark-active #expA>img{filter:drop-shadow(0 0 15px #ffe898)}@keyframes mini-power-glow{from{opacity:.6;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.mini-active-power>span,.mini-lightning-active #expA:after{animation:none}}

.mini-active-power .mini-auto-cannon{width:150px;height:72px;transform:scale(1);margin:0}.mini-auto-cannon i{animation:none!important}.mini-active-power .lab-pulse-track{width:80%;height:18px;min-height:18px;margin:0;transform:none}.mini-active-power.pulse>span{font-size:32px}

/* An activated Cannon spans the whole mini-game field, rather than its old assembly grid column. */
.adventure-fight-screen .adventure-mini-game.mini-power-active .lab-mini-field{display:flex;align-items:center;justify-content:center;min-width:0}.adventure-fight-screen .mini-active-power{width:100%;min-width:0}.adventure-fight-screen .mini-active-power .mini-auto-cannon{flex:none;align-self:center;width:150px;height:72px;transform:scale(1);margin:0}


/* Short instructions; Adventure decisions get their own entrance and contrast. */
.ui-help{font-size:12px;color:#bdccd5;margin:12px 0}.ui-help summary{cursor:pointer;padding:8px 0;min-height:36px}.ui-help p{line-height:1.5}
#labMiniHint:empty,#labMiniFeedback:empty{display:none}.adventure-mini-game.mini-power-active{grid-template-rows:32px minmax(0,1fr);gap:6px}.mini-power-active #labMiniHint{display:none}.mini-power-active #labMiniFeedback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mini-active-power{gap:8px}.mini-active-power p{font-size:13px}
#adventure .adventure-decision-scene{background:linear-gradient(150deg,#172b39,#20283e);border:2px solid #8cba9b;border-radius:20px;box-shadow:0 8px 28px #07121c66;padding:20px;margin-top:16px}
.adventure-choice-prompt{font-size:clamp(22px,4.5vw,30px);line-height:1.2;color:#fff2c6;min-height:1.3em;margin:18px 0 16px;font-weight:900;text-shadow:0 2px 0 #101b27}.adventure-prompt-typed{border-right:2px solid #f5db8e;padding-right:4px}.typed .adventure-prompt-typed{border-right-color:transparent}
#adventure .adventure-decision-scene .expedition-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
#adventure .adventure-decision-scene .expedition-choice{position:relative;min-width:0;min-height:120px;padding:18px;text-align:left;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;background:linear-gradient(145deg,#214845,#203a42);border:2px solid #9ddfb9;border-radius:16px;box-shadow:0 5px 0 #0d242c;transform:none;transition:box-shadow .15s ease,border-color .15s ease}
#adventure .adventure-decision-scene .expedition-choice:nth-child(2n){background:linear-gradient(145deg,#44375e,#2e354d);border-color:#d0b1ec}
#adventure .adventure-decision-scene .expedition-choice strong{font-size:21px;line-height:1.2;color:#fff8df;margin:0;overflow-wrap:anywhere}.adventure-decision-scene .expedition-choice small{color:#e0ebee;font-size:13px;line-height:1.35}.adventure-decision-scene .expedition-choice span{font-size:28px;margin:0}
#adventure .adventure-decision-scene .expedition-choice:hover,#adventure .adventure-decision-scene .expedition-choice:focus-visible{border-color:#fff0a8;box-shadow:0 5px 0 #0d242c,0 0 18px #ffe9a633}.adventure-decision-scene .expedition-choice:focus-visible{outline:3px solid #fff0a8;outline-offset:3px}
.adventure-choice-enter .expedition-choice{animation:adventure-choice-arrive .28s cubic-bezier(.2,.75,.25,1) var(--choice-delay,420ms) both}
@keyframes adventure-choice-arrive{from{opacity:.55;translate:0 12px;filter:brightness(1.25)}to{opacity:1;translate:0 0;filter:brightness(1)}}
@media(max-width:600px){#adventure .adventure-decision-scene{padding:14px}#adventure .adventure-decision-scene .expedition-choices{grid-template-columns:1fr;gap:12px}#adventure .adventure-decision-scene .expedition-choice{min-height:102px;padding:16px}.adventure-choice-prompt{margin:14px 0}}
@media(prefers-reduced-motion:reduce){.adventure-choice-enter .expedition-choice{animation:none}.adventure-prompt-typed{border:0}#adventure .adventure-decision-scene .expedition-choice{transition:none}}


.engineering-group{grid-column:1/-1;margin:12px 0 0}.engineering-grid{align-items:stretch}
