@import url('./tokens.css');
*{box-sizing:border-box}html{min-width:320px;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif}body{margin:0;background:radial-gradient(ellipse at 47% 48%,#16323b 0,transparent 56%),var(--ink);min-height:100vh}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{touch-action:manipulation}button svg{display:block}a{color:inherit}button:active{transform:translateY(1px)}.shell{max-width:1530px;margin:auto;padding:26px 4.1vw 0}.topbar{height:55px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Georgia,serif;font-size:19px;letter-spacing:1px;font-weight:bold}.brand-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:21px}.brand-dot{color:var(--gold)}.toplinks{display:flex;align-items:center;gap:27px}.plain-button{background:none;border:0;padding:6px 0;color:var(--muted);font-size:11px;letter-spacing:1.3px;text-transform:uppercase}.plain-button:hover{color:var(--gold)}.virtual-label{display:flex;align-items:center;gap:7px;color:#a6b4b4;font-size:9px;letter-spacing:1.6px;padding-top:6px}.virtual-label:before{content:'';width:5px;height:5px;border-radius:50%;background:#87b994}.workspace{display:grid;grid-template-columns:minmax(200px,1fr) minmax(350px,430px) minmax(180px,.8fr);align-items:center;gap:4.5vw;min-height:810px;padding:33px 0}.intro{align-self:center;padding-bottom:25px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase}.eyebrow:before{content:'';width:23px;height:1px;background:var(--gold)}h1{font:normal clamp(40px,4.4vw,67px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-2.7px;margin:25px 0;color:#f3eee0}h1 em{font-weight:normal;color:var(--gold)}.intro-copy{font-size:12px;color:var(--muted);line-height:1.9;max-width:245px;margin:25px 0 30px}.line-button{border:1px solid #627168;background:none;padding:14px 20px;font-size:9px;letter-spacing:1.6px;display:flex;align-items:center;gap:32px;transition:border-color .2s,color .2s}.line-button:hover{color:var(--gold);border-color:var(--gold)}.line-button span{font-size:18px}.expedition{margin-top:66px;max-width:250px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;letter-spacing:1.5px;margin-bottom:15px}.section-heading b{font-weight:normal;color:var(--gold)}.hall-choice{background:none;border:0;border-top:1px solid var(--line);width:100%;display:flex;gap:13px;align-items:center;text-align:left;padding:17px 0;color:var(--muted)}.hall-choice:last-child{border-bottom:1px solid var(--line)}.hall-choice .number{font-size:9px;color:#61787b;font-family:Georgia,serif}.hall-choice strong{font-size:10px;font-weight:normal;letter-spacing:1px;display:block}.hall-choice small{font-size:9px;display:block;margin-top:5px;color:#627a7b}.hall-choice .arrow{margin-left:auto;color:transparent}.hall-choice.active{color:var(--paper)}.hall-choice.active .arrow{color:var(--gold)}.hall-choice.active .number{color:var(--gold)}.game-wrap{position:relative;width:100%;max-width:430px;margin:auto}.game-topline{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:var(--muted);letter-spacing:1.8px;margin-bottom:13px}.live-dot{color:var(--gold);font-size:10px}.game{position:relative;border:1px solid #62705a;border-radius:8px;background:#0c252b;box-shadow:0 20px 80px #0005;overflow:hidden;isolation:isolate}.game-hud{height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(100deg,#10272e,#0a1c24);border-bottom:1px solid #ab9c6460;position:relative;z-index:3}.game-logo{width:85px;max-height:56px;object-fit:contain}.hud-balance{text-align:right}.hud-balance small{display:block;font-size:8px;letter-spacing:2px;color:#9fb0ac;margin-bottom:6px}.hud-balance strong{color:#f6e4b0;font-size:22px;font-weight:400;font-variant-numeric:tabular-nums;font-family:Georgia,serif}.hud-balance strong:before{content:'◈';font-size:13px;color:var(--gold);margin-right:7px}.arena{position:relative;aspect-ratio:360/518;background:#234239;overflow:hidden;touch-action:none;cursor:crosshair}.arena-background{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;filter:saturate(.75) brightness(.8);pointer-events:none}.arena:after{content:'';position:absolute;inset:0;background:linear-gradient(#09292218,#05242905 40%,#041d28bb);pointer-events:none;z-index:1}.cloud-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 15%,#fff6ba22,transparent 54%);pointer-events:none}.crystal-meter{position:absolute;left:12px;top:14px;z-index:5;background:#0b262dcc;border:1px solid #b9aa654d;padding:9px 10px;border-radius:4px;display:flex;gap:8px;align-items:center;pointer-events:none;backdrop-filter:blur(10px)}.crystal-meter img{width:22px;height:29px;object-fit:contain;filter:drop-shadow(0 0 7px #ffc95b88)}.meter-title{font-size:6px;letter-spacing:1.6px;color:#ddcfaa}.meter-number{font-size:13px;color:#f4e9c9;margin-top:3px;font-family:Georgia,serif}.meter-number span{font-family:Arial,sans-serif;color:#a4b0a6;font-size:8px}.meter-track{height:2px;background:#627668;width:72px;margin-top:5px}.meter-track i{display:block;height:100%;background:var(--gold);transition:width .3s}.hall-badge{position:absolute;top:18px;right:12px;z-index:5;display:flex;gap:5px;align-items:center;font-size:7px;letter-spacing:1.2px;color:#e1e4cc;text-shadow:0 1px 6px #000}.hall-badge:before{content:'';width:4px;height:4px;background:#a4cdad;border-radius:50%}.dragons{position:absolute;inset:0;z-index:2;pointer-events:none}.dragon{pointer-events:auto;position:absolute;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;transform:translate(-50%,-50%);will-change:left,top;outline-offset:-2px}.dragon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 4px #082a3880);pointer-events:none}.dragon .creature-name{position:absolute;bottom:-7px;font-size:6px;letter-spacing:1px;text-transform:uppercase;color:#e9efdc;white-space:nowrap;opacity:0;transition:opacity .2s;text-shadow:0 1px 3px #000}.dragon:hover .creature-name,.dragon:focus-visible .creature-name,.dragon.locked .creature-name{opacity:1}.dragon.locked:after{content:'';position:absolute;inset:15%;border:1px solid #ffdf85;border-radius:50%;box-shadow:0 0 14px #ffcf6666}.dragon.hit img{filter:brightness(1.8) drop-shadow(0 0 8px #ffe18d)}.dragon-health{position:absolute;bottom:0;width:32px;height:2px;background:#071e2a99;opacity:0}.dragon:hover .dragon-health,.dragon.locked .dragon-health{opacity:1}.dragon-health i{display:block;height:100%;background:#e7c976}.dragon-special{z-index:1}.dragon-special img{filter:drop-shadow(0 0 15px #ffd27166)}.effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}.aim-line{position:absolute;left:50%;bottom:12%;width:1px;height:66%;transform-origin:bottom;opacity:0;z-index:2;background:linear-gradient(transparent,#f3d58d77);pointer-events:none}.aim-line.active{opacity:.65}.cannon{position:absolute;width:85px;height:95px;left:50%;top:88%;transform:translate(-50%,-50%);z-index:4;pointer-events:none;filter:drop-shadow(0 8px 10px #0005)}.cannon img{width:100%;height:100%;object-fit:contain;transform-origin:50% 65%}.cannon-glow{position:absolute;left:23px;top:15px;width:38px;height:38px;border-radius:50%;background:#a6f3ff33;filter:blur(10px)}.arena-hint{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);z-index:5;font-size:8px;letter-spacing:2px;background:#0c2838b0;border:1px solid #f4e2a533;color:#f4eedb;padding:11px 14px;pointer-events:none;white-space:nowrap;transition:opacity .3s}.arena-hint.hidden{opacity:0}.side-tools{position:absolute;bottom:52px;left:10px;z-index:5;display:flex;flex-direction:column;gap:9px}.side-tools.right{left:auto;right:10px}.tool{border:1px solid #c1b17677;border-radius:5px;width:44px;min-height:48px;background:linear-gradient(145deg,#1a3845e6,#091c29e6);padding:7px 3px 5px;text-align:center;box-shadow:0 3px 8px #0003}.tool svg{margin:auto;width:19px;height:19px;color:#d5c38a}.tool span{display:block;font-size:6px;letter-spacing:1px;margin-top:4px;color:#e4e1c7;text-transform:uppercase}.tool small{display:block;font-size:6px;color:#93afaf;margin-top:2px}.tool[aria-pressed="true"]{border-color:#f5d38c;background:#795e35bd}.tool:hover{border-color:#e8d49b}.game-controls{height:78px;display:flex;align-items:center;gap:10px;padding:12px;background:#10262c;position:relative;z-index:5;border-top:1px solid #b2a36b66}.power-controls{display:flex;gap:7px;align-items:center}.power-step{width:29px;height:32px;background:#1d3539;border:1px solid #4c6159;border-radius:4px;font-size:19px;color:#e5d8ad}.power-display{text-align:center;width:44px}.power-display small{font-size:6px;letter-spacing:1.6px;color:#91a7a3;display:block}.power-display strong{display:block;font-size:18px;color:#f0dfad;font-weight:normal;font-family:Georgia,serif;margin-top:4px}.fire-button{flex:1;height:45px;border:1px solid #e7c67c;background:linear-gradient(100deg,#e7d39a,#bea462);color:#152628;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:2px;display:flex;gap:9px;align-items:center;justify-content:center}.fire-button svg{width:18px;height:18px}.fire-button:hover{background:#f2dda6}.utility-button{background:none;border:1px solid #47615d;height:32px;width:29px;display:grid;place-items:center;border-radius:4px;color:#a5bab2}.utility-button svg{width:14px;height:14px}.game-status{display:flex;align-items:center;justify-content:space-between;padding:10px 4px 0;gap:8px;color:#829995;font-size:8px;letter-spacing:.4px;min-height:29px}.game-status .sound{background:none;border:0;color:#9bb1a9;display:flex;align-items:center;gap:5px;font-size:7px;letter-spacing:1px;padding:4px}.sound svg{width:12px;height:12px}.right-panel{align-self:center;padding-bottom:0}.right-panel .section-heading{margin-bottom:22px}.bestiary-card{position:relative;padding:10px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}.bestiary-card .feature-art{height:95px;width:100%;object-fit:contain;filter:drop-shadow(0 4px 20px #c58e2929);margin-bottom:5px}.feature-title{display:flex;justify-content:space-between;gap:5px}.feature-title h2{font:normal 20px Georgia,serif;margin:0;color:#e7dfc9}.feature-title span{font-size:8px;color:var(--gold);align-self:center;white-space:nowrap}.bestiary-card p{color:#8aa19c;font-size:10px;line-height:1.8;margin:10px 0 0;max-width:195px}.feature-tags{margin-top:13px;font-size:7px;letter-spacing:1.4px;color:#6f8e87}.practice-button{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:27px;padding:12px 0;background:none;border:0;color:var(--gold);font-size:8px;letter-spacing:1.3px;text-align:left}.practice-button span{font-size:17px}.local-caption{color:#647f79;font-size:8px;line-height:1.7;margin-top:10px}.page-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 24px;color:#69817e;font-size:8px;letter-spacing:.7px}.page-footer span:first-child{color:#9bafa7}.toast{position:absolute;top:83px;left:50%;transform:translate(-50%,-12px);z-index:12;pointer-events:none;background:#071f2ded;border:1px solid #c4aa6e88;border-radius:5px;color:#f8e7b9;max-width:90%;padding:10px 15px;font-size:9px;line-height:1.5;text-align:center;opacity:0;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.practice-banner{display:none;background:#ccae71;color:#122d33;text-align:center;font-size:8px;letter-spacing:.6px;padding:9px}.practice-banner button{background:none;border:0;text-decoration:underline;font-size:8px;margin-left:8px;color:#17333a}.game[data-practice="true"] .practice-banner{display:block}.game[data-paused="true"] .arena:before{content:'PAUSED';position:absolute;z-index:8;top:44%;left:50%;transform:translateX(-50%);padding:12px 25px;background:#07212de6;border:1px solid #bfa569;color:var(--gold);font-size:11px;letter-spacing:3px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#020e14c9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{position:relative;width:min(620px,100%);max-height:min(88vh,850px);overflow:auto;border:1px solid #8d895d;border-radius:7px;padding:32px;background:linear-gradient(135deg,#152f34,#0b2029);box-shadow:0 25px 100px #0008}.modal.wide{width:min(760px,100%)}.modal-close{position:absolute;right:16px;top:14px;background:none;border:0;font-size:24px;color:#a8b6a6;width:28px;height:28px}.modal .eyebrow{font-size:7px}.modal h2{font:normal 36px/1.1 Georgia,serif;letter-spacing:-1px;color:#f3e6c6;margin:18px 0}.modal-lead{font-size:11px;line-height:1.8;color:#9ab0a7;margin-bottom:24px}.help-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:24px}.help-tabs button{font-size:9px;letter-spacing:1px;padding:10px 0;background:none;border:0;color:#8da29a}.help-tabs button.active{color:var(--gold);border-bottom:1px solid var(--gold)}.help-content p,.help-content li{font-size:11px;line-height:1.8;color:#a9beb3}.help-content h3{font:normal 19px Georgia,serif;color:#e2d6b7;margin-top:25px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.guide-step{border:1px solid #70816c4d;border-radius:4px;padding:16px}.guide-step b{font:normal 25px Georgia,serif;color:var(--gold)}.guide-step strong{display:block;font-size:10px;font-weight:normal;margin:13px 0 8px;color:#e8dfc9}.guide-step p{font-size:10px;margin:0}.creature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.creature-tile{padding:12px 7px;background:#7a9a7b0b;border:1px solid #72856d3d;text-align:center;border-radius:4px}.creature-tile img{height:66px;width:100%;object-fit:contain}.creature-tile b{display:block;font-size:9px;font-weight:normal;margin-top:9px}.creature-tile span{display:block;margin-top:6px;font-size:10px;color:var(--gold);font-family:Georgia,serif}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.practice-card{background:#173638;border:1px solid #69806877;border-radius:4px;padding:15px 7px;min-height:125px}.practice-card:hover{border-color:var(--gold)}.practice-card img{height:65px;width:100%;object-fit:contain}.practice-card strong{font-size:9px;font-weight:normal;display:block;margin-top:10px;color:#ebdfbd}.practice-card small{font-size:8px;display:block;color:#8ea99c;margin-top:5px}.gold-button{border:1px solid #d8bd7a;background:#d9c385;color:#123039;border-radius:4px;font-size:9px;letter-spacing:1.5px;padding:13px 18px;min-width:120px}.history-table{border-collapse:collapse;width:100%;font-size:10px}.history-table td,.history-table th{border-bottom:1px solid #6b806133;padding:11px 3px;text-align:left;color:#a2b6ab}.history-table th{font-size:7px;letter-spacing:1px;color:#d6c496;font-weight:normal}.history-table td:last-child{text-align:right;color:#e6cd8c}.empty-history{padding:30px 0;color:#9cae9e;font-size:11px;text-align:center}.setting-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:11px;color:#c7d0b9;gap:10px}.setting-row small{display:block;font-size:9px;margin-top:6px;color:#88a39a}.toggle{border:1px solid #798267;border-radius:16px;padding:6px 13px;background:#21453f;font-size:8px;letter-spacing:1px}.toggle[aria-pressed="true"]{background:#bda76e;color:#102c30}.bonus-backdrop{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#031a24d9;backdrop-filter:blur(5px);padding:16px}.bonus-panel{border:1px solid #cbb572;background:#0e2c37f2;border-radius:7px;padding:25px 18px 18px;text-align:center;width:100%;box-shadow:0 0 55px #dbad3330}.bonus-panel .eyebrow{justify-content:center;font-size:7px}.bonus-panel .eyebrow:before{display:none}.bonus-panel h2{font:normal 36px/.95 Georgia,serif;color:#f1d181;margin:13px 0;letter-spacing:-1px}.bonus-panel h2 em{font-weight:normal}.bonus-panel p{font-size:9px;color:#b5c3ad;line-height:1.6;margin:12px 0}.bonus-score{font:normal 23px Georgia,serif;color:#f6df9c;margin:17px 0}.bonus-score small{font:8px Arial,sans-serif;color:#9db5a9;display:block;letter-spacing:2px;margin-bottom:7px}.crystal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.crystal-choice{min-height:69px;position:relative;border:1px solid #8a966645;background:#294a442e;border-radius:5px;padding:7px 3px}.crystal-choice:hover:not(:disabled){border-color:#e2c37c;background:#52643944}.crystal-choice img{width:40px;height:45px;object-fit:contain;filter:drop-shadow(0 0 6px #ffcd5866)}.crystal-choice span{display:block;font-size:10px;color:#f1d58b;min-height:11px;margin-top:2px}.crystal-choice:disabled{opacity:.75}.crystal-choice.picked{border-color:#d3b370;background:#9c86452a}.auto-options{display:flex;gap:10px}.auto-options button{flex:1;background:#244139;border:1px solid #8e956e80;border-radius:4px;padding:20px 8px;color:#ead8a7;font-size:19px;font-family:Georgia,serif}.auto-options small{font:8px Arial,sans-serif;color:#9cb6a8;display:block;letter-spacing:1px;margin-top:7px}.notice{font-size:9px;line-height:1.8;color:#9cae9b;background:#8c9b6910;border-left:2px solid #bca972;padding:12px;margin-top:20px}.fatal{padding:30px;text-align:center;font-size:13px;line-height:1.8;color:#f4dfad}.recovery-note{font-size:9px;color:#d7c28c}.storage-blocked{position:absolute;inset:72px 0 0;z-index:25;background:#0a242ded;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px}.storage-blocked h2{font:27px Georgia,serif;color:#ead5a1}.storage-blocked p{font-size:11px;color:#a1b7ab;line-height:1.8}.storage-blocked button{margin-top:15px}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.hidden{display:none!important}
@media(min-width:1650px){.workspace{min-height:850px;gap:80px}.intro-copy{font-size:13px}.game-wrap{max-width:445px}.shell{padding-top:35px}}
@media(max-width:1120px){.workspace{gap:28px;grid-template-columns:minmax(170px,1fr) minmax(340px,410px) minmax(140px,.75fr)}h1{font-size:47px}.intro-copy{font-size:11px}.bestiary-card p{font-size:9px}.feature-title h2{font-size:17px}.shell{padding-inline:28px}.toplinks{gap:19px}}
@media(max-width:920px){.workspace{grid-template-columns:minmax(165px,1fr) minmax(340px,420px);justify-content:center;gap:35px;min-height:0;padding-top:30px}.right-panel{display:none}.intro{padding-left:5px}.shell{max-width:820px}h1{font-size:50px}.expedition{margin-top:48px}.page-footer{margin-top:20px}}
@media(max-width:650px){.shell{padding:12px 14px 0}.topbar{height:45px;align-items:flex-start}.wordmark{font-size:15px;gap:7px;letter-spacing:.4px}.brand-icon{width:23px;height:23px;font-size:16px}.toplinks{gap:14px}.toplinks .virtual-label{display:none}.plain-button{font-size:8px;letter-spacing:1px;padding-top:5px}.workspace{display:block;padding:14px 0 0}.intro,.right-panel{display:none}.game-wrap{max-width:430px}.game-topline{font-size:7px;margin-bottom:9px}.game-status{font-size:7px;padding-top:7px}.page-footer{font-size:6px;padding:12px 0 14px;margin-top:12px;gap:15px}.page-footer span:last-child{max-width:145px;text-align:right}.game-hud{height:61px;padding:8px 13px}.game-logo{width:75px;max-height:46px}.hud-balance strong{font-size:21px}.hud-balance small{font-size:7px}.game-controls{height:69px;padding:10px;gap:8px}.arena{aspect-ratio:360/495}.tool{width:41px;min-height:46px}.side-tools{bottom:38px}.power-step{width:28px}.fire-button{height:43px}.modal-backdrop{padding:12px}.modal{padding:29px 22px;max-height:90dvh}.modal h2{font-size:31px}.guide-steps{gap:8px}.guide-step{padding:12px 9px}.guide-step p{font-size:9px}.guide-step strong{font-size:9px}.help-tabs{gap:16px}.help-tabs button{font-size:8px}.bonus-panel{padding:20px 15px 15px}.bonus-panel h2{font-size:33px}.crystal-grid{gap:7px}.crystal-choice{min-height:66px}}
@media(max-width:360px){.shell{padding-inline:9px}.wordmark{font-size:13px}.toplinks{gap:10px}.game-controls{gap:5px;padding-inline:8px}.power-controls{gap:4px}.power-step{width:24px}.power-display{width:38px}.fire-button{font-size:8px;letter-spacing:1.5px}.utility-button{width:26px}.arena{aspect-ratio:360/510}.modal{padding:25px 15px}.practice-grid{gap:6px}.creature-grid{gap:6px}}
@media(max-width:650px){.toplinks [data-action="bestiary"]{display:none}}
@media(max-height:560px) and (min-width:651px){.shell{padding-top:15px}.topbar{height:42px}.workspace{padding-top:20px;grid-template-columns:1fr 320px 1fr;gap:30px}.intro h1{font-size:40px}.expedition{margin-top:25px}.right-panel{display:block}.bestiary-card .feature-art{height:65px}.game-wrap{max-width:320px}.page-footer{margin-top:0}.game-hud{height:55px}.game-controls{height:65px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
