:root{--gold:#ffd166;--teal:#52e0c4;--red:#ff6b79;--blue:#67b7ff;--ink:#f5fbff;--muted:#b8cad8;--bg-page-1:#244b71;--bg-page-2:#091729;--bg-page-3:#040a12;--bg-shell:#06111ded;--bg-app-1:#0e263dcc;--bg-app-2:#081522ee;--bg-panel-a:#173650;--bg-panel-b:#0f263b;--bg-surface:#0b2032;--bg-control:#10263a;--glow-teal:#52e0c422;--glow-gold:#ffd16633;--purple:#c39bff;--glow-purple:#c39bff2e;--line:#31536f;--line-soft:#294862;--line-strong:#4d7da3}:root[data-theme=light]{--gold:#a6790a;--teal:#0f8f79;--red:#d1354a;--blue:#2f7fc4;--ink:#16212c;--muted:#5b6b7a;--bg-page-1:#ffffff;--bg-page-2:#eef3f8;--bg-page-3:#e3ebf2;--bg-shell:#ffffffee;--bg-app-1:#e7eef5ee;--bg-app-2:#dbe6eeee;--bg-panel-a:#ffffff;--bg-panel-b:#f2f6fa;--bg-surface:#dbe6ee;--bg-control:#e7eef5;--glow-teal:#0f8f7922;--glow-gold:#a6790a33;--purple:#7442b8;--glow-purple:#7442b82a;--line:#d3dfe8;--line-soft:#dfe8f0;--line-strong:#b9c9d6}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}button,.tile,.answer,.segment,.weapon-option,.card-button,.speak-btn{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease,color .15s ease}button:active:not(:disabled){transform:scale(.97)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -20%,var(--bg-page-1) 0,var(--bg-page-2) 42%,var(--bg-page-3) 100%);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;padding:16px}button,select{font:inherit}button{cursor:pointer}.app{width:min(1080px,100%);min-height:min(760px,calc(100vh - 32px));margin:auto;background:linear-gradient(150deg,var(--bg-app-1),var(--bg-app-2));border:1px solid var(--line-strong);border-radius:22px;box-shadow:0 24px 80px #0009;overflow:hidden;position:relative}.topbar{min-height:68px;padding:10px 22px;background:var(--bg-shell);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;box-shadow:0 2px 18px #0006}.brand{display:flex;align-items:center;gap:11px;font-weight:900;letter-spacing:.04em;color:var(--gold)}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));border:1px solid var(--line-strong)}.status{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;min-width:0}.status>.player-pills,.status>.pill,.status>.utility-group{flex-shrink:0}.status>.account-group{min-width:0}.pill{padding:7px 11px;border-radius:999px;background:var(--bg-control);border:1px solid var(--line);font-size:.875rem;font-weight:800;box-shadow:0 2px 8px #0004}.utility-group{display:flex;align-items:center;gap:8px}.theme-toggle{border:1px solid var(--line);background:var(--bg-control);color:var(--ink);border-radius:999px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.theme-toggle:hover{border-color:var(--teal)}.lang-select{border:1px solid var(--line);background:var(--bg-control);color:var(--ink);border-radius:999px;height:36px;padding:0 10px;font-size:.8rem;font-weight:800;cursor:pointer}.lang-select:hover{border-color:var(--teal)}.account-button{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--bg-control);color:var(--ink);border-radius:999px;height:36px;padding:0 14px;font-size:.8rem;font-weight:800;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-button:hover{border-color:var(--teal)}.account-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.profile-switcher{position:relative}.profile-trigger{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--bg-control);color:var(--ink);border-radius:999px;height:36px;padding:0 10px 0 12px;font-size:.8rem;font-weight:800;cursor:pointer;max-width:170px}.profile-trigger:hover:not(:disabled){border-color:var(--teal)}.profile-trigger:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.profile-trigger[aria-expanded=true]{border-color:var(--teal);box-shadow:0 0 0 3px var(--glow-teal)}.profile-trigger:disabled{cursor:not-allowed;opacity:.65}.profile-trigger-icon{font-size:.85rem}.profile-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.profile-trigger-caret{font-size:.65rem;opacity:.7;transition:transform .15s ease}.profile-trigger-caret.is-open{transform:rotate(180deg)}.profile-status{font-size:.8rem}.profile-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:180px;max-width:min(260px,80vw);max-height:min(70vh,520px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:6px;background:linear-gradient(160deg,var(--bg-panel-a),var(--bg-panel-b));border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 16px 40px #0008}.profile-menu-label{padding:6px 10px 2px;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.profile-menu-divider{height:1px;margin:4px 6px;background:var(--line-soft)}.profile-option{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:.82rem;font-weight:700;text-align:left;cursor:pointer}.profile-option:hover,.profile-option:focus-visible{background:var(--bg-control)}.profile-option:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.profile-option.is-active{color:var(--gold);font-weight:900}.profile-option.is-danger{color:var(--red)}.profile-option:disabled{opacity:.5;cursor:not-allowed}.profile-option-check{width:1em;flex-shrink:0;text-align:center;color:var(--gold)}.profile-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-account{padding:2px 10px 6px}.profile-menu-account .profile-menu-label{padding:0 0 2px}.profile-menu-account-email{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;color:var(--ink)}.profile-menu-note{padding:2px 10px 8px;font-size:.72rem;line-height:1.35;color:var(--muted)}.profile-row{display:flex;align-items:center;gap:2px}.profile-row .profile-option{flex:1;min-width:0}.profile-rename{border:none;background:none;color:var(--muted);border-radius:8px;padding:6px 8px;font-size:.85rem;cursor:pointer}.profile-rename:hover,.profile-rename:focus-visible{background:var(--bg-control);color:var(--ink)}.profile-rename:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.profile-editor{display:flex;flex-direction:column;gap:6px;padding:4px 6px 6px}.profile-editor .profile-menu-label{padding:0}.profile-editor-input{width:100%;box-sizing:border-box;border:1px solid var(--border,rgba(128,128,128,.4));background:var(--bg-control);color:var(--ink);border-radius:9px;padding:8px 10px;font-size:.85rem;font-weight:700}.profile-editor-input:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.profile-editor-error{font-size:.72rem;line-height:1.35;color:var(--red)}.profile-editor-actions{display:flex;gap:6px}.profile-editor-save,.profile-editor-cancel{flex:1;border:none;border-radius:9px;padding:7px 10px;font-size:.8rem;font-weight:800;cursor:pointer;background:var(--bg-control);color:var(--ink)}.profile-editor-save{background:var(--gold);color:#1a1200}.profile-editor-save:disabled,.profile-editor-cancel:disabled{opacity:.5;cursor:not-allowed}.auth-modal{max-width:420px}.auth-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-modal-head .back{margin-bottom:0}.auth-google{width:100%;margin:6px 0 0}.auth-or{text-align:center;font-size:.8rem;color:var(--muted);margin:10px 0 0}.auth-notice{background:var(--bg-surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.85rem;color:var(--muted);margin:12px 0}.auth-field{display:block;margin-bottom:14px;font-weight:700;font-size:.85rem;color:var(--muted)}.auth-field input{display:block;width:100%;margin-top:6px;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--bg-surface);color:var(--ink);font-size:1rem;font-weight:400}.auth-field input:focus{outline:none;border-color:var(--teal)}.auth-error{color:var(--red);font-weight:700;font-size:.85rem;margin:0 0 14px}.cloud-sync-profile{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.cloud-sync-modal .feedback{margin:12px 0}.cloud-sync-intro,.cloud-sync-learning{font-size:.9rem}.cloud-sync-preview{margin:8px 0 12px;padding-left:20px;line-height:1.6;color:var(--ink)}.cloud-sync-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:.9rem;color:var(--ink);cursor:pointer}.cloud-sync-consent input{margin-top:3px;flex:0 0 auto;width:18px;height:18px}.cloud-sync-consent span{min-width:0}.cloud-sync-backfill-list{list-style:none;margin:6px 0 10px;padding:0}.cloud-sync-backfill-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:.9rem}.cloud-sync-backfill-row span{min-width:0}.cloud-sync-danger{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.cloud-sync-recovery{margin-top:14px}.cloud-sync-option{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.premium-modal .feedback{margin:12px 0}.premium-price{margin:12px 0 0;color:var(--ink)}.premium-price strong{font-size:1.05rem}.premium-price p{margin:4px 0 0;font-size:.82rem;color:var(--muted);line-height:1.45}.premium-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.78rem;min-width:0}.premium-links a,.site-footer a,.signup-legal a,.cloud-sync-privacy a{color:var(--teal)}.cloud-sync-privacy{font-size:.78rem;color:var(--muted);margin:6px 0 0}.site-footer{padding:14px 30px 18px;border-top:1px solid var(--line-soft);font-size:.78rem}.footer-link-button{background:none;border:none;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}.analytics-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:720px;margin:0 auto;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 10px 30px #00000059;color:var(--ink);font-size:.85rem}.analytics-consent-text{flex:1 1 320px;min-width:0}.analytics-consent-text p{margin:6px 0;line-height:1.45;color:var(--muted)}.analytics-consent-text a{color:var(--teal);font-weight:700}.analytics-consent-actions{display:flex;gap:10px;flex-wrap:wrap;min-width:0}.analytics-consent-actions .secondary{flex:1 1 140px;padding:10px 14px}@media (max-width:520px){.analytics-consent{left:8px;right:8px;bottom:8px}.analytics-consent-actions{width:100%}}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;min-width:0}.premium-benefits{margin:12px 0;font-size:.9rem;color:var(--ink)}.premium-benefits ul{margin:6px 0 0;padding-left:20px;line-height:1.6}.premium-modal p.premium-note{font-size:.78rem;color:var(--muted);margin:12px 0 0;line-height:1.45}.premium-modal .action-row{margin-top:18px}.profile-limit-offer{margin-top:6px;align-self:flex-start;background:none;border:1px solid var(--line-strong);border-radius:8px;padding:4px 10px;color:var(--teal);font-weight:800;font-size:.75rem;cursor:pointer}.profile-limit-offer:hover{border-color:var(--teal);background:var(--bg-surface)}.auth-switch{background:none;border:none;color:var(--teal);font-weight:700;font-size:.85rem;margin-top:14px;cursor:pointer;text-decoration:underline}.screen{padding:30px;min-height:690px}.screen.mode-learn{background:radial-gradient(ellipse 640px 420px at 12% 0%,#3a2a0fb3 0,transparent 72%)}.screen.mode-practice{background:radial-gradient(ellipse 640px 420px at 88% 0%,#0f2f38b3 0,transparent 72%)}:root[data-theme=light] .screen.mode-learn{background:radial-gradient(ellipse 640px 420px at 12% 0%,#ffd16655 0,transparent 72%)}:root[data-theme=light] .screen.mode-practice{background:radial-gradient(ellipse 640px 420px at 88% 0%,#52e0c455 0,transparent 72%)}.eyebrow{color:var(--teal);font-size:.8rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.screen.mode-learn .eyebrow,.screen.mode-practice .eyebrow{font-size:clamp(1.6rem,3.6vw,2.4rem);letter-spacing:.03em;margin-bottom:10px}.screen.mode-learn .eyebrow{color:var(--gold)}.screen.mode-practice .eyebrow{color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.05;margin-bottom:12px}h2{font-size:clamp(1.45rem,3vw,2.1rem);margin-bottom:10px}h3{font-size:1.05rem}.lead{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:720px}.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;min-height:580px}.hero-visual{min-height:430px;border:1px solid var(--line-strong);border-radius:24px;background:radial-gradient(circle at 50% 28%,#3f739344 0,transparent 32%),linear-gradient(var(--bg-panel-a),var(--bg-panel-b));position:relative;display:grid;place-items:center;overflow:hidden}.hero-visual:before{content:"✦  ·  ✧  ·  ✦  ·  ✧  ·  ✦";position:absolute;top:34px;color:var(--gold);opacity:.5;letter-spacing:16px}.crest{font-size:8rem;filter:drop-shadow(0 18px 14px #0008);animation:float 3.2s ease-in-out infinite}.floor{position:absolute;bottom:-100px;width:380px;height:200px;border-radius:50%;border:2px solid #52e0c477;box-shadow:0 0 45px #52e0c433 inset}.mode-grid,.topic-grid,.option-grid{display:grid;gap:14px}.mode-grid{grid-template-columns:1fr 1fr;margin-top:26px}.card-button{width:100%;text-align:left;padding:18px;border-radius:16px;border:1px solid var(--line-strong);background:linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));color:var(--ink);box-shadow:0 8px 20px #0003;transition:.18s}.card-button:hover:not(:disabled),.card-button.selected{transform:translateY(-2px);border-color:var(--teal);box-shadow:0 10px 26px #0005,0 0 0 2px var(--glow-teal)}.card-button strong{display:block;color:var(--gold);font-size:1.05rem;margin-bottom:5px}.card-button span{color:var(--muted);line-height:1.4}.mode-card-learn strong{color:var(--gold)}.mode-card-practice strong{color:var(--teal)}.mode-card-test strong{color:var(--red)}.mode-card-vocab strong{color:var(--blue)}.screen.mode-learn .topic-card strong{color:var(--gold)}.screen.mode-practice .topic-card strong{color:var(--teal)}.back{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--muted);padding:8px 14px;margin-bottom:18px;border-radius:9px;font-weight:800}.filter-toggle{margin:4px 0 18px}.back:hover{border-color:var(--teal);color:var(--ink);background:var(--bg-surface)}.level-band{margin-top:28px}.level-band-label{color:var(--teal);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.topic-grid{grid-template-columns:repeat(3,1fr);margin-top:10px}.topic-card{min-height:145px}.topic-card:disabled{cursor:not-allowed;opacity:.45}.tag{display:inline-block;margin-top:12px;padding:4px 8px;border-radius:8px;background:var(--bg-control);color:var(--teal);font-size:.75rem;font-weight:900}.due-tag{background:#3a230c;color:#ffb15c}.mastery-meter{display:flex;flex-direction:column;gap:6px;margin-top:12px}.mastery-bar{display:block;height:6px;border-radius:999px;background:var(--bg-control);border:1px solid var(--line-soft);overflow:hidden}.mastery-fill{display:block;height:100%;background:var(--teal);border-radius:inherit}.mastery-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;font-weight:800}.mastery-ready{color:var(--teal);font-weight:900}.mastery-meter.is-ready .mastery-fill{background:var(--gold)}.mastery-meter.is-ready .mastery-ready{background:var(--gold);color:#1a1200;padding:2px 8px;border-radius:999px;font-size:.78rem}.topic-card.is-mastered{border-color:var(--gold);background:linear-gradient(145deg,var(--glow-gold),transparent 55%),linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));box-shadow:0 8px 20px #0003,0 0 0 1px var(--glow-gold)}.topic-card.is-mastered:hover:not(:disabled){border-color:var(--gold);box-shadow:0 10px 26px #0005,0 0 0 2px var(--glow-gold)}.mastery-panel .mastery-meter{max-width:420px}.mastery-heading-row{display:flex;align-items:center;gap:8px}.mastery-heading-row h3{margin:0}.mastery-diffs{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;max-width:320px}.mastery-diffs li{display:grid;grid-template-columns:minmax(0,1fr) auto 1.4em;gap:10px;align-items:baseline;color:var(--muted)}.mastery-diffs li.done{color:var(--ink)}.mastery-diffs li.done .mastery-check{color:var(--teal)}.mastery-diff-name{font-weight:800}.mastery-diff-value{font-variant-numeric:tabular-nums;text-align:right}.mastery-ready-status{margin-top:14px}.mastery-next-step{margin:14px 0 0;color:var(--muted);font-size:.9rem}.mastery-check{flex:0 0 auto;width:1.1em;text-align:center;font-weight:900}.mastery-info{position:relative;display:inline-flex}.mastery-info-btn{all:unset;box-sizing:border-box;cursor:pointer;width:18px;height:18px;border-radius:999px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;line-height:1;color:var(--muted);opacity:.55;transition:opacity .15s ease}.mastery-info-btn:hover,.mastery-info-btn:focus-visible{opacity:1}.mastery-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(280px,80vw);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-surface);color:var(--ink);box-shadow:0 8px 24px #00000040;font-size:.8rem;line-height:1.5;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}.mastery-info:hover .mastery-popover,.mastery-info:focus-within .mastery-popover,.mastery-popover.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.mastery-popover-title{margin:0;font-weight:900}.mastery-popover-bullets{list-style:disc;margin:8px 0 0;padding-left:1.1em;display:grid;gap:4px}.mastery-subheading{margin:14px 0 0;font-size:.85rem;font-weight:800}.mastery-reqs{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.mastery-reqs li{display:flex;gap:8px;align-items:baseline;color:var(--muted);line-height:1.4}.mastery-reqs li.done{color:var(--ink)}.mastery-reqs li.done .mastery-check{color:var(--teal)}@media (max-width:480px){.mastery-popover{left:50%;transform:translate(-50%,-4px)}.mastery-info:hover .mastery-popover,.mastery-info:focus-within .mastery-popover,.mastery-popover.open{transform:translate(-50%)}}.setup{max-width:760px}.setup-section{margin:25px 0}.segmented{display:flex;flex-wrap:wrap;gap:10px}.segment{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--ink);padding:11px 16px;border-radius:11px;font-weight:800}.segment:hover:not(.selected){border-color:var(--teal);background:var(--bg-surface)}.segment.selected{background:#1d5b62;border-color:var(--teal);color:#fff}.weapon-picker{display:flex;flex-wrap:wrap;gap:10px}.weapon-option{display:flex;flex-direction:column;align-items:center;gap:6px;width:92px;padding:12px 6px;border-radius:13px;border:1px solid var(--line-strong);background:var(--bg-control);color:var(--muted)}.weapon-option:hover{border-color:var(--teal);color:var(--ink)}.weapon-option.selected{background:#1d5b62;border-color:var(--teal);color:#fff;box-shadow:0 0 0 2px var(--glow-teal)}.weapon-icon{font-size:1.7rem}.weapon-label{font-size:.72rem;font-weight:800;text-align:center;line-height:1.2}.weapon-option{position:relative}.weapon-option.locked .weapon-icon,.weapon-option.locked .weapon-label{opacity:.45}.weapon-option.locked{border-style:dashed}.weapon-lock{position:absolute;top:4px;right:6px;font-size:.78rem}.weapon-locked-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.shop-card{--rarity:var(--muted);--rarity-glow:transparent}.shop-card[data-rarity=uncommon]{--rarity:var(--teal);--rarity-glow:var(--glow-teal)}.shop-card[data-rarity=rare]{--rarity:var(--blue);--rarity-glow:transparent}.shop-card[data-rarity=epic]{--rarity:var(--purple);--rarity-glow:var(--glow-purple)}.shop-card[data-rarity=legendary]{--rarity:var(--gold);--rarity-glow:var(--glow-gold)}.shop-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px}.shop-balance{font-size:1.35rem;font-weight:900;color:var(--gold);white-space:nowrap}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:18px}.shop-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 14px;border-radius:16px;text-align:center;background:linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));border:1px solid var(--line-strong);border-top:3px solid var(--rarity);box-shadow:0 6px 16px #0003,0 0 0 3px var(--rarity-glow)}.shop-card.equipped{border-color:var(--teal);border-top-color:var(--rarity)}.rarity-badge{font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--rarity);border:1px solid var(--rarity);border-radius:999px;padding:2px 9px}.shop-icon{font-size:2.4rem;line-height:1.2}.shop-name{font-size:1.02rem;color:var(--ink)}.shop-status{font-size:.8rem;font-weight:800;color:var(--muted)}.shop-action{width:100%;margin-top:auto}.shop-action:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.shop-card.equipped .shop-action:disabled{opacity:1;cursor:default;color:var(--teal);border-color:var(--teal)}.shop-hint{font-size:.72rem;color:var(--muted)}.primary,.secondary,.danger{border-radius:12px;padding:12px 18px;font-weight:900;border:1px solid transparent}.primary{background:linear-gradient(135deg,#f2bd4a,#ffd979);color:#17202b;box-shadow:0 5px #9c6b18}.primary:hover{transform:translateY(-2px);box-shadow:0 7px #9c6b18}.secondary{background:var(--bg-panel-a);border-color:var(--line-strong);color:var(--ink)}.danger{background:var(--red);color:#fff;box-shadow:0 5px #8f1f2c}.danger:hover{transform:translateY(-2px);box-shadow:0 7px #8f1f2c}.secondary:hover{border-color:var(--teal);background:var(--bg-surface);transform:translateY(-1px)}.danger{background:#4b202c;border-color:#a94555;color:#fff}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.lesson-wrap{max-width:900px;margin:auto}.lesson-progress{height:7px;background:var(--bg-surface);border-radius:99px;overflow:hidden;margin-bottom:24px}.lesson-progress div{height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));transition:.25s}.lesson-card{background:linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));border:1px solid var(--line-strong);border-radius:20px;padding:26px;min-height:420px}.lesson-card p,.lesson-card li{line-height:1.6;color:var(--ink)}.rule{padding:16px;border-left:4px solid var(--teal);background:var(--bg-surface);border-radius:8px;margin:18px 0;font-weight:800}.lesson-tip{padding:16px;border-left:4px solid var(--gold);background:var(--bg-surface);border-radius:8px;margin:18px 0}.lesson-tip-title{font-weight:900;font-size:1.1rem;color:var(--gold);margin-bottom:6px}.lesson-tip p{margin:0;font-weight:600;color:var(--ink)}.pattern{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.pattern span{padding:12px 8px;border-radius:10px;text-align:center;background:var(--bg-surface);border:1px solid var(--line)}.pattern b{display:block;color:var(--gold);font-size:.78rem;margin-bottom:4px}.table-scroll{overflow:auto;border-radius:12px;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:600px;background:var(--bg-surface)}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--bg-control);color:var(--gold)}td:first-child{font-weight:900;color:var(--teal)}.quest-screen{padding:0}.arena{position:relative;overflow:hidden;height:225px;background:radial-gradient(circle at 50% 120%,#31726c66 0,transparent 46%),linear-gradient(var(--bg-panel-a),var(--bg-panel-b));display:flex;justify-content:space-around;align-items:flex-end;padding:24px 8%;border-bottom:1px solid var(--line)}.fighter{text-align:center;min-width:140px}.sprite{font-size:5rem;filter:drop-shadow(0 12px 8px #0009);animation:idleBob 2.4s ease-in-out infinite}.name{font-weight:900;margin-top:5px;color:var(--ink)}.hp{width:150px;height:10px;border-radius:99px;background:#050a10;border:1px solid #5a7890;overflow:hidden;margin:0 auto 8px}:root[data-theme=light] .hp{background:#d8e2ea;border-color:#b9c9d6}.hp div{height:100%;background:#ff6b79;transition:.3s}.hero-hp div{background:#52e0c4}.quest-body{padding:22px 28px 26px;min-height:455px}.quest-meta{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:.85rem;font-weight:800}.bar{height:7px;border-radius:99px;background:var(--bg-surface);margin:10px 0 20px;overflow:hidden}.bar div{height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));transition:.25s}.prompt{text-align:center;max-width:800px;margin:0 auto}.type-label{color:var(--teal);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.prompt h2{font-size:clamp(1.25rem,3vw,1.8rem);line-height:1.35;margin:9px 0 19px}.prompt-vocab{color:var(--muted);font-size:.88rem;line-height:1.5;margin:-10px 0 17px}.prompt-vocab-label{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.answers{display:grid;grid-template-columns:1fr 1fr;gap:11px;max-width:760px;margin:auto}.answer{min-height:54px;padding:12px;border-radius:11px;background:var(--bg-panel-a);color:var(--ink);border:1px solid var(--line-strong);font-weight:800}.answer:hover:not(:disabled){border-color:var(--teal);background:var(--bg-surface);transform:translateY(-1px)}.answer.correct{background:#17644f;border-color:var(--teal);color:#fff}.answer.wrong{background:#6c2633;border-color:var(--red);color:#fff}:root[data-theme=light] .answer.correct{background:#d9f2e6;border-color:#1f9d84;color:#0f4a3b}:root[data-theme=light] .answer.wrong{background:#fbdfe2;border-color:#d1354a;color:#7a1626}.cloze-area{max-width:760px;margin:auto;text-align:center}.cloze-sentence{font-size:clamp(1.1rem,2.6vw,1.4rem);font-weight:800;line-height:1.6;margin-bottom:16px}.cloze-input{width:min(220px,60vw);padding:8px 12px;border-radius:9px;border:2px solid var(--teal);background:var(--bg-surface);color:var(--ink);font-weight:900;font-size:1em;text-align:center;margin:0 4px}.cloze-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #ffd16633}.cloze-input:disabled{opacity:.7}.cloze-blank-filled{display:inline-block;min-width:80px;padding:4px 10px;margin:0 4px;border-radius:9px;border:2px dashed var(--teal);color:var(--gold)}.cloze-choices{margin-top:6px}.speak-btn{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--teal);border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.speak-btn:hover{border-color:var(--teal);background:var(--bg-surface);transform:scale(1.08)}.speak-btn.inline{margin-left:8px;vertical-align:middle}.tiles-area{max-width:820px;margin:auto}.slots,.bank{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;min-height:58px;padding:10px;border-radius:12px}.slots{background:var(--bg-surface);border:2px dashed var(--line-strong);margin-bottom:12px}.bank{margin-bottom:10px}.tile{padding:10px 13px;border-radius:9px;border:1px solid var(--line-strong);background:var(--bg-panel-a);color:var(--ink);font-weight:900}.tile:hover:not(:disabled){border-color:var(--gold);transform:translateY(-1px)}.slots .tile{background:#197765;border-color:var(--teal);color:#fff}.tile:disabled{opacity:.35}.help-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.help-btn{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--ink);border-radius:9px;padding:8px 11px;font-size:.85rem;font-weight:800}.help-btn:hover{border-color:var(--gold)}.help-btn.skip{color:var(--ink);border-color:#897044}.feedback{max-width:820px;margin:16px auto 0;padding:13px 15px;border-radius:11px;background:var(--bg-surface);border:1px solid var(--line);line-height:1.45}.feedback.good{border-color:#2e8a70;background:#0e2c24;color:#baffea}.feedback.bad{border-color:#a34050;background:#2c1519;color:#ffd1d6}.feedback.info{border-color:#a27c31;background:#2c2210;color:#ffe4a6}:root[data-theme=light] .feedback.good{background:#e3f7ee;color:#146c4e}:root[data-theme=light] .feedback.bad{background:#fdecee;color:#a3293b}:root[data-theme=light] .feedback.info{background:#fff6e0;color:#8a6414}.account-deleted-notice{margin-left:20px;margin-right:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.account-deleted-notice .back{margin-bottom:0;padding:4px 10px}.next-row{text-align:center;margin-top:13px}.teacher-box{max-width:760px;margin:auto;padding:16px;border:1px solid var(--line-strong);border-radius:13px;background:var(--bg-surface)}.teacher-box p{color:var(--muted)}.teacher-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.grade{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--ink);padding:10px 13px;border-radius:9px;font-weight:900}.grade.correct-grade{border-color:#39a786}.grade.almost{border-color:#c4963b}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#030a12eb;z-index:20;display:grid;place-items:center;padding:20px}.overlay.hidden,.hidden{display:none}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--bg-panel-a);border:1px solid var(--line-strong);border-radius:19px;padding:24px;box-shadow:0 22px 70px #000b}.modal p{color:var(--ink);line-height:1.55}.translation{color:var(--muted);font-weight:400;font-style:italic;font-size:.92em}.explain-panel{max-width:820px;margin:14px auto 0}.explain-body{margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-surface)}.explain-body p{color:var(--ink);line-height:1.55}.download-btn{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--ink);border-radius:9px;padding:6px 10px;font-size:.8rem;font-weight:800;margin-top:8px}.download-btn:hover{border-color:var(--gold)}.checkbox-row{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:700;cursor:pointer;font-size:.9rem}.checkbox-row input{width:18px;height:18px;accent-color:var(--teal);cursor:pointer}.quest-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.quest-controls .back{margin-bottom:0;background:#2a1420;border:1px solid #7a3a48;color:#ffb3bd;border-radius:9px;padding:8px 14px;font-size:.85rem}.quest-controls .back:hover{background:#3a1a29;border-color:var(--red);color:#fff}#print-root{display:none}@media print{body *{visibility:hidden}#print-root,#print-root *{visibility:visible}#print-root{display:block;position:absolute;top:0;left:0;width:100%;padding:24px;color:#111;background:#fff;font-family:Inter,Segoe UI,Arial,sans-serif}#print-root h1{font-size:1.6rem;margin-bottom:6px}#print-root h2{font-size:1.15rem;margin:18px 0 6px;color:#111}#print-root table{width:100%;border-collapse:collapse;margin:10px 0}#print-root th,#print-root td{border:1px solid #999;padding:6px 8px;text-align:left;color:#111}#print-root th{background:#eee}#print-root .rule{border-left:3px solid #666;padding:8px 12px;margin:10px 0;background:#f5f5f5}#print-root .translation{color:#555;font-style:italic}}.vocab-review-card{width:100%;margin:18px 0 22px;border-color:#c98a3a}.vocab-review-card:disabled{opacity:.55;cursor:default}.vocab-review-card:disabled:hover{transform:none;border-color:#c98a3a;box-shadow:0 8px 20px #0003}.vocab-topic-grid{margin-top:10px}.vocab-card{max-width:560px;margin:0 auto;text-align:center;perspective:1000px}.vocab-word{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:900;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;justify-content:center;gap:12px}.vocab-example{margin-top:18px;padding:14px 16px;border-left:4px solid var(--teal);background:var(--bg-surface);border-radius:8px;font-weight:700;text-align:left}.flashcard{border:1px solid var(--line-strong);border-radius:18px;padding:32px 20px;background:linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));cursor:pointer;min-height:160px;display:flex;flex-direction:column;justify-content:center;transform-style:preserve-3d}.flashcard.flip-anim{animation:cardFlip .45s ease}@keyframes cardFlip{0%{transform:rotateY(0)}50%{transform:rotateY(-90deg)}to{transform:rotateY(0)}}.flashcard-hint{color:var(--muted);font-weight:700;font-size:.9rem}.flashcard-answer{font-size:1.4rem;font-weight:900;color:var(--teal);margin-bottom:4px}.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.result{padding:15px 8px;background:var(--bg-surface);border:1px solid var(--line);border-radius:12px;text-align:center}.result b{display:block;font-size:1.5rem;color:var(--gold)}.result span{color:var(--muted);font-size:.78rem}.reward-panel{margin:22px 0 0;padding:16px;border:1px solid var(--line);border-radius:14px}.level-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:.88rem}.level-line strong{color:var(--ink)}.reward-final{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;padding:16px 10px;background:var(--bg-surface);border:2px solid var(--gold);border-radius:14px;box-shadow:0 0 0 4px var(--glow-gold);animation:rewardPop .35s ease-out}.reward-final-item{text-align:center}.reward-final-item b{display:block;font-size:1.9rem;font-weight:900;color:var(--gold);line-height:1.15}.reward-final-item span{display:block;margin-top:2px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.level-up{margin:0 0 12px;text-align:center;font-weight:800}.reward-panel .bar{margin:8px 0}.reward-totals{margin:0;color:var(--muted);font-size:.8rem}.player-pills{display:inline-flex;gap:8px}@keyframes rewardPop{0%{transform:scale(.92);opacity:0}70%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}.attack{animation:attack .42s}.hit{animation:hit .42s}@keyframes float{50%{transform:translateY(-10px)}}@keyframes attack{50%{transform:translate(65px) rotate(10deg) scale(1.12)}}@keyframes hit{25%,75%{opacity:.25;transform:translate(-8px)}50%{opacity:1;transform:translate(8px)}}@keyframes idleBob{50%{transform:translateY(-6px)}}.arena.shake{animation:shakeArena .4s}@keyframes shakeArena{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.arena.shake-epic{animation:shakeArenaEpic .825s}@keyframes shakeArenaEpic{10%,90%{transform:translate(-2px,-1px)}20%,80%{transform:translate(4px,2px)}30%,50%,70%{transform:translate(-10px,-3px)}40%,60%{transform:translate(10px,3px)}}.spark{position:absolute;width:7px;height:7px;border-radius:50%;pointer-events:none;animation:sparkOut .9s ease-out both}@keyframes sparkOut{0%{opacity:0;transform:translate(0) scale(1)}14%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}.epic-strike,.cannon-strike,.sword-strike,.bat-strike,.fire-strike,.ice-strike,.flag-strike,.dragon-strike,.coolerdrache-strike{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9;overflow:visible}.screen-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 78% 42%,#eef8ff 0%,#9fd7ff 22%,transparent 58%);opacity:0;animation:screenFlash .57s ease-out forwards}@keyframes screenFlash{0%{opacity:0}10%{opacity:.85}30%{opacity:.1}48%{opacity:.5}to{opacity:0}}.lightning-bolt{position:absolute;right:20%;top:-10%;width:18%;height:82%;overflow:visible;opacity:0;filter:drop-shadow(0 0 5px #d3f0ff) drop-shadow(0 0 16px #6cc3ff);animation:boltFlicker .51s steps(1,jump-end) forwards}.bolt-glow{fill:none;stroke:#8ed4ff;stroke-width:10;stroke-linejoin:round;stroke-linecap:round;opacity:.55}.bolt-core{fill:none;stroke:#f4fbff;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}@keyframes boltFlicker{0%{opacity:0}8%{opacity:1}18%{opacity:.15}26%{opacity:1}42%{opacity:.25}58%{opacity:1}78%{opacity:.35}to{opacity:0}}.shockwave{position:absolute;right:29%;top:47%;width:16px;height:16px;margin:-8px -8px 0 0;border-radius:50%;border:3px solid #d3f0ff;box-shadow:0 0 14px 2px #8ed4ffaa;opacity:0;animation:shockwaveExpand .9s ease-out .21s forwards}@keyframes shockwaveExpand{0%{transform:scale(0);opacity:.9}65%{opacity:.45}to{transform:scale(9);opacity:0}}.storm-spark{position:absolute;right:29%;top:47%;background:#eaf7ff;box-shadow:0 0 6px 2px #8ed4ff;opacity:.95}.impact-text.epic-text{font-size:clamp(1.6rem,4.2vw,2.6rem);color:#fff;text-shadow:0 0 6px #bfe8ff,0 0 18px #6cc3ff,-1px -1px 0 #14304a,1px -1px 0 #14304a,-1px 1px 0 #14304a,1px 1px 0 #14304a;animation:epicTextPop 1.2s cubic-bezier(.2,1.6,.4,1) forwards}:root[data-theme=light] .impact-text.epic-text{color:#0d2234;text-shadow:0 0 6px #bfe8ff,0 0 16px #7fd0ff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}@keyframes epicTextPop{0%{opacity:0;transform:scale(.2) rotate(-16deg)}18%{opacity:1;transform:scale(1.35) rotate(6deg)}30%{transform:scale(.92) rotate(-4deg)}42%{transform:scale(1.18) rotate(3deg)}60%{transform:scale(1) rotate(-1deg)}85%{opacity:1;transform:scale(1.02) rotate(0)}to{opacity:0;transform:scale(1.08) rotate(0)}}.muzzle-flash{position:absolute;left:27%;top:50%;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;background:radial-gradient(circle,#fff6d0 0%,#ffb347 45%,transparent 72%);opacity:0;animation:muzzleFlash .27s ease-out forwards}@keyframes muzzleFlash{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}.muzzle-smoke{position:absolute;left:27%;top:48%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:radial-gradient(circle,#cfcfcf99 0%,transparent 70%);filter:blur(2px);opacity:0;animation:muzzleSmokeDrift .825s ease-out 75ms forwards}@keyframes muzzleSmokeDrift{0%{opacity:0;transform:scale(.5) translateY(0)}30%{opacity:.65}to{opacity:0;transform:scale(1.6) translateY(-18px)}}.cannonball{position:absolute;left:27%;top:52%;font-size:1.8rem;filter:drop-shadow(0 4px 6px #0009);animation:cannonArc .63s ease-in forwards}@keyframes cannonArc{0%{left:27%;top:52%;transform:rotate(0) scale(.9)}50%{left:49%;top:26%;transform:rotate(360deg) scale(1.05)}to{left:71%;top:50%;transform:rotate(700deg) scale(1.15);opacity:0}}.blast-flash{position:absolute;right:29%;top:40%;width:150px;height:150px;margin:-75px -75px 0 0;border-radius:50%;background:radial-gradient(circle,#fff6d0 0%,#ffb347 35%,transparent 66%);opacity:0;animation:blastFlash .75s ease-out .6s forwards}@keyframes blastFlash{0%{opacity:0;transform:scale(.3)}18%{opacity:1;transform:scale(1.1)}45%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.cannon-shockwave{position:absolute;right:29%;top:47%;width:16px;height:16px;margin:-8px -8px 0 0;border-radius:50%;border:3px solid #ffcf8f;box-shadow:0 0 14px 2px #ff9f4faa;opacity:0;animation:shockwaveExpand .825s ease-out .63s forwards}.cannon-debris{position:absolute;right:29%;top:50%;width:6px;height:6px;border-radius:2px;background:#6b4a33;box-shadow:0 0 4px 1px #0006;opacity:.95}.smoke-puff{position:absolute;right:29%;top:46%;width:60px;height:60px;margin:-30px -30px 0 0;border-radius:50%;background:radial-gradient(circle,#cfcfcf99 0%,transparent 70%);filter:blur(3px);opacity:0;animation:smokeDrift .975s ease-out forwards}.smoke-puff.s1{animation-delay:.63s}.smoke-puff.s2{right:26%;top:41%;animation-delay:.75s}.smoke-puff.s3{right:31%;top:52%;animation-delay:.84s}@keyframes smokeDrift{0%{opacity:0;transform:scale(.4) translateY(0)}25%{opacity:.7}to{opacity:0;transform:scale(1.9) translateY(-26px)}}.impact-text.cannon-text{font-size:clamp(1.6rem,4.3vw,2.7rem);color:#fff2d9;text-shadow:0 0 8px #ffb04d,0 0 20px #ff7a1f,-2px -2px 0 #4a1900,2px -2px 0 #4a1900,-2px 2px 0 #4a1900,2px 2px 0 #4a1900;animation:cannonTextPop .825s cubic-bezier(.15,1.8,.3,1) .6s both}:root[data-theme=light] .impact-text.cannon-text{color:#4a1900;text-shadow:0 0 8px #ffb04d,0 0 16px #ff7a1f,-2px -2px 0 #fff2d9,2px -2px 0 #fff2d9,-2px 2px 0 #fff2d9,2px 2px 0 #fff2d9}@keyframes cannonTextPop{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.25)}50%{transform:scale(.95)}70%{transform:scale(1.08)}to{opacity:0;transform:scale(1.02)}}.slash-arc{position:absolute;right:14%;top:16%;width:30%;height:64%;overflow:visible}.slash-glow{fill:none;stroke:#eafcff;stroke-width:9;stroke-linecap:round;opacity:.5;filter:blur(1px);stroke-dasharray:1;stroke-dashoffset:1;animation:slashDraw .33s ease-out forwards}.slash-core{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:slashDraw .33s ease-out forwards}.slash-arc-2 .slash-glow,.slash-arc-2 .slash-core{animation-delay:.15s}@keyframes slashDraw{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}65%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.sword-glint{position:absolute;right:29%;top:40%;background:#fff;box-shadow:0 0 8px 2px #bfe8ff}.impact-text.sword-text{font-size:clamp(1.4rem,3.6vw,2.1rem);font-style:italic;letter-spacing:.06em;color:#f2fbff;text-shadow:0 0 6px #bfe8ff,-1px -1px 0 #0b2230,1px -1px 0 #0b2230,-1px 1px 0 #0b2230,1px 1px 0 #0b2230;animation:swordTextPop .675s cubic-bezier(.2,1.4,.3,1) .18s both}:root[data-theme=light] .impact-text.sword-text{color:#0b2230;text-shadow:0 0 6px #bfe8ff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}@keyframes swordTextPop{0%{opacity:0;transform:scale(.5) skew(-14deg)}40%{opacity:1;transform:scale(1.15) skew(6deg)}70%{transform:scale(1) skew(-2deg)}to{opacity:0;transform:scale(1.03) skew(0)}}.bat-trail{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}.bat-trail-path{fill:none;stroke:url(#batTrailGrad);stroke-width:10;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:batTrailDraw .63s cubic-bezier(.4,.05,.4,1) forwards}@keyframes batTrailDraw{0%{stroke-dashoffset:1;opacity:.9}68%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:0;opacity:0}}.bat-speed-line{fill:none;stroke:#fff8dc;stroke-width:2.5;stroke-linecap:round;opacity:0;stroke-dasharray:.14 1;stroke-dashoffset:1;animation:batSpeedLine .63s linear forwards}.bat-speed-line.l2{animation-delay:.06s;stroke-width:1.8}@keyframes batSpeedLine{0%{stroke-dashoffset:1;opacity:0}10%{opacity:.85}85%{opacity:.5}to{stroke-dashoffset:-.35;opacity:0}}.bat-swing{position:absolute;left:27%;top:72%;font-size:2.2rem;opacity:0;filter:drop-shadow(0 4px 6px #0009);animation:batSwing .63s cubic-bezier(.4,.05,.4,1) forwards}@keyframes batSwing{0%{left:27%;top:72%;transform:rotate(-80deg) scale(.85);opacity:0}12%{opacity:1}45%{left:42%;top:30%;transform:rotate(0) scale(1.05);opacity:1}75%{left:59%;top:16%;transform:rotate(90deg) scale(1.12);opacity:1}to{left:71%;top:36%;transform:rotate(165deg) scale(1.18);opacity:0}}.comic-burst{position:absolute;right:29%;top:20%;width:170px;height:170px;margin:-85px -85px 0 0;background:radial-gradient(circle,#fff9c4 0%,#ffca28 55%,transparent 72%);clip-path:polygon(50% 0%,61% 35%,95% 10%,73% 45%,100% 50%,73% 55%,95% 90%,61% 65%,50% 100%,39% 65%,5% 90%,27% 55%,0% 50%,27% 45%,5% 10%,39% 35%);opacity:0;animation:comicBurstPop .75s ease-out .63s forwards}@keyframes comicBurstPop{0%{opacity:0;transform:scale(.2) rotate(-8deg)}30%{opacity:1;transform:scale(1.1) rotate(4deg)}55%{opacity:.9;transform:scale(.95) rotate(-2deg)}to{opacity:0;transform:scale(1) rotate(0)}}.dizzy-star{position:absolute;right:29%;top:20%;font-size:1.3rem;opacity:0;animation:dizzyOrbit 1.2s linear forwards,dizzyFade 1.2s ease-out forwards}@keyframes dizzyOrbit{0%{transform:rotate(var(--from)) translate(46px) rotate(calc(var(--from) * -1))}to{transform:rotate(var(--to)) translate(46px) rotate(calc(var(--to) * -1))}}@keyframes dizzyFade{0%{opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0}}.ball-pop{position:absolute;right:29%;top:44%;font-size:1.8rem;opacity:0;animation:ballBoop 1.05s cubic-bezier(.3,1.7,.4,1) .63s forwards}@keyframes ballBoop{0%{transform:scale(.4);opacity:0}15%{transform:scale(1.3,.7);opacity:1}30%{transform:scale(.85,1.2)}45%{transform:scale(1) translate(0)}to{transform:scale(.6) translate(70px,-60px) rotate(200deg);opacity:0}}.impact-text.bat-text{opacity:0;font-size:clamp(1.7rem,4.4vw,2.7rem);color:#fff176;text-shadow:-2px -2px 0 #7a4a00,2px -2px 0 #7a4a00,-2px 2px 0 #7a4a00,2px 2px 0 #7a4a00,0 0 16px #ffca2888;animation:batTextPop 1.125s cubic-bezier(.34,1.7,.4,1) .69s forwards}:root[data-theme=light] .impact-text.bat-text{color:#8a5a00;text-shadow:-2px -2px 0 #fff9db,2px -2px 0 #fff9db,-2px 2px 0 #fff9db,2px 2px 0 #fff9db,0 0 14px #fff3c4}@keyframes batTextPop{0%{opacity:0;transform:scale(.2) rotate(-20deg)}20%{opacity:1;transform:scale(1.3) rotate(10deg)}35%{transform:scale(.9) rotate(-8deg)}50%{transform:scale(1.15) rotate(6deg)}65%{transform:scale(.98) rotate(-3deg)}80%{opacity:1;transform:scale(1.04) rotate(2deg)}to{opacity:0;transform:scale(1) rotate(0)}}.fire-cast{position:absolute;left:27%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:radial-gradient(circle,#fff3c4 0%,#ff7a1f 55%,transparent 72%);opacity:0;animation:muzzleFlash .24s ease-out forwards}.fire-trail{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}.fire-trail-path{fill:none;stroke:url(#fireTrailGrad);stroke-width:8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:batTrailDraw .57s ease-out forwards}.fireball{position:absolute;left:27%;top:52%;font-size:1.9rem;filter:drop-shadow(0 0 6px #ff8c2688);animation:fireballFly .57s ease-in forwards}@keyframes fireballFly{0%{left:27%;transform:scale(.8) rotate(-6deg)}20%{transform:scale(1.18) rotate(4deg)}40%{transform:scale(.95) rotate(-4deg)}60%{transform:scale(1.18) rotate(4deg)}80%{transform:scale(.98) rotate(-2deg)}to{left:71%;transform:scale(1.1) rotate(0);opacity:0}}.fire-explosion{position:absolute;right:29%;top:38%;width:150px;height:150px;margin:-75px -75px 0 0;border-radius:50%;background:radial-gradient(circle,#fff3c4 0%,#ff9d3f 30%,#ff5a1f 55%,transparent 72%);opacity:0;animation:blastFlash .72s ease-out .54s forwards}.flame-plume{position:absolute;right:29%;top:40%;font-size:1.6rem;opacity:0;animation:flamePlume .9s ease-out forwards}.flame-plume.f1{animation-delay:.57s}.flame-plume.f2{right:26%;font-size:1.3rem;animation-delay:.66s}.flame-plume.f3{right:32%;font-size:1.1rem;animation-delay:.75s}@keyframes flamePlume{0%{opacity:0;transform:translateY(0) scale(.6)}25%{opacity:.9}to{opacity:0;transform:translateY(-46px) scale(1.3) rotate(8deg)}}.ember-spark{position:absolute;right:29%;top:42%;background:#ffb347;box-shadow:0 0 6px 2px #ff8c26}.impact-text.fire-text{font-size:clamp(1.6rem,4.2vw,2.6rem);color:#fff3c4;text-shadow:0 0 8px #ff9d3f,0 0 20px #ff5a1f,-2px -2px 0 #5c1600,2px -2px 0 #5c1600,-2px 2px 0 #5c1600,2px 2px 0 #5c1600;animation:cannonTextPop .825s cubic-bezier(.15,1.8,.3,1) .57s both}:root[data-theme=light] .impact-text.fire-text{color:#5c1600;text-shadow:0 0 8px #ff9d3f,0 0 16px #ff7a1f,-2px -2px 0 #fff3c4,2px -2px 0 #fff3c4,-2px 2px 0 #fff3c4,2px 2px 0 #fff3c4}.ice-cast{position:absolute;left:27%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:radial-gradient(circle,#eaffff 0%,#8fd9ff 55%,transparent 72%);opacity:0;animation:muzzleFlash .24s ease-out forwards}.ice-trail{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}.ice-trail-path{fill:none;stroke:url(#iceTrailGrad);stroke-width:6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:batTrailDraw .54s ease-out forwards}.iceshard{position:absolute;left:27%;top:52%;font-size:1.8rem;filter:drop-shadow(0 0 6px #8fd9ff88);animation:iceFly .54s ease-in forwards}@keyframes iceFly{0%{left:27%;transform:rotate(0) scale(.85)}to{left:71%;transform:rotate(260deg) scale(1.1);opacity:0}}.freeze-overlay{position:absolute;right:29%;top:14%;width:120px;height:150px;margin:0 -60px 0 0;border-radius:38% 38% 45% 45%/48% 48% 40% 40%;background:radial-gradient(circle at 50% 40%,#eafffff2 0%,#bdeeffcc 45%,#8fd9ff55 75%,transparent 90%);opacity:0;mix-blend-mode:screen;animation:freezeFlash .9s ease-out .48s forwards}@keyframes freezeFlash{0%{opacity:0}12%{opacity:.85}55%{opacity:.55}to{opacity:0}}.frost-ring{position:absolute;right:29%;top:47%;width:16px;height:16px;margin:-8px -8px 0 0;border-radius:50%;border:3px solid #d8f6ff;box-shadow:0 0 14px 2px #8fd9ffaa;opacity:0;animation:shockwaveExpand .75s ease-out .51s forwards}.ice-shard-bit{position:absolute;right:29%;top:47%;width:5px;height:14px;background:linear-gradient(#f2ffff,#9fe0ff);clip-path:polygon(50% 0%,100% 30%,70% 100%,30% 100%,0% 30%);opacity:0;animation:iceShardFly .75s ease-out .51s forwards}@keyframes iceShardFly{0%{opacity:0;transform:translate(0) rotate(0) scale(.4)}15%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot,180deg)) scale(1)}}.impact-text.ice-text{font-size:clamp(1.5rem,4vw,2.4rem);color:#eafcff;text-shadow:0 0 8px #9fe0ff,0 0 18px #5cc3f2,-2px -2px 0 #0c3a52,2px -2px 0 #0c3a52,-2px 2px 0 #0c3a52,2px 2px 0 #0c3a52;animation:swordTextPop .675s cubic-bezier(.2,1.4,.3,1) .51s both}:root[data-theme=light] .impact-text.ice-text{color:#0c3a52;text-shadow:0 0 8px #9fe0ff,0 0 14px #5cc3f2,-2px -2px 0 #eafcff,2px -2px 0 #eafcff,-2px 2px 0 #eafcff,2px 2px 0 #eafcff}.flag-gun{position:absolute;left:32%;top:57%;font-size:1.9rem;opacity:0;filter:drop-shadow(0 3px 5px #0009);animation:flagGunKick 1.275s cubic-bezier(.3,1.6,.4,1) forwards}@keyframes flagGunKick{0%{opacity:0;transform:scaleX(-1) rotate(8deg) scale(.7)}18%{opacity:1;transform:scaleX(-1) rotate(-6deg) scale(1.15)}29%{transform:scaleX(-1) rotate(4deg) scale(1.02)}38%{transform:scaleX(-1) rotate(0) scale(1)}82%{opacity:1;transform:scaleX(-1) rotate(0) scale(1)}to{opacity:0;transform:scaleX(-1) rotate(0) scale(.92)}}.flag-poof{position:absolute;left:38%;top:57%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#cfcfcf99 55%,transparent 72%);opacity:0;animation:muzzleFlash .21s ease-out .15s forwards}.flag-rod{position:absolute;left:38%;top:57%;width:0;height:4px;background:linear-gradient(90deg,#8a6a3a,#c9a866);transform-origin:left center;opacity:0;animation:flagExtend .45s cubic-bezier(.2,1.6,.4,1) .24s forwards}@keyframes flagExtend{0%{width:0;opacity:0}10%{opacity:1}to{width:33%;opacity:1}}.flag-pop{position:absolute;left:71%;top:57%;font-size:2.4rem;opacity:0;transform-origin:0% 80%;animation:flagWave .75s ease-in-out .66s forwards}@keyframes flagWave{0%{opacity:0;transform:translate(-10%,-70%) rotate(-20deg) scale(.5)}20%{opacity:1;transform:translate(-10%,-70%) rotate(14deg) scale(1.15)}35%{transform:translate(-10%,-70%) rotate(-10deg) scale(1)}50%{transform:translate(-10%,-70%) rotate(8deg) scale(1.05)}65%{transform:translate(-10%,-70%) rotate(-6deg) scale(1)}85%{opacity:1;transform:translate(-10%,-70%) rotate(3deg) scale(1)}to{opacity:0;transform:translate(-10%,-70%) rotate(0) scale(.7)}}.flag-burst{position:absolute;right:29%;top:22%;width:160px;height:160px;margin:-80px -80px 0 0;background:radial-gradient(circle,#fff 0%,#ffe08a 55%,transparent 72%);clip-path:polygon(50% 0%,61% 35%,95% 10%,73% 45%,100% 50%,73% 55%,95% 90%,61% 65%,50% 100%,39% 65%,5% 90%,27% 55%,0% 50%,27% 45%,5% 10%,39% 35%);opacity:0;animation:comicBurstPop .675s ease-out .51s forwards}.confetti-bit{position:absolute;right:29%;top:44%;width:6px;height:6px;opacity:0;animation:confettiOut .9s ease-out forwards}@keyframes confettiOut{0%{opacity:0;transform:translate(0) rotate(0) scale(1)}12%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot,540deg)) scale(.4)}}.impact-text.flag-text{font-size:clamp(1.6rem,4.2vw,2.6rem);color:#ff5a5f;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 0 14px #ff5a5f88;animation:epicTextPop 1.05s cubic-bezier(.2,1.6,.4,1) .51s both}:root[data-theme=light] .impact-text.flag-text{color:#c81e26;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 0 12px #ff9a9e}.dragon-rig{position:absolute;left:-52%;top:58%;width:40%;max-width:460px;aspect-ratio:340/135;filter:drop-shadow(0 6px 10px #0009);animation:dragonFlightPath 2.6s ease-in-out forwards}.dragon-svg{width:100%;height:100%;display:block}@keyframes dragonFlightPath{0%{left:-52%;top:58%;opacity:0;transform:rotate(8deg) scale(.6)}5%{opacity:1}14%{left:-30%;top:66%;transform:rotate(14deg) scale(.75)}26%{left:-10%;top:30%;transform:rotate(-12deg) scale(.9)}38%{left:4%;top:52%;transform:rotate(6deg) scale(1)}50%{left:14%;top:36%;transform:rotate(-3deg) scale(1.05)}60%{left:16%;top:32%;transform:rotate(0) scale(1.08)}78%{left:16%;top:32%;transform:rotate(0) scale(1.08)}88%{left:40%;top:18%;opacity:1;transform:rotate(16deg) scale(.95)}to{left:120%;top:-6%;opacity:0;transform:rotate(30deg) scale(.6)}}.dragon-undulate{animation:dragonUndulate .9s ease-in-out infinite}@keyframes dragonUndulate{0%{transform:rotate(0)}25%{transform:rotate(3deg)}50%{transform:rotate(-1deg)}75%{transform:rotate(-3deg)}to{transform:rotate(0)}}.dragon-scale{fill:#3a9d63;stroke:#123018;stroke-width:2.5;stroke-linejoin:round}.dragon-spike{fill:#256b42}.dragon-head{fill:#2f8a56}.dragon-snout{fill:#ecdfb4}.dragon-horn{fill:#e2d29a;stroke:#5c4a1f}.dragon-eye-white{fill:#fff8ec;stroke:none}.dragon-eye-pupil{fill:#1a1005;stroke:none}.dragon-breath-outer{position:absolute;left:56%;top:14%;width:0;height:70px;margin-top:-35px;background:linear-gradient(90deg,#ffdd8c 0%,#ff8a3f 30%,#ff5a1f 60%,transparent 100%);clip-path:polygon(0% 30%,0% 70%,100% 100%,100% 0%);opacity:0;filter:blur(1px);transform-origin:left center;animation:dragonBreathOuter .55s ease-out 1.65s forwards}@keyframes dragonBreathOuter{0%{width:0;opacity:0}15%{opacity:.85}70%{width:24%;opacity:.75}to{width:26%;opacity:0}}.dragon-breath-main{position:absolute;left:56%;top:16%;width:0;height:46px;margin-top:-23px;background:linear-gradient(90deg,#fff3c4 0%,#ffb347 35%,#ff6a1f 70%,transparent 100%);clip-path:polygon(0% 26%,0% 74%,100% 92%,100% 8%);opacity:0;transform-origin:left center;animation:dragonBreathMain .5s ease-out 1.67s forwards}@keyframes dragonBreathMain{0%{width:0;opacity:0}15%{opacity:1}70%{width:21%;opacity:.9}to{width:23%;opacity:0}}.dragon-breath-core{position:absolute;left:56%;top:17%;width:0;height:24px;margin-top:-12px;background:linear-gradient(90deg,#fffef2,#fff3a0,#ffcf5c);clip-path:polygon(0% 20%,0% 80%,100% 85%,100% 15%);opacity:0;filter:drop-shadow(0 0 8px #fff3a0aa);transform-origin:left center;animation:dragonBreathCore .42s ease-out 1.69s forwards}@keyframes dragonBreathCore{0%{width:0;opacity:0}20%{opacity:1}65%{width:17%;opacity:1}to{width:19%;opacity:0}}.dragon-flame-tongue{position:absolute;top:16%;width:16px;height:16px;background:radial-gradient(circle,#fff3c4 0%,#ff8c3f 60%,transparent 80%);border-radius:60% 40% 55% 45%/55% 45% 60% 40%;opacity:0;animation:dragonFlameFlicker .28s ease-in-out 3 forwards}.dragon-flame-tongue.ft1{left:64%;animation-delay:1.75s}.dragon-flame-tongue.ft2{left:70%;top:14%;animation-delay:1.85s}.dragon-flame-tongue.ft3{left:66%;top:19%;animation-delay:1.95s}@keyframes dragonFlameFlicker{0%{opacity:0;transform:scale(.6) rotate(0)}30%{opacity:.9;transform:scale(1.1) rotate(8deg)}60%{opacity:.7;transform:scale(.85) rotate(-6deg)}to{opacity:0;transform:scale(.5) rotate(4deg)}}.dragon-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 76% 42%,#fff3c4 0%,#ff8c3f 22%,transparent 58%);opacity:0;animation:screenFlash .45s ease-out 2s forwards}.dragon-shockwave{position:absolute;right:26%;top:40%;width:16px;height:16px;margin:-8px -8px 0 0;border-radius:50%;border:3px solid #ffcf8f;box-shadow:0 0 14px 2px #ff9f4faa;opacity:0;animation:shockwaveExpand .6s ease-out 2.03s forwards}.dragon-ember{position:absolute;right:24%;top:42%;background:#ffb347;box-shadow:0 0 6px 2px #ff8c26}.scorch-mark{position:absolute;right:24%;top:66%;width:120px;height:34px;margin:-17px -60px 0 0;border-radius:50%;background:radial-gradient(ellipse,#1a0d05cc 0%,#1a0d0566 55%,transparent 78%);opacity:0;animation:scorchFade 1.3s ease-out 2.1s forwards}@keyframes scorchFade{0%{opacity:0;transform:scale(.4)}25%{opacity:.9;transform:scale(1)}75%{opacity:.7}to{opacity:0;transform:scale(1.15)}}.impact-text.dragon-text{font-size:clamp(1.7rem,4.4vw,2.9rem);color:#fff3c4;text-shadow:0 0 10px #ff9d3f,0 0 22px #ff5a1f,-2px -2px 0 #123014,2px -2px 0 #123014,-2px 2px 0 #123014,2px 2px 0 #123014;animation:dragonTextPop .7s cubic-bezier(.15,1.8,.3,1) 1.95s both}:root[data-theme=light] .impact-text.dragon-text{color:#123014;text-shadow:0 0 8px #ff9d3f,0 0 16px #ff7a1f,-2px -2px 0 #fff3c4,2px -2px 0 #fff3c4,-2px 2px 0 #fff3c4,2px 2px 0 #fff3c4}@keyframes dragonTextPop{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.25)}50%{transform:scale(.95)}70%{transform:scale(1.08)}to{opacity:0;transform:scale(1.02)}}.coolerdrache-creature{position:absolute;top:0;right:0;bottom:0;left:0}.coolerdrache-segment,.coolerdrache-head-rig{position:absolute;left:-58%;top:62%;opacity:0;transform:translate(-50%,-50%) rotate(10deg) scale(.5);animation-name:coolerdrachePath;animation-duration:3.2s;animation-timing-function:cubic-bezier(.35,.05,.25,1);animation-fill-mode:forwards}@keyframes coolerdrachePath{0%{left:-58%;top:62%;opacity:0;transform:translate(-50%,-50%) rotate(10deg) scale(.5)}5%{opacity:1}25%{left:-10%;top:34%;transform:translate(-50%,-50%) rotate(-8deg) scale(.82)}40%{left:22%;top:50%;transform:translate(-50%,-50%) rotate(6deg) scale(.95)}53%{left:52%;top:30%;transform:translate(-50%,-50%) rotate(-3deg) scale(1.05)}63%{left:63%;top:27%;transform:translate(-50%,-50%) rotate(0) scale(1.1)}80%{left:64%;top:26%;opacity:1;transform:translate(-50%,-50%) rotate(1deg) scale(1.1)}92%{left:88%;top:6%;transform:translate(-50%,-50%) rotate(20deg) scale(.9)}to{left:145%;top:-10%;opacity:0;transform:translate(-50%,-50%) rotate(34deg) scale(.55)}}.coolerdrache-segment{border-radius:50%;background:radial-gradient(ellipse at 45% 30%,rgba(255,255,255,.2) 0 10%,transparent 35%),linear-gradient(180deg,#15965a,#087844 48%,#075f38);box-shadow:inset 0 0 0 2px #063f26aa}.coolerdrache-segment:after{content:"";position:absolute;left:8%;right:8%;bottom:6%;height:28%;border-radius:50%;background:linear-gradient(180deg,#f6d889,#d9ad4f);opacity:.95}.coolerdrache-seg-4:before,.coolerdrache-seg-5:before,.coolerdrache-seg-6:before{content:"";position:absolute;left:38%;top:-22%;width:24%;height:46%;background:linear-gradient(180deg,#ffcf6b,#e2872f);clip-path:polygon(50% 0%,100% 100%,0% 100%)}.coolerdrache-seg-0{width:40px;height:18px;z-index:19;animation-delay:.35s}.coolerdrache-seg-1{width:64px;height:28px;z-index:20;animation-delay:.3s}.coolerdrache-seg-2{width:96px;height:42px;z-index:21;animation-delay:.25s}.coolerdrache-seg-3{width:122px;height:52px;z-index:22;animation-delay:.2s}.coolerdrache-seg-4{width:140px;height:58px;z-index:23;animation-delay:.15s}.coolerdrache-seg-5{width:128px;height:54px;z-index:24;animation-delay:.1s}.coolerdrache-seg-6{width:108px;height:46px;z-index:25;animation-delay:.05s}.coolerdrache-head-rig{width:92px;height:84px;z-index:26;animation-delay:0s;filter:drop-shadow(0 6px 10px #0009)}.coolerdrache-head-image{width:100%;height:100%;object-fit:contain;display:block}.coolerdrache-fire-outer{position:absolute;left:68%;top:23%;width:0;height:64px;margin-top:-32px;background:linear-gradient(90deg,#d9fff0 0%,#5be8b0 30%,#12b381 60%,transparent 100%);clip-path:polygon(0% 30%,0% 70%,100% 100%,100% 0%);opacity:0;filter:blur(1px);transform-origin:left center;animation:coolerdracheFireOuter .55s ease-out 1.95s forwards}@keyframes coolerdracheFireOuter{0%{width:0;opacity:0}15%{opacity:.85}70%{width:26%;opacity:.75}to{width:28%;opacity:0}}.coolerdrache-fire-main{position:absolute;left:68%;top:25%;width:0;height:42px;margin-top:-21px;background:linear-gradient(90deg,#f2fff8 0%,#7ff4c4 35%,#23c98f 70%,transparent 100%);clip-path:polygon(0% 26%,0% 74%,100% 92%,100% 8%);opacity:0;transform-origin:left center;animation:coolerdracheFireMain .5s ease-out 1.98s forwards}@keyframes coolerdracheFireMain{0%{width:0;opacity:0}15%{opacity:1}70%{width:23%;opacity:.9}to{width:25%;opacity:0}}.coolerdrache-fire-core{position:absolute;left:68%;top:26%;width:0;height:22px;margin-top:-11px;background:linear-gradient(90deg,#fff,#d8fff0,#8ff2cf);clip-path:polygon(0% 20%,0% 80%,100% 85%,100% 15%);opacity:0;filter:drop-shadow(0 0 8px #8ff2cfaa);transform-origin:left center;animation:coolerdracheFireCore .42s ease-out 2.01s forwards}@keyframes coolerdracheFireCore{0%{width:0;opacity:0}20%{opacity:1}65%{width:19%;opacity:1}to{width:21%;opacity:0}}.coolerdrache-flame-tongue{position:absolute;top:24%;width:14px;height:14px;background:radial-gradient(circle,#f2fff8 0%,#3fd99f 60%,transparent 80%);border-radius:60% 40% 55% 45%/55% 45% 60% 40%;opacity:0;animation:coolerdracheFlameFlicker .28s ease-in-out 3 forwards}.coolerdrache-flame-tongue.ft1{left:74%;animation-delay:2.02s}.coolerdrache-flame-tongue.ft2{left:79%;top:22%;animation-delay:2.1s}.coolerdrache-flame-tongue.ft3{left:76%;top:27%;animation-delay:2.18s}@keyframes coolerdracheFlameFlicker{0%{opacity:0;transform:scale(.6) rotate(0)}30%{opacity:.9;transform:scale(1.1) rotate(8deg)}60%{opacity:.7;transform:scale(.85) rotate(-6deg)}to{opacity:0;transform:scale(.5) rotate(4deg)}}.coolerdrache-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 76% 42%,#eafff5 0%,#4fd8a0 22%,transparent 58%);opacity:0;animation:screenFlash .45s ease-out 2.25s forwards}.coolerdrache-shockwave{position:absolute;right:26%;top:40%;width:16px;height:16px;margin:-8px -8px 0 0;border-radius:50%;border:3px solid #8ff2cf;box-shadow:0 0 14px 2px #4fd8a0aa;opacity:0;animation:shockwaveExpand .6s ease-out 2.28s forwards}.coolerdrache-ember{position:absolute;right:24%;top:42%;background:#5be8b0;box-shadow:0 0 6px 2px #23c98f}.coolerdrache-scorch{position:absolute;right:24%;top:66%;width:120px;height:34px;margin:-17px -60px 0 0;border-radius:50%;background:radial-gradient(ellipse,#0d1a14cc 0%,#0d1a1466 55%,transparent 78%);opacity:0;animation:scorchFade 1.3s ease-out 2.35s forwards}.impact-text.coolerdrache-text{font-size:clamp(1.7rem,4.4vw,2.9rem);color:#eafff5;text-shadow:0 0 10px #2fd9a0,0 0 22px #12b381,-2px -2px 0 #06331f,2px -2px 0 #06331f,-2px 2px 0 #06331f,2px 2px 0 #06331f;animation:coolerdracheTextPop .7s cubic-bezier(.15,1.8,.3,1) 2.25s both}:root[data-theme=light] .impact-text.coolerdrache-text{color:#06331f;text-shadow:0 0 8px #2fd9a0,0 0 16px #12b381,-2px -2px 0 #eafff5,2px -2px 0 #eafff5,-2px 2px 0 #eafff5,2px 2px 0 #eafff5}@keyframes coolerdracheTextPop{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.25)}50%{transform:scale(.95)}70%{transform:scale(1.08)}to{opacity:0;transform:scale(1.02)}}.floatnum{position:absolute;left:50%;top:42%;transform:translate(-50%);font-weight:900;font-size:1.3rem;color:var(--gold);pointer-events:none;text-shadow:-1px -1px 0 #0009,1px -1px 0 #0009,-1px 1px 0 #0009,1px 1px 0 #0009,0 2px 6px #000a;animation:floatUp 1s ease-out forwards;z-index:5;white-space:nowrap}.floatnum.bad{color:var(--red)}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}20%{opacity:1;transform:translate(-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-55px) scale(1)}}.projectile{position:absolute;left:27%;top:52%;font-size:2.1rem;pointer-events:none;z-index:6;animation:projectileFly .45s ease-in forwards;filter:drop-shadow(0 4px 6px #0009)}@keyframes projectileFly{0%{left:27%;opacity:1;transform:scale(.9)}to{left:71%;opacity:1;transform:scale(1.2)}}.impact-text{position:absolute;right:9%;top:34%;font-size:clamp(1.3rem,3vw,1.9rem);font-weight:900;color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 14px #ffd16688;pointer-events:none;z-index:7;letter-spacing:.03em;animation:impactPop .6s ease-out forwards}:root[data-theme=light] .impact-text{color:#1a2432;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 14px #ffffffcc}@keyframes impactPop{0%{opacity:0;transform:scale(.3) rotate(-10deg)}35%{opacity:1;transform:scale(1.3) rotate(5deg)}60%{transform:scale(1) rotate(-3deg)}to{opacity:0;transform:scale(1.05) rotate(0)}}.heroHp.flash,.bossHp.flash{animation:hpFlash .4s}@keyframes hpFlash{0%{filter:brightness(2.4)}to{filter:brightness(1)}}.sprite.defeated{animation:defeatSpin .6s ease-in forwards}@keyframes defeatSpin{to{transform:rotate(25deg) scale(.2);opacity:0}}@media (max-width:780px){body{padding:6px}.app{min-height:calc(100vh - 12px);border-radius:14px}.screen{padding:20px}.hero-layout{grid-template-columns:1fr}.hero-visual{display:none}.topic-grid{grid-template-columns:1fr 1fr}.arena{height:185px;padding:18px 3%}.sprite{font-size:3.8rem}.hp{width:115px}.quest-body{padding:18px 12px}.answers{grid-template-columns:1fr}.pattern{grid-template-columns:1fr 1fr}.result-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:400px){.reward-final-item b{font-size:1.5rem}}@media (max-width:900px){.topbar{padding:0 16px}.status{gap:8px}.account-group{gap:6px}.account-button{max-width:150px}}@media (max-width:480px){.topbar{min-height:64px;padding:10px 13px}.brand{font-size:.82rem}.status{font-size:.72rem}.mode-grid,.topic-grid{grid-template-columns:1fr}.fighter{min-width:110px}.screen{min-height:620px}.quest-meta{font-size:.75rem}.account-button{max-width:110px}.profile-trigger{max-width:120px}.profile-trigger-label{max-width:56px}}.typing-word{font-size:clamp(2rem,6vw,3.2rem);font-weight:800;letter-spacing:.06em;text-align:center;margin:18px 0 4px;color:var(--muted);font-family:ui-monospace,Consolas,monospace}.typing-word .typed{color:var(--teal)}.typing-word .current{color:var(--ink);border-bottom:4px solid var(--gold)}.typing-word.error .current{color:var(--red);border-bottom-color:var(--red)}.typing-meaning{text-align:center;min-height:1.4em;margin:0;font-size:1.15rem}.typing-finger{text-align:center;color:var(--muted);min-height:1.4em}.keyboard{display:flex;flex-direction:column;gap:6px;align-items:center;margin:8px auto 0;padding:18px 16px;max-width:100%;overflow-x:auto}.kb-row{display:flex;gap:6px;align-self:center}.kb-key{width:2.6rem;height:2.6rem;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink);border:2px solid var(--line);transition:transform .08s}.kb-key.kb-shift{width:3.6rem}.kb-key.kb-space{width:16rem}.kb-key.next{outline:3px solid var(--gold);outline-offset:2px;transform:translateY(-2px);box-shadow:0 0 14px var(--gold)}.kb-key.f0,.kb-key.f7{background:#e74c3c47}.kb-key.f1,.kb-key.f6{background:#f1c40f47}.kb-key.f2,.kb-key.f5{background:#2ecc7147}.kb-key.f3{background:#3498db52}.kb-key.f4{background:#9b59b652}.kb-key.f8{background:#95a5a640}.kb-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:0;margin:16px 0 0;color:var(--muted);font-size:.85rem}.kb-legend li{display:flex;align-items:center;gap:6px}.kb-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line)}.kb-swatch.f0{background:#e74c3c8c}.kb-swatch.f1{background:#f1c40f8c}.kb-swatch.f2{background:#2ecc718c}.kb-swatch.f3{background:#3498db99}.kb-swatch.f4{background:#9b59b699}.kb-swatch.f8{background:#95a5a680}@media (max-width:640px){.kb-key{width:1.9rem;height:2.1rem;font-size:.8rem}.kb-key.kb-shift{width:2.6rem}.kb-key.kb-space{width:10rem}}.mode-card-adventure strong{color:var(--purple)}.beta-tag{color:var(--purple);box-shadow:0 0 0 1px var(--glow-purple)}.beta-chip{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:99px;border:1px solid var(--purple);color:var(--purple);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.adventure-screen{max-width:760px}.adventure-loading{color:var(--muted)}.adventure-kicker{display:block;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.adventure-subheading{display:block;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.adventure-region{margin-top:26px}.adventure-region-banner{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;padding:22px 24px 40px;border-radius:18px;border:1px solid var(--line-strong);background:radial-gradient(circle at 10% 0,var(--glow-gold),transparent 55%),radial-gradient(circle at 100% 100%,var(--glow-purple),transparent 60%),linear-gradient(160deg,var(--bg-panel-a),var(--bg-surface))}.adventure-region-banner:before,.adventure-region-banner:after{content:"";position:absolute;left:0;right:0;bottom:0;pointer-events:none}.adventure-region-banner:before{height:52px;background:var(--line);opacity:.35;clip-path:polygon(0 100%,0 55%,9% 30%,17% 50%,28% 12%,38% 46%,47% 26%,58% 52%,68% 18%,79% 44%,90% 22%,100% 48%,100% 100%)}.adventure-region-banner:after{height:36px;background:var(--line-soft);opacity:.8;clip-path:polygon(0 100%,0 60%,7% 42%,14% 58%,23% 28%,32% 55%,40% 38%,49% 64%,57% 32%,66% 54%,75% 24%,85% 52%,93% 36%,100% 56%,100% 100%)}.adventure-region-banner>*{position:relative;z-index:1}.adventure-crest{flex:0 0 auto;width:58px;height:68px;filter:drop-shadow(0 6px 8px #0004)}.adventure-crest .crest-shield{fill:var(--bg-surface);stroke:var(--gold);stroke-width:2.5}.adventure-crest .crest-inner{fill:var(--glow-purple);stroke:var(--gold);stroke-width:1;stroke-opacity:.5}.adventure-crest .crest-rune{fill:none;stroke:var(--gold);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.adventure-region-text{min-width:0}.adventure-region-name{margin:3px 0 4px;color:var(--gold);font-size:clamp(1.3rem,3.2vw,1.75rem);font-weight:900;letter-spacing:.08em;line-height:1.15;text-transform:uppercase;overflow-wrap:anywhere}.adventure-region-summary{margin:0;color:var(--muted)}.adventure-path{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:28px}.adventure-path:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:4px;margin-left:-2px;border-radius:2px;background:repeating-linear-gradient(to bottom,var(--gold) 0 10px,transparent 10px 18px);opacity:.5}.adventure-waypoint{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;max-width:100%;padding:10px 22px;border-radius:14px;border:1px solid var(--line);background:var(--bg-panel-b);text-align:center}.adventure-chapter-name{color:var(--ink);font-size:1.02rem}.adventure-waypoint-summary{color:var(--muted);font-size:.85rem}.adventure-step{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:30px}.adventure-node{position:relative;z-index:2;display:grid;place-items:center;width:80px;height:80px;margin-bottom:-40px;border-radius:50%;border:3px solid var(--line-strong);background:radial-gradient(circle at 50% 30%,var(--bg-panel-a),var(--bg-surface));box-shadow:0 8px 18px #0004;font-size:2.3rem;line-height:1}.adventure-node.status-locked{border-style:dashed;font-size:1.8rem}.adventure-node.status-locked .adventure-node-glyph{filter:grayscale(1);opacity:.65}.adventure-node.status-available{border-color:var(--teal);box-shadow:0 0 0 6px var(--glow-teal),0 8px 18px #0004}.adventure-node.status-readyForChallenge{border-color:var(--gold);box-shadow:0 0 0 6px var(--glow-gold),0 0 26px var(--glow-gold),0 8px 18px #0004}.adventure-node:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%;border:2px solid var(--gold);opacity:0;pointer-events:none}.adventure-node.status-readyForChallenge:after{animation:adventureRipple 3s ease-out infinite}.adventure-node-badge{position:absolute;right:-6px;bottom:-4px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--bg-panel-a);font-size:.95rem}.adventure-node.status-completed{border-color:var(--gold);background:radial-gradient(circle at 35% 30%,#ffffff33,transparent 55%),var(--purple);box-shadow:0 0 0 6px var(--glow-purple),0 8px 18px #0004;animation:adventureSealStamp .7s cubic-bezier(.2,1.5,.4,1) both}.adventure-node.status-completed:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:1.5px dashed var(--bg-panel-a);opacity:.55}.adventure-seal-rune{width:44px;height:44px;fill:none;stroke:var(--bg-panel-a);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.adventure-quest{width:100%;padding:54px 22px 22px;border-radius:18px;border:1px solid var(--line-strong);background:linear-gradient(145deg,var(--bg-panel-a),var(--bg-panel-b));box-shadow:0 8px 20px #0003}.adventure-quest.status-locked{border-style:dashed}.adventure-quest.status-available{border-color:var(--teal)}.adventure-quest.status-readyForChallenge{border-color:var(--gold);box-shadow:0 0 0 4px var(--glow-gold),0 8px 20px #0003}.adventure-quest.status-completed{border-color:var(--purple);box-shadow:0 0 0 4px var(--glow-purple),0 8px 20px #0003}.adventure-quest-head{text-align:center}.adventure-quest h4{margin:4px 0;font-size:1.35rem;color:var(--ink)}.adventure-goal{margin:0 auto 10px;max-width:460px;color:var(--muted);line-height:1.45}.adventure-status{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:900;border:1px solid var(--line-strong);color:var(--muted);background:var(--bg-control)}.adventure-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.adventure-status.status-available{color:var(--teal);border-color:var(--teal)}.adventure-status.status-readyForChallenge{color:var(--gold);border-color:var(--gold)}.adventure-status.status-completed{color:var(--purple);border-color:var(--purple)}.adventure-topics-block{margin:20px 0;text-align:center}.adventure-topic-progress{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px}.adventure-topic-count{color:var(--muted);font-size:.82rem;font-weight:700}.adventure-topic-meter{display:flex;justify-content:center;gap:5px;margin:8px 0 12px}.adventure-topic-meter span{width:34px;height:6px;border-radius:3px;border:1px solid var(--line-strong);background:var(--bg-control)}.adventure-topic-meter span.filled{border-color:var(--teal);background:var(--teal)}.adventure-topics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.adventure-topics li{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:5px 13px 5px 5px;border-radius:99px;border:1px solid var(--line-strong);background:var(--bg-surface);color:var(--muted);font-weight:700;font-size:.92rem;text-align:left}.adventure-topics li.optional{border-style:dashed}.adventure-topics li.ready{color:var(--ink);border-color:var(--teal);box-shadow:0 0 0 3px var(--glow-teal)}.adventure-check{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-strong);font-size:.8rem;font-weight:900}.adventure-topics li.ready .adventure-check{border-color:var(--teal);background:var(--teal);color:var(--bg-surface)}.adventure-optional{font-size:.8rem;font-style:italic;font-weight:400}.adventure-challenge{display:flex;align-items:center;gap:18px;padding:18px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(135deg,var(--bg-surface),var(--bg-panel-b))}.adventure-quest.status-readyForChallenge .adventure-challenge{border-color:var(--gold);background:radial-gradient(circle at 10% 50%,var(--glow-gold),transparent 55%),linear-gradient(135deg,var(--bg-surface),var(--bg-panel-b))}.adventure-quest.status-completed .adventure-challenge{border-color:var(--glow-purple)}.adventure-boss-portrait{flex:0 0 auto;display:grid;place-items:center;width:92px;height:92px;border-radius:16px;border:2px solid var(--line-strong);background:radial-gradient(circle at 50% 75%,var(--glow-purple),transparent 70%),var(--bg-control);font-size:3.1rem;line-height:1}.adventure-boss-sprite{display:block;filter:drop-shadow(0 6px 5px #0005)}.status-locked .adventure-boss-sprite{filter:grayscale(1) brightness(.6);opacity:.55}.status-available .adventure-boss-sprite{filter:grayscale(.5) drop-shadow(0 6px 5px #0005);opacity:.85}.status-readyForChallenge .adventure-boss-portrait{border-color:var(--gold);box-shadow:0 0 18px var(--glow-gold)}.status-readyForChallenge .adventure-boss-sprite{animation:idleBob 2.6s ease-in-out infinite}.status-completed .adventure-boss-portrait{border-color:var(--purple)}.status-completed .adventure-boss-sprite{opacity:.8}.adventure-boss-info{flex:1;min-width:0}.adventure-boss-name{display:block;margin:2px 0 4px;color:var(--ink);font-size:1.15rem}.adventure-boss-line{margin:0 0 6px;color:var(--ink);font-size:.9rem}.adventure-rules{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px;padding:0}.adventure-rules li{padding:3px 10px;border-radius:99px;border:1px solid var(--line);background:var(--bg-control);color:var(--muted);font-size:.78rem;font-weight:700}.adventure-hint{margin:0 0 6px;color:var(--ink);font-size:.9rem}.adventure-challenge .primary{margin-top:6px}.adventure-challenge .primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:0 5px #9c6b18}.adventure-future{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:30px 16px 12px;color:var(--muted);text-align:center;overflow:hidden}.adventure-future-trail{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding-bottom:16px}.adventure-future-trail:before{content:"";position:absolute;top:-30px;bottom:0;left:50%;width:4px;margin-left:-2px;background:repeating-linear-gradient(to bottom,var(--line-strong) 0 8px,transparent 8px 16px);-webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent);mask-image:linear-gradient(to bottom,#000 35%,transparent)}.adventure-future-node{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px dashed var(--line-strong);background:var(--bg-surface);color:var(--muted);font-size:1.3rem;font-weight:900;opacity:.75}.adventure-future-node.far{width:38px;height:38px;font-size:1rem;opacity:.35;filter:blur(.6px)}.adventure-fog{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 55% 45% at 50% 42%,var(--glow-purple),transparent 70%);animation:adventureFog 16s ease-in-out infinite alternate}.adventure-future>strong,.adventure-future>span{position:relative}.adventure-future strong{color:var(--purple);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}@keyframes adventureRipple{0%{transform:scale(.92);opacity:.65}70%,to{transform:scale(1.4);opacity:0}}@keyframes adventureSealStamp{0%{transform:scale(1.45) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes adventureFog{0%{transform:translate(-5%)}to{transform:translate(5%)}}@media (max-width:480px){.adventure-region-banner{gap:12px;padding:16px 16px 34px}.adventure-crest{width:44px;height:52px}.adventure-waypoint{padding:9px 16px}.adventure-node{width:68px;height:68px;margin-bottom:-34px;font-size:2rem}.adventure-seal-rune{width:38px;height:38px}.adventure-quest{padding:46px 14px 16px}.adventure-challenge{flex-direction:column;gap:12px;padding:16px 12px;text-align:center}.adventure-boss-portrait{width:74px;height:74px;font-size:2.6rem}.adventure-rules{justify-content:center}.adventure-challenge .primary{width:100%}}@media (prefers-reduced-motion:reduce){.adventure-node.status-readyForChallenge:after,.adventure-node.status-completed,.adventure-fog,.status-readyForChallenge .adventure-boss-sprite{animation:none}}.final-challenge-note{margin:10px 0;padding:8px 12px;border-left:4px solid var(--purple);background:var(--bg-surface);border-radius:8px;color:var(--muted);font-size:.85rem}.bossHp.final-blow{transition:width 1s ease-in}.final-challenge-score{display:inline-flex;flex-direction:column;align-items:center;margin:14px 0 4px;padding:12px 26px;border-radius:14px;border:2px solid var(--line-strong);background:var(--bg-surface)}.final-challenge-score b{font-size:2rem;font-weight:900}.final-challenge-score.passed{border-color:var(--teal)}.final-challenge-score.passed b{color:var(--teal)}.final-challenge-score.failed b{color:var(--red)}.final-challenge-score span{color:var(--muted);font-size:.85rem}.final-outro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;cursor:pointer;background:#030a12d9;animation:outroIn .35s ease-out}.final-outro.failed{background:#000000eb}.final-outro-inner{text-align:center;color:#f4f7fb}.final-outro-sprite{font-size:5.5rem;filter:drop-shadow(0 12px 8px #0009)}.final-outro-sprite.defeated{animation:defeatSpin .9s ease-in 1.1s forwards}.final-outro-boss{margin:6px 0 10px;font-weight:900;opacity:.85}.final-outro .hp{margin:0 auto 22px}.final-outro-title{font-size:clamp(2rem,7vw,3.6rem);font-weight:900;letter-spacing:.06em;line-height:1.1;animation:outroTitle .5s ease-out .5s both}.final-outro.passed .final-outro-title{color:#ffd166;text-shadow:0 0 24px #ffd16680}.final-outro.failed .final-outro-title{color:#ff8a95}.final-outro-hint{margin-top:18px;font-size:.8rem;opacity:.6}@keyframes outroIn{0%{opacity:0}to{opacity:1}}@keyframes outroTitle{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.final-outro,.final-outro-title,.final-outro-sprite.defeated{animation:none}.bossHp.final-blow{transition:none}}.teacher-link-modal h3{margin:18px 0 6px;font-size:.95rem;color:var(--ink)}.teacher-link-modal .auth-notice{margin:10px 0}.teacher-link-modal .action-row{margin-top:12px}.teacher-link-profiles{border:0;margin:12px 0 0;padding:0;min-width:0}.teacher-link-profiles legend{padding:0}.teacher-link-issued{margin:12px 0}.teacher-code{display:block;margin:8px 0;padding:12px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--bg-surface);color:var(--ink);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.3rem;letter-spacing:.12em;text-align:center;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.teacher-link-preview{margin:12px 0;padding:12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-surface)}.teacher-link-preview-name{margin:4px 0 8px;font-size:1.15rem;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.teacher-link-import{border-color:var(--gold)}.teacher-link-summary{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.teacher-link-summary>div{flex:1 1 120px;min-width:0;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-control);text-align:center}.teacher-link-summary strong{display:block;font-size:1.25rem;color:var(--ink);overflow-wrap:anywhere}.teacher-link-summary span{display:block;font-size:.8rem;color:var(--muted)}.teacher-link-bigbtn{width:100%;padding:14px 16px;font-size:1.1rem}.teacher-link-more{margin-top:8px}.teacher-link-banner{display:block;width:100%;margin:0 0 12px;padding:14px 16px;border:2px solid var(--gold);border-radius:10px;background:var(--bg-surface);color:var(--ink);font-size:1.05rem;font-weight:700;text-align:left;cursor:pointer}.speak-group{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.speak-group.inline{margin-left:8px;vertical-align:middle}.speak-voice{border:1px solid var(--line-strong);background:var(--bg-control);color:var(--ink-dim);border-radius:999px;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:800}.speak-voice:hover{border-color:var(--teal);color:var(--teal)}
