:root{--font-pixel:"DotGothic16",sans-serif;--game-header-height:56px;--app-h:100vh;--c-ink:#050b1e;--c-navy:#0b1a3a;--c-steel:#2c4f86;--c-dim:#7c9cc4;--c-ice:#8dd6ff;--c-white:#eaf6ff;--c-fire:#ff8a3c;--c-red:#ff5a5a;--c-gold:#ffd25a;--c-green:#5ad06a;--c-veil:rgba(5,11,30,.8);--c-veil-board:rgba(5,11,30,.4);--fw-pad:12px;--fw-pad-card:16px 24px;--fw-gap-xs:4px;--fw-gap-s:8px;--fw-gap:12px;--fw-gap-l:16px;--fw-text-shadow:2px 2px 0 var(--c-ink);--font-pixel-sm:var(--font-pixel);--color-bg:var(--c-ink);--color-window-bg:var(--c-navy);--color-window-border:var(--c-ice);--color-window-inner:var(--c-steel);--color-text:var(--c-white);--color-text-dim:var(--c-dim);--color-accent:var(--c-ice);--color-accent-dim:var(--c-steel);--color-white:var(--c-white);--color-hp-green:var(--c-green);--color-hp-yellow:var(--c-gold);--color-hp-red:var(--c-red)}@property --fr{syntax:"<color>";inherits:false;initial-value:#8dd6ff}*{--fw-frame:0 -2px 0 0 var(--fr,var(--c-ice)),0 2px 0 0 var(--fr,var(--c-ice)),-2px 0 0 0 var(--fr,var(--c-ice)),2px 0 0 0 var(--fr,var(--c-ice)),-2px -2px 0 0 var(--c-ink),2px -2px 0 0 var(--c-ink),-2px 2px 0 0 var(--c-ink),2px 2px 0 0 var(--c-ink),0 -4px 0 0 var(--c-ink),0 4px 0 0 var(--c-ink),-4px 0 0 0 var(--c-ink),4px 0 0 0 var(--c-ink)}:root{--fw-frame-dim:0 -2px 0 0 var(--c-steel),0 2px 0 0 var(--c-steel),-2px 0 0 0 var(--c-steel),2px 0 0 0 var(--c-steel),-2px -2px 0 0 var(--c-ink),2px -2px 0 0 var(--c-ink),-2px 2px 0 0 var(--c-ink),2px 2px 0 0 var(--c-ink),0 -4px 0 0 var(--c-ink),0 4px 0 0 var(--c-ink),-4px 0 0 0 var(--c-ink),4px 0 0 0 var(--c-ink)}.fw-frame-dim{--fr:var(--c-steel)}.fw-frame-gold{--fr:var(--c-gold)}.fw-frame-red{--fr:var(--c-red)}.fw-frame-fire{--fr:var(--c-fire)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--c-ink);color:var(--c-white);font-family:var(--font-pixel);font-size:16px;letter-spacing:0;line-height:1.5;min-height:100dvh;width:100%;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;font-smooth:never;image-rendering:pixelated;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation}@supports (height:100dvh){:root{--app-h:100dvh}}html.fw-game-page *,html.fw-game-page :after,html.fw-game-page :before{touch-action:pan-x pan-y}html.fw-game-page .board-area svg,html.fw-game-page .board-area svg *{touch-action:none}html.fw-game-page,html.fw-game-page body{height:var(--app-h);min-height:0;overflow:hidden;touch-action:pan-x pan-y}.gameover-modal,.item-swap-overlay{overscroll-behavior:contain}a,button,input{font-family:inherit;font-size:16px;letter-spacing:0}.pixel-art,canvas{image-rendering:pixelated;image-rendering:crisp-edges}.fw-h1{color:var(--c-white);font-size:32px;line-height:40px}.fw-dim{color:var(--c-dim)}.fw-on-art{text-shadow:var(--fw-text-shadow)}.fw-win{padding:12px}.fw-btn,.fw-win{background:var(--c-navy);border:none;box-shadow:var(--fw-frame)}.fw-btn{align-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--c-white);cursor:pointer;display:inline-flex;font-family:var(--font-pixel);font-size:16px;gap:8px;justify-content:center;line-height:24px;min-height:44px;padding:8px 16px;text-align:center;text-decoration:none;white-space:pre-line;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fw-btn:hover:not(:disabled){color:var(--c-ice)}.fw-btn:active:not(:disabled){transform:translateY(2px)}.fw-btn:focus-visible{outline:2px solid var(--c-gold);outline-offset:6px}.fw-btn:disabled{cursor:not-allowed}.fw-btn.is-sub,.fw-btn:disabled{--fr:var(--c-steel);color:var(--c-dim)}.fw-btn.is-warn{--fr:var(--c-gold);color:var(--c-gold)}.fw-btn.is-sub:disabled,.fw-btn.is-warn:disabled{--fr:var(--c-steel);color:var(--c-dim)}.fw-btn.is-square{height:44px;min-height:44px;padding:0;width:44px}@keyframes fw-blink{50%{opacity:0}}.fw-blink{animation:fw-blink 1s steps(1) infinite}.fx-shake-1{animation:fx-shake-1 .35s step-end}.fx-shake-2{animation:fx-shake-2 .4s step-end}.fx-shake-3{animation:fx-shake-3 .75s step-end}@keyframes fx-shake-1{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(2px,-2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}@keyframes fx-shake-2{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px)}20%{transform:translate(4px,-2px)}30%{transform:translate(-2px,-4px)}40%{transform:translate(2px,4px)}50%{transform:translate(-4px,2px)}60%{transform:translate(4px,-2px)}70%{transform:translate(-2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes fx-shake-3{0%,to{transform:translate(0)}5%{transform:translate(-12px,8px)}10%{transform:translate(12px,-10px)}15%{transform:translate(-12px,-10px)}20%{transform:translate(10px,12px)}26%{transform:translate(-12px,4px)}32%{transform:translate(12px,-6px)}38%{transform:translate(-8px,8px)}46%{transform:translate(8px,-8px)}54%{transform:translate(-10px,6px)}62%{transform:translate(10px,-4px)}72%{transform:translate(-6px,2px)}82%{transform:translate(4px,-2px)}92%{transform:translate(-2px)}}.fx-sepia{filter:sepia(.85) saturate(1.1) hue-rotate(-10deg)}.fx-grayscale{filter:grayscale(1) brightness(.85)}.fx-night{filter:hue-rotate(-30deg) saturate(1.3) brightness(.7) contrast(1.1)}.fx-mosaic-active,.fx-mosaic-active *{animation-play-state:paused!important}.fx-mosaic-active .story-face{box-shadow:none!important}.puzzle-screen,.puzzle-screen *{-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.puzzle-screen input,.puzzle-screen textarea{-moz-user-select:text;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.score-combo{color:var(--c-dim);-moz-column-gap:8px;column-gap:8px;display:grid;font-size:16px;grid-template-areas:"label mult" "num num";grid-template-columns:auto auto;justify-items:start;line-height:24px;white-space:nowrap}.combo-num{animation:combo-bump .3s step-end both;display:inline-block;font-size:32px;font-variant-numeric:tabular-nums;grid-area:num;line-height:40px}.combo-label{grid-area:label;letter-spacing:0}.combo-label,.combo-mult{font-size:16px;line-height:24px}.combo-mult{grid-area:mult}.combo-tier-0{color:var(--c-dim)}.combo-tier-1{color:var(--c-ice)}.combo-tier-2{color:var(--c-fire)}.combo-tier-3,.combo-tier-4{color:var(--c-gold)}.combo-tier-4{animation:combo-glow .6s step-end infinite}@keyframes combo-bump{0%{transform:translateY(-4px)}50%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes combo-glow{50%{color:var(--c-white)}}.score-burst{animation:burst-pop 1.5s step-end both;font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:40px}.burst-tier-1,.score-burst{color:var(--c-ice)}.burst-tier-2{color:var(--c-fire)}.burst-tier-3,.burst-tier-4{color:var(--c-gold)}@keyframes burst-pop{0%{opacity:0;transform:translateY(8px)}10%{opacity:1;transform:translateY(-4px)}20%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}.item-gain-overlay.fw-win{align-items:center;color:var(--c-ice);display:flex;flex-direction:column;gap:8px;height:-moz-fit-content;height:fit-content;inset:0;margin:auto;max-width:calc(100% - 32px);padding:16px 24px;pointer-events:none;position:absolute;text-align:center;width:-moz-fit-content;width:fit-content;z-index:80}.item-gain-overlay .item-gain-headline{animation:item-gain-headline-pulse .9s step-end infinite;color:var(--c-ice)}.item-gain-label{color:var(--c-white);font-size:16px;letter-spacing:0;line-height:24px}.item-gain-speech{align-items:center;border-top:2px solid var(--c-steel);box-sizing:border-box;display:flex;flex-direction:row;gap:8px;margin-top:4px;padding:8px 0 0;text-align:left;width:min(296px,80vw)}.item-gain-speech-body{flex:1;min-width:0}.item-gain-face-img{background:var(--c-navy);border:none;box-sizing:border-box;height:64px;image-rendering:pixelated;margin:4px;-o-object-fit:contain;object-fit:contain;width:64px;--fr:var(--c-ice);box-shadow:var(--fw-frame)}.item-gain-face-img.is-ghost{animation:popup-ghost-in .3s step-end both}.enemy-attack-leave-active .item-gain-face-img.is-ghost,.item-gain-leave-active .item-gain-face-img.is-ghost{animation:popup-ghost-out .18s step-end both}@keyframes popup-ghost-in{0%{opacity:0}10%{opacity:.85}20%{opacity:0}32%{opacity:.6}44%{opacity:.1}58%{opacity:1}70%{opacity:.3}82%,to{opacity:1}}@keyframes popup-ghost-out{0%{opacity:1}15%{opacity:.15}30%{opacity:.9}45%{opacity:0}60%{opacity:.6}75%,to{opacity:0}}.item-gain-speech-body{align-items:flex-start;display:flex;flex-direction:column;gap:0}.item-gain-speech-name{color:var(--c-ice);font-size:16px;letter-spacing:0;line-height:24px}.item-gain-speech-text{color:var(--c-white);font-size:16px;line-height:24px;white-space:pre-line}.enemy-attack-overlay.fw-win{--fr:var(--c-red);align-items:center;box-shadow:var(--fw-frame);color:var(--c-red);display:flex;flex-direction:column;gap:8px;height:-moz-fit-content;height:fit-content;inset:0;margin:auto;max-width:calc(100% - 32px);padding:16px 24px;pointer-events:none;position:absolute;text-align:center;width:-moz-fit-content;width:fit-content;z-index:82}.enemy-attack-overlay .enemy-attack-headline{animation:enemy-attack-headline-pulse .6s step-end infinite;color:var(--c-red)}.enemy-attack-effect{color:var(--c-white);font-size:16px;letter-spacing:0;line-height:24px}.enemy-attack-speech{border-top-color:var(--c-red)}.enemy-attack-speech .item-gain-speech-name{color:var(--c-red)}@keyframes enemy-attack-headline-pulse{50%{color:var(--c-white)}}@keyframes item-gain-headline-pulse{50%{color:var(--c-white)}}.enemy-attack-enter-active,.item-gain-enter-active{transition:opacity .18s steps(3)}.enemy-attack-leave-active,.item-gain-leave-active{transition:opacity .35s steps(4)}.enemy-attack-enter-from,.enemy-attack-leave-to,.item-gain-enter-from,.item-gain-leave-to{opacity:0}.item-flash{animation:item-flash 1s step-end forwards;background:var(--c-white);inset:0;opacity:0;pointer-events:none;position:absolute;z-index:70}@keyframes item-flash{0%{opacity:0}8%{opacity:.6}25%{opacity:.4}45%{opacity:.2}70%{opacity:.1}to{opacity:0}}.item-use-icon{align-items:center;animation:item-use-icon 1s step-end forwards;display:flex;flex-direction:column;gap:8px;height:-moz-fit-content;height:fit-content;inset:0;margin:auto;pointer-events:none;position:absolute;width:-moz-fit-content;width:fit-content;z-index:75}.item-use-desc{color:var(--c-white);font-size:16px;letter-spacing:0;line-height:24px;max-width:288px;text-align:center;text-shadow:var(--fw-text-shadow)}@keyframes item-use-icon{0%{opacity:0}8%{opacity:1}60%{opacity:.7}80%{opacity:.4}to{opacity:0}}.end-flash{animation:end-flash 1.6s step-end forwards;inset:0;opacity:0;pointer-events:none;position:absolute;z-index:78}.end-flash-gameover{background:var(--c-red)}.end-flash-gameclear{background:var(--c-white)}@keyframes end-flash{0%{opacity:0}10%{opacity:.7}35%{opacity:.4}60%{opacity:.15}to{opacity:0}}.end-text{animation:end-text 1.6s step-end forwards;font-size:32px;height:-moz-fit-content;height:fit-content;inset:0;letter-spacing:0;line-height:40px;margin:auto;pointer-events:none;position:absolute;text-shadow:var(--fw-text-shadow);white-space:nowrap;width:-moz-fit-content;width:fit-content;z-index:82}.end-text-gameover{color:var(--c-white)}.end-text-gameclear{color:var(--c-ice)}@keyframes end-text{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}.completion-flash-blur{display:none}.completion-flash-line{animation:completion-flash 1s steps(3) forwards;fill:none;pointer-events:none;stroke:var(--c-white)!important;stroke-linecap:square;stroke-linejoin:miter;stroke-width:14}@keyframes completion-flash{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.fx-shake-2,.fx-shake-3{animation-name:fx-shake-1!important}.fx-flash,.fx-lightning-wrap{opacity:.35!important}.active-line-stroke,.active-tip-square,.cleared-tap-hint,.combo-tier-4,.crystal-float,.crystal-shadow-low,.ember-brackets,.ember-flame,.ember-float,.ember-shadow-low,.ember-spark,.emblem-fire,.emblem-ice,.enemy-attack-headline,.fw-blink,.item-gain-headline,.status-value.time-low,.story-tap-hint{animation:none!important}.ember-spark-b{display:none!important}}
