@font-face{font-family:Changa One;src:url(./ChangaOne-Regular-BKBjfUqJ.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(./nunito_sans_400-1W9cORAO.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(./nunito_sans_700-F6zLoD2r.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#081d24;--teal:#073a42;--button:#0e5a63;--button-hover:#12666f;--ivory:#fff3d6;--ink:#102a32;--white:#fff8e8;--muted:#b7cdd0;--line:#35666b;--cyan:#56cdd2;--gold:#f2ae00;--gold-soft:#ffd575;--danger:#e66760;--font-display:"Changa One", "Arial Black", Impact, sans-serif;--font-body:"Nunito Sans", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%}body{background:radial-gradient(ellipse at 50% -12%, #0d3a44 0%, #081d24 44%, #04161b 100%), var(--bg);min-height:100%;color:var(--white);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;padding:18px 18px 28px;overflow-x:clip}button,a{font:inherit;-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{max-width:1440px;margin:0 auto}.game{isolation:isolate;background:var(--bg);border:1px solid #23434a;border-radius:15px;position:relative;overflow:hidden}#play-surface{min-width:0}.game-header{border-bottom:3px solid var(--line);background:linear-gradient(100deg,#09333c,#081d24 70%);align-items:center;gap:20px;height:106px;padding:14px 30px 12px;display:flex}.logo-link{flex:none;line-height:0;display:block}.logo{object-fit:contain;flex:none;width:167px;height:74px}.brand{border-left:1px solid var(--line);min-width:0;padding-left:21px}.brand h1{color:var(--ivory);font:400 33px/1 var(--font-display);letter-spacing:.8px;margin:0 0 7px}.brand p{color:var(--muted);letter-spacing:1.55px;text-transform:uppercase;margin:0;font-size:11px;line-height:1.2}.wallet{align-items:center;gap:10px;min-width:132px;margin-left:auto;padding:0 24px 0 16px;display:flex}.wallet img{object-fit:contain;width:35px;height:35px}.wallet strong{color:var(--gold-soft);font:400 32px/1 var(--font-display);font-variant-numeric:tabular-nums;display:block}.wallet small{color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px;font-size:10px;display:block}.header-tools{gap:6px;display:flex}.share-button{border:1px solid var(--line);min-height:44px;color:var(--ivory);background:#123b42;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:inline-flex}.share-button:hover:not(:disabled){background:var(--button-hover)}.share-button:disabled{opacity:.65}.share-services{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.share-services a{gap:8px}.share-services img{flex:none}.share-services a,.share-copy-row button{min-height:44px;color:var(--ivory);background:#0e5a63;border:1px solid #0e5a63;border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-flex}.share-services a:hover,.share-copy-row button:hover:not(:disabled){background:#12666f}.share-dialog a:focus-visible,.share-dialog button:focus-visible{outline-color:#0e5a63}.share-dialog label{margin-bottom:6px;font-size:13px;display:block}.share-copy-row{flex-wrap:wrap;gap:8px;display:flex}.share-copy-row input{width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff9e4;border:1px solid #a4aca4;border-radius:6px;flex:180px;padding:10px;font-size:12px}.share-copy-row input:focus-visible{outline-offset:2px;outline:3px solid #0e5a63}#share-feedback{min-height:2.7em}.icon-button{border:1px solid var(--line);width:40px;height:42px;color:var(--white);background:#0d3038;border-radius:8px;place-items:center;font-size:17px;display:grid;position:relative}.icon-button:hover:not(:disabled){background:#12414a}.icon-button:disabled{opacity:.45}.icon-button img{width:19px;height:19px}.icon-button.small{width:34px;height:34px}.icon-glyph{letter-spacing:1px;font-family:Arial,sans-serif;font-size:17px;font-weight:700}.sound-slash{background:var(--white);border-radius:2px;width:23px;height:2px;display:none;position:absolute;transform:rotate(-45deg);box-shadow:0 0 0 2px #0d3038}.sound-button.is-muted .sound-slash{display:block}.gold-flight{z-index:30;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gold-flight img{object-fit:contain;filter:drop-shadow(0 0 4px #ffcd5680);width:24px;height:24px;position:absolute;top:0;left:0}.wallet.is-pulsing strong{animation:.5s ease-out gold-pulse}@keyframes gold-pulse{50%{color:#fff3d6;transform:scale(1.12)}}.notice-stack{gap:8px;margin-bottom:14px;display:grid}.notice-stack:empty{display:none}.notice{color:#ffe1a0;background:#2a2413;border:1px solid #8a6a2a;border-radius:7px;align-items:center;gap:12px;padding:9px 12px;font-size:11px;line-height:1.4;display:flex}.notice p{flex:1;margin:0}.notice-dismiss{width:30px;height:30px;color:inherit;background:0 0;border:0;border-radius:50%;flex:none;font-size:20px;line-height:1}.notice-dismiss:hover{background:#ffffff14}.notice-tab{color:#d7e6e3;background:#0d3038;border-color:#2c6a70}.notice-tab strong{color:var(--ivory)}.notice-action{min-height:36px;color:var(--ivory);background:#14616a;border:1px solid #4f7f83;border-radius:5px;flex:none;padding:7px 11px;font-size:11px;font-weight:700}.notice-action:hover{background:#18737d}.assignment{align-items:flex-end;gap:18px;margin-bottom:18px;display:flex;position:relative}.assignment-copy{min-width:0}.eyebrow{color:var(--cyan);letter-spacing:2px;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:700;line-height:1.2}.assignment h2{color:var(--white);font:400 30px/1.1 var(--font-display);margin:0}.assignment p{color:var(--muted);margin:5px 0 0;font-size:12px}.route{align-items:center;gap:6px;margin-left:auto;padding-bottom:7px;display:flex}.route span{color:#78979d;background:#12343d;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;font-weight:700;display:grid}.route .is-done{color:var(--ivory);background:#175f65}.route .is-current{background:var(--gold);color:#1c2e31;box-shadow:0 0 0 3px #f2ae0020}.play-layout{grid-template-columns:minmax(0,1fr) 267px;align-items:stretch;gap:17px;display:grid}.battle-column{flex-direction:column;gap:11px;min-width:0;display:flex}.arena{background:#3f4f4d;border:2px solid #355c60;border-radius:12px;flex:none;height:315px;min-height:0;position:relative;overflow:hidden}.arena:before{content:"";background-image:linear-gradient(180deg, #0b27323b 0%, #14343a00 50%, #071d245e 100%), var(--arena-bg,none);background-position:center, var(--arena-bg-position,45% 54%);transform:scale(var(--arena-bg-zoom,1));background-size:cover;position:absolute;inset:0}.arena:after{content:"";pointer-events:none;background:linear-gradient(#0000,#092d36dd);height:92px;position:absolute;bottom:0;left:0;right:0}.auto-badge{z-index:3;letter-spacing:.2px;background:#082b32e8;border:1px solid #4e7779;border-radius:6px;align-items:center;gap:7px;padding:7px 10px 7px 9px;font-size:10px;font-weight:700;display:flex;position:absolute;top:15px;left:16px}.auto-badge i{background:#85e7b4;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #85e7b433}.arena.is-paused .auto-badge i{background:var(--gold);box-shadow:0 0 8px #f2ae0055}.location{z-index:3;color:#e4e9df;text-shadow:0 1px 3px #000;background:#082b32d9;border-radius:4px;padding:4px 6px;font-size:10px;position:absolute;top:15px;right:14px}.ground-shadow{filter:blur(3px);background:#10272b87;border-radius:50%;width:145px;height:23px;position:absolute;bottom:51px}.ground-shadow.hero-shadow{left:10%}.ground-shadow.monster-shadow{right:8%}.doll{width:210px;height:315px;position:absolute}.doll img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.hero{z-index:2;filter:drop-shadow(0 3px #0a22264d);transform-origin:50% 90%;width:182px;height:273px;bottom:45px;left:12%;transform:rotate(-3deg)}.hero.is-upgraded{animation:.8s ease-out hero-upgrade}@keyframes hero-upgrade{0%,to{filter:drop-shadow(0 3px #0a22264d)}40%{filter:drop-shadow(0 0 11px #ffd575)drop-shadow(0 3px #0a22264d)}}.monster{z-index:2;object-fit:contain;filter:drop-shadow(0 4px #0a22264d);width:190px;height:285px;position:absolute;bottom:43px;right:11%;transform:rotate(3deg)}.vs{z-index:3;color:#ffedbc;font:400 25px var(--font-display);opacity:.85;text-shadow:2px 3px #18373b;position:absolute;top:52%;left:48%;transform:rotate(-8deg)}.monster.grave-marker{opacity:0;pointer-events:none;justify-content:center;align-items:flex-end;padding-bottom:4px;display:flex;transform:none}.grave-marker img{width:52%;height:auto}.hit-float{z-index:4;color:#ffce5d;font:400 46px var(--font-display);opacity:0;text-shadow:2px 3px #4d3519,-1px -1px #4d3519;position:absolute;top:55px;right:20%;transform:rotate(10deg)}.spark{z-index:3;opacity:0;background:#ffda79;border-radius:50%;width:30px;height:5px;position:absolute;top:138px;right:29%;transform:rotate(-32deg);box-shadow:0 12px #ffda7988}.pickpocket-float{z-index:5;color:#ffe3a1;opacity:0;pointer-events:none;background:#18373bed;border:1px solid #ffd575;border-radius:6px;padding:5px 8px;font-size:13px;font-weight:700;position:absolute;bottom:65px;right:8%}.arena.is-pickpocket .pickpocket-float{animation:1.2s ease-out both pickpocket-pop}@keyframes pickpocket-pop{0%{opacity:0;transform:translateY(6px)scale(.85)}20%,75%{opacity:1}to{opacity:0;transform:translateY(-22px)scale(1)}}.flush-banner{z-index:5;color:#ffe3a1;font:400 29px/1 var(--font-display);letter-spacing:.6px;text-shadow:2px 3px #4e321b,-1px -1px #4e321b;white-space:nowrap;display:none;position:absolute;top:58px;left:49%;transform:translate(-50%)rotate(-5deg)}.arena.is-flush .flush-banner{display:block}.combat-labels{z-index:4;grid-template-columns:1fr 1fr;gap:25px;display:grid;position:absolute;bottom:13px;left:15px;right:15px}.combat-labels h3{font:400 19px/1 var(--font-display);text-shadow:0 1px 2px #000;overflow-wrap:anywhere;margin:0 0 4px}.combat-labels p{color:#d9e9e4;margin:0;font-size:10px}.enemy-status{text-align:right}.hp-row{justify-content:flex-end;align-items:center;gap:7px;display:flex}.hp{background:#10252ac9;border-radius:3px;width:100px;height:7px;overflow:hidden}.hp div{background:var(--danger);border-radius:3px;width:100%;height:100%;transition:width .35s}.hp-row small{white-space:nowrap;font-size:10px;font-weight:700}.arena.is-attacking .hero{animation:warrior-strike var(--attack-duration) linear 1}.arena[data-attack-class=wizard].is-attacking .hero{animation-name:wizard-cast}.arena[data-attack-class=rogue].is-attacking .hero{animation-name:rogue-strike}.arena.is-special.is-attacking .hero{animation-name:warrior-cleave}.arena[data-attack-class=wizard].is-special.is-attacking .hero{animation-name:wizard-channel}.arena[data-attack-class=rogue].is-special.is-attacking .hero{z-index:3;animation-name:rogue-backstab}.arena.is-hit .monster:not(.grave-marker){animation:.38s ease-out monster-hit}.arena.is-hit .hit-float{animation:.55s ease-out damage-float}.arena.is-hit .spark{display:none}.attack-effects{z-index:3;pointer-events:none;--attack-color:#ffe0a0;position:absolute;inset:0}.arena[data-attack-class=wizard] .attack-effects{--attack-color:#d5bbff}.arena[data-attack-class=rogue] .attack-effects{--attack-color:#a8ffe4}.spell-bolt,.attack-impact,.attack-dust{color:var(--attack-color);opacity:0;position:absolute}.spell-bolt{left:var(--cast-x);top:var(--impact-y);background:#fff5ff;border-radius:50%;width:20px;height:14px;margin:-7px 0 0 -10px;box-shadow:0 0 10px 4px,-14px 0 14px}.arena[data-attack-class=wizard].is-attacking .spell-bolt{animation:spell-travel var(--attack-lead) linear both}.spell-bolt i{opacity:0;background:currentColor;border-radius:50%;position:absolute;inset:0}.arena[data-attack-class=wizard].is-special.is-attacking .spell-bolt{width:30px;height:24px;margin:-12px 0 0 -15px;animation-name:spell-gather}.arena.is-special.is-attacking .spell-bolt i{animation:mote-gather var(--attack-lead) linear both}.spell-bolt i:first-child{--mote-x:-24px;--mote-y:-32px}.spell-bolt i:nth-child(2){--mote-x:-38px;--mote-y:5px}.spell-bolt i:nth-child(3){--mote-x:-12px;--mote-y:32px}.attack-impact{left:var(--target-x);top:var(--impact-y);filter:drop-shadow(0 0 4px);border:0 solid;border-right-width:7px;border-radius:50%;width:80px;height:80px;margin:-40px}.arena.is-hit .attack-impact{animation:.32s ease-out both slash-impact}.arena[data-attack-class=wizard] .attack-impact{border-width:3px}.arena[data-attack-class=wizard].is-hit .attack-impact{animation-name:ring-impact}.arena[data-attack-class=rogue] .attack-impact{width:62px;height:62px;margin:-31px}.arena[data-attack-class=rogue]:not(.is-special) .attack-impact{border-radius:15%}.arena[data-attack-class=rogue].is-special[data-attack-suit=slash] .attack-impact{border-radius:10%}.arena.is-special .attack-impact{width:115px;height:115px;margin:-57.5px}.arena.is-special.is-hit .attack-impact{animation-duration:.46s}.attack-impact i{opacity:0;position:absolute}.arena.is-special[data-attack-suit=slash] .attack-impact:after{content:"";border-left:5px solid;border-radius:50%;position:absolute;inset:10px;transform:rotate(70deg)}.arena.is-special[data-attack-suit=jab] .attack-impact{background:#fff8dd;border:0;border-radius:50%;height:8px;margin-top:-4px;box-shadow:-18px -14px 0 -2px,-18px 14px 0 -2px}.arena.is-special[data-attack-suit=headbutt] .attack-impact{border-width:5px}.arena.is-special[data-attack-suit=headbutt].is-hit .attack-impact{animation-name:ring-impact}.arena.is-special[data-attack-suit=headbutt] .attack-impact i{clip-path:polygon(50% 0,63% 35%,100% 50%,63% 63%,50% 100%,35% 63%,0 50%,35% 35%);opacity:1;background:#ffe4a4;width:18px;height:18px;top:-12px;left:44px}.arena.is-special[data-attack-suit=headbutt] .attack-impact i:nth-child(2){top:55px;left:-16px}.arena.is-special[data-attack-suit=headbutt] .attack-impact i:nth-child(3){top:85px;left:90px}.attack-dust{left:var(--target-x);background:#e4c38b66;border-radius:50%;width:100px;height:16px;margin-left:-50px;bottom:52px;box-shadow:-30px -5px 0 -3px #e4c38b66,25px -8px 0 -2px #e4c38b66}.arena.is-special.is-hit .attack-dust{animation:.48s ease-out both dust-impact}.arena.is-special.is-hit .monster:not(.grave-marker){animation-name:monster-heavy-hit}.arena.is-special.is-hit .hit-float{animation-name:damage-float-heavy}@keyframes warrior-strike{0%,to{transform:rotate(-3deg)}25%{transform:translate(-8px)rotate(-10deg)}50%{transform:translate(26px)rotate(9deg)}65%{transform:translate(22px)rotate(5deg)}}@keyframes warrior-cleave{0%,to{transform:rotate(-3deg)}25%,38%{transform:translate(-12px,-8px)rotate(-17deg)}50%{transform:translate(36px)rotate(15deg)scale(1.04,.96)}63%{transform:translate(30px)rotate(11deg)}}@keyframes wizard-cast{0%,to{transform:rotate(-3deg)}25%{transform:translate(-7px)rotate(-8deg)}50%{transform:translate(6px)rotate(3deg)}}@keyframes wizard-channel{0%,to{transform:rotate(-3deg)}25%,38%{transform:translate(-6px,-10px)rotate(-8deg)}50%{transform:translate(7px,-6px)rotate(5deg)}65%{transform:translateY(-8px)rotate(-3deg)}}@keyframes rogue-strike{0%,30%,to{transform:rotate(-3deg)}42%{transform:translate(22px)skew(-7deg)rotate(3deg)}50%{transform:translate(42px)rotate(8deg)}65%{transform:translate(8px)rotate(-6deg)}}@keyframes rogue-backstab{0%,to{opacity:1;transform:rotate(-3deg)}24%{opacity:1;transform:translate(-8px)rotate(-8deg)}35%{opacity:0;transform:translate(10px)skew(-12deg)}36%{opacity:0;transform:translate(var(--backstab-x), -18px) scale(var(--backstab-scale)) scaleX(-1) rotate(-8deg)}43%{opacity:1;transform:translate(var(--backstab-x), -18px) scale(var(--backstab-scale)) scaleX(-1) rotate(-8deg)}50%,62%{opacity:1;transform:translate(calc(var(--backstab-x) - 10px), -12px) scale(var(--backstab-scale)) scaleX(-1) rotate(10deg)}72%{opacity:0;transform:translate(var(--backstab-x), -18px) scale(var(--backstab-scale)) scaleX(-1) rotate(-4deg)}73%{opacity:0;transform:translate(4px)rotate(-6deg)}85%{opacity:1;transform:rotate(-3deg)}}@keyframes spell-travel{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(.8)}95%{opacity:1}to{opacity:0;transform:translateX(var(--bolt-travel)) scale(1)}}@keyframes spell-gather{0%{opacity:0;transform:scale(.3)}25%,55%{opacity:1;transform:scale(.65)}65%{opacity:1;transform:scale(1.2)}95%{opacity:1}to{opacity:0;transform:translateX(var(--bolt-travel)) scale(1.2)}}@keyframes mote-gather{0%{opacity:0;transform:translate(var(--mote-x), var(--mote-y)) scale(.2)}20%{opacity:1;transform:translate(var(--mote-x), var(--mote-y)) scale(.4)}65%,to{opacity:0;transform:scale(.15)}}@keyframes slash-impact{0%{opacity:0;transform:rotate(-65deg)scale(.4)}18%{opacity:1;transform:rotate(-25deg)scale(1.05)}to{opacity:0;transform:rotate(35deg)scale(1.25)}}@keyframes ring-impact{0%{opacity:0;transform:scale(.25)}18%{opacity:1}to{opacity:0;transform:scale(1.4)}}@keyframes dust-impact{0%{opacity:0;transform:scale(.3)}20%{opacity:.7}to{opacity:0;transform:translateY(-8px)scale(1.65)}}@keyframes monster-heavy-hit{0%,to{transform:rotate(3deg)}25%{transform:translate(17px,3px)rotate(14deg)scale(1.12,.88)}55%{transform:translate(9px,-5px)rotate(7deg)scale(.97,1.03)}}@keyframes damage-float-heavy{0%{opacity:0;transform:translateY(10px)rotate(10deg)scale(.6)}35%{opacity:1;transform:translateY(-8px)rotate(6deg)scale(1.35)}to{opacity:1;transform:rotate(10deg)scale(1)}}.arena.is-hit.is-defeated .monster:not(.grave-marker){transform-origin:50% 95%;animation:.45s ease-in forwards monster-defeat}.arena.is-defeated .grave-marker{transform-origin:50% 95%;animation:.4s ease-out .3s both gravestone-arrive}@keyframes monster-hit{0%,to{transform:rotate(3deg)}40%{transform:translate(8px)rotate(9deg)}}@keyframes damage-float{0%{opacity:0;transform:translateY(10px)rotate(10deg)scale(.7)}50%{opacity:1;transform:translateY(-3px)rotate(10deg)scale(1.1)}to{opacity:1;transform:rotate(10deg)scale(1)}}@keyframes spark-flash{0%{opacity:0;transform:rotate(-32deg)scale(.5)}45%{opacity:1;transform:rotate(-32deg)scale(1.2)}to{opacity:0;transform:rotate(-32deg)scale(1)}}@keyframes monster-defeat{0%{opacity:1;transform:rotate(3deg)scale(1)}30%{opacity:1;transform:translate(8px,-6px)rotate(14deg)scale(1.04,.96)}to{opacity:0;transform:translateY(18px)rotate(-12deg)scale(.35,.15)}}@keyframes gravestone-arrive{0%{opacity:0;transform:translateY(12px)scale(.65,.4)}65%{opacity:1;transform:translateY(-4px)rotate(-5deg)scale(1.04,1.08)}to{opacity:1;transform:none}}.cardtray{background:linear-gradient(160deg,#123d45,#0b2b34);border:1px solid #3d7176;border-radius:11px;padding:13px 17px 15px;position:relative;box-shadow:0 3px #04151b}.tray-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.tray-title{color:#c5ddd7;letter-spacing:1.65px;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.2}.tray-meta{align-items:center;gap:10px;display:flex}.hand-count{color:#9dbebc;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:700}.tray-tools{gap:5px;display:none}.tray-body{grid-template-columns:52px minmax(0,1fr) 121px;align-items:center;gap:17px;display:grid}.deck{width:48px;height:88px;margin-right:4px;position:relative}.deck:before,.deck:after{content:"";background:#ac9b70;border:2px solid #273c3d;border-radius:4px;width:45px;height:63px;position:absolute;top:6px;left:0;transform:rotate(-5deg)}.deck:after{background:#ddc994;top:3px;left:3px;transform:rotate(1deg)}.deck img{z-index:2;object-fit:contain;filter:drop-shadow(0 2px 2px #0006);width:47px;height:65px;position:absolute;top:0;left:4px;transform:rotate(7deg)}.deck small{color:#bad1ce;letter-spacing:.9px;text-align:center;font-size:9px;line-height:1;position:absolute;bottom:0;left:0;right:-5px}.hand{justify-content:center;align-items:center;gap:13px;min-width:0;display:flex}.card-slot{text-align:center;flex:none}.play-card{background:#fff3d6;border:2px solid #1b3035;border-radius:7px;width:86px;height:118px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;transform:rotate(-3deg);box-shadow:0 4px #03191eb3}.card-slot:nth-child(2) .play-card{transform:translateY(-5px)}.card-slot:nth-child(3) .play-card{transform:rotate(3deg)}.play-card .rank{z-index:2;color:#142e35;font:400 30px/.9 var(--font-display);position:absolute;top:5px;left:8px}.play-card img{object-fit:contain;width:77px;height:106px;position:absolute;inset:7px 3px 0}.play-card.is-back{background:#0b2b34;border-color:#3d7176;box-shadow:0 4px #03191eb3}.play-card.is-back img{border-radius:4px;width:calc(100% - 8px);height:calc(100% - 8px);inset:4px}.card-name{color:#d6e5de;white-space:nowrap;margin-top:9px;font-size:10px;line-height:1;display:block}.hand-result{border-left:1px solid #3d6970;align-self:center;padding-left:17px}.combo-name{color:#d4e5df;font:400 18px/1 var(--font-display);white-space:nowrap}.hit-value{color:var(--ivory);font:400 49px/1 var(--font-display);margin-top:5px}.hit-value small{color:#c3d9d3;letter-spacing:1.2px;margin-top:2px;font-size:9px;font-weight:700;display:block}.hand-math{color:#9dbebc;margin:7px 0 0;font-size:10px;line-height:1.4}.hand-detail{color:#b8d4d0;text-align:center;min-height:12px;margin:13px 0 0;font-size:10px;line-height:1.2}.cardtray.is-idle .hand-result,.cardtray.is-reading .hand-result{visibility:hidden}.cardtray.is-flush .play-card{background:#fff0c8;border-color:#e7b94f;box-shadow:0 0 0 2px #f5d86e24,0 0 20px #f2ae0020,0 4px #051d24}.cardtray.is-flush .combo-name,.cardtray.is-flush .hit-value{color:#ffd373}.cardtray.is-dealing .card-slot{z-index:3;animation:deal-in var(--deal-duration) cubic-bezier(.2, .65, .3, 1) both;animation-delay:calc(var(--i,0) * 70ms);position:relative}.play-card img.deal-back{z-index:3;background:#0b2b34;border-radius:5px;width:100%;height:100%;display:none;inset:0}.cardtray.is-dealing .deal-back{animation:deal-reveal var(--deal-duration) linear both;animation-delay:calc(var(--i,0) * 70ms);display:block}.cardtray.is-dealing .card-name{animation:deal-label var(--deal-duration) ease-out both;animation-delay:calc(var(--i,0) * 70ms)}@keyframes deal-in{0%{transform:translate(var(--deal-x), var(--deal-y)) rotate(7deg) scale(var(--deal-scale))}to{transform:translate(0)rotate(0)scale(1)}}@keyframes deal-reveal{0%,55%{opacity:1}80%,to{opacity:0}}@keyframes deal-label{0%,65%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.cardtray.is-dealing .card-slot,.cardtray.is-dealing .card-name{animation:none}.cardtray.is-dealing .deal-back{display:none}}.recruit-panel{background:var(--ivory);color:var(--ink);border-radius:12px;flex-direction:column;padding:20px 18px 17px;display:flex;box-shadow:0 4px #020e1280}.recruit-panel .eyebrow{color:#3c7378;letter-spacing:1.7px}.recruit-title h3{font:400 29px/1.05 var(--font-display);overflow-wrap:break-word;margin:0 0 4px}.recruit-title .description{color:#577071;margin:0 0 16px;font-size:12px;line-height:1.35}.stat-row{border-bottom:1px solid #102a321c;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:12px;display:flex}.stat-row strong{color:#0e5a63;font:400 22px var(--font-display)}.damage-breakdown{flex:auto;min-width:0;position:relative}.damage-stat{cursor:pointer;list-style:none}.damage-stat::-webkit-details-marker{display:none}.damage-stat:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #0e5a63}.damage-info{color:#517b7c}.damage-stat>strong{white-space:nowrap}.damage-explanation{z-index:10;background:var(--ivory);width:min(300px,100vw - 48px);color:var(--ink);border:1px solid #628d8d;border-radius:8px;max-height:calc(100dvh - 24px);padding:12px;font-size:12px;line-height:1.4;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 6px 20px #0005}.damage-explanation.is-above{top:auto;bottom:100%}.damage-explanation dl{margin:10px 0}.damage-explanation dl>div{justify-content:space-between;gap:12px;display:flex}.damage-explanation dd{white-space:nowrap;margin:0;font-weight:700}.damage-explanation p{margin:8px 0 0}.damage-explanation #damage-total{color:#0e5a63;font-weight:700}@media (max-width:620px){.damage-explanation{left:0;right:auto}}.upgrade-button{background:var(--button);width:100%;color:var(--white);text-align:left;border:1px solid #1d7179;border-radius:8px;margin-top:15px;padding:12px 11px 10px;transition:background .2s,box-shadow .2s,border-color .2s;display:block;box-shadow:0 3px #06363d}.upgrade-button:hover:not(:disabled){background:var(--button-hover)}.upgrade-button.is-affordable:not(:disabled){border-color:#e7b94f;box-shadow:0 3px #06363d,0 0 0 2px #f2ae0026}.upgrade-button:disabled{color:#5b6a67;background:#d8d2bd;border-color:#b5b29a;box-shadow:0 3px #d0c7a9}.upgrade-button .button-head{font:400 19px/1 var(--font-display);justify-content:space-between;align-items:center;gap:7px;display:flex}.price{color:#ffe1a0;font:700 13px var(--font-body);white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.price img{width:17px;height:17px}.upgrade-button small{color:#d1e6df;margin-top:6px;font-size:10px;line-height:1.35;display:block}.upgrade-button:disabled .price{color:#77541a}.upgrade-button:disabled small{color:#56706f}.upgrade-button+.upgrade-button{margin-top:11px}.practice-rules{border-top:1px solid #102a3224;margin-top:21px;padding-top:14px}.practice-rules h4{color:#397276;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:700;line-height:1.3}.practice-rules p{color:#4c6967;margin:0;font-size:12px;line-height:1.55}.practice-rules strong{color:#17454b;font-weight:700}.idle-note{color:#647471;align-items:flex-start;gap:7px;margin:auto 0 0;padding-top:19px;font-size:10px;line-height:1.45;display:flex}.idle-note span:first-child{font-size:15px;line-height:1}.under-arena{grid-template-columns:minmax(0,1fr) 267px;gap:17px;margin-top:13px;display:grid}.teacher-note{border:1px solid var(--line);background:#123b42;border-radius:9px;align-items:center;min-height:73px;padding:12px 16px 12px 81px;display:flex;position:relative}.teacher-avatar{width:59px;height:80px;position:absolute;bottom:0;left:13px;overflow:hidden}.teacher-avatar img{width:auto;height:111px;position:absolute;top:0;left:3px}.teacher-note small{color:#73c8ce;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.teacher-note p{color:#f8efd9;margin:0;font-size:13px;line-height:1.35}.goal-panel{border:1px solid var(--line);background:#0d3038;border-radius:9px;flex-direction:column;justify-content:center;min-height:73px;padding:12px 15px;transition:border-color .25s,background .25s;display:flex}.goal-panel.is-complete{background:#123b42;border-color:#e1bb67}.goal-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.goal-eyebrow{color:var(--cyan);letter-spacing:1.5px;text-transform:uppercase;font-size:9px;font-weight:700}.goal-panel.is-complete .goal-eyebrow{color:var(--gold-soft)}.goal-count{color:var(--gold-soft);font:400 16px var(--font-display);font-variant-numeric:tabular-nums}.goal-pips{gap:6px;margin-top:7px;display:flex}.goal-pips span{border:1px solid var(--line);color:#0000;background:#12343d;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.goal-pips span:after{content:"✓"}.goal-pips span.is-filled{border-color:var(--cyan);color:var(--ivory);background:#175f65}.goal-panel.is-complete .goal-pips span.is-filled{background:#8a6211;border-color:#e1bb67}.goal-note{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.4}.next-button{color:#d7e6e3;width:100%;min-height:38px;font:400 17px/1 var(--font-display);text-align:center;background:#0d3038;border:1px solid #41777d;border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:10px;transition:background .2s,border-color .2s;display:flex}.next-button:hover:not(:disabled){background:#14616a}.next-button.is-ready{color:var(--ivory);background:#14616a;border-color:#e7b94f}.next-button:disabled{opacity:.5}.next-button span{font-family:Arial,sans-serif;font-size:18px}.graduate-button.is-ready{color:var(--ivory);background:#8a6211;border-color:#ffd575}.graduate-button.is-ready:hover:not(:disabled){background:#a3771a}.graduation{background:linear-gradient(180deg, #0b2f38e8, #0a2732ed 70%, #081d24), var(--arena-bg) center 39% / cover;color:var(--white);text-align:center;padding:26px 30px 25px;position:relative}.graduation:focus{outline:none}.graduation-inner{max-width:900px;margin:0 auto}.graduation .eyebrow{color:#f1ce83}.graduation h2{color:var(--ivory);font:400 44px/1.02 var(--font-display);margin:6px 0 9px}.graduation-sub{color:#c7dedb;max-width:550px;margin:0 auto;font-size:12px;line-height:1.4}.graduation-teacher{color:#f1ce83;max-width:720px;margin:10px auto 0;font-size:13px;line-height:1.4}.graduation-reward{max-width:720px;color:var(--ivory);margin:10px auto 0;font-size:13px;line-height:1.4}.graduation-recap{background:#041e2659;border:1px solid #8eafaa55;border-radius:8px;max-width:600px;margin:18px auto 0;padding:13px 10px 10px}.graduation-recap dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.graduation-recap dt{color:#c7dedb;font-size:11px;line-height:1.3}.graduation-recap dd{color:var(--ivory);font:400 25px/1.1 var(--font-display);overflow-wrap:anywhere;margin:5px 0 0}.graduation-recap p{color:#c7dedb;margin:10px 0 0;font-size:10px;line-height:1.4}@media (max-width:480px){.graduation-recap{padding:12px}.graduation-recap dl{grid-template-columns:1fr;gap:10px}.graduation-recap dl>div{text-align:left;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.graduation-recap dd{text-align:right;margin:0;font-size:21px}}.class-rewards{margin:14px 0}.class-rewards h3{margin:0 0 6px}.class-reward-list{margin:8px 0 0;padding:0;list-style:none}.class-reward-list li{border-bottom:1px solid #102a3233;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;font-size:12px;display:flex}.faculty{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:13px;max-width:820px;height:233px;margin:23px auto 0;padding:0 10px;display:grid;position:relative}.judge{height:233px;position:relative}.judge .quip{z-index:4;background:var(--ivory);color:#20373a;min-height:59px;font:400 16px/1.17 var(--font-display);border-radius:7px;justify-content:center;align-items:center;padding:11px 10px;display:flex;position:relative;box-shadow:0 3px #0003}.judge .quip:after{content:"";background:var(--ivory);z-index:-1;width:14px;height:14px;position:absolute;bottom:-8px;left:47%;transform:rotate(45deg)}.judge:first-child .quip{transform:rotate(-3deg)}.judge:nth-child(2) .quip{transform:rotate(2deg)}.judge:nth-child(4) .quip{transform:rotate(3deg)}.judge-portrait{aspect-ratio:1/1.1;width:100%;position:absolute;bottom:-11px;left:50%;overflow:hidden;transform:translate(-50%)}.judge-portrait img{width:200%;max-width:none;height:auto;position:absolute;top:0;left:0}.judge-portrait.right-half img{left:-100%}.desk{z-index:3;background:var(--graduation-desk) center -475px / 640px 640px repeat-x;border-top:3px solid #703529;border-radius:5px 5px 0 0;max-width:850px;height:32px;margin:0 auto;position:relative}.graduation-result{z-index:4;background:var(--ivory);max-width:850px;color:var(--ink);text-align:left;border-radius:0 0 11px 11px;align-items:center;gap:25px;margin:0 auto;padding:20px 26px 19px;display:flex;position:relative;box-shadow:0 6px #0003}.graduation-copy{flex:1;min-width:0}.graduation-copy h3{font:400 25px/1.1 var(--font-display);margin:0 0 5px}.graduation-copy p{color:#55716e;margin:0;font-size:12px;line-height:1.4}.graduation-action{text-align:center;flex:none}.graduation-cta{width:auto;min-width:220px}.graduation-action small{color:#627a75;margin-top:8px;font-size:10px;display:block}.restart-link{color:#0e5a63;background:0 0;border:1px solid #3c7378;border-radius:6px;min-height:40px;margin:8px auto 0;padding:8px 12px;font-size:12px;font-weight:700;display:block}.restart-link:hover,.restart-cancel:hover{background:#102a320c}.graduation-footer{color:#92b4b8;justify-content:center;gap:10px;margin-top:18px;font-size:11px;display:flex}.graduation-footer span+span:before{content:"·";color:#5f858a;margin-right:10px}.graduation-sound{color:#92b4b8;background:0 0;border:1px solid #35666b;border-radius:5px;align-items:center;gap:5px;min-height:32px;padding:6px 10px;font-size:10px;display:inline-flex;position:relative}.graduation-sound:hover{color:var(--ivory);background:#0d3038}.graduation-sound img{width:16px;height:16px}.graduation-sound .sound-slash{width:16px;height:2px}@media (max-width:820px){.graduation h2{font-size:40px}.faculty{gap:10px;padding:0}}@media (max-width:620px){.graduation{padding:22px 14px}.graduation h2{font-size:34px}.graduation-sub{font-size:11px}.faculty{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px;height:auto;margin-bottom:12px;padding:0}.judge{height:190px}.judge .quip{min-height:52px;padding:8px 6px;font-size:12px}.judge-portrait{aspect-ratio:1/1.12;width:82%;bottom:-8px}.desk{display:none}.graduation-result{border-radius:11px;flex-direction:column;align-items:stretch;gap:16px;padding:18px}.graduation-action,.graduation-cta{width:100%}.graduation-footer{flex-direction:column;gap:2px}.graduation-footer span+span:before{content:none}.graduation-sound{align-self:center;margin-top:6px}}@media (max-width:360px){.graduation h2{font-size:30px}.judge{height:170px}.judge .quip{font-size:11px}}.footer{background:#071920;border-top:1px solid #2a4b52;align-items:center;gap:14px;min-height:79px;padding:11px 29px 12px;display:flex}.mini-cards{flex:none;width:82px;height:51px;position:relative}.mini-card{background:#fff3d6;border:2px solid #23383a;border-radius:3px;width:32px;height:46px;position:absolute;top:1px;box-shadow:0 2px 3px #0006}.mini-card:first-child{left:1px;transform:rotate(-13deg)}.mini-card:nth-child(2){top:0;left:23px;transform:rotate(1deg)}.mini-card:nth-child(3){left:45px;transform:rotate(14deg)}.mini-card span{color:#172c32;font:400 12px var(--font-display);position:absolute;top:1px;left:2px}.mini-card img{object-fit:contain;width:27px;height:37px;position:absolute;inset:5px 1px 0}.footer-text{min-width:0}.footer-text strong{font:400 17px var(--font-display);margin-bottom:3px;display:block}.footer-text small{color:var(--muted);font-size:11px;line-height:1.2;display:block}.steam-link{color:var(--ivory);font:400 16px var(--font-display);white-space:nowrap;background:#10353d;border:1px solid #41777d;border-radius:7px;justify-content:center;align-items:center;gap:12px;margin-left:auto;padding:11px 14px;text-decoration:none;display:flex}.steam-link:hover{background:#15434c}.steam-link span{font-size:19px}.keyboard-help{color:#6f9297;text-align:center;background:#071920;border-top:1px solid #1c3940;margin:0;padding:9px 18px 11px;font-size:10px}kbd{color:#c5ddd7;font-family:var(--font-body);background:#0d3038;border:1px solid #35666b;border-radius:3px;padding:1px 4px;font-size:.95em;font-weight:700;line-height:1.2;display:inline-block}.overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04161bd9;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0;overflow-y:auto}.start-panel,.pause-panel{background:var(--ivory);width:min(620px,100%);color:var(--ink);border:3px solid #e1bb67;border-radius:15px;padding:28px 30px;position:relative;box-shadow:0 24px 80px #000a}.start-logo{width:180px;height:auto;margin:0 auto 12px;display:block}.start-logo-link{width:-moz-fit-content;width:fit-content;margin:0 auto 12px}.start-logo-link .start-logo{margin:0}.start-panel .eyebrow,.pause-panel .eyebrow{color:#317d7c;text-align:center}.start-panel h2,.pause-panel h2{color:var(--ink);font:400 44px/1 var(--font-display);text-align:center;margin:6px 0 8px}.start-lede{color:#17454b;text-align:center;margin:0 0 12px;font-size:14px;font-weight:700;line-height:1.4}.start-panel>p,.pause-panel>p{color:#4c6967;margin:0 0 14px;font-size:13px;line-height:1.5}.primary{background:var(--button);width:100%;min-height:48px;color:var(--white);font:400 20px/1.1 var(--font-display);border:1px solid #287d83;border-radius:8px;justify-content:center;align-items:center;gap:12px;padding:13px 19px;text-decoration:none;display:inline-flex;box-shadow:0 3px #07373f}.primary:hover{background:var(--button-hover)}.start-note{text-align:center;color:#627a75!important;margin:10px 0 0!important;font-size:11px!important;line-height:1.4!important}.start-link{color:#317d7c;text-align:center;margin-top:8px;font-size:11px;display:block}.start-link:hover{color:#17454b}.pause-panel{text-align:center;width:min(430px,100%);padding:26px 28px}.pause-panel h2{font-size:38px}.pause-note{text-align:center;color:#627a75!important;margin:12px 0 0!important;font-size:11px!important}.toast{background:var(--ivory);width:100%;color:var(--ink);border:1px solid #c8b676;border-radius:9px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:relative;box-shadow:0 3px 12px #0003}.toast-copy{overflow-wrap:anywhere;flex:1;min-width:0}.toast strong{font:400 15px/1.1 var(--font-display);display:block}.toast p{color:#4c6967;margin:2px 0 0;font-size:11px;line-height:1.25}.toast-dismiss{color:#4c6967;background:0 0;border:0;border-radius:50%;flex:none;width:32px;height:32px;font-size:22px;line-height:1}.toast-dismiss:hover{background:#102a3214}.noscript{max-width:620px;color:var(--white);text-align:center;margin:24px auto;font-size:14px}@media (min-width:1200px){.main,.game-header{padding-left:37px;padding-right:37px}.play-layout,.under-arena{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.recruit-panel{padding:22px}.recruit-title .description{margin-bottom:21px}.stat-row{padding:10px 0}.cardtray{padding:14px 23px 16px}.tray-body{grid-template-columns:61px minmax(0,1fr) 145px;gap:22px}.hand{gap:18px}.play-card{width:93px;height:128px}.play-card img{width:84px;height:115px}.hit-value{font-size:54px}.combo-name{font-size:22px}.hand-math,.hand-detail{font-size:11px}}@media (max-width:950px) and (min-width:621px){.play-layout,.under-arena{grid-template-columns:minmax(0,1fr) 220px}.hero{width:165px;height:247px;left:0}.monster{width:175px;height:262px;right:0}.hit-float{font-size:38px;top:63px;right:16%}.flush-banner{font-size:23px;top:63px;left:43%}.cardtray{padding:12px 12px 13px}.tray-body{grid-template-columns:33px minmax(0,1fr) 92px;gap:8px}.deck{width:31px;height:70px}.deck img{width:31px;height:43px;top:5px;left:1px}.deck:before,.deck:after{width:29px;height:41px;top:8px}.deck small{font-size:8px;bottom:5px}.hand{gap:7px}.play-card{border-radius:5px;width:59px;height:82px}.play-card img{width:51px;height:70px;inset:7px 2px 0}.play-card .rank{font-size:24px;top:4px;left:5px}.card-name{margin-top:7px;font-size:9px}.hand-result{padding-left:10px}.combo-name{font-size:17px}.hit-value{font-size:39px}.hit-value small{font-size:8px}.hand-math{font-size:9px}.tray-title{letter-spacing:1px;font-size:9px}.practice-rules p{font-size:11px}}@media (max-width:700px) and (min-width:621px){.play-layout,.under-arena{grid-template-columns:minmax(0,1fr) 200px;gap:12px}.cardtray{padding:10px}.tray-body{grid-template-columns:30px minmax(0,1fr) 80px;gap:6px}.deck{width:28px;height:64px}.deck img{width:28px;height:40px}.deck:before,.deck:after{width:26px;height:38px}.hand{gap:6px}.play-card{width:55px;height:76px}.play-card img{width:48px;height:65px}.play-card .rank{font-size:22px}.hand-result{padding-left:8px}.combo-name{font-size:15px}.hit-value{font-size:34px}.hand-math{font-size:8px}.recruit-panel{padding:15px 12px}.recruit-title h3{font-size:24px}.upgrade-button .button-head{font-size:16px}.teacher-note{padding-left:64px}}@media (max-width:820px){.game-header{gap:13px;height:95px;padding:11px 18px}.logo{width:145px;height:65px}.brand{padding-left:13px}.brand h1{font-size:27px}.brand p{letter-spacing:1px;font-size:9px}.wallet{gap:6px;min-width:95px;padding-right:2px}.wallet strong{font-size:28px}.wallet img{width:29px;height:29px}.main{padding:18px}.assignment h2{font-size:27px}.location{display:none}.hero{width:180px;height:270px;left:-4%}.monster{width:183px;height:274px;right:-5%}.hit-float{font-size:36px;top:96px;right:13%}.ground-shadow{width:100px}.vs{font-size:20px;left:45%}.teacher-note{padding-left:70px}.teacher-note p{font-size:11px}.footer{gap:10px;padding-left:18px;padding-right:18px}.footer-text strong{font-size:15px}.footer-text small{font-size:10px}.steam-link{padding:10px;font-size:14px}.overlay{padding:22px}}@media (max-width:620px){body{padding:8px}.game{border-radius:12px}.game-header{gap:10px;height:89px;padding:10px 13px}.logo{width:116px;height:55px}.brand{padding-left:10px}.brand h1{letter-spacing:.3px;margin-bottom:5px;font-size:20px}.brand p{letter-spacing:.9px;max-width:105px;font-size:8px;line-height:1.3}.wallet{gap:4px;min-width:0;padding-left:0}.wallet img{width:22px;height:22px}.wallet strong{font-size:24px}.wallet small{letter-spacing:.7px;font-size:8px}.header-tools{display:none}.tray-tools{display:flex}.icon-button.small{width:40px;height:40px}.main{padding:16px 13px 14px}.assignment{margin-bottom:14px;display:block}.assignment h2{margin-top:5px;font-size:28px}.assignment p{margin-top:5px;font-size:11px}.route{gap:3px;padding:0;position:absolute;top:-4px;right:0}.route span{width:16px;height:16px;font-size:8px}.play-layout{flex-direction:column;gap:12px;display:flex}.arena{height:300px}.arena:before{background-position:center, var(--arena-bg-mobile-position,48% 50%);transform:none}.auto-badge{padding:6px 8px;font-size:9px;top:12px;left:12px}.hero{width:169px;height:253px;bottom:40px;left:0}.monster{width:176px;height:264px;bottom:39px;right:-2%}.hit-float{font-size:36px;top:51px;right:11%}.flush-banner{font-size:25px;top:58px;left:45%}.spark{width:19px;height:3px;top:151px;right:21%}.combat-labels{gap:13px;bottom:13px;left:12px;right:12px}.combat-labels h3{font-size:18px}.cardtray{padding:12px 13px}.tray-top{gap:7px;margin-bottom:15px}.tray-title{letter-spacing:1.1px;font-size:9px}.tray-body{grid-template-columns:33px minmax(0,1fr);gap:11px}.deck{width:32px;height:73px;margin:0}.deck img{width:34px;height:47px;top:3px;left:1px}.deck:before,.deck:after{width:31px;height:44px;top:7px}.deck small{letter-spacing:.5px;font-size:8px;bottom:4px}.hand{justify-content:space-evenly;gap:10px}.play-card{border-radius:6px;width:71px;height:98px}.play-card img{width:63px;height:87px;inset:7px 2px 0}.play-card .rank{font-size:26px;top:5px;left:6px}.card-name{margin-top:8px;font-size:10px}.hand-result{border-top:1px solid #346168;border-left:0;grid-column:1/-1;align-items:center;gap:13px;margin-top:3px;padding:11px 0 0;display:flex}.combo-name{font-size:20px}.hit-value{align-items:center;gap:7px;margin:0 0 0 auto;font-size:35px;display:flex}.hit-value small{width:41px;font-size:8px;line-height:1.2}.hand-math{max-width:110px;margin:0;font-size:10px;line-height:1.3}.hand-detail{margin-top:9px;font-size:10px;line-height:1.4}.recruit-panel{padding:17px 14px}.recruit-title h3{font-size:27px}.under-arena{flex-direction:column;gap:10px;display:flex}.teacher-note{min-height:70px;padding-left:70px}.goal-panel{min-height:0}.footer{flex-wrap:wrap;gap:10px;padding:13px 16px}.mini-cards{width:70px;height:44px}.mini-card{width:28px;height:40px}.mini-card:nth-child(2){left:20px}.mini-card:nth-child(3){left:40px}.mini-card img{width:23px;height:31px}.footer-text{flex:1}.steam-link{width:100%;margin-left:0;padding:11px;font-size:15px}.keyboard-help{padding:8px 12px 10px;font-size:9px}.overlay{align-items:flex-start;padding:14px 10px}.start-panel,.pause-panel{padding:22px 18px}.start-logo{width:150px}.start-panel h2{font-size:36px}.pause-panel h2{font-size:32px}}@media (max-width:700px) and (min-width:621px){.logo{width:135px;height:61px}.brand h1{font-size:24px}.wallet{min-width:85px}}@media (max-width:380px){.logo{width:102px;height:49px}.brand h1{font-size:17px}.wallet strong{font-size:22px}.wallet img{width:20px;height:20px}}@media (max-width:360px){.brand,.route{display:none}.logo{width:99px}.wallet strong{font-size:21px}.wallet img{width:19px;height:19px}.assignment h2{font-size:25px}.hero{width:155px;height:232px;left:-4%}.monster{width:161px;height:241px;right:-11px}.arena{height:280px}.flush-banner{font-size:22px;left:42%}.hand{gap:7px}.play-card{width:61px;height:84px}.play-card img{width:54px;height:74px}.play-card .rank{font-size:23px}.tray-body{gap:8px}.cardtray{padding-left:10px;padding-right:10px}.combo-name{font-size:18px}.hand-math{max-width:91px;font-size:9px}.hand-result{gap:9px}.tray-title{letter-spacing:.8px;font-size:8px}.hand-count{display:none}.recruit-title h3{font-size:24px}.upgrade-button .button-head{font-size:17px}.start-panel h2{font-size:31px}.start-panel,.pause-panel{padding:18px 14px}}body{padding:8px 12px}.game-header{border-bottom-width:1px;gap:16px;height:72px;padding:8px 22px}.logo{width:122px;height:54px}.brand{padding-left:16px}.brand h1{margin:0;font-size:27px}.wallet{padding-right:10px}.wallet strong{font-size:28px}.main{padding:14px 22px}.notice-stack:not(:has(>:not([hidden]))){display:none}.assignment{align-items:center;gap:20px;min-height:64px;margin-bottom:12px}.assignment-copy{flex:1}.assignment-toast-slot{flex:1;min-width:0;max-width:340px;height:64px;position:relative}.assignment-toast-slot .toast{max-height:100%;position:absolute;top:50%;transform:translateY(-50%)}.assignment-toast-slot .toast-copy{max-height:50px;overflow-y:auto}@media (max-width:1200px){.assignment-toast-slot{display:contents}.assignment-toast-slot .toast{z-index:50;width:min(460px,100% - 24px);max-height:calc(100dvh - 24px);padding:8px 10px;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.assignment-toast-slot .toast-copy{max-height:calc(100dvh - 50px)}}.assignment h2{font-size:26px}.assignment .eyebrow{margin:0 0 4px;font-size:10px}.assignment p{font-size:11px}.route{flex:none;gap:4px;margin:0;padding:0}.route span{width:20px;height:20px}.goal-panel{flex-direction:row;flex:none;align-items:center;gap:14px;min-height:60px;padding:8px 12px}.goal-summary{min-width:125px;max-width:180px}.goal-head{gap:8px}.goal-eyebrow{letter-spacing:.8px;font-size:9px}.goal-pips{gap:4px;margin-top:4px}.goal-count{white-space:nowrap}.goal-pips span{width:16px;height:16px;font-size:10px}.next-button{white-space:nowrap;width:auto;min-height:40px;margin:0;padding:8px 12px;font-size:16px}.play-layout{grid-template-rows:max-content 1fr;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:10px 14px}.battle-column{grid-area:1/1;gap:10px}.arena{height:260px}.hero{width:148px;height:222px;bottom:36px;left:13%}.monster{width:154px;height:231px;bottom:35px;right:12%}.ground-shadow{width:120px;bottom:43px}.hit-float{font-size:38px;top:42px}.spark{top:110px}.flush-banner{font-size:26px;top:48px}.cardtray{padding:10px 16px}.tray-top{margin-bottom:9px}.tray-body{grid-template-columns:45px minmax(0,1fr) 125px;gap:14px}.hand{gap:14px}.play-card{width:75px;height:103px}.play-card img{width:66px;height:91px;inset:7px 3px 0}.card-name{margin-top:7px}.combo-name{font-size:19px}.hit-value{font-size:42px}.hand-math{font-size:10px}.hand-detail{margin-top:7px;font-size:10px}.recruit-panel{grid-area:1/2/span 2;padding:16px}.recruit-title h3{margin-bottom:10px;font-size:25px}.stat-row{padding:8px 0}.upgrade-button{margin-top:6px;padding:8px 10px}.upgrade-button .button-head{font-size:18px}.under-arena{grid-area:2/1;min-width:0;margin-top:0;display:block}.teacher-note{min-height:56px;padding:8px 14px 8px 76px}.teacher-note>div:last-child{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.teacher-note small{letter-spacing:.8px;flex:none;margin:0}.teacher-note p{flex:240px;min-width:0;font-size:12px}.teacher-avatar{width:52px;height:60px;left:12px}.teacher-avatar img{object-fit:contain;width:100%;height:100%;inset:0}.footer{gap:14px;min-height:46px;padding:6px 22px}.footer-text strong{margin:0;font-size:14px}.steam-link,.help-button{min-height:34px;padding:6px 10px;font-size:14px}.help-button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px}.help-button:hover{color:var(--ivory);background:#123b42}.help-dialog{background:var(--ivory);width:min(540px,100% - 28px);max-height:calc(100dvh - 28px);color:var(--ink);border:2px solid #e1bb67;border-radius:12px;padding:22px;box-shadow:0 20px 80px #0008}.help-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04161bd9}.welcome-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04161bd9}.help-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.help-heading h2{font:400 28px/1.1 var(--font-display);margin:0}.help-dialog h3{color:#0e5a63;font:400 20px/1.2 var(--font-display);margin:20px 0 6px}.help-dialog p{font-size:13px;line-height:1.5}.restart-dialog h2{font:400 28px/1.1 var(--font-display);margin:0}.restart-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.restart-cancel{color:#0e5a63;background:0 0;border:1px solid #3c7378;border-radius:6px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700}.help-dialog .keyboard-help{color:#4c6967;text-align:left;background:0 0;border-color:#102a3224;margin:18px 0 0;padding:14px 0 0;font-size:12px}.welcome-dialog{background:var(--ivory);width:min(620px,100% - 28px);max-width:none;max-height:calc(100dvh - 28px);color:var(--ink);border:0;border-radius:15px;padding:0;box-shadow:0 24px 80px #000a}.welcome-dialog .start-panel{width:100%;box-shadow:none}.welcome-dialog h2:focus{outline:none}.welcome-dialog .start-note{margin:0 0 16px!important}.welcome-link{color:#0e5a63;text-align:left;background:0 0;border:1px solid #3c7378;border-radius:6px;min-height:44px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:700}.welcome-link:hover{background:#102a320c}@media (min-width:621px) and (max-width:1100px){.assignment{flex-wrap:wrap;gap:10px 16px}.assignment-copy{flex-basis:260px}.goal-panel{margin-left:auto}.play-layout{grid-template-columns:minmax(0,1fr) 230px}.hero{left:3%}.monster{right:2%}.tray-body{grid-template-columns:32px minmax(0,1fr) 105px;gap:10px}.deck{width:28px;display:block}.hand{gap:8px}.play-card{width:62px;height:86px}.play-card img{width:53px;height:74px}.combo-name{font-size:17px}}@media (min-width:621px) and (max-width:950px){.goal-panel{justify-content:space-between;width:100%;margin-left:0}}@media (min-width:621px) and (max-width:760px){.main{padding:12px}.play-layout{grid-template-columns:minmax(0,1fr) 200px;gap:10px}.cardtray{padding:10px}.tray-body{grid-template-columns:minmax(0,1fr)}.hand-result{border-left:0;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0 0;display:flex}.hit-value{margin:0;font-size:28px}.hand-math{margin:0}.recruit-panel{padding:12px}.upgrade-button .button-head{font-size:16px}}@media (max-width:620px){body{padding:6px}.game-header{gap:9px;height:62px;padding:6px 12px}.logo{width:92px;height:44px}.brand{padding-left:9px}.brand h1{font-size:19px}.wallet{gap:4px;padding:0}.wallet strong{font-size:23px}.main{padding:12px}.assignment{flex-wrap:wrap;gap:10px;display:flex}.assignment-copy{flex-basis:100%;padding-right:0}.assignment h2{margin-top:0;font-size:26px}.route{gap:3px;position:absolute;top:0;right:0}.route span{width:16px;height:16px;font-size:8px}.goal-panel{justify-content:space-between;gap:10px;width:100%;min-height:56px;padding:7px 10px}.goal-summary{flex:1;min-width:0}.next-button{min-height:40px;padding:8px 10px;font-size:16px}.play-layout{grid-template-rows:none;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.battle-column,.recruit-panel,.under-arena{grid-area:auto}.arena{height:235px}.hero{width:136px;height:204px;bottom:35px;left:0}.monster{width:142px;height:213px;bottom:34px;right:-1%}.auto-badge{top:10px;left:10px}.hit-float{top:42px;right:12%}.flush-banner{font-size:23px;top:45px;left:47%}.spark{top:112px}.cardtray{padding:9px 12px}.tray-top{margin-bottom:10px}.tray-title{letter-spacing:.7px;font-size:9px}.tray-body{grid-template-columns:minmax(0,1fr);gap:8px}.deck{display:block}.hand{justify-content:center;gap:20px}.play-card{width:67px;height:92px}.play-card img{width:58px;height:80px}.hand-result{gap:10px;margin:0;padding:7px 0 0}.combo-name{font-size:18px}.hit-value{font-size:30px}.hand-math{max-width:100px;font-size:10px}.hand-detail{margin-top:6px;line-height:1.3}.recruit-panel{width:100%;padding:12px}.recruit-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.recruit-title h3{margin:0;font-size:22px}.recruit-title .eyebrow{margin:0}.recruit-stats{flex-wrap:wrap;gap:0 16px;margin:5px 0 0;display:flex}.stat-row{flex:auto;gap:8px;padding:5px 0;font-size:11px}.stat-row strong{font-size:20px}.upgrade-button,.upgrade-button+.upgrade-button{margin-top:8px;padding:9px 10px}.upgrade-button .button-head{font-size:18px}.upgrade-button small{margin-top:4px;font-size:11px}.teacher-note>div:last-child{display:block}.teacher-note small{margin-bottom:3px}.teacher-note p{font-size:12px}.footer{flex-wrap:wrap;gap:10px;padding:7px 12px}.footer-text{display:none}.steam-link{width:auto;margin:0 auto 0 0}.steam-link,.help-button{min-height:40px}}@media (min-width:361px) and (max-width:620px){#assignment-eyebrow{max-width:calc(100% - 155px);line-height:1.4}}.assignment-progress{white-space:nowrap;display:inline-block}@media (max-width:360px){.steam-link{flex-basis:100%;justify-content:space-between}.footer .help-button{flex:1}.route{display:none}.hero{width:128px;height:192px;left:-4%}.monster{width:134px;height:201px;right:-3%}.hand{gap:16px}.hand-count{display:none}.tray-title{font-size:8px}.next-button{font-size:14px}.goal-eyebrow{letter-spacing:0}}@media (max-width:1100px){.deck{width:28px;height:58px;margin:0}.deck img{width:28px;height:40px}.deck:before,.deck:after{width:27px;height:39px}}@media (max-width:760px){.tray-body{grid-template-columns:32px minmax(0,1fr);gap:8px}.hand{gap:8px}.hand-result{grid-column:1/-1}}@media (max-width:360px){.play-card{width:58px;height:82px}.play-card img{width:49px;height:70px}}.yearbook-dialog{width:min(820px,100% - 24px);max-width:none}.academy-choice{background:#fff9e4;border:1px solid #102a3233;border-radius:8px;margin:12px 0;padding:12px}.academy-choice h3{margin:0 0 6px}.academy-choice p{margin:6px 0}.academy-choice button{color:#fff9e4;background:#0e5a63;border:1px solid #0e5a63;border-radius:5px;width:100%;min-height:44px;padding:8px;font-weight:700}.academy-choice button:disabled{color:#535e5b;opacity:1;background:#e3dfd1;border-color:#a4aca4}#academy-feedback{min-height:1.5em;font-weight:700}.enrollment-preview{background:#fff9e4;border:1px solid #102a3233;border-radius:8px;margin:14px 0;padding:12px}.enrollment-class-choice{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.enrollment-class-portrait{width:64px;height:96px;position:relative}.enrollment-class-portrait img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.enrollment-class-choice select{width:100%;min-height:44px;color:var(--ink);background:#fff9e4;margin-top:6px}.enrollment-preview h3{margin:0 0 6px}.enrollment-preview .preview-note{margin:0 0 10px;font-size:12px}.enrollment-preview dl{margin:0;font-size:13px}.enrollment-preview dl div{flex-wrap:wrap;justify-content:space-between;gap:3px 12px;padding:5px 0;display:flex}.enrollment-preview dd{color:#0e5a63;margin:0;font-weight:700}.enrollment-preview #enrollment-first-encounter{margin:10px 0 0;font-size:12px}.enrollment-rules{padding-left:20px;font-size:13px;line-height:1.5}.yearbook-list{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.yearbook-entry{background:#fff9e4;border:1px solid #102a3233;border-radius:9px;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:14px;display:grid}.yearbook-portrait{align-self:start;width:78px;height:117px;margin-top:8px;position:relative}.yearbook-portrait img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.yearbook-entry h3{font:24px/1.05 var(--font-display);overflow-wrap:anywhere;margin:4px 0 8px}.yearbook-entry .yearbook-course,.yearbook-entry .yearbook-date{margin:0;font-size:11px}.yearbook-entry blockquote{margin:0 0 12px;font-size:13px}.yearbook-entry dl{margin:0 0 12px;font-size:12px}.yearbook-entry dl div{flex-wrap:wrap;justify-content:space-between;gap:2px 8px;display:flex}.yearbook-entry dd{margin:0;font-weight:700}@media (max-width:400px){.yearbook-entry{grid-template-columns:54px minmax(0,1fr);gap:8px;padding:10px}.yearbook-portrait{width:54px;height:81px}}@media (max-width:900px){.game-header{grid-template-rows:42px 11px;grid-template-columns:minmax(88px,1fr) auto auto;align-content:center;gap:0 10px;display:grid}.game-header .logo-link{grid-area:1/1;justify-self:start}.game-header .logo{width:122px;height:42px}.game-header .brand{border:0;grid-area:2/1;padding:0;display:block}.game-header .brand h1{letter-spacing:1px;font-size:11px;line-height:11px}.game-header .wallet{grid-area:1/2/3;min-width:0;margin:0;padding:0}.game-header .share-button{grid-area:1/3/3}.game-header .header-tools{display:none}.tray-tools{display:flex}}@media (max-width:620px){.game-header{grid-template-rows:36px 11px;column-gap:8px}.game-header .logo{width:88px;height:36px}.game-header .share-button{gap:4px;padding:8px;font-size:12px}}@media (max-width:360px){.game-header .wallet strong{font-size:18px}.game-header .wallet img{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){.attack-effects{display:none}.arena.is-attacking .hero{animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.arena.is-hit .hit-float{opacity:1}.arena.is-pickpocket .pickpocket-float{opacity:1;animation:none;transform:none}.arena.is-hit.is-defeated .monster:not(.grave-marker){opacity:0;animation:none}.arena.is-defeated .grave-marker{opacity:1;animation:none;transform:none}}
