.edition{border:1px solid #567451;padding:1px 5px;margin-left:6px;font:9px Georgia,serif;color:var(--accent)}
.combo-preview{font-size:9px;color:var(--muted);min-height:18px;line-height:1.6;margin-bottom:8px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}.combo-preview .icon{width:13px;height:13px;color:var(--accent)}.combo-preview>span{margin-left:auto;font-size:8px;color:var(--accent)}.clue.linkable small{color:var(--accent)}.clue.linkable:not(.active){background:#b4dfb404}.enemy-guide{font-size:9px;color:var(--muted);background:none;border:0;margin-top:12px;padding:0}.enemy-guide:hover{color:var(--accent)}.armor-label{font-style:normal;color:var(--accent);font-size:9px;margin-left:6px}.enemy-intent b{margin-left:auto;font:28px Georgia,serif;color:var(--accent)}.enemy-intent div strong{font-size:12px}.intent-heavy{border-color:#6f7657;background:#b4dfb408}.intent-heavy b{font-size:31px}.intent-pierce b{color:#ddceb5}.intent-note{color:var(--muted);font-size:9px;line-height:1.7;margin-top:8px}.enemy-pattern{display:flex;align-items:center;gap:7px;margin-top:10px;color:#829282}.enemy-pattern span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);font-size:13px}.enemy-pattern span.now{background:var(--accent);color:var(--bg);border-color:var(--accent)}.enemy-pattern i{font-style:normal;font-size:10px;color:#637563}.hero-minor{gap:6px;flex-wrap:wrap}.hero-minor .icon{width:14px;height:14px}.hero-minor strong{margin-left:3px}.ward-ring{position:absolute;width:140px;height:140px;border:1px solid #b4dfb470;box-shadow:0 0 22px #b4dfb416,inset 0 0 22px #b4dfb416;border-radius:50%;opacity:0}.enemy-art.warded .ward-ring{opacity:1;animation:wardpulse 2.5s ease-in-out infinite}.boss-rage .enemy-art{background:radial-gradient(ellipse at 50% 70%,#99a56825,transparent 70%)}.boss-rage .creature{filter:drop-shadow(0 0 10px #b4dfb425)}.pattern-guide{padding-left:20px}.pattern-guide li{padding:8px;font-size:12px;color:var(--accent)}.pattern-guide strong{display:block;font-weight:500}.pattern-guide span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.volume-row{display:flex;justify-content:space-between;margin-top:26px;font-size:12px}.volume-row output{color:var(--accent)}.volume-slider{width:100%;accent-color:var(--accent);margin:16px 0;height:26px}.sound-credit{margin-top:22px!important;font-size:10px!important}.sound-settings{margin-left:-20px;color:var(--muted)}
#fx-layer{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.fx-number{position:absolute;transform:translateX(-50%);font:40px Georgia,serif;color:#dfefcd;text-shadow:0 2px 20px #000b;animation:floatnumber 1.05s both;white-space:nowrap}.fx-number.guard{font:18px var(--sans);color:var(--accent)}.fx-number.combo{font:20px var(--serif);letter-spacing:.1em;color:#f1edd8}.fx-number.hurt{font:22px var(--sans);color:#e5c5aa}.fx-ribbon{position:absolute;height:3px;transform-origin:0 50%;transform:rotate(var(--angle));background:linear-gradient(90deg,transparent,#b4dfb4,#e9ecd8);box-shadow:0 0 14px #b4dfb470;animation:ribbon .45s both}.fx-ribbon.guard{height:7px;background:linear-gradient(90deg,transparent,#b4dfb490);box-shadow:0 0 20px #b4dfb470}.resolving button:disabled{opacity:1}.resolving .clue{opacity:.65}.attack-tile{animation:attacktile .65s var(--tile-delay) both!important}.defense-tile{animation:defensetile .65s var(--tile-delay) both!important}.hint-glow{animation:hintglow .8s}.shield-bloom{animation:shieldbloom .65s}.enemy-art.defeated{animation:crumble .5s both}.enemy-art.hit .creature{animation:impact .38s}.wrong-shake{animation:wrongshake .3s}.between-screen{animation:rise .4s both}.end-copy{animation:rise .6s both}
@keyframes wardpulse{50%{box-shadow:0 0 30px #b4dfb42a,inset 0 0 30px #b4dfb423;transform:scale(1.04)}}@keyframes floatnumber{0%{opacity:0;translate:0 12px}18%{opacity:1}75%{opacity:1}100%{opacity:0;translate:0 -55px}}@keyframes ribbon{0%{opacity:0;scale:0 1}30%{opacity:1;scale:1 1}100%{opacity:0;scale:1 1}}@keyframes attacktile{0%{background:#c4d9b8}35%{background:#f8ffe3;box-shadow:inset 0 -7px 0 #a2c38b;translate:0 -3px}70%{translate:0 2px}100%{translate:0 0}}@keyframes defensetile{35%{background:#e6f6d2;box-shadow:inset 6px 0 0 #95b882;translate:3px 0}100%{translate:0 0}}@keyframes hintglow{35%{box-shadow:0 0 30px #b4dfb42b}}@keyframes shieldbloom{35%{box-shadow:0 0 0 8px #b4dfb40c;background:#b4dfb418}}@keyframes crumble{30%{translate:0 -4px;filter:brightness(1.6)}100%{translate:0 22px;opacity:0;filter:blur(5px)}}@keyframes impact{20%{translate:-7px 0;filter:brightness(1.7)}65%{translate:4px 0}100%{translate:0 0}}@keyframes wrongshake{25%{translate:-3px 0}75%{translate:3px 0}}
@media(max-width:980px) and (min-width:651px){.enemy-art{height:165px}.creature{width:180px;height:180px}.battle-log{margin-top:16px}.hero-status{margin-top:16px}}
@media(max-width:650px){.site-header nav{gap:14px}.sound-settings{margin-left:0;font-size:9px}.enemy-panel{grid-template-columns:1fr 1fr;gap:0 18px}.intent-area{grid-column:1/-1;grid-row:4;margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:3px 15px}.intent-area .enemy-intent{grid-column:1;margin:0;padding:7px 0;min-height:46px}.enemy-intent div span{font-size:8px}.enemy-intent div strong{font-size:10px}.enemy-intent b{font-size:23px}.intent-note{grid-column:2;grid-row:1;margin:0;align-self:center;font-size:8px}.enemy-pattern{grid-column:1/-1;margin-top:4px;gap:7px}.enemy-pattern span{width:21px;height:21px;font-size:11px}.hero-status{grid-row:1/3;margin-top:0}.hero-minor{font-size:7px;gap:6px}.hero-minor strong{font-size:11px}.hero-minor .icon{width:13px;height:13px}.hero-status>div:first-child{margin-bottom:8px}.enemy-heading{min-height:37px}.enemy-health{margin-top:0}.battle-log{grid-row:5;margin-top:9px;padding:6px 9px}.battle-log>p{font-size:9px;line-height:1.6}.ward-ring{width:64px;height:64px}.combo-preview{font-size:8px;margin-bottom:7px}.answer-box{padding-top:11px}.fx-number{font-size:31px}.fx-number.guard{font-size:14px}.fx-number.combo{font-size:15px}.enemy-guide{font-size:8px}.armor-label{font-size:7px;margin-left:3px}}
@media(prefers-reduced-motion:reduce){#fx-layer{display:none}.attack-tile,.defense-tile,.hint-glow,.shield-bloom,.enemy-art.defeated,.enemy-art.hit .creature,.wrong-shake{animation:none!important}}

@media(max-width:650px){.intent-area .enemy-guide{grid-column:1/-1;text-align:left;margin-top:3px}.clues-heading>p:nth-child(2){font:17px var(--serif);margin-top:10px}}

.dungeon-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:18px;max-width:330px}.riposte-preview{color:var(--accent)}.fx-number.riposte{font-size:25px;white-space:nowrap}

.cascade-preview{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--accent);font-size:10px;margin:0 0 12px;padding:8px 0;border-bottom:1px solid var(--line)}.cascade-preview .icon{width:15px;height:15px}.cascade-preview small{font-size:8px;color:var(--muted);flex-basis:100%;padding-left:21px}.fx-number.auto-chain{font-size:18px;color:var(--accent);white-space:nowrap;padding:8px 12px;background:#13241eee;border:1px solid #7c9c70;z-index:2}@media(max-width:650px){.cascade-preview{font-size:9px}.fx-number.auto-chain{font-size:15px}}

.clue-stage{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 10px;font-size:10px;color:var(--accent)}.clue-stage small{color:var(--muted);font-size:9px;text-align:right}.hint-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.semantic-hint{color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:3px}.answer-bottom{flex-wrap:wrap;gap:10px}.clue-reveal{animation:cluereveal .28s ease-out}@keyframes cluereveal{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:650px){.answer-bottom .hint-actions{flex-basis:100%;margin-top:4px;gap:18px}.clue-stage{font-size:9px}.clue-stage small{font-size:8px}}@media(prefers-reduced-motion:reduce){.clue-reveal{animation:none}}

/* A cascade travels through the letters; the enemy's response has its own pose. */
.cascade-word.attack-tile{animation:cascadestrike .48s var(--tile-delay) both!important}.cascade-word.defense-tile{animation:cascadeguard .48s var(--tile-delay) both!important}.fx-number.auto-chain{animation:chainnumber .85s both}.intent-charge>.icon{color:var(--accent)}.intent-heavy>.icon,.intent-pierce>.icon{color:#ddceb5}.intent-multi b{letter-spacing:.03em}.enemy-art.counter-heavy .creature{animation:heavycounter .36s ease-out}.enemy-art.counter-multi .creature{animation:multicounter .36s ease-out}.enemy-art.counter-pierce .creature{animation:piercecounter .3s ease-out}.enemy-art.counter-charge .creature-body{animation:chargepose .38s ease-out;transform-origin:center bottom}.enemy-art.counter-ward .ward-ring{opacity:1;animation:wardcast .4s ease-out}.hero-status.perfect-guard{animation:guardcatch .36s ease-out}.hero-status.perfect-guard .health-track{box-shadow:0 0 12px #b4dfb432}
@keyframes cascadestrike{0%{background:#c4d9b8}25%{background:#f4ffe3;box-shadow:inset 0 -4px 0 #95b882;translate:0 -2px}100%{translate:0 0;box-shadow:inset 0 0 0 1px #95b88255}}@keyframes cascadeguard{25%{background:#e6f6d2;box-shadow:inset 4px 0 0 #95b882;translate:2px 0}100%{translate:0 0;box-shadow:inset 0 0 0 1px #95b88255}}@keyframes chainnumber{0%{opacity:0;translate:0 6px}15%{opacity:1;translate:0 0}70%{opacity:1}100%{opacity:0;translate:0 -24px}}@keyframes heavycounter{0%,100%{translate:0 0;scale:1}24%{translate:0 -4px;scale:.97}48%{translate:0 7px;scale:1.035}}@keyframes multicounter{0%,100%{translate:0 0}20%,55%,85%{translate:4px 2px}35%,70%{translate:-3px -1px}}@keyframes piercecounter{0%,100%{translate:0 0}30%{translate:-3px 0}55%{translate:9px 0}}@keyframes chargepose{0%,100%{scale:1}45%{scale:1.035 .95;filter:brightness(1.18)}}@keyframes wardcast{0%{scale:.75;opacity:0}65%{scale:1.06;opacity:1}100%{scale:1;opacity:1}}@keyframes guardcatch{20%{box-shadow:inset 3px 0 0 #b4dfb4;background:#b4dfb414}55%{box-shadow:inset 1px 0 0 #b4dfb470;background:#b4dfb408}100%{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.cascade-word.attack-tile,.cascade-word.defense-tile,.enemy-art.counter-heavy .creature,.enemy-art.counter-multi .creature,.enemy-art.counter-pierce .creature,.enemy-art.counter-charge .creature-body,.enemy-art.counter-ward .ward-ring,.hero-status.perfect-guard,.hero-status.hurt{animation:none!important}}
