/* Compact battle stage, physical-key guidance and a visible victory arc. */
.combat{max-width:1050px;margin:auto}.combat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.battle-road,.level-road{display:flex;justify-content:space-between;gap:8px;padding:12px 0 17px}.battle-road span,.level-road span{font-size:11px;letter-spacing:1px;color:#8faaa9;border-bottom:2px solid #385355;padding:0 10px 8px;flex:1;text-align:center}.battle-road .current{color:#ffe0a1;border-color:#e2bd6a}.battle-road .cleared{color:#8de1bf;border-color:#6eaf91}.combat-top button{padding:6px 13px;font-size:12px}.battle-world{height:300px;position:relative;overflow:hidden;isolation:isolate;border-radius:21px;border:1px solid #81928a;background:linear-gradient(#17323f,#496b71 55%,#a99161 95%)}.battle-sun{position:absolute;width:62px;height:62px;left:11%;top:25px;background:#edc97b;border-radius:50%;box-shadow:0 0 65px #eed49644}.battle-pyramid{position:absolute;width:360px;height:220px;left:16%;bottom:47px;background:linear-gradient(115deg,#bdab80 0 50%,#927d58 50%);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.65}.battle-floor{position:absolute;bottom:0;width:100%;height:58px;background:linear-gradient(#bda77d 0 7%,#8a795b 7% 28%,#75674f 28% 31%,#938160 31%);box-shadow:0 -18px 35px #162d3530}.temple-column{position:absolute;bottom:52px;height:235px;width:37px;background:repeating-linear-gradient(0deg,#afa07b 0 43px,#7e795f 43px 46px);border:3px solid #c0ad80;box-shadow:6px 0 0 #48585444}.temple-column:before{content:'';position:absolute;top:-6px;left:-9px;width:50px;height:22px;background:#c0ac80;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}.left-column{left:4%}.right-column{right:5%}.enemy-panel{position:absolute;top:20px;right:9%;width:33%;text-align:center;z-index:6}.enemy-panel>span{font-size:13px;font-weight:700;color:#fff1d0;display:block;text-shadow:0 2px 3px #24373c;margin-bottom:5px}.enemy-panel small{font-size:10px;color:#eee6cf}.hp-track{height:10px;border:1px solid #dbcfab77;background:#172d34;border-radius:8px;overflow:hidden;position:relative}.hp-track>div{position:absolute;left:0;top:0;height:100%;border-radius:7px}.hp-fill{background:linear-gradient(90deg,#d98e65,#e7bd72)}.hp-old{background:#f9e5b1}.spell-fired .hp-fill{animation:hp-drain .7s .3s both}.spell-fired .hp-old{animation:old-hp .8s .3s forwards}.fighter{position:absolute;left:18%;bottom:53px;width:95px;height:135px;z-index:4}.hero-sprite{height:100%;width:100%;position:relative;z-index:2}.hero-sprite .god-portrait{width:100%;height:100%}.hero-name{position:absolute;bottom:-22px;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:3px;color:#f8e5b7}.shield-ring{position:absolute;inset:-13px -13px -4px;border:2px solid #8ddad4aa;border-radius:50%;background:radial-gradient(ellipse,transparent 50%,#70c9cb25 80%);box-shadow:0 0 19px #6cbfc744;animation:shield-breathe 3s infinite}.shield-caption{position:absolute;left:16px;bottom:10px;font-size:9px;letter-spacing:1.3px;color:#d5f2e9;z-index:6}.enemy-sprite{position:absolute;right:13%;bottom:53px;width:140px;height:140px;z-index:3;animation:enemy-hover 3s ease-in-out infinite}.enemy-sprite svg{height:100%;width:100%;filter:drop-shadow(0 8px 4px #172d3560)}.enemy-sprite.scarab{width:195px;height:180px;bottom:49px;right:10%;animation:boss-hover 3.5s ease-in-out infinite}.boss-fight{background:radial-gradient(ellipse at 72% 35%,#3f5860,#152b37 80%)}.boss-fight .battle-sun{opacity:.25}.boss-fight .battle-pyramid{opacity:.2}.enemy-attack{position:absolute;width:12px;height:12px;border-radius:50%;background:#e9ad73;right:27%;bottom:114px;box-shadow:0 0 15px #f2bf77;animation:blocked-attack 4s 1.5s infinite;opacity:0;z-index:5}.charge-orb{position:absolute;left:29%;bottom:123px;width:23px;height:23px;border-radius:50%;background:radial-gradient(#f7f4c8,#92d8d7 40%,transparent 75%);box-shadow:0 0 25px #9fe8dd77;opacity:.2;z-index:6;transition:transform .2s,opacity .2s}.walk-in{animation:hero-walk .8s ease-out both}.spell-projectile{position:absolute;left:30%;bottom:120px;width:42px;height:18px;border-radius:50%;background:linear-gradient(90deg,#59c5d200,#e6ffc6);box-shadow:0 0 30px #c0f9e4;z-index:6;animation:cast-bolt .55s ease-in forwards}.impact-ring{position:absolute;right:16%;bottom:85px;width:80px;height:80px;border:4px solid #e5f6b6;border-radius:50%;opacity:0;animation:impact .7s .3s ease-out forwards;z-index:5}.damage-pop{position:absolute;right:19%;bottom:190px;color:#ffe2a2;font-size:31px;font-weight:850;text-shadow:0 3px 2px #24333b;animation:damage-rise 1.8s .3s both;z-index:8}.spell-fired .enemy-attack{display:none}.spell-fired .enemy-sprite{animation:enemy-hit .45s .35s both}.enemy-defeated .enemy-sprite{animation:enemy-vanish 1s .35s forwards}.vanquished,.armour-break{position:absolute;width:100%;left:0;top:40%;text-align:center;letter-spacing:4px;font-size:20px;font-weight:800;color:#ffebad;text-shadow:0 2px 5px #152b37;background:#152b3790;padding:14px 8px;z-index:9;animation:banner-reveal .5s .7s both}.armour-break{font-size:16px;color:#dcf0e6}.battle-gate{position:absolute;right:-3px;bottom:53px;width:50px;height:125px;border:12px solid #b19b6c;background:#203a41;opacity:.8}.gate-open{background:#e9d898;box-shadow:0 0 35px #ffe29c88;transition:background 1s}.sun-beam .spell-projectile{height:45px;width:140px;bottom:105px;background:linear-gradient(90deg,#e4a83c00,#fff1a2);box-shadow:0 0 45px #ffdf79;animation:cast-bolt .5s ease-in forwards}.sun-beam .impact-ring{border-color:#ffeaaa;width:140px;height:140px;right:12%;bottom:55px}.sun-beam .charge-orb{background:#ffdf85}.combat-console{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;padding:21px 0 0}.spell-input-side{padding:17px 20px;border:1px solid #4d6867;border-radius:18px;background:#1a343b}.spell-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1px;color:#e0c58b}.spell-header button{padding:5px 10px;font-size:11px;white-space:nowrap}.spell-input-side .clue{font-size:12px;margin:10px 0 0;min-height:18px;line-height:1.4}.spell-input-side .status{font-size:11px;line-height:1.4;min-height:8px;margin-top:3px}.battle-model{font-size:39px;min-height:63px;line-height:1.1}.battle-model .hidden-model{font-size:13px;line-height:1.5}.spell-input-side .entry{font-size:25px;padding:6px;margin:8px 0;line-height:1.3}.spell-buttons{display:flex;gap:6px;flex-wrap:wrap}.spell-buttons button{font-size:12px;padding:8px 11px;border-radius:10px}.spell-input-side .hint{font-size:11px;margin-top:9px;line-height:1.4}.key-navigator{background:#152e35;border:1px solid #496267;border-radius:18px;padding:16px 14px;align-self:start}.navigator-head{display:flex;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:1.4px;color:#cfcbb3;padding-bottom:16px}.navigator-head span:last-child{letter-spacing:0;color:#a1bdb7}.navigator-body{display:flex;flex-direction:column;align-items:center;gap:13px}.key-map{width:100%;max-width:435px}.key-row{display:flex;gap:5px;margin-bottom:5px}.row-1{padding-left:3.6%;padding-right:5.8%}.row-2{padding-left:10%;padding-right:18%}.map-key{position:relative;display:flex;align-items:center;justify-content:center;height:33px;flex:1;min-width:0;border:1px solid #526f70;border-radius:6px;background:#29464d;color:#d5e5de;font-size:14px;font-weight:600;box-shadow:0 2px 0 #0d242b}.map-key i{position:absolute;bottom:-3px;font-size:10px;line-height:1.1;font-style:normal;color:#edcf8a}.map-key.target{background:#f0cf7f;color:#272f28;border-color:#fff0b4;box-shadow:0 0 15px #e7c57165;outline:2px solid #e7c57155;outline-offset:1px}.map-key.target:after{content:'↓';position:absolute;top:-14px;color:#ffe0a0;font-size:13px}.map-key.pressed{background:#417f84;border-color:#a2e4d6}.keyboard-base{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.4px;color:#9dbab5;padding-top:3px}.hand-guide{display:flex;align-items:center;justify-content:center;gap:17px;width:100%}.hands{display:flex;gap:8px;width:175px;flex-shrink:0}.hands svg{width:80px;height:80px}.hand-palm,.hand-finger{fill:#3d5b60;stroke:#86a09c;stroke-width:1.4}.hand-finger.lit{fill:#f0cd79;stroke:#fff0b4;stroke-width:2.2}.hand-label{fill:#c5d6cc;font-size:17px;font-weight:700;text-anchor:middle;dominant-baseline:central}.finger-caption{font-size:12px;color:#e9d49e;line-height:1.45;max-width:150px;margin:0}.battle-help{margin:14px 0 0}.battle-help button{border:0;background:transparent;color:#a9c3bc;font-size:12px;padding:4px}.battle-outcome{border:1px solid #a68d58;border-radius:18px;background:linear-gradient(120deg,#344b43,#203a3d);margin-top:18px;padding:20px 25px;text-align:center}.battle-outcome h2{font-size:25px;margin:5px 0 6px}.battle-outcome>p{font-size:14px;margin-bottom:10px;color:#c4d1be}.battle-outcome .eyebrow{color:#e2c984}.battle-loot{display:flex;align-items:center;justify-content:center;gap:10px;font-size:31px;margin:10px 0}.battle-loot span{font-size:14px}.completed-spell{font-size:23px;color:#f3dca6;margin:10px 0;letter-spacing:2px}.battle-observation{font-size:12px;color:#a9bdb6;margin-top:12px}.repair-details{font-size:12px;color:#b9cbbb;margin-top:13px}.repair-details input{max-width:320px;margin:12px auto}.briefing{max-width:750px;margin:auto;text-align:center;padding:35px}.briefing h1{font-size:43px;margin:14px 0 15px;letter-spacing:-1.5px}.briefing>p{font-size:16px;color:#bdcfc5;max-width:550px;margin:15px auto}.briefing-art{display:flex;align-items:center;justify-content:center;gap:45px;margin:15px}.briefing-art svg{width:100px;height:110px}.briefing-art .god-portrait{width:82px}.briefing-art>span{color:#ddc17c;font-size:28px}.anchor-keys{display:flex;align-items:center;gap:12px;justify-content:center;margin:25px 0}.anchor-keys kbd{position:relative;display:grid;place-items:center;background:#28464e;border:1px solid #b4a879;width:44px;height:45px;border-radius:9px;font:600 20px system-ui;box-shadow:0 4px 0 #0e242c}.anchor-keys kbd span{position:absolute;bottom:0;font-size:13px;line-height:1;color:#e8c87f}.anchor-keys>div{font-size:13px;line-height:1.5;text-align:left;color:#ddcda6;padding-left:5px}.briefing .hint{font-size:12px}.home-boss{position:relative}.home-boss>.world .thoth-guide{left:10%}.home-boss>.world .gateway{opacity:.35;left:65%}.home-enemy{position:absolute;width:210px;height:210px;right:8%;bottom:90px;filter:drop-shadow(0 0 25px #d7b87130);animation:boss-hover 4s infinite}.boss-label{position:absolute;bottom:40px;right:6%;font-size:11px;letter-spacing:2px;color:#ffe4a2}.unlocked-home{margin-top:20px;font-size:12px;color:#edcf88}.unlocked-home button{margin-top:10px}.battle-finish{max-width:800px;margin:0 auto;text-align:center;padding:35px 25px;border:1px solid #426266;border-radius:25px;background:radial-gradient(ellipse at top,#345858,#152f37)}.battle-finish.won{border-color:#c3a768;background:radial-gradient(ellipse at top,#776a40,#203d40 65%)}.battle-finish h1{font-size:clamp(33px,5vw,57px);letter-spacing:1px;margin:15px 0}.battle-finish>p{color:#d5dfcc;font-size:16px}.finish-seal{font-size:65px;color:#f7d783;line-height:1.4}.skill-unlock{max-width:430px;margin:25px auto;padding:23px;border:1px solid #d4b675;border-radius:18px;background:#192e34b0;box-shadow:0 0 45px #d5c77315}.skill-unlock .eyebrow{color:#e9d19b}.skill-icon{font-size:59px;color:#ffe19a;text-shadow:0 0 30px #edbf67}.skill-unlock h2{font-size:25px;color:#ffe2a4;margin:7px 0}.skill-unlock p{font-size:14px;margin-bottom:4px;color:#c6d6c3}.won .finish-seal{animation:seal-appear .7s ease-out both}@keyframes hero-walk{from{transform:translateX(-110px)}to{transform:translateX(0)}}@keyframes enemy-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes boss-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shield-breathe{0%,100%{opacity:.6;transform:scale(.97)}50%{opacity:1;transform:scale(1.025)}}@keyframes blocked-attack{0%,45%{opacity:0;transform:translateX(0)}50%{opacity:.8}75%{opacity:1;transform:translateX(-260px) scale(.7)}80%,100%{opacity:0;transform:translateX(-275px) scale(2)}}@keyframes cast-bolt{0%{opacity:0;transform:translateX(0) scale(.5)}10%{opacity:1}85%{opacity:1}100%{transform:translateX(420px) scale(1.4);opacity:0}}@keyframes impact{0%{opacity:0;transform:scale(.2)}25%{opacity:.9}100%{opacity:0;transform:scale(2)}}@keyframes enemy-hit{0%,100%{transform:translateX(0)}25%{transform:translateX(14px) rotate(6deg)}70%{transform:translateX(7px)}}@keyframes enemy-vanish{0%{transform:translateX(0);opacity:1;filter:brightness(1)}20%{transform:translateX(12px);filter:brightness(2)}60%{opacity:.7}100%{transform:translateY(20px) scale(.6);filter:brightness(1.5);opacity:0}}@keyframes damage-rise{0%{opacity:0;transform:translateY(10px)}15%,65%{opacity:1}100%{opacity:0;transform:translateY(-35px)}}@keyframes banner-reveal{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes hp-drain{from{width:var(--hp-from)}to{}}@keyframes old-hp{from{opacity:1}to{opacity:0}}@keyframes seal-appear{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(min-width:800px){body>header{padding-top:15px;padding-bottom:15px}main{padding-top:10px}.combat-console .entry{width:100%}}@media(max-width:800px){.combat-console{gap:13px}.key-navigator{padding:14px 10px}.map-key{height:29px;font-size:12px}.key-row{gap:3px}.hands{width:135px;gap:0}.hands svg{height:65px;width:65px}.hand-guide{gap:8px}.finger-caption{font-size:11px}.navigator-head{font-size:8px;letter-spacing:.7px}.spell-input-side{padding:15px}.battle-world{height:260px}.enemy-sprite{right:12%;width:115px;height:115px}.enemy-sprite.scarab{width:150px;height:150px}.fighter{left:14%;height:118px;width:85px}.enemy-panel{right:7%;width:40%}.enemy-panel>span{font-size:12px}.home-enemy{width:160px;height:160px}.briefing{padding:27px 20px}.briefing h1{font-size:35px}}
@media(max-width:600px){.combat-console{grid-template-columns:1fr}.battle-world{height:235px}.fighter{height:100px;width:75px;left:10%}.enemy-sprite{right:13%;width:105px;height:105px}.enemy-sprite.scarab{width:132px;height:132px;right:10%}.enemy-panel{right:8%;top:14px;width:47%}.enemy-panel>span{font-size:11px}.enemy-panel small{font-size:9px}.temple-column{height:185px;width:25px}.left-column{left:2%}.right-column{right:2%}.battle-gate{height:90px;width:35px;border-width:9px}.battle-pyramid{width:230px;height:155px;left:8%}.shield-caption{font-size:7px;letter-spacing:.8px;bottom:9px}.hero-name{font-size:7px;bottom:-15px}.vanquished,.armour-break{font-size:14px;letter-spacing:2px}.spell-input-side .clue{font-size:13px}.battle-model{min-height:50px}.spell-input-side .entry{max-width:100%;font-size:28px}.spell-buttons button{font-size:13px;padding:9px 13px}.navigator-body{gap:12px}.hand-guide{flex-direction:row}.hands{width:165px}.hands svg{width:80px;height:80px}.finger-caption{font-size:12px}.key-map{max-width:430px}.map-key{height:33px;font-size:14px}.navigator-head{font-size:10px}.battle-road span,.level-road span{font-size:8px;letter-spacing:.5px;padding-left:1px;padding-right:1px}.battle-road{padding-bottom:11px}.damage-pop{right:17%;bottom:160px;font-size:25px}.charge-orb{left:27%;bottom:105px}.spell-projectile{left:27%;bottom:105px}.impact-ring{right:15%;bottom:74px}.sun-beam .spell-projectile{width:80px;height:27px;bottom:100px}.sun-beam .impact-ring{width:95px;height:95px;right:11%;bottom:60px}.battle-outcome{padding:18px 14px}.battle-outcome h2{font-size:23px}.battle-finish{padding:25px 14px}.briefing-art{gap:28px}.anchor-keys{gap:10px}.battle-finish h1{font-size:32px}@keyframes cast-bolt{0%{opacity:0;transform:translateX(0) scale(.5)}10%{opacity:1}85%{opacity:1}100%{transform:translateX(190px) scale(1.3);opacity:0}}@keyframes blocked-attack{0%,45%{opacity:0;transform:translateX(0)}50%{opacity:.8}75%{opacity:1;transform:translateX(-130px) scale(.7)}80%,100%{opacity:0;transform:translateX(-140px) scale(2)}}}
@media(prefers-reduced-motion:reduce){.enemy-sprite,.enemy-sprite.scarab,.home-enemy,.shield-ring,.hero-sprite,.won .finish-seal{animation:none}.enemy-attack,.spell-projectile,.impact-ring,.damage-pop{display:none}.spell-fired .enemy-sprite{animation:none}.enemy-defeated .enemy-sprite{opacity:0}.vanquished,.armour-break,.spell-fired .hp-fill,.spell-fired .hp-old{animation:none}.spell-fired .hp-old{opacity:0}.charge-orb{transition:none}}

/* Explicit top view: left hand on the left, right hand on the right. */
.hands{width:215px;gap:12px;align-items:start}.single-hand{margin:0;width:100px;flex:1;min-width:0}.hands .single-hand svg{display:block;width:100%;height:auto;overflow:visible}.single-hand figcaption{text-align:center;color:#a9c9bf;font-size:8px;letter-spacing:1px;margin-top:4px;white-space:nowrap}.finger-home-label{font:600 10px system-ui;fill:#d4e4d8;text-anchor:middle;dominant-baseline:middle}.finger-home-label.active{fill:#24392e;font-weight:800}.hand-guide{gap:18px}.finger-caption{max-width:160px;min-width:90px}.hand-finger{stroke-width:1.5}.hand-finger.lit{stroke-width:2.3}@media(max-width:800px){.hands{width:185px;gap:8px}.single-hand{width:85px}.single-hand figcaption{font-size:7px;letter-spacing:.6px}.hand-guide{gap:12px}.finger-caption{min-width:75px}}@media(max-width:600px){.hands{width:215px;gap:12px}.single-hand{width:100px}.single-hand figcaption{font-size:8px}.hand-guide{gap:14px}.finger-caption{min-width:70px;max-width:125px}}

.finger-home-label.active{font-size:13px;font-weight:800;fill:#20372d}

/* A calm, editable sentence scroll. No spelling correctness styling. */
.sentence-quest{max-width:1000px;margin:auto}.sentence-quest-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.sentence-seals{display:flex;gap:12px;font-size:30px;color:#a6a5b9}.sentence-seals .filled{color:#ffe29a;text-shadow:0 0 14px #e9af5060}.sentence-scroll{padding:30px;border:1px solid #746448;border-radius:24px;background:linear-gradient(135deg,#302b37,#211f30);box-shadow:0 10px 40px #0003}.sentence-reference-label{font-size:12px;font-weight:700;letter-spacing:2px;color:#d9bd85;margin-bottom:10px}.sentence-reference{font-size:clamp(27px,4vw,38px);line-height:1.5;color:#fff4d9;margin-bottom:16px;overflow-wrap:anywhere}.sentence-answer{display:flex;flex-wrap:wrap;gap:20px 16px;margin-top:24px;align-items:flex-start}.word-slot{width:var(--word-size);max-width:100%;min-width:3ch;font-size:27px;text-align:center}.word-input{display:block;width:100%;min-width:0;border:0;border-bottom:3px solid #d7bf8f;border-radius:0;background:transparent;color:#fff9e8;padding:10px 2px 6px;font-size:27px;line-height:1.4;text-align:center;caret-color:#f1d997;box-shadow:none}.word-input:focus{outline:0;border-bottom-color:#c6b2ff;background:#ffffff08}.word-input[readonly]{opacity:1}.word-number{display:block;font-size:11px;color:#a59fae;padding-top:5px}.ready-panel{margin-top:25px;padding:22px;border:1px solid #c8ac76;border-radius:18px;text-align:center;background:#ffffff05}.ready-panel h2{margin-bottom:10px;color:#fff0cb}.sentence-navigator{margin-top:22px}.sentence-special-keys{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:8px;font-size:12px;color:var(--muted)}.sentence-special-keys .map-key{width:110px}.sentence-finished-seals{font-size:58px;letter-spacing:12px;color:#ffe29a;text-shadow:0 0 28px #f4c55a55;margin:24px 0}.sentence-navigator .key-map{min-width:0}.sentence-navigator .map-key{flex-shrink:1}.sentence-navigator .key-row{gap:5px}@media(max-width:700px){.sentence-scroll{padding:22px 16px}.sentence-quest-top{align-items:flex-start}.sentence-quest-top .eyebrow{font-size:10px}.sentence-seals{font-size:24px;gap:6px}.sentence-navigator .map-key{width:25px;height:33px;font-size:13px}.sentence-navigator .key-row{gap:3px}.sentence-navigator .row-1,.sentence-navigator .row-2{padding-left:0}.sentence-special-keys .map-key{width:90px}.sentence-answer{gap:16px 12px}.word-slot,.word-input{font-size:24px}}

/* Three missions, each with one action and a visible reward. */
.mission-home{max-width:1020px;margin:auto}.mission-heading{text-align:center;margin:0 0 25px}.mission-heading h1{font-size:clamp(30px,4vw,43px);letter-spacing:-1.2px;margin:8px 0 0;line-height:1.2}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mission-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px;background:linear-gradient(145deg,#25424b,#172d36);border:1px solid #69756c;border-radius:22px;box-shadow:0 9px 24px #0002}.mission-card-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;margin-bottom:16px}.mission-number{display:grid;place-items:center;border:1px solid #be9e60;color:#ffe2a0;border-radius:50%;width:35px;height:35px;font-size:18px;font-weight:800}.mission-state{font-size:12px;color:#c2cec7}.mission-card h2{font-size:25px;line-height:1.2;min-height:60px;margin:0;display:flex;align-items:center;justify-content:center;color:#fff0cc;letter-spacing:-.5px}.mission-copy{font-size:15px;line-height:1.5;min-height:45px;margin:8px 0;color:#d4ded5;max-width:230px}.mission-reward{height:145px;width:160px;position:relative;display:grid;place-items:center;border-radius:50%;margin:10px 0;background:radial-gradient(circle,#d0b36313,transparent 70%)}.mission-reward svg{height:135px;width:135px}.mission-reward.silhouette svg{filter:brightness(0) drop-shadow(0 0 2px #cab579);opacity:.65}.reward-question{position:absolute;font-size:42px;font-weight:700;color:#bfa879;line-height:1}.mission-reward.revealed{background:radial-gradient(circle,#dfbc6e35,transparent 70%)}.mission-reward.revealed svg{filter:drop-shadow(0 0 14px #e1b45750)}.mission-reward-name{font-weight:700;font-size:15px;min-height:30px;color:#e5c681;margin-bottom:14px}.mission-card button{width:100%;margin-top:auto;min-height:48px}.mission-earned{border-color:#c5a45c}.mission-earned .mission-state{color:#b2ebc5}.treasure-cabinet{margin-top:25px;padding:18px 22px;border:1px solid #536565;border-radius:20px;background:#172f36}.cabinet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.cabinet-heading h2{font-size:20px;letter-spacing:0;margin:0;color:#f1e2bd}.treasure-total{font-size:14px;font-weight:700;color:#f1cc7d;background:#a4894020;border-radius:100px;padding:4px 12px}.cabinet-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.cabinet-relic{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;background:#0d242c;border-radius:13px;padding:12px 8px;border:1px solid #4a5b59;font-size:11px;color:#c9d3cb;line-height:1.3;min-height:92px}.cabinet-icon{font-size:34px;line-height:1.2}.cabinet-relic.unearned .cabinet-icon{filter:brightness(0) drop-shadow(0 0 1px #d0be85);opacity:.6}.cabinet-relic.owned{border-color:#a88e4c;background:radial-gradient(ellipse at top,#84682a40,#142b31)}

/* One large, lasting achievement reveal after each completed challenge. */
.battle-finish.achievement-finish{max-width:720px;margin:0 auto;padding:25px 25px 28px;text-align:center;border:1px solid #ad8e52;border-radius:26px;background:radial-gradient(ellipse at 50% 34%,#6c633233,#19313b 65%);overflow:hidden}.achievement-finish>h1{font-size:clamp(35px,6vw,54px);margin:12px 0 10px;letter-spacing:-1px;color:#fff1c8}.achievement-reveal{padding:15px 15px 20px}.achievement-banner{display:inline-block;padding:7px 18px;border-radius:100px;background:#f1cf7f;color:#372814;letter-spacing:2px;font-size:12px;font-weight:850}.reward-stage{width:300px;max-width:100%;height:250px;position:relative;display:grid;place-items:center;margin:4px auto 0;isolation:isolate}.reward-stage:before{content:'';position:absolute;inset:8px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f8dc851a 0deg 10deg,transparent 10deg 30deg);mask-image:radial-gradient(circle,#000 5%,transparent 72%);animation:reward-rays 1.2s ease-out both;z-index:-1}.reward-full{width:215px;height:215px;filter:drop-shadow(0 0 25px #f1c97466);animation:reward-arrives .85s cubic-bezier(.2,.9,.3,1.25) both}.reward-full svg{width:100%;height:100%}.reward-spark{position:absolute;color:#ffe6a0;font-size:26px;animation:reward-spark 1s ease-out both}.spark-a{left:15px;top:45px}.spark-b{right:15px;top:73px;font-size:35px}.spark-c{right:45px;bottom:25px;font-size:19px}.achievement-reveal h2{font-size:31px;line-height:1.25;letter-spacing:-.5px;margin:0 0 8px;color:#ffe4a3}.reward-owned{font-size:15px;color:#b8e5c1;margin:0}.achievement-summary{font-size:16px;color:#e0dec8;margin:0 0 10px}.achievement-finish .ready-panel{margin:20px 0 0;padding:19px 15px;background:#0b202a66;border-color:#7a7959}.achievement-finish .ready-panel h2{font-size:23px;line-height:1.4}.achievement-finish .ready-panel .hint:empty{display:none}.battle-loot.relic-achievement{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:440px;margin:20px auto;padding:22px;border:2px solid #d3b36b;border-radius:22px;background:radial-gradient(ellipse at 50% 35%,#a88c3b55,#19353d);box-shadow:0 0 25px #f2c86218}.relic-earned-label{font-size:14px;letter-spacing:3px;font-weight:800;color:#ffe19a}.relic-earned-art{display:grid;place-items:center;width:145px;height:130px;font-size:88px;line-height:1;filter:drop-shadow(0 0 15px #ffdf8b55);animation:reward-arrives .7s ease-out both}.relic-achievement strong{font-size:23px;color:#ffe8ad}.relic-earned-note{font-size:13px;color:#b3dfc1}@keyframes reward-arrives{from{opacity:0;transform:translateY(22px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward-rays{from{opacity:0;transform:rotate(-20deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes reward-spark{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media(max-width:720px){.mission-grid{gap:12px}.mission-card{padding:16px 12px}.mission-card h2{font-size:21px}.mission-copy{font-size:13px;min-height:60px}.mission-state{font-size:10px}.mission-number{width:29px;height:29px}.mission-reward{width:120px;height:125px}.mission-reward svg{width:110px;height:110px}.mission-reward-name{font-size:13px}.cabinet-slots{gap:6px}.cabinet-relic{padding:10px 4px}.treasure-cabinet{padding:17px 13px}}@media(max-width:520px){.mission-grid{grid-template-columns:1fr}.mission-card{display:grid;grid-template-columns:1fr 100px;gap:8px 15px;text-align:left;padding:18px;align-items:center}.mission-card-top{grid-column:1/-1;margin:0}.mission-card h2{grid-column:1;grid-row:2;min-height:0;justify-content:flex-start;font-size:24px}.mission-copy{grid-column:1;grid-row:3;min-height:0;margin:0}.mission-reward{grid-column:2;grid-row:2/4;width:100px;height:100px;margin:0}.mission-reward svg{width:95px;height:95px}.mission-reward-name{grid-column:2;grid-row:4;font-size:11px;min-height:0;margin:0;text-align:center}.mission-card button{grid-column:1;grid-row:4;min-height:42px;padding:8px 14px;width:100%;margin:5px 0 0}.cabinet-slots{grid-template-columns:repeat(5,minmax(0,1fr))}.cabinet-icon{font-size:27px}.cabinet-relic{font-size:9px}.achievement-reveal{padding-left:0;padding-right:0}.achievement-reveal h2{font-size:26px}.reward-stage{height:225px;width:260px}.reward-full{width:195px;height:195px}.achievement-banner{font-size:10px;letter-spacing:1.5px}.relic-achievement strong{font-size:20px}.mission-heading h1{font-size:30px}}@media(prefers-reduced-motion:reduce){.reward-stage:before,.reward-full,.reward-spark,.relic-earned-art{animation:none}}

/* One powerful branching strike, followed by a large treasure reveal. */
.magic-lightning{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;overflow:visible;animation:lightning-strike 1.05s ease-out both}.lightning-halo{stroke:#6ecfff;stroke-width:31;filter:blur(11px)}.lightning-colour{stroke:#6fe6ff;stroke-width:11;filter:drop-shadow(0 0 8px #60c7ff)}.lightning-core{stroke:#f2ffff;stroke-width:4}.lightning-branch{stroke:#b0f1ff;stroke-width:5;filter:drop-shadow(0 0 7px #73d9ff)}.magic-lightning path{stroke-dasharray:1700;stroke-dashoffset:1700;animation:lightning-draw .26s .06s ease-out forwards}.magic-impact-glow{position:absolute;left:63%;top:15%;width:32%;height:75%;border-radius:50%;z-index:7;background:radial-gradient(ellipse,#e4ffffdd,#8be1ff66 28%,transparent 65%);animation:lightning-bloom .85s .18s both;pointer-events:none}.magic-shockwave{position:absolute;left:69%;top:35%;width:90px;height:90px;border:7px solid #cefdff;border-radius:50%;box-shadow:0 0 24px #78d5ff,inset 0 0 14px #8cdfff;z-index:9;animation:lightning-wave .8s .2s both;pointer-events:none}.magic-cast-label{position:absolute;left:27%;top:24%;z-index:10;color:#e9ffff;font-size:clamp(15px,2vw,25px);font-weight:900;letter-spacing:2px;text-shadow:0 0 18px #4cb5ff,0 2px 3px #142f42;animation:lightning-label 1s both;pointer-events:none}.spell-fired .enemy-sprite{animation:lightning-recoil .7s .2s both}.spell-fired.enemy-defeated .enemy-sprite{animation:lightning-defeat .95s .2s both}.spell-fired .hero-sprite{animation:magic-cast-pose .6s both}.spell-fired .damage-pop{font-size:clamp(38px,5vw,58px);color:#f2ffff;text-shadow:0 0 16px #66d5ff,0 3px 0 #245576;animation:lightning-damage 1.15s .2s both;z-index:11}.spell-fired .hp-fill{animation-delay:.24s}.spell-fired .hp-old{animation-delay:.24s}.spell-fired .vanquished,.spell-fired .armour-break{animation-delay:.65s}.relic-image-frame{display:block;overflow:hidden;background:#d9dcd9;border-radius:14px;width:100%;height:100%;isolation:isolate}.relic-picture{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.35)}.relic-papyrus .relic-picture{transform:scale(1.65)}.relic-sun .relic-picture{transform:scale(1.65)}.relic-wing .relic-picture{transform:scale(1.03)}.relic-scarab .relic-picture{transform:scale(1.55)}.cabinet-icon{display:block;width:100%;height:135px;line-height:1}.cabinet-relic{padding:12px;gap:12px;min-height:190px;font-size:13px}.cabinet-relic.unearned .cabinet-icon{filter:none;opacity:1}.cabinet-relic .relic-image-frame{border:1px solid #cfb575;border-radius:12px}.relic-unfound{display:grid;place-items:center;width:100%;height:135px;background:radial-gradient(ellipse,#dac17e10,#0b212b);border:1px solid #56635b;border-radius:12px;color:#c3ac72;font-size:45px;font-family:Georgia,serif}.relic-shelf .relic-image-frame,.pouch .relic-image-frame{display:inline-block;width:75px;height:75px;vertical-align:middle}.treasure-chest .relic-image-frame{width:90px;height:90px}.loot-icon .relic-image-frame{width:170px;height:150px}.relic-reveal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#06121be8;backdrop-filter:blur(6px);padding:22px;overflow-y:auto;animation:treasure-overlay .35s 1.15s both}.relic-reveal-card{position:relative;width:min(600px,100%);margin:auto;text-align:center;padding:26px 30px;background:radial-gradient(ellipse at 50% 38%,#716039,#193640 70%);border:2px solid #e5c474;border-radius:27px;box-shadow:0 0 70px #edbd4533,0 16px 80px #0008}.relic-reveal-card:before{content:'✦';position:absolute;left:5%;top:20%;color:#ffe8ad;font-size:46px;transform:rotate(-15deg);text-shadow:0 0 18px #ecc96a}.relic-reveal-card:after{content:'✧';position:absolute;right:5%;top:55%;color:#ffe8ad;font-size:46px;text-shadow:0 0 18px #ecc96a}.relic-victory-label{font-size:12px;letter-spacing:3px;color:#c4eace;font-weight:800}.relic-reveal-card>h2{font-size:clamp(28px,5vw,40px);letter-spacing:1px;color:#ffe8a8;margin:10px 0 4px}.relic-reveal-card .battle-loot.relic-achievement{background:none;border:0;box-shadow:none;padding:0;margin:12px auto;width:100%;max-width:520px;gap:14px}.relic-reveal-card .relic-earned-art{display:block;width:100%;height:310px;font-size:inherit;filter:drop-shadow(0 0 24px #efd08b55);animation:none;border:3px solid #ebd08b;border-radius:20px;box-shadow:0 10px 25px #0004;overflow:hidden}.relic-reveal-card .relic-earned-art .relic-image-frame{border-radius:15px}.relic-reveal-card .relic-achievement strong{font-size:28px}.relic-reveal-card .relic-earned-note{font-size:15px}.relic-reveal-card .completed-spell{font-size:25px;margin:10px 0}.relic-reveal-card>#next{display:block;min-width:240px;margin:16px auto 10px;padding:15px 24px;font-size:18px}.relic-reveal-card>#reward-stop{background:transparent;border-color:#738477;color:#d9e4d9;padding:7px 15px}@keyframes lightning-draw{to{stroke-dashoffset:0}}@keyframes lightning-strike{0%{opacity:0;transform:scaleY(.7)}18%{opacity:1;transform:scaleY(1)}62%{opacity:1}100%{opacity:0;transform:scaleY(1.04)}}@keyframes lightning-bloom{0%{opacity:0;transform:scale(.3)}30%{opacity:.95}100%{opacity:0;transform:scale(1.2)}}@keyframes lightning-wave{0%{opacity:0;transform:scale(.3)}20%{opacity:1}100%{opacity:0;transform:scale(3)}}@keyframes lightning-label{0%{opacity:0;transform:translateY(9px)}25%,70%{opacity:1}100%{opacity:0;transform:translateY(-8px)}}@keyframes lightning-recoil{0%{transform:translateX(0)}20%{transform:translateX(19px) rotate(7deg);filter:brightness(1.7)}40%{transform:translateX(-7px) rotate(-4deg)}65%{transform:translateX(8px) rotate(3deg)}100%{transform:translateX(0);filter:brightness(1)}}@keyframes lightning-defeat{0%{transform:translateX(0);opacity:1}20%{transform:translateX(23px) rotate(8deg);filter:brightness(1.8)}40%{transform:translateX(10px) rotate(-5deg)}100%{transform:translate(35px,25px) rotate(17deg) scale(.8);opacity:0}}@keyframes magic-cast-pose{0%{transform:translateX(0)}30%{transform:translateX(-7px) rotate(-6deg);filter:drop-shadow(0 0 12px #a9efff)}65%{transform:translateX(9px) rotate(5deg)}100%{transform:translateX(0)}}@keyframes lightning-damage{0%{opacity:0;transform:scale(.5) translateY(0)}25%,65%{opacity:1;transform:scale(1.12) translateY(-9px)}100%{opacity:0;transform:scale(1) translateY(-45px)}}@keyframes treasure-overlay{from{opacity:0;visibility:hidden;transform:translateY(10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}@media(max-width:700px){.cabinet-slots{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}.cabinet-relic{scroll-snap-align:start;min-height:170px}.cabinet-icon,.relic-unfound{height:115px}.relic-reveal-overlay{padding:14px}.relic-reveal-card{padding:22px 17px}.relic-reveal-card .relic-earned-art{height:250px}.relic-reveal-card .relic-achievement strong{font-size:23px}.magic-shockwave{left:67%;width:65px;height:65px}.magic-cast-label{left:16%;top:27%;font-size:16px}.spell-fired .damage-pop{font-size:40px}}@media(prefers-reduced-motion:reduce){.magic-lightning{animation:none;opacity:.8}.magic-lightning path{animation:none;stroke-dashoffset:0}.magic-impact-glow,.magic-shockwave,.magic-cast-label{display:none}.spell-fired .hero-sprite,.spell-fired .enemy-sprite,.spell-fired.enemy-defeated .enemy-sprite{animation:none}.spell-fired.enemy-defeated .enemy-sprite{opacity:.25}.spell-fired .damage-pop{animation:none;opacity:1}.relic-reveal-overlay{animation:none}.spell-fired .hp-fill,.spell-fired .hp-old{animation:none}}
.boss-fight .lightning-halo{stroke-width:42}.boss-fight .lightning-colour{stroke-width:16}.boss-fight .lightning-core{stroke-width:6}.boss-fight .lightning-branch{stroke-width:7}.boss-fight .magic-impact-glow{left:59%;width:39%;height:85%;top:9%}.boss-fight .magic-cast-label{color:#fff0b6;text-shadow:0 0 18px #5edbff,0 2px 3px #142f42}.boss-fight .magic-shockwave{border-color:#fff2b8;box-shadow:0 0 34px #91e6ff,inset 0 0 24px #e8faff}

/* Ultimate Challenge: sentence workspace left, one reviving boss right. */
main:has(.sentence-battle-layout){max-width:1440px}.sentence-quest:has(.sentence-battle-layout){max-width:1340px}.sentence-battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.sentence-workspace{min-width:0}.ultimate-boss-panel{position:sticky;top:20px;overflow:hidden;border:1px solid #a58b59;border-radius:24px;background:radial-gradient(ellipse at 50% 45%,#306071,#132d3c 75%);box-shadow:0 10px 35px #0003;text-align:center;min-height:540px}.ultimate-boss-heading{position:relative;z-index:2;padding:22px 15px 0}.ultimate-boss-heading .eyebrow{color:#dbbc79;font-size:11px}.ultimate-boss-heading h2{font-size:24px;line-height:1.2;color:#fff0c9;margin:6px 0 12px;letter-spacing:-.6px}.ultimate-seal-track{display:flex;justify-content:center;gap:14px;font-size:28px;color:#576a72;line-height:1.2}.ultimate-seal-track span{display:grid;place-items:center;border-radius:50%;border:1px solid #66736a;width:41px;height:41px;background:#071c2955}.ultimate-seal-track .seal-broken{color:#ffe5a2;border-color:#e3bf6a;background:#a67e2525;text-shadow:0 0 12px #e5c47077}.ultimate-arena{position:relative;isolation:isolate;height:330px;overflow:hidden;margin-top:-4px;background:radial-gradient(ellipse at 60% 60%,#7db7c920,transparent 65%)}.ultimate-arena-moon{position:absolute;width:80px;height:80px;border-radius:50%;background:#dfc98c;top:25px;left:15%;opacity:.16;box-shadow:0 0 60px #ddcfa544}.ultimate-pillar{position:absolute;width:24px;height:215px;bottom:34px;background:repeating-linear-gradient(0deg,#b7a37955 0 38px,#4a575c66 38px 42px);border:2px solid #aa986a55;z-index:-1}.ultimate-pillar:before{content:'';position:absolute;top:-5px;left:-7px;width:34px;height:14px;background:#a79b6e77}.pillar-left{left:6%}.pillar-right{right:6%}.ultimate-revive-portal{position:absolute;width:70%;height:28%;left:15%;bottom:16%;border:3px solid #5bc7d2;border-radius:50%;background:radial-gradient(ellipse,#64dce14d,transparent 70%);box-shadow:0 0 22px #5cbdcc44,inset 0 0 25px #5cbdcc22;transform:rotateX(45deg)}.ultimate-boss-body{position:absolute;width:74%;height:74%;left:16%;top:4%;z-index:3;filter:drop-shadow(0 10px 12px #0006);animation:ultimate-hover 4s ease-in-out infinite}.ultimate-boss-body>svg{position:absolute;inset:0;width:100%;height:100%}.ultimate-angry-eyes{opacity:0;filter:drop-shadow(0 0 7px #ff5429)}.ultimate-thoth{position:absolute;width:78px;height:110px;left:5%;bottom:10px;z-index:4;filter:drop-shadow(0 0 10px #a0dfcd44)}.ultimate-thoth>svg{width:100%;height:95px}.ultimate-thoth>span{display:block;line-height:1;color:#e8dbad;font-size:9px;letter-spacing:3px}.ultimate-boss-status{position:relative;z-index:6;min-height:27px;font-size:13px;font-weight:850;letter-spacing:2px;color:#d6edee;padding:0 12px}.ultimate-boss-hint{font-size:14px;line-height:1.5;color:#c0d6d3;padding:0 24px;margin:10px 0 15px}.ultimate-safe-shield{font-size:11px;background:#071d2c88;color:#a9d8c5;padding:12px 8px}.is-enraged{background:radial-gradient(ellipse at 52% 45%,#70483b,#302435 75%);border-color:#d78a61}.is-enraged .ultimate-boss-body{filter:drop-shadow(0 0 18px #ff603966) saturate(1.65)}.is-enraged .ultimate-boss-body>svg:first-child{filter:hue-rotate(325deg)}.is-enraged .ultimate-angry-eyes{opacity:1}.is-enraged .ultimate-boss-status{color:#ffc38f}.is-enraged .ultimate-revive-portal{border-color:#ee8966;box-shadow:0 0 30px #ff764b55;background:radial-gradient(ellipse,#ee765555,transparent 70%)}.phase-strike .ultimate-boss-body{animation:ultimate-struck .9s both}.phase-vanished .ultimate-boss-body,.phase-victory .ultimate-boss-body{animation:none;opacity:0;transform:scale(.2)}.phase-vanished .ultimate-revive-portal{box-shadow:0 0 45px #90dce577;background:radial-gradient(ellipse,#c5ffff66,transparent 70%)}.phase-reviving .ultimate-boss-body{animation:ultimate-revive .85s both}.phase-reviving .ultimate-revive-portal{animation:ultimate-portal .85s both}.ultimate-bolt{position:absolute;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;animation:ultimate-bolt-light .8s both}.ultimate-bolt-glow{stroke:#70e8ff;stroke-width:21;filter:blur(6px)}.ultimate-bolt-core{stroke:#edffff;stroke-width:4;filter:drop-shadow(0 0 8px #73e0ff)}.ultimate-bolt path{stroke-dasharray:900;stroke-dashoffset:900;animation:lightning-draw .2s both}.ultimate-hit-ring{position:absolute;width:95px;height:95px;left:52%;top:35%;border:5px solid #e1ffff;border-radius:50%;box-shadow:0 0 25px #9ee6ff;z-index:8;animation:lightning-wave .7s .1s both}.ultimate-victory-mark{position:absolute;top:38%;left:5%;right:5%;z-index:10;font-size:37px;font-weight:950;letter-spacing:3px;color:#ffe2a0;text-shadow:0 0 28px #edc255aa,0 3px 0 #51432b;transform:rotate(-7deg);border-block:2px solid #edcb7a;padding:12px 0;background:#162b32bb}.phase-victory{border-color:#ebca79;background:radial-gradient(ellipse,#6b6438,#183a41 80%)}.phase-victory .ultimate-boss-status{color:#ffe7a2}.phase-victory .ultimate-revive-portal{border-color:#ddc881;box-shadow:0 0 35px #edd58a55}.sentence-cast-scroll{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.sentence-cast-scroll h1{font-size:clamp(30px,4vw,44px);line-height:1.2;letter-spacing:-1px;margin:15px 0 24px;color:#ffebac}.sentence-cast-scroll .sentence-reference{font-size:28px}.sentence-cast-text{padding:17px 20px;border:1px solid #76896f;border-radius:14px;font-size:24px;color:#e1eedb;max-width:100%;overflow-wrap:anywhere;background:#0c252b55;margin:7px 0 20px}.sentence-cast-scroll>p{max-width:430px;color:#d8d5bf}.sentence-cast-scroll>button{margin-top:15px}.sentence-workspace .sentence-navigator .navigator-body{grid-template-columns:minmax(0,1fr) 210px}.sentence-workspace .sentence-navigator .hands{max-width:205px}.sentence-workspace .sentence-navigator .map-key{width:31px;height:35px;font-size:15px}.sentence-workspace .sentence-navigator .key-row{gap:3px}.sentence-workspace .sentence-navigator .sentence-special-keys .map-key{width:90px}@keyframes ultimate-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ultimate-struck{0%{opacity:1;transform:translateX(0)}20%{opacity:1;transform:translateX(20px) rotate(9deg);filter:brightness(1.7)}45%{opacity:.9;transform:translateX(-8px) rotate(-6deg)}100%{opacity:0;transform:translateY(20px) scale(.25)}}@keyframes ultimate-revive{0%{opacity:0;transform:translateY(40px) scale(.25)}60%{opacity:1;transform:translateY(-10px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes ultimate-portal{from{opacity:.5;transform:scale(.7) rotateX(45deg)}to{opacity:1;transform:scale(1) rotateX(45deg)}}@keyframes ultimate-bolt-light{0%{opacity:0}20%,65%{opacity:1}100%{opacity:0}}@media(max-width:1150px){.sentence-battle-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.sentence-workspace .sentence-scroll{padding:24px 18px}.sentence-workspace .sentence-reference{font-size:29px}.sentence-workspace .sentence-navigator .navigator-body{grid-template-columns:1fr}.sentence-workspace .sentence-navigator .hand-guide{display:flex;flex-direction:row;justify-content:center;align-items:center}.sentence-workspace .sentence-navigator .hands{width:185px}.ultimate-arena{height:300px}.ultimate-boss-panel{min-height:510px}.ultimate-boss-heading h2{font-size:22px}.sentence-workspace .word-slot,.sentence-workspace .word-input{font-size:24px}}@media(max-width:800px){.sentence-battle-layout{grid-template-columns:minmax(0,1fr) 260px;gap:14px}.ultimate-boss-panel{min-height:470px}.ultimate-arena{height:270px}.ultimate-boss-hint{padding-inline:14px}.ultimate-boss-heading{padding-inline:10px}.ultimate-boss-heading h2{font-size:19px}.ultimate-seal-track{font-size:22px}.ultimate-seal-track span{width:32px;height:32px}.ultimate-victory-mark{font-size:29px}.sentence-workspace .sentence-reference{font-size:24px}.sentence-workspace .sentence-navigator .map-key{width:24px;font-size:12px}.sentence-workspace .sentence-navigator .key-row{gap:2px}.sentence-workspace .sentence-scroll{padding:19px 14px}.sentence-workspace .word-slot,.sentence-workspace .word-input{font-size:22px}}@media(max-width:650px){.sentence-battle-layout{grid-template-columns:1fr}.ultimate-boss-panel{position:relative;top:0;min-height:0;max-width:420px;width:100%;margin:auto}.ultimate-arena{height:300px}.ultimate-boss-heading h2{font-size:24px}.sentence-cast-scroll{min-height:330px}.sentence-workspace .sentence-navigator .map-key{width:28px;font-size:14px}.sentence-workspace .sentence-navigator .key-row{gap:3px}}@media(prefers-reduced-motion:reduce){.ultimate-boss-body,.phase-strike .ultimate-boss-body,.phase-reviving .ultimate-boss-body,.phase-reviving .ultimate-revive-portal,.ultimate-bolt,.ultimate-bolt path,.ultimate-hit-ring{animation:none}.phase-strike .ultimate-boss-body{opacity:.45;transform:none}.phase-reviving .ultimate-boss-body{opacity:1;transform:none}.ultimate-bolt path{stroke-dashoffset:0}.ultimate-hit-ring{display:none}}

/* First pass gives a small hit; the second pass breaks the current life. */
.ultimate-health{display:flex;align-items:center;gap:10px;max-width:245px;margin:13px auto 0;font-size:11px;font-weight:700;color:#e8d9ae}.ultimate-hp-track{height:10px;flex:1;overflow:hidden;border:1px solid #d5c49888;border-radius:12px;background:#081d2a}.ultimate-hp-track>span{display:block;height:100%;background:linear-gradient(90deg,#b77b4e,#efc86e);border-radius:12px}.phase-chip .ultimate-hp-track>span,.phase-strike .ultimate-hp-track>span{animation:hp-drain .55s .08s both}.phase-chip .ultimate-boss-body{animation:ultimate-small-hit .65s both}.phase-chip .ultimate-bolt{animation-duration:.6s}.phase-chip .ultimate-bolt-glow{stroke-width:13;filter:blur(4px)}.phase-chip .ultimate-bolt-core{stroke-width:3}.phase-chip .ultimate-hit-ring{width:55px;height:55px;border-width:3px;animation-duration:.5s}.ultimate-damage{position:absolute;left:55%;top:24%;z-index:9;color:#f2ffff;font-size:44px;font-weight:900;text-shadow:0 0 18px #72d9ff,0 2px 2px #143345;animation:lightning-damage .85s both}.phase-chip .ultimate-damage{font-size:34px;animation-duration:.65s}@keyframes ultimate-small-hit{0%{transform:translateX(0);opacity:1}25%{transform:translateX(11px) rotate(4deg);filter:brightness(1.35)}55%{transform:translateX(-4px) rotate(-2deg)}100%{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){.phase-chip .ultimate-boss-body{animation:none;opacity:1}.phase-chip .ultimate-hp-track>span,.phase-strike .ultimate-hp-track>span{animation:none}.ultimate-damage{animation:none;opacity:1}}

/* Ra’s Desert Temple — independent warm desert school edition. */
:root{--ink:#59321c;--muted:#8a5e36;--paper:#f9dda0;--line:#cda15c;--green:#e9cb82;--purple:#efd49b;--white:#fff5d9}body{background:radial-gradient(ellipse at 25% 0%,#fff2c4 0,transparent 55%),linear-gradient(145deg,#ffe09a,#f3c36c 65%,#e4a148);background-attachment:fixed;color:var(--ink)}header .brand{color:#6d371b}.mark{color:#b96c1d;border-color:#b78035;background:#fff3bf}.brand #brand-label{color:#673719}button{background:#fff0c9;color:#5c3219;border-color:#c59a54}button.primary{background:linear-gradient(#ffd982,#eeb24c);border-color:#f6d386;color:#573017;box-shadow:0 4px 0 #a46b2b,0 8px 20px #5c2c1925}button.primary:hover{background:linear-gradient(#ffe6a4,#f5c062)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#b65d1e}.mission-heading h1{color:#6b3419}.mission-heading .eyebrow{color:#9b632d}.mission-card{background:linear-gradient(145deg,#a25525,#683617);border-color:#d4a24f;box-shadow:0 8px 25px #7a3c1c25}.mission-card h2{color:#fff0ba}.mission-copy{color:#ffe5b5}.mission-state{color:#f1ce94}.mission-number{color:#ffe8a2;border-color:#e4bd66;background:#60301455}.mission-earned{border-color:#ffe4a0}.mission-earned .mission-state{color:#ffdf91}.mission-reward.silhouette svg{filter:brightness(0) drop-shadow(0 0 2px #ffd27b);opacity:.55}.reward-question{color:#e7be73}.mission-reward-name{color:#ffdb89}.treasure-cabinet{background:linear-gradient(140deg,#965127,#6e3b20);border-color:#c0934c}.cabinet-heading h2{color:#ffe5ad}.treasure-total{color:#ffe9ae;background:#ffe2a21c}.cabinet-relic{background:#5d301d;border-color:#c39755;color:#ffe6b7}.cabinet-relic.owned{background:radial-gradient(ellipse at top,#a9772c,#63371f);border-color:#e8c46e}.relic-unfound{background:radial-gradient(ellipse,#ce9a4220,#62361e);color:#e6bb69;border-color:#a67c46}.cabinet-relic .relic-image-frame{border-color:#e8c776}.combat,.briefing,.battle-finish,.sentence-quest{color:#fff0c9}.briefing,.spell-card,.sentence-scroll{background:linear-gradient(145deg,#99542b,#6a3c25);border-color:#cea15b;color:#ffedc6}.briefing h1,.briefing p,.briefing .eyebrow{color:#ffe1a4}.briefing .hint,.anchor-keys{color:#f0d29d}.briefing .anchor-keys kbd{background:#fff0c2;color:#76401e;border-color:#ddb362}.battle-road span{color:#9b642d;border-color:#d3a25b}.battle-road .current{color:#754018;border-color:#b16a25}.battle-road .cleared{color:#a85f1b;border-color:#c57b25}.combat-top .eyebrow{color:#8a4b24}.battle-world{background:linear-gradient(#f6c867,#efb858 50%,#cb7a34 90%);border-color:#b77d35}.battle-sun{background:#fff1a5;box-shadow:0 0 70px #fff3adbb}.battle-pyramid{background:linear-gradient(115deg,#e6b35c 0 50%,#b66c2c 50%);opacity:.9}.battle-floor{background:linear-gradient(#e5b665 0 7%,#bc7b37 7% 28%,#9b622f 28% 31%,#d19a4e 31%)}.temple-column{background:repeating-linear-gradient(0deg,#e1b66e 0 43px,#ab7e3c 43px 46px);border-color:#f5d48c;box-shadow:6px 0 0 #85532933}.temple-column:before{background:#f0cd82}.boss-fight{background:radial-gradient(ellipse at 75% 25%,#ffc66a,#d49345 55%,#9d542d)}.boss-fight .battle-sun{opacity:.9}.boss-fight .battle-pyramid{opacity:.55}.enemy-panel>span{color:#fff3be;text-shadow:0 2px 3px #6f351d}.enemy-panel small{color:#fff1cb;text-shadow:0 1px 3px #75421d}.hp-track{background:#6a3820;border-color:#f7d27e}.hp-fill{background:linear-gradient(90deg,#dd7a32,#ffd477)}.shield-caption{color:#fff1bf}.shield-ring{border-color:#ffe6a2aa;box-shadow:0 0 20px #ffe27c66;background:radial-gradient(ellipse,transparent 50%,#ffe18b33 80%)}.hero-name{color:#fff2b5}.battle-gate{border-color:#e1b46d;background:#6e351d}.battle-outcome{background:linear-gradient(135deg,#975027,#6f3c21);border-color:#dcac62;color:#ffe9ba}.battle-outcome h2,.battle-outcome p,.completed-spell{color:#fff0ba}.spell-input-side,.combat-console{background:#784325;border-color:#b78344}.combat-console .eyebrow,.combat-console .clue{color:#ffe1b0}.combat-console .model{color:#fff0c0}.combat-console .entry{background:#fff0c7;color:#65341d;border-color:#d8ad62}.combat-console .hidden-model,.combat-console .hint{color:#f4d3a5}.key-navigator{background:#6f3f27;border-color:#b68850;color:#ffebc0}.navigator-head{background:#98582a;color:#ffe4ad;border-color:#bc8a45}.navigator-body{background:#70432b}.map-key{background:#956238;border-color:#ba925d;color:#ffeac2;box-shadow:0 2px 0 #4e2c1d}.map-key.target{background:#ffe2a0;border-color:#fff0c0;color:#583319;box-shadow:0 0 18px #ffdd7977}.finger-caption,.navigator-body p,.keyboard-base,.sentence-special-keys{color:#ffdfae}.sentence-reference-label{color:#ffd47e}.sentence-reference{color:#fff0c4}.word-input{color:#fff3d4;border-bottom-color:#edc77d}.word-input:focus{border-bottom-color:#ffdf77;background:#ffd97d12}.sentence-scroll .hint,.sentence-workspace>.hint{color:#80512e}.sentence-scroll .hint{color:#f4d09f}.word-number{color:#d6ad78}.ready-panel{background:#62341f77;border-color:#c89c57}.ready-panel h2{color:#ffe7b0}.sentence-seals{color:#aa713a}.sentence-seals .filled{color:#ad5d1b;text-shadow:0 0 14px #ffd985}.sentence-quest-top .eyebrow{color:#895025}.sentence-cast-scroll h1{color:#ffe49a}.sentence-cast-scroll>p{color:#f0d5a8}.sentence-cast-text{background:#60341e77;border-color:#b58a4e;color:#ffedc3}.ultimate-boss-panel{background:radial-gradient(ellipse at 50% 32%,#eeb85b,#9d572a 75%);border-color:#ad6b2d;box-shadow:0 10px 35px #8d471c33}.ultimate-boss-heading h2{color:#fff2b7;text-shadow:0 2px 3px #89472255}.ultimate-boss-heading .eyebrow{color:#ffe0a3}.ultimate-seal-track span{background:#6b361f55;border-color:#d1a457;color:#bb8747}.ultimate-seal-track .seal-broken{color:#fff0b1;border-color:#ffe2a0;background:#b67b2f88}.ultimate-arena{background:linear-gradient(transparent 70%,#d99b4f66),radial-gradient(ellipse,#f7ca6240,transparent 70%)}.ultimate-arena:before{content:'';position:absolute;inset:20% 6% 10%;background:linear-gradient(115deg,#e1a94c 0 50%,#ad632b 50%);clip-path:polygon(55% 0,100% 100%,0 100%);opacity:.4;z-index:-1}.ultimate-arena-moon{background:#fff0a6;opacity:.75;box-shadow:0 0 65px #ffe6a088}.ultimate-pillar{background:repeating-linear-gradient(0deg,#dcae62aa 0 38px,#a36b2faa 38px 42px);border-color:#edca7d99}.ultimate-pillar:before{background:#efcb80aa}.ultimate-revive-portal{border-color:#ffe09a;background:radial-gradient(ellipse,#ffdf7a77,transparent 70%);box-shadow:0 0 25px #ffd87766}.ultimate-boss-status{color:#fff0bb}.ultimate-boss-hint{color:#ffe0af}.ultimate-safe-shield{background:#7b4226aa;color:#ffe7ba}.ultimate-health{color:#fff0c2}.ultimate-hp-track{background:#71381f;border-color:#e7bc75}.is-enraged{background:radial-gradient(ellipse at 52% 38%,#ce692e,#773721 78%);border-color:#db8c45}.is-enraged .ultimate-boss-body>svg:first-child{filter:saturate(1.5)}.is-enraged .ultimate-boss-status{color:#ffe0a0}.phase-victory{background:radial-gradient(ellipse,#d7a440,#875021 80%);border-color:#efcb76}.ultimate-victory-mark{background:#773f21dd;color:#fff0b7;border-color:#ffe095}.battle-finish.achievement-finish{background:radial-gradient(ellipse at 50% 34%,#d5a74f77,#8c4c25 70%);border-color:#e6bd6c}.achievement-finish .ready-panel{background:#66351e66;border-color:#cfab65}.achievement-summary{color:#ffe1ae}.reward-owned{color:#ffdfa1}.relic-reveal-overlay{background:#371c11e8}.relic-reveal-card{background:radial-gradient(ellipse at 50% 38%,#d9a147,#7c4327 75%);border-color:#f0d48b;box-shadow:0 0 70px #f5bc4a55,0 16px 80px #35150999}.relic-victory-label,.relic-earned-note,.relic-reveal-card .relic-earned-note{color:#ffe7b4}.relic-reveal-card>#reward-stop{color:#ffedc7;border-color:#d4ad69}.mission-home .mission-reward.revealed{background:radial-gradient(circle,#ffe6a04d,transparent 70%)}.battle-help button,.combat-top button{background:#fff0c8;color:#6c3b1f}.battle-observation{color:#724221}.battle-observation summary{color:#8a4e24}.status{color:#956c43}.combat .status{color:#f2cf9e}.check input{accent-color:#ba7124}.pill{background:#efcf89;color:#6d401f}.pill.reliable{background:#e6c16f}.panel textarea,.panel .field,textarea.field{background:#fffbed;color:#5b351f;border-color:#cca365}.tabs .active{background:#8d4f25;color:#fff0c7}.stats .mini{background:#fff1ca}.note{background:#fff0be;border-left-color:#ba792c;color:#6e4728}.hands .finger-home-label.active{fill:#59321c}
body{isolation:isolate}body:before{content:'';position:fixed;inset:auto 0 0;height:44vh;z-index:-1;pointer-events:none;background:linear-gradient(125deg,#d6a458,#ad662c);opacity:.13;clip-path:polygon(0 100%,0 80%,12% 58%,23% 77%,43% 15%,68% 90%,83% 51%,100% 84%,100% 100%)}body:after{content:'';position:fixed;width:125%;height:20vh;left:-12%;bottom:-7vh;z-index:-1;pointer-events:none;background:#bf7c3540;border-radius:50% 65% 0 0}

/* Fit the complete game stage to a desktop browser's available viewport. */
#app{display:flow-root}.viewport-fit body{height:100dvh;overflow:hidden}.viewport-fit header{padding:8px 22px;min-height:52px;max-width:1440px}.viewport-fit header .mark{width:30px;height:30px;font-size:20px}.viewport-fit header #nav{padding:7px 13px}.viewport-fit #viewport-shell{max-width:1440px;padding:0 18px;margin:0 auto;overflow:hidden;box-sizing:border-box}.viewport-fit #app{transform-origin:top center;will-change:transform}.viewport-fit .relic-reveal-overlay{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px}.viewport-fit .relic-reveal-card{flex-shrink:0;transform-origin:center;margin:0}.viewport-fit .mission-heading{margin-bottom:16px}.viewport-fit .mission-heading h1{font-size:34px;margin:5px 0 0}.viewport-fit .mission-card{padding:18px}.viewport-fit .mission-card-top{margin-bottom:8px}.viewport-fit .mission-card h2{min-height:45px;font-size:24px}.viewport-fit .mission-copy{font-size:14px;min-height:42px;margin:6px 0}.viewport-fit .mission-reward{height:110px;width:130px;margin:7px 0}.viewport-fit .mission-reward svg{width:110px;height:110px}.viewport-fit .mission-reward-name{min-height:24px;margin-bottom:9px;font-size:14px}.viewport-fit .mission-card button{min-height:42px;padding:9px 18px}.viewport-fit .treasure-cabinet{margin-top:18px;padding:14px 18px}.viewport-fit .cabinet-heading{margin-bottom:10px}.viewport-fit .cabinet-heading h2{font-size:19px}.viewport-fit .cabinet-relic{min-height:120px;padding:9px;gap:7px;font-size:12px}.viewport-fit .cabinet-icon,.viewport-fit .relic-unfound{height:85px}.viewport-fit .briefing{padding:24px;max-width:760px;margin:8px auto}.viewport-fit .briefing h1{font-size:42px;margin:12px 0 16px}.viewport-fit .briefing-art{height:125px;margin:12px auto}.viewport-fit .briefing-art>svg{height:120px}.viewport-fit .briefing p{margin-bottom:10px}.viewport-fit .combat-top{margin:4px 0 8px}.viewport-fit .battle-road{padding:6px 0 10px}.viewport-fit .battle-world{height:clamp(185px,30vh,270px)}.viewport-fit .combat-console{margin-top:12px}.viewport-fit .spell-input-side{padding:16px}.viewport-fit .spell-input-side .clue{margin-bottom:5px;font-size:16px}.viewport-fit .spell-input-side .status:empty,.viewport-fit .sentence-scroll .status:empty{display:none;min-height:0}.viewport-fit .battle-model{min-height:49px;font-size:43px}.viewport-fit .spell-input-side .entry{font-size:30px;padding:10px;margin:8px 0}.viewport-fit .spell-buttons button{padding:10px 15px}.viewport-fit .battle-help{margin-top:10px}.viewport-fit .battle-observation{margin-top:10px}.viewport-fit .battle-outcome{padding:18px}.viewport-fit .battle-outcome h2{font-size:27px;margin-bottom:8px}.viewport-fit .battle-outcome p{margin-bottom:10px}.viewport-fit .battle-finish.achievement-finish{padding:20px}.viewport-fit .achievement-finish>h1{font-size:42px;margin:9px 0}.viewport-fit .achievement-reveal{padding:10px 10px 14px}.viewport-fit .reward-stage{height:210px}.viewport-fit .reward-full{height:185px;width:185px}.viewport-fit .achievement-reveal h2{font-size:28px}.viewport-fit .achievement-finish .ready-panel{margin-top:14px;padding:14px}.viewport-fit .achievement-finish .ready-panel h2{font-size:21px}.viewport-fit .achievement-finish .actions{margin-top:13px}.viewport-fit .sentence-quest-top{margin:3px 0 12px}.viewport-fit .sentence-battle-layout{gap:18px}.viewport-fit .sentence-scroll{padding:20px}.viewport-fit .sentence-reference{font-size:28px;line-height:1.4;margin-bottom:10px}.viewport-fit .sentence-reference-label{margin-bottom:7px}.viewport-fit .sentence-answer{margin-top:15px;gap:12px}.viewport-fit .sentence-scroll .hint{margin-top:10px;font-size:13px}.viewport-fit .sentence-scroll .actions{margin-top:14px}.viewport-fit .sentence-scroll .ready-panel{margin-top:16px;padding:16px}.viewport-fit .sentence-scroll .ready-panel h2{font-size:25px;margin-bottom:8px}.viewport-fit .sentence-workspace .word-slot,.viewport-fit .sentence-workspace .word-input{font-size:24px}.viewport-fit .sentence-workspace .word-input{padding:8px 2px 5px}.viewport-fit .sentence-navigator{margin-top:15px}.viewport-fit .sentence-workspace .sentence-navigator .navigator-body{grid-template-columns:minmax(0,1fr) 160px;gap:10px}.viewport-fit .sentence-workspace .sentence-navigator .hand-guide{flex-direction:column}.viewport-fit .sentence-workspace .sentence-navigator .hands{width:160px;max-width:160px}.viewport-fit .sentence-workspace .hands svg{width:78px;height:92px}.viewport-fit .sentence-workspace .sentence-navigator .map-key{width:27px;height:33px;font-size:14px}.viewport-fit .sentence-workspace .sentence-navigator .key-row{gap:2px}.viewport-fit .sentence-workspace .finger-caption{font-size:12px;margin-top:5px}.viewport-fit .sentence-workspace>.hint{font-size:12px;margin-top:9px}.viewport-fit .ultimate-boss-panel{position:relative;top:0;min-height:460px}.viewport-fit .ultimate-boss-heading{padding-top:18px}.viewport-fit .ultimate-arena{height:260px}.viewport-fit .ultimate-boss-hint{font-size:13px;margin:8px 0 12px}.viewport-fit .sentence-cast-scroll{min-height:460px;padding:26px}.viewport-fit .relic-reveal-card .relic-earned-art{height:280px}@media(max-height:760px) and (min-width:850px){.viewport-fit .mission-heading{margin-bottom:11px}.viewport-fit .mission-heading h1{font-size:30px}.viewport-fit .mission-card{padding:14px}.viewport-fit .mission-card h2{min-height:37px;font-size:23px}.viewport-fit .mission-card-top{margin-bottom:5px}.viewport-fit .mission-number{width:29px;height:29px;font-size:16px}.viewport-fit .mission-reward,.viewport-fit .mission-reward svg{height:86px;width:100px}.viewport-fit .mission-copy{font-size:13px;min-height:39px}.viewport-fit .mission-reward-name{font-size:13px;min-height:21px;margin-bottom:8px}.viewport-fit .mission-card button{padding:8px 16px;min-height:38px}.viewport-fit .treasure-cabinet{margin-top:13px;padding:11px 15px}.viewport-fit .cabinet-heading{margin-bottom:8px}.viewport-fit .cabinet-relic{min-height:95px;padding:7px;font-size:11px}.viewport-fit .cabinet-icon,.viewport-fit .relic-unfound{height:65px}.viewport-fit .battle-world{height:195px}.viewport-fit .combat-console{margin-top:10px}.viewport-fit .battle-model{font-size:38px;min-height:43px}.viewport-fit .spell-input-side{padding:13px}.viewport-fit .spell-input-side .entry{font-size:27px;padding:8px}.viewport-fit .spell-input-side .hint{margin-top:7px;font-size:12px}.viewport-fit .spell-buttons button{padding:8px 13px}.viewport-fit .sentence-scroll{padding:16px}.viewport-fit .sentence-reference{font-size:26px}.viewport-fit .sentence-workspace .word-slot,.viewport-fit .sentence-workspace .word-input{font-size:22px}.viewport-fit .sentence-scroll .actions{margin-top:11px}.viewport-fit .sentence-scroll .actions button{padding:9px 16px}.viewport-fit .sentence-scroll .ready-panel{margin-top:12px;padding:12px}.viewport-fit .ultimate-arena{height:230px}.viewport-fit .ultimate-boss-panel,.viewport-fit .sentence-cast-scroll{min-height:420px}.viewport-fit .ultimate-boss-heading{padding-top:14px}.viewport-fit .ultimate-boss-heading h2{font-size:22px}.viewport-fit .ultimate-seal-track span{width:34px;height:34px}.viewport-fit .ultimate-health{margin-top:9px}.viewport-fit .sentence-quest-top{margin-bottom:9px}.viewport-fit .sentence-seals{font-size:25px}.viewport-fit .reward-stage{height:180px}.viewport-fit .reward-full{height:160px;width:160px}.viewport-fit .achievement-reveal h2{font-size:25px}.viewport-fit .achievement-banner{font-size:11px;padding:5px 15px}.viewport-fit .achievement-finish>h1{font-size:37px}.viewport-fit .achievement-finish .ready-panel{padding:11px}.viewport-fit .relic-reveal-card .relic-earned-art{height:240px}.viewport-fit .relic-reveal-card{padding:19px 25px}.viewport-fit .relic-reveal-card>#next{margin-top:12px;padding:12px 20px}}

/* Reserve feedback space so changing keys never moves the sentence stage. */
.sentence-workspace .finger-caption{height:5.8em;min-height:5.8em;flex-shrink:0;overflow-wrap:anywhere}
.viewport-fit .sentence-scroll .status,.viewport-fit .sentence-scroll .status:empty{display:block;min-height:48px}

.header-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}#music-toggle{white-space:nowrap}@media(max-width:600px){header{flex-wrap:wrap}.header-controls{margin-left:auto}}
