:root{color-scheme:dark;--ink:#120c1b;--panel:#21152c;--panel2:#2c1b3d;--border:#775576;--gold:#f2cc8a;--gold2:#ad7d48;--muted:#c8b7ca;--red:#eb5c76;--green:#7de7ac;--medieval:MedievalSharp,Georgia,serif;--reading:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{min-width:300px;min-height:100svh;margin:0;color:#fbf3e9;background:radial-gradient(ellipse at 50% -10%,#422547,#140e1e 60%,#0d0814);font-family:var(--reading);-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #facd8b;outline-offset:2px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,.fantasy{font-family:var(--medieval)}small{font-size:12px}img{max-width:100%}#app{min-height:100svh}.loading{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--gold);text-align:center;gap:12px;font-family:var(--medieval);font-size:clamp(26px,8vw,50px);padding:30px}.loading p,.loading small{font:13px/1.6 var(--reading);max-width:450px;color:var(--muted)}
.app-shell{max-width:1280px;margin:auto;padding:calc(8px + env(safe-area-inset-top)) clamp(10px,2.5vw,30px) calc(15px + env(safe-area-inset-bottom));min-height:100svh}.topbar{height:55px;display:flex;justify-content:space-between;gap:8px;align-items:center;position:relative;z-index:5}.logomark{border:0;padding:0;background:none;font:clamp(25px,5vw,36px) var(--medieval);color:#fff2db;text-shadow:2px 3px #6b243d;white-space:nowrap}.logomark span{color:#ee6679}.topbar-actions{display:flex;align-items:center;gap:8px}.wallet{display:inline-flex;align-items:center;gap:7px;border:1px solid #a37948;border-radius:100px;padding:5px 10px;background:#291b32ee;white-space:nowrap;font-size:13px}.goldcoin{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;background:radial-gradient(circle at 30% 20%,#fff4bd,#f1b451 57%,#955116);border:2px solid #fce29a;border-radius:50%;color:#85500d;box-shadow:0 0 15px #d5a55266}.iconbtn{width:39px;height:39px;background:linear-gradient(#3c2a4b,#21152b);border:1px solid #9c7652;color:#ffe3af;border-radius:12px;font-size:21px;display:grid;place-items:center}.eyebrow{font-size:11px;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:2px}.footnote{font:11px/1.5 var(--reading);color:#a99aaf;text-align:center;margin:8px 0}
/* Menu */
.menu-screen{max-width:940px;display:flex;flex-direction:column;gap:12px}.menu-hero{position:relative;height:clamp(280px,48svh,500px);border:1px solid #956f5f;border-radius:22px;background-image:linear-gradient(90deg,#160d2588,#14082144),var(--stage-bg);background-position:center;background-size:cover;overflow:hidden;isolation:isolate;box-shadow:0 14px 45px #0008}.menu-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b071222,transparent 35%,#140c23 95%);z-index:1;pointer-events:none}.menu-hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 43% 43%,#be4a7266,transparent 48%)}.menu-hero-art{position:absolute;left:50%;height:110%;max-width:66%;bottom:-10%;object-fit:contain;filter:drop-shadow(0 14px 13px #07040eaa);transform:translateX(-50%);animation:heroIdle 5s ease-in-out infinite}.menu-titlewrap{position:absolute;z-index:2;text-align:center;bottom:19px;left:8px;right:8px;text-shadow:0 3px 8px #09040c}.menu-titlewrap h1{font-size:clamp(36px,9vw,79px);letter-spacing:1px;color:#fff0cf}.menu-titlewrap p{font-size:clamp(11px,2.8vw,16px);color:#e8d2de}.menu-core{max-width:650px;margin:0 auto;width:100%;display:grid;gap:12px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-toggle{border:1px solid #84618a;color:#d4c0ce;background:#261a33;padding:10px 8px;min-height:62px;border-radius:13px;font:16px var(--medieval);text-align:center}.mode-toggle small{display:block;color:#a99cae;font:11px/1.4 var(--reading);margin-top:5px}.mode-toggle.active{border-color:#facd8b;box-shadow:inset 0 0 15px #e3a35316,0 0 15px #e5ac6044;color:#ffdfa7;background:linear-gradient(#473049,#301c39)}.banner-btn{font:clamp(17px,3vw,24px) var(--medieval);color:#fff4ce;background:linear-gradient(#a7405b,#712339);border:2px solid #efb875;min-height:57px;border-radius:24% 9% 25% 9% / 26% 32% 28% 30%;padding:13px 30px;box-shadow:inset 0 2px #ffe0a355,0 7px 0 #421321,0 13px 20px #0004;text-shadow:0 2px #482235;transition:transform .15s;max-width:100%;width:100%}.banner-btn:active,.ribbon:active{transform:translateY(3px)}.banner-btn.small{font-size:16px;min-height:45px;padding:7px 15px}.quick-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-buttons button,.secondary-btn{min-height:45px;border-radius:11px;border:1px solid #9c7650;background:linear-gradient(#46304e,#25182d);color:#f4dcb6;font-size:12px;font-weight:700;padding:7px 5px}.quick-buttons.minor{grid-template-columns:repeat(3,1fr)}.menu-mini{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chip{border:1px solid #704d64;border-radius:30px;background:#20152cb5;color:#d9c6db;padding:7px 10px;font-size:11px}
/* Battle: art, characters and all HUD are separate layers */
.battle-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.boss-header{padding:5px 5px 8px;text-align:center;background:linear-gradient(180deg,#2b1c36,#201426);border:1px solid #75506b;border-radius:13px 13px 0 0}.boss-number{font:13px var(--medieval);color:var(--gold);letter-spacing:1px}.boss-title{font:clamp(19px,5vw,28px) var(--medieval);line-height:1.2;color:#ffe9be;margin:2px 0 7px}.hp-line{display:flex;align-items:center;gap:10px;max-width:650px;margin:0 auto}.health-track{background:#110b17;border:1px solid #d7a567;border-radius:50px;height:15px;flex:1;overflow:hidden;box-shadow:inset 0 2px 8px #0007}.health-fill{height:100%;border-radius:50px;background:linear-gradient(180deg,#ff858d,#c12b4d);transition:width .4s ease;box-shadow:0 0 9px #de5376}.hp-label{font-size:11px;font-weight:800;color:#f9d0b5;white-space:nowrap}.arena{position:relative;height:clamp(180px,30svh,345px);overflow:hidden;isolation:isolate;background:#1a1226 var(--scene) center 43% /cover no-repeat;border:1px solid #75506b;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 8px 26px #0006}.arena:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(180deg,#140b1e40,transparent 22%,transparent 75%,#10091977)}.scene-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,#bf69a521,transparent 55%);z-index:0}.ground-shadow{position:absolute;bottom:0;background:#140c2088;filter:blur(16px);border-radius:50%;height:10%;z-index:1}.ground-shadow.left{left:5%;width:28%}.ground-shadow.right{right:5%;width:50%}.hero-wrap,.boss-wrap{position:absolute;z-index:2;bottom:0;display:flex;align-items:end;justify-content:center;transform-origin:50% 100%}.hero-wrap{left:2%;height:91%;width:35%;animation:heroIdle 5.5s ease-in-out infinite}.hero-wrap:after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen}.hero-wrap.skin-royal:after{opacity:.26;background:radial-gradient(ellipse at 50% 70%,transparent 40%,#ffcf66 77%,transparent 100%)}.hero-wrap.skin-shadow:after{opacity:.28;background:radial-gradient(ellipse at 50% 70%,transparent 40%,#ab61f5 77%,transparent 100%)}.hero-sprite{height:100%;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 8px #080512b0)}.boss-wrap{right:1%;width:57%;height:97%;animation:bossIdle 5.3s ease-in-out infinite}.boss-sprite{max-height:100%;height:100%;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 12px #0e0817c4)}.combat-flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}.arena.hit{animation:shake .45s}.arena.hit .combat-flash{animation:flash .45s}.arena-footer{position:absolute;bottom:7px;left:8px;right:8px;display:flex;justify-content:space-between;z-index:5;pointer-events:none}.arena-footer span{font-size:10px;color:#ffe0a5;background:#160e24c2;border:1px solid #9a7449;border-radius:8px;padding:5px 7px}.damage-pop{position:absolute;top:31%;right:23%;z-index:8;color:#ffe4a1;font:40px var(--medieval);opacity:0;text-shadow:0 2px 5px #000,0 0 14px #ffe0a8}.damage-pop.pop-active{animation:damageFloat .85s ease-out forwards}.boss-wrap.dissolving{animation:bossDissolve 2.5s ease 0s forwards}.hero-wrap.hero-strike{animation:heroStrike .95s ease-in-out 1 forwards}.particle{width:4px;height:4px;background:#dc9aff;position:absolute;z-index:4;box-shadow:0 0 10px #d17cfc;border-radius:50%;animation:particleFly 2.4s ease-out forwards}.boss-victory .arena-footer{opacity:.45}.boss-victory .combat-flash{animation:flash .6s}
.battle-status{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:29px}.mode-chip{font:12px var(--medieval);border-radius:30px;padding:5px 9px;border:1px solid #88b598;color:#c6f5d5;background:#173c2d}.mode-chip.hardcore{border-color:#e08b7d;background:#541d2d;color:#ffc3bf}.hearts{display:flex;gap:2px}.heart{color:#f76778;filter:drop-shadow(0 0 3px #f4436b);font-size:clamp(18px,4.5vw,24px)}.heart.lost{color:#5e4b5f;filter:none}.weapon-hint{font-size:11px;color:#cebed4;white-space:nowrap}.clock-bar{background:linear-gradient(#31213e,#20142b);border:1px solid #775677;border-radius:11px;padding:8px 11px}.clock-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:14px;color:#ffe4ac}.clock-top small{font-size:10px;color:#cebbce}.clock-value{font:19px var(--medieval);font-variant-numeric:tabular-nums}.clock-value.urgent{color:#ff7a7c;animation:pulse .5s infinite alternate}.clock-track{height:7px;background:#07050b;border-radius:12px;margin-top:7px;overflow:hidden}.clock-fill{height:100%;background:linear-gradient(90deg,#9e61c6,#ffd675);border-radius:12px;transition:width .08s linear}.clock-fill.urgent{background:linear-gradient(90deg,#d62d54,#ffb3a0)}.word-card{background:linear-gradient(145deg,#fbe5b2,#d7ad76);border:3px ridge #c29455;color:#2e1721;border-radius:11px;text-align:center;padding:8px 10px;box-shadow:inset 0 0 15px #b4865577,0 4px 12px #0005}.small-label{font:11px var(--medieval);color:#634133}.word-card h2{font:clamp(24px,6.7vw,40px) Georgia,serif;font-weight:700;overflow-wrap:anywhere;line-height:1.18;margin-top:3px}.choices{display:grid;grid-template-columns:1fr;gap:7px}.choice{width:100%;min-height:54px;border:1.5px solid #a77e55;background:linear-gradient(#2c1d3b,#1a1126);color:#f3e8e7;border-radius:11px;display:flex;align-items:center;text-align:left;gap:9px;padding:8px 11px;font:clamp(12px,3.6vw,16px)/1.35 var(--reading);box-shadow:inset 0 1px #be8b5952;overflow-wrap:anywhere}.choice .letter{font:20px var(--medieval);color:#ecc084;flex:0 0 25px}.choice .answer-mark{margin-left:auto;color:#87f4b5}.choice:active:not(:disabled){background:#443059}.choice.correct{border-color:#66e7a1;background:#164832}.choice.incorrect{border-color:#ff7591;background:#6a213a}.choice:disabled{opacity:1}.loading-choice{border:1px solid #67506b;border-radius:10px;padding:15px;color:var(--muted);font-size:13px}.under-questions{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#a49aab;font-size:10px}.text-button,.mini-link{background:none;border:0;color:#f7ca85;text-decoration:underline;text-underline-offset:3px;font-size:12px;padding:7px}.feedback{border:1px solid #966e55;background:#251729;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;color:#f5e7e2}.feedback.good{border-color:#77ca9f}.feedback.bad{border-color:#ed7f86}.feedback-title{font:17px var(--medieval);color:#ffd18f;margin-bottom:4px}.feedback p{margin-top:5px;color:#d6c0ce}.feedback .banner-btn{margin-top:9px}.coin-float{font:24px var(--medieval);color:#ffe089;margin-top:6px}.boss-victory+.battle-controls>.feedback.good,.battle-controls>.feedback.good:has(#coinwin){animation:appearLate 4.4s both}
/* Desktop cinematic composition: no image stretching, no overlay HUD */
@media(min-width:820px){.battle-screen{padding-top:7px}.battle-layout{grid-template-columns:minmax(0,1.18fr) minmax(365px,.82fr);align-items:start;gap:22px}.arena{width:100%;height:auto;min-height:0;aspect-ratio:16/9}.boss-header{padding:12px}.boss-title{font-size:31px}.boss-number{font-size:15px}.battle-controls{display:flex;flex-direction:column;gap:13px;padding-top:8px}.battle-status{min-height:38px}.word-card{padding:19px 12px}.choices{gap:12px}.choice{min-height:67px;font-size:15px}.battle-status .heart{font-size:24px}.clock-bar{padding:12px}.clock-value{font-size:22px}.hero-wrap{left:1%;width:37%;height:93%}.boss-wrap{width:57%;right:1%;height:99%}.arena-footer span{font-size:12px}}
/* Death screen styled as a parchment scroll with curved medieval banners */
.result-page{max-width:660px;padding-bottom:30px}.death-scroll{position:relative;margin:8px 0 20px;padding:32px clamp(16px,6vw,45px) 46px;background:linear-gradient(90deg,#b18b58,#e5c598 8%,#f3dab0 22%,#edd0a1 80%,#bd9163 96%,#a66d43);border:3px ridge #80552e;border-radius:34px 34px 22px 22px;color:#371c1a;box-shadow:inset 10px 0 22px #65402731,inset -8px 0 23px #72432944,0 14px 55px #0008}.death-scroll:before,.death-scroll:after{content:'';position:absolute;left:-7px;right:-7px;height:18px;background:linear-gradient(#98633e,#e7c08c,#9b633e);border:2px solid #70421d;border-radius:50%;z-index:2;box-shadow:0 5px 10px #4e241d44}.death-scroll:before{top:-10px}.death-scroll:after{bottom:-10px}.death-decoration{color:#91643c;text-align:center;font:20px var(--medieval);letter-spacing:15px}.death-hero{font:clamp(43px,12vw,70px) var(--medieval);color:#8b2530;text-shadow:1px 2px #fce9c4;text-align:center;margin:12px 0 0}.death-sub{text-align:center;font:15px var(--medieval);letter-spacing:1px;color:#65432e}.scroll-rule{border-bottom:2px solid #9b734d;margin:16px 0 12px;box-shadow:0 1px #ffebca}.parchment-subtitle{font:18px var(--medieval);color:#7d3928;text-align:center}.mistake-parchment{border:2px solid #b38b59;padding:11px;background:#f1dab7b6;border-radius:12px;margin:13px 0;color:#4a2a28;font-size:13px;line-height:1.5}.mistake-parchment p{margin:5px 0}.mistake-parchment .example{font-style:italic;color:#73523b}.parchment-score{margin:10px 0 20px}.score-massive{font:clamp(49px,11vw,80px) var(--medieval);color:#8c5a18;text-align:center;text-shadow:0 2px #fff0c3}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;text-align:center}.result-grid div{padding:8px;border-bottom:1px solid #b58d5f;color:#715036;font-size:12px}.result-grid strong{display:block;color:#50301d;font:clamp(23px,5.5vw,30px) var(--medieval);margin-top:3px}.earned-result{color:#84531b;text-align:center;font-size:13px;margin-top:15px;font-weight:800}.result-actions{display:grid;gap:12px;margin-top:26px}.ribbon{position:relative;border:2px solid #835530;border-radius:25% 7% 24% 10% / 27% 31% 28% 33%;min-height:57px;width:100%;background:linear-gradient(180deg,#e8dfad,#f8ebc8 43%,#d8c08b);color:#4f2632;font:clamp(20px,5.8vw,30px) var(--medieval);text-shadow:1px 1px #fff6e2;box-shadow:0 5px 0 #9f7751,0 7px 12px #7d533b66;transition:transform .12s;padding:11px}.ribbon:before,.ribbon:after{content:'';height:16px;width:26px;position:absolute;top:50%;transform:translateY(-50%);background:#bfa47a;clip-path:polygon(0 0,100% 0,80% 50%,100% 100%,0 100%);z-index:-1}.ribbon:before{left:-12px}.ribbon:after{right:-12px;transform:translateY(-50%) rotate(180deg)}.primary-ribbon{background:linear-gradient(#ab3852,#84243d 65%,#5b1d33);border-color:#e8bb80;color:#fff2d3;text-shadow:0 3px #452334}.scroll-small-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scroll-small-actions button{border:2px solid #9b734e;border-radius:17px;background:linear-gradient(#f8e3b7,#d9b47f);color:#50351c;min-height:70px;font:clamp(11px,2.8vw,14px) var(--medieval);padding:7px 4px}.scroll-small-actions button span{font-size:24px;display:block;margin-bottom:3px}
/* Overlay screens and functional menus */
.panel-overlay{position:fixed;z-index:50;inset:0;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;display:flex;align-items:flex-start;justify-content:center;background:#08050fd9;backdrop-filter:blur(7px)}.panel-frame{width:min(680px,100%);margin:auto 0;max-height:calc(100svh - 20px);overflow-y:auto;overscroll-behavior:contain;border:1.5px solid #c0935d;border-radius:21px;background:linear-gradient(#2b1d37,#160f21);box-shadow:0 12px 50px #000b,inset 0 1px #e0aa6b55;padding:clamp(12px,3vw,24px);color:#f2e6df}.panel-head{display:grid;grid-template-columns:85px 1fr auto;align-items:center;gap:9px;margin-bottom:14px}.panel-head h2{font:clamp(23px,5vw,33px) var(--medieval);color:#f9d29a;text-align:center}.panel-head .wallet{font-size:12px}.small-btn{min-height:42px;border:1px solid #856279;border-radius:10px;background:#332342;color:#f2d3b7;padding:8px;font-size:12px}.panel-note{font-size:12px;line-height:1.6;padding:12px;margin:9px 0;background:#1f1429;border:1px solid #745274;border-radius:11px;color:#d0bfd2}.panel-subtitle{font:17px var(--medieval);color:#f3c88a;margin:15px 0 9px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:11px 2px;border-bottom:1px solid #624968}.setting-row strong{font-size:14px}.setting-row small{display:block;color:#a99bb4;margin-top:5px;font-size:11px;line-height:1.35}.toggle{border:1px solid #a37a55;min-width:64px;min-height:39px;border-radius:20px;padding:7px 12px;color:#d9b7ad;background:#573044;font-size:12px;font-weight:800}.toggle.on{background:#235444;border-color:#78c29b;color:#c5f6d7}.panel-action-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.panel-action-row>*{flex:1}.secondary-btn{padding:11px 12px;min-width:105px}.tabs{display:flex;gap:7px;margin:12px 0}.tab{flex:1;min-height:42px;background:#251b32;border:1px solid #735575;border-radius:10px;color:#d2c2d4;padding:7px;font-size:12px}.tab.active{background:#603770;border-color:#d6a975;color:#ffdfac;font-weight:800}.shop-item{display:grid;grid-template-columns:74px 1fr auto;gap:10px;align-items:center;border:1px solid #785479;border-radius:13px;background:#251a30;padding:10px;margin:10px 0}.item-portrait{background:radial-gradient(#59395b,#211528);border:1px solid #9c7953;border-radius:10px;height:75px;display:grid;place-items:center;overflow:hidden}.item-art{width:100%;height:100%;object-fit:contain}.item-symbol{font-size:35px}.shop-description b{font-size:14px}.shop-description p{color:#c8b7ca;font-size:11px;line-height:1.5;margin-top:4px}.shop-description small{color:#f8cc7d}.shop-buy{border:1px solid #f1c77d;border-radius:10px;background:linear-gradient(#f4d59d,#bb7d3b);color:#3f2219;min-width:72px;min-height:43px;padding:7px;font-size:12px;font-weight:800}.equipment-art{height:260px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 50%,#3d2957,#171021);border:1px solid #63445e;border-radius:13px;overflow:hidden}.equipment-art img{height:100%;object-fit:contain;animation:heroIdle 5s ease-in-out infinite}.equip-options{display:grid;gap:8px}.equip-select{display:flex;align-items:center;gap:13px;border:1px solid #654d6d;border-radius:12px;background:#241831;color:#d6c5d8;text-align:left;padding:10px;min-height:47px;font-size:13px}.equip-select.selected{background:#50324a;border-color:#ffc476;color:#ffebc8}.equip-select img{height:53px;width:44px;object-fit:contain}.equip-select small{display:block;color:#ac94a6;margin-top:5px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat-cell{border:1px solid #745473;border-radius:11px;padding:12px;background:#281a33}.stat-cell span{display:block;font-size:11px;color:#b8a8c0}.stat-cell strong{display:block;font:24px var(--medieval);color:#f9d098;margin-top:6px}.score-showcase{text-align:center;background:#24152f;border:1px solid #755378;padding:10px;margin:10px 0 14px;border-radius:11px}.score-showcase small{letter-spacing:1px;color:#f1ce94}.score-showcase div{font:42px var(--medieval);color:#ffcf91}.stats-chart{height:125px;display:flex;align-items:end;gap:4px;background:#171021;border-bottom:1px solid #a37554;border-radius:10px;padding:10px 9px;margin-bottom:12px}.chart-bar{flex:1;max-width:40px;background:linear-gradient(#d5abff,#7d3a9a);border-radius:4px 4px 0 0}.history-line{border-bottom:1px solid #543a60;display:flex;justify-content:space-between;align-items:center;padding:11px 4px;gap:5px}.history-line small{color:#b7a4ba;text-align:right}.search{width:100%;border-radius:11px;border:1px solid #876785;background:#160e21;color:#f9e6d3;padding:12px;font-size:14px}.mistake-item,.vocab-row{border:1px solid #6e506d;background:#25182f;border-radius:10px;padding:11px;margin:8px 0;font-size:12px;line-height:1.55}.mistake-title,.vocab-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mistake-title b,.vocab-row b{font:17px var(--medieval);color:#ffe0a7}.mistake-item p{margin:6px 0}.mistake-item small,.vocab-row small{display:block;color:#ad9da9;margin-top:4px}.wrong-text{color:#ff9aa2}.right-text{color:#a3ebaf}.vocab-row p{color:#cdbac9;margin-top:4px}.achievement{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;border:1px solid #654e68;background:#25192f;border-radius:12px;margin:9px 0;padding:11px;opacity:.7}.achievement.unlocked{opacity:1;border-color:#b68c5b}.achievement b{color:#e8c397;font:15px var(--medieval)}.achievement p{font-size:11px;color:#b7a6be;margin-top:5px}.medal{font-size:27px}.reward{font-size:12px;color:#f4c482;font-weight:800}.challenge-card{border:1px solid #b18b5b;background:#2b1c31;padding:17px;border-radius:15px}.challenge-card h3{font:27px var(--medieval);color:#e7cb97;margin:6px 0}.challenge-card p{font-size:13px;color:#d1bdcb;line-height:1.5}.challenge-progress{display:flex;justify-content:space-between;margin:16px 0 5px;font-size:12px}.tiny-track{height:9px;background:#16101d;border-radius:10px;overflow:hidden}.tiny-track div{height:100%;background:linear-gradient(90deg,#956ad1,#ffd281)}.reward-row{margin-top:20px;color:#f7ca8b;text-align:center;font-size:15px}.daily-modal{text-align:center;padding:20px}.daily-coin{font-size:70px;color:#ffd76a;text-shadow:0 0 25px #f9ab4d}.daily-modal h2{font:34px var(--medieval);color:#ffdba0}.daily-modal .score-massive{font-size:44px;margin:15px 0}.daily-modal p{font-size:13px;color:#d9c2da;margin-bottom:20px;line-height:1.6}
/* Realm intro */
.transition-screen{min-height:100svh;position:relative;background:#110a1e var(--scene) center /cover no-repeat;display:flex;justify-content:center;align-items:center;text-align:center;padding:25px}.transition-veil{position:absolute;inset:0;background:#0f0916d0;backdrop-filter:blur(3px)}.transition-inner{position:relative;z-index:1;max-width:500px}.transition-inner h1{font:clamp(32px,9vw,64px) var(--medieval);color:#ffe2ac;margin:12px 0;text-shadow:0 0 20px #9c62c2}.transition-inner h2{font:25px var(--medieval);color:#f0d7a2}.transition-inner h3{font:20px var(--medieval);color:#faf0e4;margin-top:5px}.transition-inner p{font-size:13px;color:#cab8c6;margin-top:10px}.sigil{font:45px var(--medieval);color:#e6ba78;margin:18px}.transition-skip{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(290px,85vw);z-index:3}
.toast{position:fixed;z-index:90;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:min(90vw,520px);border:1px solid #d5a06a;border-radius:11px;background:#2f183ddc;box-shadow:0 6px 28px #0008;color:#ffe0af;text-align:center;font-size:13px;font-weight:700;padding:11px 16px}
@keyframes heroIdle{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-3px) rotate(-.65deg)}65%{transform:translateY(-2px) rotate(.7deg)}}@keyframes bossIdle{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.013)}}@keyframes heroStrike{0%,100%{transform:translateX(0)}36%{transform:translateX(24%) rotate(3deg)}70%{transform:translateX(5%) rotate(-4deg)}}@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}42%{transform:translateX(5px)}65%{transform:translateX(-3px)}85%{transform:translateX(2px)}}@keyframes flash{0%,100%{opacity:0}20%{opacity:.7;background:#e8d8ff66}}@keyframes damageFloat{0%{opacity:0;transform:translateY(20px)}20%{opacity:1}100%{opacity:0;transform:translateY(-64px)}}@keyframes bossDissolve{0%{opacity:1;filter:brightness(1)}36%{opacity:.97;filter:brightness(1.9) saturate(.7)}68%{opacity:.55;filter:brightness(2) saturate(.2)}100%{opacity:0;filter:brightness(3) saturate(0);transform:translateY(-30px)}}@keyframes particleFly{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),-160px) scale(.2)}}@keyframes pulse{from{opacity:1}to{opacity:.42}}@keyframes appearLate{0%,88%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:819px){.app-shell{padding-left:10px;padding-right:10px}.battle-controls{display:grid;gap:7px}.battle-screen{gap:7px}.battle-screen .topbar{height:43px}.boss-header{padding:3px 9px 7px}.boss-title{font-size:clamp(17px,5vw,23px);margin:2px 0 6px}.boss-number{font-size:12px}.hp-line .health-track{height:12px}.arena{height:clamp(170px,30svh,290px)}.hero-wrap{height:90%;width:36%;left:0}.boss-wrap{width:59%;right:0;height:95%}.choice{min-height:49px;padding:7px 10px}.word-card{padding:7px}.word-card h2{font-size:clamp(23px,6.6vw,32px)}.battle-status{min-height:22px}.clock-bar{padding:6px 9px}.under-questions{margin-bottom:2px}.menu-hero{height:clamp(260px,44svh,440px)}}
@media(max-height:710px) and (max-width:819px){.arena{height:clamp(155px,26svh,220px)}.choice{min-height:44px;padding:6px 8px}.choices{gap:5px}.battle-layout{gap:6px}.boss-title{font-size:19px}.word-card h2{font-size:23px}.word-card{padding:5px}.battle-controls{gap:5px}.battle-status{min-height:20px}.under-questions span{display:none}}
@media(max-width:365px){.wallet{padding:4px 7px;font-size:11px}.logomark{font-size:24px}.choice{font-size:12px}.shop-item{grid-template-columns:52px 1fr auto;gap:8px}.item-portrait{height:58px}.shop-buy{min-width:63px;font-size:11px}.panel-head{grid-template-columns:68px 1fr auto}.panel-head h2{font-size:21px}.panel-head .wallet{font-size:11px}.hearts .heart{font-size:19px}.mode-chip{font-size:11px;padding:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}

.battle-visual,.battle-controls{min-width:0}
