/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.start:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--font-geist-sans:"Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif;--font-geist-mono:"SFMono-Regular", "Cascadia Mono", "Roboto Mono", monospace;--void:#05080d;--night:#070b12;--ink:#0d1520;--panel:#111c2ae8;--panel-deep:#070d16f0;--moss-dark:#26352d;--moss:#40533e;--sage:#74866a;--bone:#f3e4c3;--paper:#fff7e8;--gold:#e4ba69;--brass:#9b6c30;--orange:#ff6a00;--hot-orange:#ff9e2c;--cyan:#53e6f7;--tech-blue:#438bff;--rose:#ff405b;--lime:#b9e35b;--violet:#7357e8;--magenta:#d84dce;--warning:#ffd057;--muted:#aab8c4;--ui-edge:#e4ba6985;--ui-inner:#53e6f729;--safe-top:max(12px, env(safe-area-inset-top));--safe-right:max(12px, env(safe-area-inset-right));--safe-bottom:max(12px, env(safe-area-inset-bottom));--safe-left:max(12px, env(safe-area-inset-left));--background:var(--void);--foreground:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--void);width:100%;min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}body{color:var(--foreground);font-family:var(--font-geist-sans);text-rendering:geometricprecision;-webkit-font-smoothing:antialiased}button,kbd{font:inherit}button{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.hidden{display:none!important}.game-page{isolation:isolate;user-select:none;touch-action:manipulation;background:radial-gradient(circle at 50% 42%, #53e6f71c, transparent 36%), linear-gradient(115deg, #05080db8, #05080df0), image-set(url(/game/generated/emberveil-field.jpg) type("image/jpeg"), url(/game/generated/emberveil-field.png) type("image/png")) center / cover no-repeat, var(--void);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.game-page[data-course=moonstream]{background:radial-gradient(circle at 50% 42%, #53e6f726, transparent 38%), linear-gradient(115deg, #020911b8, #030b16f0), image-set(url(/game/generated/moonstream-field.jpg) type("image/jpeg"), url(/game/generated/moonstream-field.png) type("image/png")) center / cover no-repeat, var(--void)}.game-page[data-course=eclipsed]{background:radial-gradient(circle at 50% 42%, #ef3f7824, transparent 38%), linear-gradient(115deg, #0a0409c2, #080409f2), image-set(url(/game/generated/eclipsed-citadel-field.jpg) type("image/jpeg"), url(/game/generated/eclipsed-citadel-field.png) type("image/png")) center / cover no-repeat, var(--void)}.game-page:before{z-index:-2;background:conic-gradient(from 160deg at 48% 52%, transparent 0 24%, #ff6a0013 31%, transparent 38% 66%, #53e6f711 73%, transparent 81%);filter:blur(26px);content:"";animation:10s ease-in-out infinite alternate ambient-breathe;position:absolute;top:-20%;bottom:-20%;left:-20%;right:-20%}.game-page:after{z-index:-1;pointer-events:none;content:"";background:radial-gradient(#0000 32%,#000000c2 100%);position:absolute;top:0;bottom:0;left:0;right:0}.ambient-grid{z-index:-1;opacity:.32;transform-origin:bottom;pointer-events:none;background-image:linear-gradient(30deg,#0000 48%,#e4ba691f 49% 51%,#0000 52%),linear-gradient(150deg,#0000 48%,#e4ba6917 49% 51%,#0000 52%);background-size:72px 42px;animation:24s linear infinite grid-drift;position:absolute;top:-12%;bottom:-12%;left:-12%;right:-12%;transform:perspective(680px)rotateX(64deg)translateY(31%);-webkit-mask-image:radial-gradient(#000,#0000 72%);mask-image:radial-gradient(#000,#0000 72%)}.game-shell{isolation:isolate;aspect-ratio:16/9;filter:drop-shadow(0 28px 80px #000000a8);width:min(100vw,177.778dvh);max-width:1920px;height:min(100dvh,56.25vw);max-height:1080px;position:relative;container-type:inline-size}.game-shell:before,.game-shell:after{z-index:110;pointer-events:none;content:"";position:absolute}.game-shell:before{border:1px solid var(--ui-edge);clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px));top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 0 2px #53e6f714,inset 0 0 56px #02050a5c}.game-shell:after{background:linear-gradient(var(--gold), var(--gold)) left top / 38px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) left top / 1px 38px no-repeat, linear-gradient(var(--gold), var(--gold)) right top / 38px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) right top / 1px 38px no-repeat, linear-gradient(var(--cyan), var(--cyan)) left bottom / 38px 1px no-repeat, linear-gradient(var(--cyan), var(--cyan)) left bottom / 1px 38px no-repeat, linear-gradient(var(--cyan), var(--cyan)) right bottom / 38px 1px no-repeat, linear-gradient(var(--cyan), var(--cyan)) right bottom / 1px 38px no-repeat;opacity:.54;top:-5px;bottom:-5px;left:-5px;right:-5px}.game-stage{isolation:isolate;aspect-ratio:16/9;background:linear-gradient(#070b120f, #070b1238), image-set(url(/game/generated/emberveil-field.jpg) type("image/jpeg"), url(/game/generated/emberveil-field.png) type("image/png")) center / cover no-repeat, var(--night);clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px));position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.game-canvas{z-index:1;object-fit:contain;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:manipulation;outline:0;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.game-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--cyan)}.loading-screen{z-index:220;color:var(--bone);letter-spacing:.22em;text-transform:uppercase;background:radial-gradient(circle,#26352d94,#0000 46%),#05080df5;align-content:center;justify-items:center;gap:12px;padding:24px;font-size:clamp(12px,1.15cqw,15px);font-weight:700;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.loading-screen>small{color:#aab8c4a3;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:9px}.loading-screen.error{letter-spacing:.08em;text-transform:none}.loading-screen.error>span{text-align:center;max-width:520px;line-height:1.65}.loading-screen.error .primary-button{pointer-events:auto;touch-action:manipulation}.loading-line{background:#f3e4c31f;width:min(320px,56%);height:3px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #e4ba692e}.loading-line:after{background:linear-gradient(90deg, transparent, var(--orange), var(--cyan), transparent);width:42%;filter:drop-shadow(0 0 6px var(--cyan));content:"";animation:1.35s ease-in-out infinite loading-sweep;position:absolute;top:0;bottom:0;left:0;right:0}.hud-layer{z-index:80;color:var(--paper);letter-spacing:.025em;pointer-events:none;font-size:clamp(10px,1.1cqw,14px);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.player-panel,.objective-card,.boss-panel,.controls-guide,.item-panel,.modal-panel{border:1px solid var(--ui-edge);background:linear-gradient(118deg, #ffffff09, transparent 36%), repeating-linear-gradient(135deg, transparent 0 14px, #f3e4c306 14px 15px), var(--panel);box-shadow:inset 0 0 0 1px var(--ui-inner), inset 5px 0 0 #ff6a001c, 0 10px 28px #0000006b;-webkit-backdrop-filter:blur(8px)saturate(1.15);clip-path:polygon(0 9px,9px 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}.player-panel{grid-template-rows:auto 1fr auto;grid-template-columns:clamp(50px,5cqw,64px) minmax(0,1fr);column-gap:clamp(8px,.9cqw,12px);width:clamp(264px,28.15cqw,360px);min-height:clamp(72px,7.25cqw,93px);padding:clamp(6px,.6cqw,8px) clamp(9px,.8cqw,11px) clamp(6px,.55cqw,7px);display:grid;position:absolute;top:clamp(10px,1.7cqw,22px);left:clamp(10px,1.9cqw,24px)}.player-panel:before{background:linear-gradient(90deg, transparent, var(--cyan));width:31%;height:1px;box-shadow:0 0 8px var(--cyan);content:"";position:absolute;top:0;right:0}.hero-portrait{aspect-ratio:1;background-color:#1a2624;background-image:radial-gradient(circle at 50% 52%, transparent 48%, #05080d66 78%), var(--hero-atlas,url(/game/generated/emberveil-hero-atlas.png));width:clamp(50px,5cqw,64px);image-rendering:pixelated;background-position:50%,0 0;background-repeat:no-repeat;background-size:100% 100%,400% 400%;border:1px solid #e4ba69d1;border-radius:50%;grid-row:1/4;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #070b12b8,0 0 0 2px #53e6f71f,0 0 14px #ff6a0033}.hero-portrait:after{border-radius:inherit;content:"";background:linear-gradient(112deg,#fff3,#0000 29% 76%,#53e6f71f);position:absolute;top:0;bottom:0;left:0;right:0}.player-meta{justify-content:space-between;align-items:baseline;min-width:0;padding:0 2px 3px;display:flex}.player-name{color:var(--bone);font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;text-overflow:ellipsis;text-shadow:0 0 10px #ff6a0059;font-size:clamp(11px,1.12cqw,15px);font-weight:800;line-height:1;overflow:hidden}.player-name small{color:#e4ba69d1;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:.56em;font-weight:700;line-height:1.1;display:block;overflow:hidden}.player-level{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;flex:none;font-size:clamp(8px,.78cqw,10px);font-weight:700}.resource-bars{align-content:center;gap:clamp(2px,.24cqw,4px);min-width:0;display:grid}.resource-row{grid-template-columns:clamp(19px,1.7cqw,23px) minmax(42px,1fr) clamp(42px,4.2cqw,54px);align-items:center;gap:clamp(3px,.4cqw,6px);min-width:0;display:grid}.resource-label{color:#f3e4c3d6;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:clamp(7px,.68cqw,9px);font-weight:800}.bar-track{clip-path:polygon(0 0,100% 0,calc(100% - 4px) 100%,0 100%);background:repeating-linear-gradient(90deg,#0000 0 11px,#ffffff0e 11px 12px),#02060abd;border:1px solid #f3e4c329;height:clamp(4px,.5cqw,7px);display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px 4px #000000b8}.bar-fill{transform-origin:0;min-width:0;transition:width .18s cubic-bezier(.2,.8,.2,1);display:block;position:absolute;top:0;bottom:0;left:0;right:auto}.bar-fill:after{content:"";background:linear-gradient(#fff6,#0000 52%);position:absolute;top:0;bottom:0;left:0;right:0}.hp-fill{background:linear-gradient(90deg, #e92f52, var(--rose) 52%, var(--hot-orange));box-shadow:0 0 7px #ff405b8c}.mp-fill{background:linear-gradient(90deg, var(--tech-blue), var(--cyan));box-shadow:0 0 7px #53e6f785}.xp-fill{background:linear-gradient(90deg, #809e42, var(--lime));box-shadow:0 0 6px #b9e35b66}.poise-fill{background:repeating-linear-gradient(135deg, #ffffff24 0 3px, transparent 3px 7px), linear-gradient(90deg, var(--violet), var(--magenta));box-shadow:0 0 7px #d84dce7a}.bar-fill.depleted,.resource-row.depleted,.depleted{opacity:.38;filter:grayscale(.8)}.resource-value{color:#f8f2e4;font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-align:right;white-space:nowrap;font-size:clamp(7px,.67cqw,9px);font-weight:700;line-height:1;overflow:hidden}.resource-value small{color:#aab8c4b3;font-size:.75em}.dodge-pips{grid-column:2;justify-content:flex-end;gap:5px;padding-top:3px;display:flex}.dodge-pip{background:#aab8c42e;width:clamp(11px,1.05cqw,14px);height:3px;transition:background-color .14s,box-shadow .14s,opacity .14s;transform:skew(-28deg);box-shadow:inset 0 0 0 1px #f3e4c31a}.dodge-pip[data-active=true]{background:var(--lime);box-shadow:0 0 7px #b9e35bc7}.dodge-pip[data-active=false]{opacity:.55}.objective-card{text-align:right;width:clamp(196px,24.4cqw,312px);min-height:clamp(46px,5cqw,64px);padding:clamp(8px,.85cqw,12px) clamp(12px,1.2cqw,16px);position:absolute;top:clamp(10px,1.9cqw,24px);right:clamp(10px,1.9cqw,24px)}.objective-card:before{background:linear-gradient(90deg, transparent, var(--gold));content:"";width:44%;height:1px;position:absolute;top:0;right:17px}.objective-kicker{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px;font-size:clamp(8px,.78cqw,10px);font-weight:800;line-height:1}.objective-text{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(10px,1.05cqw,14px);font-weight:700;line-height:1.35;overflow:hidden}.boss-panel{text-align:center;width:clamp(280px,37.5cqw,480px);padding:clamp(7px,.65cqw,9px) clamp(17px,1.6cqw,22px) clamp(8px,.75cqw,11px);animation:.3s ease-out both panel-arrive;position:absolute;top:clamp(10px,1.55cqw,20px);left:50%;transform:translate(-50%)}.boss-panel:after{background:linear-gradient(90deg, transparent, var(--magenta), transparent);height:1px;box-shadow:0 0 8px var(--magenta);content:"";position:absolute;bottom:0;left:10%;right:10%}.boss-name{color:var(--bone);letter-spacing:.17em;text-shadow:0 0 12px #d84dce73;margin-bottom:6px;font-size:clamp(9px,.9cqw,12px);font-weight:800;line-height:1}.boss-bars{gap:4px;display:grid}.boss-bars .bar-track:first-child{height:clamp(6px,.65cqw,9px)}.boss-bars .bar-track:last-child{height:clamp(3px,.34cqw,5px)}.combo-counter{color:var(--bone);opacity:0;filter:drop-shadow(0 4px 8px #000000a3);justify-items:end;transition:opacity .15s,transform .19s cubic-bezier(.2,1.4,.3,1);display:grid;position:absolute;top:42%;right:clamp(20px,8.2cqw,105px);transform:translate(16px)scale(.9)}.combo-counter[data-active=true],.combo-counter.active{opacity:1;transform:translate(0)scale(1)}.combo-number{color:var(--paper);font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:-.09em;-webkit-text-stroke:1px var(--orange);text-shadow:3px 3px 0 var(--ink), 0 0 16px #ff6a00b8;font-size:clamp(28px,4cqw,52px);font-style:italic;font-weight:900;line-height:.85}.combo-label{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.24em;padding-right:2px;font-size:clamp(7px,.76cqw,10px);font-weight:900}.status-toast{min-width:clamp(180px,22cqw,280px);color:var(--bone);letter-spacing:.14em;text-align:center;text-shadow:0 0 8px #ff6a0070;opacity:0;background:linear-gradient(90deg,#0000,#070d16c7 20% 80%,#0000);border-top:1px solid #e4ba699e;border-bottom:1px solid #e4ba694d;padding:7px 20px 8px;font-size:clamp(10px,1.08cqw,14px);font-weight:800;transition:opacity .16s,transform .22s;position:absolute;top:25%;left:50%;transform:translate(-50%,8px)scaleX(.82)}.status-toast[data-visible=true],.status-toast.active{opacity:1;transform:translate(-50%)scaleX(1)}.status-toast[data-perfect=true]{color:#eaffff;border-color:var(--cyan);text-shadow:0 0 9px var(--cyan)}.controls-guide{color:#f3e4c3b8;white-space:nowrap;align-items:center;gap:clamp(7px,.75cqw,11px);max-width:58%;min-height:34px;padding:6px 9px;font-size:clamp(7px,.68cqw,9px);line-height:1;display:flex;position:absolute;bottom:clamp(10px,1.35cqw,18px);left:50%;transform:translate(-50%)}.controls-guide>span,.title-controls>span{align-items:center;gap:4px;display:inline-flex}.controls-guide .secondary-button{pointer-events:auto;min-height:23px;margin-left:2px;padding:4px 8px;font-size:8px}.keycap,.action-key{min-width:20px;min-height:18px;color:var(--bone);font-family:var(--font-geist-mono), monospace;letter-spacing:.035em;background:#02060aad;border:1px solid #e4ba6961;border-bottom-color:#e4ba69a8;border-radius:2px;place-items:center;padding:2px 5px;font-size:.82em;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1px #53e6f70f,0 2px #0000006b}.action-cluster{pointer-events:none;width:clamp(172px,18.4cqw,236px);height:clamp(118px,12.3cqw,158px);position:absolute;bottom:clamp(10px,1.7cqw,22px);right:clamp(10px,1.9cqw,24px)}.action-button{--action-color:var(--bone);border:1px solid var(--action-color);place-items:center;margin:0;padding:0;display:grid;position:absolute;overflow:visible}@supports (color:color-mix(in lab, red, red)){.action-button{border:1px solid color-mix(in srgb, var(--action-color), white 18%)}}.action-button{color:var(--paper);background:radial-gradient(circle at 40% 34%, #ffffff2e, transparent 22%), radial-gradient(circle, var(--action-color), #070d16f0 72%);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.action-button{background:radial-gradient(circle at 40% 34%, #ffffff2e, transparent 22%), radial-gradient(circle, color-mix(in srgb, var(--action-color), transparent 64%), #070d16f0 72%)}}.action-button{box-shadow:inset 0 0 0 3px #05080db8, inset 0 0 0 4px var(--action-color), 0 0 16px var(--action-color), 0 7px 14px #00000073}@supports (color:color-mix(in lab, red, red)){.action-button{box-shadow:inset 0 0 0 3px #05080db8, inset 0 0 0 4px color-mix(in srgb, var(--action-color), transparent 55%), 0 0 16px color-mix(in srgb, var(--action-color), transparent 68%), 0 7px 14px #00000073}}.action-button{cursor:pointer;pointer-events:auto;transition:transform .12s,filter .12s,opacity .12s}.action-button:before{border:1px dashed var(--action-color);position:absolute;top:7px;bottom:7px;left:7px;right:7px}@supports (color:color-mix(in lab, red, red)){.action-button:before{border:1px dashed color-mix(in srgb, var(--action-color), transparent 34%)}}.action-button:before{border-radius:inherit;content:"";opacity:.58}.action-button:hover:not(:disabled){filter:brightness(1.18);transform:translateY(-2px)scale(1.035)}.action-button:active:not(:disabled),.action-button.active:not(:disabled){filter:brightness(1.35);transform:translateY(1px)scale(.94)}.action-button:disabled{cursor:not-allowed;filter:grayscale(.72)brightness(.62);opacity:.56}.action-icon{z-index:1;text-shadow:0 0 10px var(--action-color);font-size:clamp(15px,1.7cqw,22px);font-weight:900;line-height:.9;position:relative}.action-label{color:var(--bone);letter-spacing:.06em;text-align:center;text-shadow:1px 1px 0 var(--night), -1px -1px 0 var(--night), 0 0 6px var(--night);white-space:nowrap;font-size:clamp(7px,.68cqw,9px);font-weight:800;position:absolute;bottom:-11px;left:-7px;right:-7px}.action-key{z-index:2;border-color:var(--action-color);min-width:24px;min-height:17px;position:absolute;top:-7px;right:-8px}@supports (color:color-mix(in lab, red, red)){.action-key{border-color:color-mix(in srgb, var(--action-color), transparent 38%)}}.action-key{white-space:nowrap;font-size:clamp(6px,.57cqw,8px)}.attack-action{--action-color:var(--orange);width:clamp(58px,5.8cqw,74px);height:clamp(58px,5.8cqw,74px);bottom:4px;right:0}.magic-action{--action-color:var(--violet);width:clamp(48px,4.5cqw,58px);height:clamp(48px,4.5cqw,58px);bottom:clamp(58px,5.2cqw,67px);right:clamp(50px,5.2cqw,67px)}.dodge-action{--action-color:var(--cyan);width:clamp(50px,4.9cqw,63px);height:clamp(50px,4.9cqw,63px);bottom:0;right:clamp(66px,6.8cqw,87px)}.rend-action{--action-color:var(--magenta);width:clamp(44px,4.2cqw,54px);height:clamp(44px,4.2cqw,54px);bottom:clamp(67px,6.6cqw,85px);right:0}.item-panel{min-width:clamp(156px,15.6cqw,200px);min-height:clamp(42px,4.3cqw,55px);color:var(--bone);text-align:left;cursor:pointer;pointer-events:auto;border-radius:0;grid-template-columns:clamp(28px,2.8cqw,36px) 1fr auto auto;align-items:center;gap:7px;padding:6px 8px;font-size:clamp(8px,.75cqw,10px);font-weight:700;transition:filter .12s,transform .12s;display:grid;position:absolute;bottom:clamp(10px,1.55cqw,20px);left:clamp(10px,1.9cqw,24px)}.item-panel:hover:not(:disabled){filter:brightness(1.16);transform:translateY(-1px)}.item-panel:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.48}.item-panel strong{color:var(--lime);font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums}.potion-icon{aspect-ratio:1;color:#eaffb2;background:radial-gradient(circle at 42% 32%, #eaffb2, var(--lime) 28%, #50752c 67%, #101d16 70%);text-shadow:0 1px 2px #000000b3;border:1px solid #b9e35b94;border-radius:50% 50% 44% 44%;place-items:center;width:clamp(28px,2.8cqw,36px);font-size:9px;display:grid;box-shadow:0 0 10px #b9e35b59}.title-overlay{z-index:160;background:linear-gradient(90deg, #04070cf5 0%, #05090fd1 38%, #05080d2e 69%, #05080d75 100%), linear-gradient(0deg, #05080dc7, transparent 35% 72%, #05080d85), image-set(url(/game/generated/emberveil-field.jpg) type("image/jpeg"), url(/game/generated/emberveil-field.png) type("image/png")) center / cover no-repeat, var(--night);pointer-events:auto;align-items:center;padding:clamp(24px,6.2cqw,80px);animation:.7s ease-out both title-reveal;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.title-overlay:before{content:"";background:linear-gradient(110deg,#0000,#ff6a001a,#0000 66%);border-left:1px solid #e4ba692e;width:28%;animation:6s ease-in-out infinite title-shimmer;position:absolute;top:0;bottom:0;left:52%;transform:skew(-14deg)}.title-overlay.hidden{display:none}.title-content{z-index:1;border-left:2px solid var(--orange);filter:drop-shadow(0 18px 28px #0000007a);width:min(52%,630px);padding-left:clamp(12px,1.6cqw,22px);position:relative}.title-content:before{background:var(--cyan);width:2px;height:28%;box-shadow:0 0 9px var(--cyan);content:"";position:absolute;top:0;left:-2px}.title-eyebrow{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.28em;margin-bottom:clamp(8px,1cqw,14px);font-size:clamp(8px,.84cqw,12px);font-weight:800;line-height:1}.game-logo{color:var(--paper);font-family:var(--font-geist-sans), sans-serif;letter-spacing:-.04em;text-shadow:4px 4px #080e16e0,7px 7px #ff6a0052,0 0 26px #ff9e2c2e;margin:0;font-size:clamp(46px,6.25cqw,88px);font-style:italic;font-weight:900;line-height:.88}.title-heading-row{flex-wrap:wrap;align-items:center;gap:8px clamp(10px,1.25cqw,18px);width:min(100%,650px);min-width:0;display:flex;position:relative}.language-picker{z-index:3;min-height:44px;color:var(--gold);font-family:var(--font-geist-mono), monospace;touch-action:manipulation;clip-path:polygon(0 7px,7px 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 7px));background:linear-gradient(110deg,#ff6a001a,#0000 64%),#050a11f0;border:1px solid #e4ba6985;flex:none;align-items:center;margin-left:auto;transition:border-color .12s,filter .12s,box-shadow .12s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #53e6f714,0 8px 18px #00000057}.language-picker>span{color:var(--course-accent,var(--gold));letter-spacing:.16em;pointer-events:none;flex:none;padding-inline-start:10px;padding-inline-end:10px;font-size:9px;font-weight:900;line-height:1}.language-select{width:clamp(150px,13cqw,180px);min-width:0;min-height:42px;color:var(--paper);font-family:var(--font-geist-sans), sans-serif;cursor:pointer;touch-action:manipulation;background-color:#0d1520;border:0;border-left:1px solid #e4ba6947;border-radius:0;padding:0 9px;font-size:16px;font-weight:700;line-height:1}.language-select option{color:var(--paper);background:#0d1520}.language-picker:hover{border-color:var(--course-accent,var(--gold));filter:brightness(1.1)}.language-picker:focus-within{outline:2px solid var(--cyan);outline-offset:2px;border-color:var(--cyan);box-shadow:0 0 0 4px #05080deb,0 0 18px #53e6f7b8}.language-select:focus{outline:none}.game-logo-jp{border-left:1px solid var(--gold);border-right:1px solid var(--gold);width:max-content;color:var(--bone);letter-spacing:.28em;text-indent:.28em;background:linear-gradient(90deg,#0000,#e4ba6917,#0000);margin-top:clamp(9px,.95cqw,14px);padding:4px 13px 5px;font-size:clamp(13px,1.34cqw,19px);font-weight:700;line-height:1}.title-copy{color:#f3e4c3c7;letter-spacing:.08em;max-width:520px;margin:clamp(14px,1.65cqw,24px) 0;font-size:clamp(10px,1.1cqw,15px);font-weight:600;line-height:1.8}.primary-button,.secondary-button{border:1px solid var(--ui-edge);min-height:clamp(36px,3.55cqw,48px);color:var(--bone);letter-spacing:.12em;clip-path:polygon(0 7px,7px 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 7px));cursor:pointer;touch-action:manipulation;border-radius:0;justify-content:center;align-items:center;padding:9px clamp(17px,2cqw,28px);font-size:clamp(10px,1cqw,14px);font-weight:800;line-height:1;text-decoration:none;transition:color .12s,filter .12s,transform .12s,background-color .12s;display:inline-flex;position:relative}.primary-button{color:#120b05;background:linear-gradient(180deg, #ffffff42, transparent 34%), linear-gradient(100deg, var(--orange), var(--hot-orange));border-color:#ff9e2ce0;box-shadow:inset 0 0 0 1px #fff4d647,0 0 20px #ff6a004d,0 8px 18px #0000004d}.secondary-button{color:var(--bone);background:linear-gradient(120deg,#53e6f714,#0000 55%),#0d1520e0;box-shadow:inset 0 0 0 1px #53e6f714}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){filter:brightness(1.14);transform:translateY(-2px)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;filter:grayscale(.72)brightness(.72);opacity:.62}.title-controls{color:#aab8c4d1;flex-wrap:wrap;gap:8px 15px;margin-top:clamp(14px,1.4cqw,20px);font-size:clamp(7px,.72cqw,10px);font-weight:600;display:flex}.pause-overlay{z-index:180;-webkit-backdrop-filter:blur(6px)saturate(.72);pointer-events:auto;background:radial-gradient(circle,#26352d5c,#0000 42%),#05080dc9;place-items:center;padding:24px;animation:.18s ease-out both overlay-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.pause-overlay.hidden{display:none}.modal-panel{text-align:center;width:min(460px,82%);padding:clamp(22px,3cqw,42px);position:relative}.modal-panel:before,.modal-panel:after{content:"";width:1px;position:absolute;top:13px;bottom:13px}.modal-panel:before{background:linear-gradient(transparent, var(--orange), transparent);left:8px}.modal-panel:after{background:linear-gradient(transparent, var(--cyan), transparent);right:8px}.modal-kicker{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;font-size:clamp(8px,.78cqw,11px);font-weight:800}.modal-title{color:var(--paper);letter-spacing:.07em;text-shadow:0 0 18px #ff6a003d;margin:clamp(10px,1.25cqw,17px) 0 clamp(18px,2cqw,28px);font-size:clamp(20px,2.45cqw,34px);font-weight:800;line-height:1.25}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.modal-actions .primary-button,.modal-actions .secondary-button{min-width:156px}.touch-layer{z-index:95;pointer-events:none;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.touch-joystick{bottom:calc(var(--safe-bottom) + 14px);left:calc(var(--safe-left) + 18px);background:radial-gradient(circle, transparent 0 24%, #53e6f714 25% 27%, transparent 28%), repeating-conic-gradient(from 22.5deg, #f3e4c31f 0 1deg, transparent 1deg 44deg), #070d164d;pointer-events:auto;touch-action:none;opacity:.72;border:1px solid #f3e4c357;border-radius:50%;width:clamp(94px,14cqw,120px);height:clamp(94px,14cqw,120px);position:absolute;box-shadow:inset 0 0 24px #0000006b,0 0 0 5px #070d1624}.touch-joystick:after{border-radius:inherit;content:"";border:1px dashed #53e6f72e;position:absolute;top:12%;bottom:12%;left:12%;right:12%}.joystick-knob{z-index:1;will-change:transform;background:radial-gradient(circle at 36% 31%,#ffffff47,#0000 23%),radial-gradient(circle,#40533eeb,#070d16eb);border:1px solid #53e6f7b3;border-radius:50%;width:45%;height:45%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 3px #05080d75,0 0 14px #53e6f74d}.touch-joystick.active,.touch-joystick:active{opacity:1}.touch-actions{right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 10px);pointer-events:none;width:clamp(190px,27cqw,250px);height:clamp(126px,18cqw,166px);position:absolute}.touch-action{--touch-color:var(--bone);border:1px solid var(--touch-color);place-items:center;margin:0;padding:0;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.touch-action{border:1px solid color-mix(in srgb, var(--touch-color), white 14%)}}.touch-action{color:var(--paper);background:radial-gradient(circle at 38% 28%, #ffffff2e, transparent 24%), radial-gradient(circle, var(--touch-color), #070d16d4 70%);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.touch-action{background:radial-gradient(circle at 38% 28%, #ffffff2e, transparent 24%), radial-gradient(circle, color-mix(in srgb, var(--touch-color), transparent 64%), #070d16d4 70%)}}.touch-action{box-shadow:inset 0 0 0 3px #05080d8c, 0 0 13px var(--touch-color)}@supports (color:color-mix(in lab, red, red)){.touch-action{box-shadow:inset 0 0 0 3px #05080d8c, 0 0 13px color-mix(in srgb, var(--touch-color), transparent 72%)}}.touch-action{text-shadow:0 0 8px var(--touch-color);pointer-events:auto;touch-action:manipulation;opacity:.78;font-size:clamp(16px,2.5cqw,24px);font-weight:900;line-height:1;transition:transform 80ms,opacity 80ms,filter 80ms}.touch-action:active,.touch-action.active{filter:brightness(1.35);opacity:1;transform:scale(.91)}.touch-attack{--touch-color:var(--orange);width:clamp(62px,8.2cqw,76px);height:clamp(62px,8.2cqw,76px);bottom:0;right:0}.touch-magic{--touch-color:var(--violet);width:clamp(52px,6.9cqw,62px);height:clamp(52px,6.9cqw,62px);bottom:clamp(62px,8cqw,76px);right:clamp(55px,7.8cqw,72px)}.touch-dodge{--touch-color:var(--cyan);width:clamp(56px,7.4cqw,66px);height:clamp(56px,7.4cqw,66px);bottom:1px;right:clamp(75px,10.3cqw,95px)}.touch-potion{--touch-color:var(--lime);width:clamp(46px,6.1cqw,54px);height:clamp(46px,6.1cqw,54px);bottom:6px;right:clamp(134px,18.2cqw,166px)}.touch-rend{--touch-color:var(--magenta);width:clamp(50px,6.5cqw,58px);height:clamp(50px,6.5cqw,58px);bottom:clamp(70px,9.6cqw,88px);right:4px}.portrait-hint{top:calc(var(--safe-top) + 14px);z-index:260;width:max-content;max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 24px);color:var(--bone);text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(6px);clip-path:polygon(0 6px,6px 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 6px));background:linear-gradient(110deg,#ff6a0017,#0000 62%),#05080de0;border:1px solid #e4ba697a;justify-items:center;gap:4px;padding:9px 14px;display:none;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000075}.portrait-hint strong{letter-spacing:.08em;font-size:12px}.portrait-hint span{color:var(--muted);font-size:9px}.screen-vignette,.scanlines{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.screen-vignette{z-index:65;background:radial-gradient(#0000 45%,#01030647 76%,#000000a8 100%),linear-gradient(90deg,#ff6a0009,#0000 16% 84%,#53e6f706);box-shadow:inset 0 0 68px #00000052}.scanlines{z-index:66;opacity:.14;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000 0 2px,#02060a47 2px 3px)}.game-shell.paused .game-canvas,.game-stage.paused .game-canvas,.paused .game-canvas{filter:saturate(.68)brightness(.62)}.game-shell.victory .screen-vignette,.game-stage.victory .screen-vignette,.victory .screen-vignette{background:radial-gradient(circle,#ffd05714,#0000 48%,#0000009e)}.game-shell.defeat .game-canvas,.game-stage.defeat .game-canvas,.defeat .game-canvas{filter:grayscale(.7)sepia(.25)hue-rotate(285deg)brightness(.55)}.victory .modal-panel{border-color:#ffd057bf;box-shadow:inset 0 0 0 1px #ffd05729,0 0 34px #ffd0571f}.defeat .modal-panel{border-color:#ff405bad;box-shadow:inset 0 0 0 1px #ff405b24,0 0 34px #ff405b1a}:where(.primary-button,.secondary-button,.action-button,.item-panel,.touch-action,.game-canvas):focus-visible{outline:2px solid var(--cyan);outline-offset:3px;box-shadow:0 0 0 5px #05080ddb,0 0 18px #53e6f7b8}@keyframes ambient-breathe{0%{opacity:.62;transform:rotate(-3deg)scale(.98)}to{opacity:1;transform:rotate(4deg)scale(1.04)}}@keyframes grid-drift{to{background-position:72px 42px,-72px 42px}}@keyframes loading-sweep{0%{transform:translate(-130%)}to{transform:translate(335%)}}@keyframes panel-arrive{0%{opacity:0;transform:translate(-50%,-10px)scaleX(.82)}to{opacity:1;transform:translate(-50%)scaleX(1)}}@keyframes title-reveal{0%{opacity:0;filter:brightness(1.7)}to{opacity:1;filter:brightness()}}@keyframes title-shimmer{0%,to{opacity:.38;transform:skew(-14deg)translate(-24%)}50%{opacity:.8;transform:skew(-14deg)translate(34%)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@media (max-width:1000px),(max-height:590px){.player-panel{width:min(330px,37cqw)}.objective-card{width:min(270px,29cqw)}.controls-guide>span:nth-child(2),.controls-guide>span:nth-child(4){display:none}.title-content{width:min(58%,560px)}}@media (max-width:760px),(max-height:460px){.game-shell:after{top:-2px;bottom:-2px;left:-2px;right:-2px}.player-panel{width:min(285px,43cqw)}.objective-card{width:min(228px,33cqw)}.boss-panel{width:min(330px,44cqw)}.controls-guide{display:none}.action-cluster{transform-origin:100% 100%;bottom:5px;right:8px;transform:scale(.84)}.item-panel{transform-origin:0 100%;min-width:145px;bottom:7px;left:8px;transform:scale(.9)}.title-overlay{padding:clamp(22px,5cqw,38px)}.title-content{width:min(65%,500px)}.title-copy{margin-block-start:11px;margin-block-end:11px}.title-controls{margin-top:10px}}@media (hover:hover) and (pointer:fine){.game-canvas{cursor:crosshair}.player-panel,.objective-card,.boss-panel,.combo-counter,.status-toast,.keyboard-controls,.item-panel{cursor:default;pointer-events:auto}}@media (hover:none),(pointer:coarse){.touch-layer{display:block}.controls-guide,.action-cluster,.item-panel{display:none}.objective-card{opacity:.86}.primary-button,.secondary-button{min-height:44px}}@media (orientation:portrait) and (max-width:760px){.game-page{background-position:50%}.portrait-hint{display:grid}}@media (prefers-contrast:more){:root{--ui-edge:#f3e4c3e6;--ui-inner:#53e6f76b}.player-panel,.objective-card,.boss-panel,.controls-guide,.item-panel,.modal-panel{background-color:#05080dfa}.scanlines,.ambient-grid{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.ambient-grid{transform:perspective(680px)rotateX(64deg)translateY(31%)}.scanlines{opacity:.08}}.keyboard-controls{z-index:42;width:min(760px,62%);min-height:62px;color:var(--bone);clip-path:polygon(0 9px,9px 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 9px));pointer-events:none;background:linear-gradient(115deg,#53e6f712,#0000 31%),#070d16e6;border:1px solid #e4ba696b;align-items:center;gap:clamp(8px,.8cqw,13px);padding:7px 10px;display:flex;position:absolute;bottom:clamp(10px,1.25cqw,17px);left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #53e6f71a,0 9px 22px #00000073}.keyboard-controls:before{background:linear-gradient(90deg, transparent, var(--cyan), transparent);content:"";opacity:.38;height:1px;position:absolute;top:0;left:13%;right:13%}.move-control{border-right:1px solid #e4ba6938;align-items:center;gap:8px;min-width:155px;padding-right:10px;display:flex}.move-control>div:last-child{gap:3px;display:grid}.move-control strong,.control-chip strong{letter-spacing:.04em;white-space:nowrap;font-size:clamp(8px,.72cqw,10px)}.move-control span,.control-chip small{color:#aab8c4c2;white-space:nowrap;font-size:clamp(6px,.56cqw,8px);font-weight:600}.move-key-grid{grid-template-rows:repeat(2,19px);grid-template-columns:repeat(3,21px);gap:2px;display:grid}.move-key-grid .keycap{min-width:21px;min-height:19px;padding:1px;font-size:8px}.key-w{grid-area:1/2}.key-a{grid-area:2/1}.key-s{grid-area:2/2}.key-d{grid-area:2/3}.control-actions{flex:1;grid-template-columns:repeat(3,minmax(84px,1fr));gap:4px 6px;display:grid}.control-chip{background:#ffffff06;border:1px solid #0000;align-items:center;gap:6px;min-width:0;min-height:23px;padding:3px 5px;transition:border-color 90ms,background-color 90ms,box-shadow 90ms,transform 90ms;display:flex}.control-chip>span{min-width:0;display:grid}.control-chip[data-active=true]{background:#ff6a0030;border-color:#ffd057e6;transform:translateY(-1px);box-shadow:0 0 16px #ff6a0080,inset 0 0 10px #ffd0571f}.control-chip[data-active=true] .keycap{color:#070b12;background:var(--warning);box-shadow:0 0 10px #ffd057bf}.pause-control{opacity:.65}.keyboard-controls.compact{width:min(760px,88vw);margin-top:13px;padding:6px 9px;position:relative;bottom:auto;left:auto;transform:none}.title-start-hint{color:#f3e4c3ad;align-items:center;gap:7px;margin-left:10px;font-size:clamp(7px,.67cqw,9px);font-weight:700;display:inline-flex}.telemetry-disclosure{color:#53e6f7b8}.action-button{cursor:default;pointer-events:none}.action-button[data-active=true]{filter:brightness(1.42);box-shadow:inset 0 0 0 3px #05080db3, inset 0 0 0 5px var(--warning), 0 0 24px var(--action-color)}@supports (color:color-mix(in lab, red, red)){.action-button[data-active=true]{box-shadow:inset 0 0 0 3px #05080db3, inset 0 0 0 5px var(--warning), 0 0 24px color-mix(in srgb, var(--action-color), transparent 30%)}}.action-button[data-active=true]{transform:scale(1.08)}.action-button[data-disabled=true],.item-panel[data-disabled=true]{filter:grayscale(.74)brightness(.58);opacity:.54}.item-panel{cursor:default;pointer-events:none}.item-panel[data-active=true]{border-color:var(--lime);box-shadow:0 0 18px #b9e35b75,inset 0 0 14px #b9e35b1f}.tutorial-overlay{z-index:172;pointer-events:none;background:radial-gradient(circle,#0d15201a,#0000 42%),linear-gradient(#05080d3d,#05080d9e);place-items:center;padding:24px;animation:.16s ease-out both overlay-in;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tutorial-panel{width:min(900px,88%);color:var(--bone);text-align:center;clip-path:polygon(0 16px,16px 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 16px));background:linear-gradient(120deg,#53e6f714,#0000 35%),#070d16f0;border:1px solid #e4ba6994;padding:clamp(18px,2.2cqw,30px);box-shadow:inset 0 0 0 1px #53e6f71f,0 18px 60px #0000009e}.tutorial-panel h2{color:var(--paper);letter-spacing:.08em;margin:8px 0 10px;font-size:clamp(20px,2.35cqw,34px)}.tutorial-panel p{color:#f3e4c3d1;margin:0 auto;font-size:clamp(10px,1.02cqw,14px);font-weight:600;line-height:2}.tutorial-panel p .keycap{margin-inline-start:5px;margin-inline-end:5px}.tutorial-panel .keyboard-controls.compact{text-align:left;width:100%;margin:17px 0 0}.tutorial-dismiss{color:var(--cyan);letter-spacing:.1em;align-items:center;gap:7px;margin-top:14px;font-size:9px;font-weight:800;display:inline-flex}@media (max-width:1000px),(max-height:590px){.keyboard-controls:not(.compact){width:56%;min-height:48px;padding:5px 7px}.move-control{min-width:112px}.move-control span,.control-chip small{display:none}.control-actions{grid-template-columns:repeat(3,minmax(65px,1fr))}}@media (max-width:760px),(max-height:460px){.keyboard-controls:not(.compact){gap:5px;width:54%;min-height:39px;padding:3px 5px;display:flex;bottom:5px}.keyboard-controls:not(.compact) .move-control{min-width:86px;padding-right:5px}.keyboard-controls:not(.compact) .move-control>div:last-child,.keyboard-controls:not(.compact) .control-chip span{display:none}.keyboard-controls:not(.compact) .control-actions{grid-template-columns:repeat(6,1fr);gap:2px}.keyboard-controls:not(.compact) .control-chip{justify-content:center;min-height:24px;padding:2px}.keyboard-controls.compact{width:min(92vw,720px)}}@media (hover:none),(pointer:coarse){.keyboard-controls:not(.compact),.tutorial-overlay{display:none}}@media (prefers-reduced-motion:reduce){.control-chip[data-active=true]{transform:none}}.run-meta{color:#aab8c4d6;font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:.055em;white-space:nowrap;justify-content:flex-end;align-items:center;gap:clamp(5px,.58cqw,9px);margin-top:clamp(5px,.48cqw,7px);font-size:clamp(6px,.6cqw,8px);font-weight:700;line-height:1;display:flex}.difficulty-badge{color:var(--gold);clip-path:polygon(0 3px,3px 0,100% 0,100% 100%,3px 100%,0 calc(100% - 3px));background:#e4ba6914;border:1px solid #e4ba6975;padding:3px 6px;box-shadow:inset 0 0 8px #e4ba690f}.difficulty-badge.story{color:var(--cyan);background:#53e6f714;border-color:#53e6f78f}.difficulty-badge.oni{color:#ff8799;background:#ff405b1a;border-color:#ff405b9e}.title-overlay{--course-accent:var(--orange);--course-glow:#ff6a0057;grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr);gap:clamp(22px,3.2cqw,52px);padding:clamp(22px,4.15cqw,60px)}.title-overlay.course-emberveil{background:linear-gradient(90deg, #04070ce6 0%, #05090f9e 38%, #05080d14 68%, #05080d6b 100%), linear-gradient(0deg, #05080db8, transparent 34% 75%, #05080d66), image-set(url(/game/generated/emberveil-field.jpg) type("image/jpeg"), url(/game/generated/emberveil-field.png) type("image/png")) center / cover no-repeat, var(--night)}.title-overlay.course-moonstream{--course-accent:var(--cyan);--course-glow:#53e6f752;background:linear-gradient(90deg, #030912e6 0%, #04101ba3 38%, #03101c14 68%, #02091170 100%), linear-gradient(0deg, #02080fbd, transparent 35% 74%, #020a136b), image-set(url(/game/generated/moonstream-field.jpg) type("image/jpeg"), url(/game/generated/moonstream-field.png) type("image/png")) center / cover no-repeat, var(--night)}.title-overlay.course-eclipsed{--course-accent:var(--rose);--course-glow:#ff405b4d;background:linear-gradient(90deg, #07050aeb 0%, #0f070aa8 38%, #15070814 68%, #08050975 100%), linear-gradient(0deg, #080408c2, transparent 34% 73%, #0a050970), image-set(url(/game/generated/eclipsed-citadel-field.jpg) type("image/jpeg"), url(/game/generated/eclipsed-citadel-field.png) type("image/png")) center / cover no-repeat, var(--night)}.title-overlay:after{z-index:0;background:radial-gradient(circle at 72% 50%, transparent 0 21%, #05080d24 58%), linear-gradient(105deg, transparent 43%, var(--course-glow) 43.2%, transparent 43.5%);content:"";pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.title-overlay .title-content{border-left-color:var(--course-accent);width:100%;max-width:650px}.title-overlay .title-content:before{background:var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.title-overlay .title-content:before{background:color-mix(in srgb, var(--course-accent) 38%, var(--cyan))}}.title-overlay .title-content:before{box-shadow:0 0 9px var(--course-accent)}.title-cast-preview{border:1px solid var(--course-accent);grid-template-columns:minmax(0,1fr) clamp(24px,2.3cqw,34px) minmax(0,1fr);align-items:center;width:min(100%,650px);margin-top:clamp(11px,1.1cqw,16px);padding:clamp(6px,.7cqw,10px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.title-cast-preview{border:1px solid color-mix(in srgb, var(--course-accent) 54%, transparent)}}.title-cast-preview{background:linear-gradient(105deg, var(--course-accent), transparent 42%), repeating-linear-gradient(135deg, transparent 0 12px, #f3e4c306 12px 13px), #050a11c2}@supports (color:color-mix(in lab, red, red)){.title-cast-preview{background:linear-gradient(105deg, color-mix(in srgb, var(--course-accent) 12%, transparent), transparent 42%), repeating-linear-gradient(135deg, transparent 0 12px, #f3e4c306 12px 13px), #050a11c2}}.title-cast-preview{box-shadow:inset 0 0 24px #00000057, 0 0 22px var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.title-cast-preview{box-shadow:inset 0 0 24px #00000057, 0 0 22px color-mix(in srgb, var(--course-accent) 9%, transparent)}}.title-cast-preview{clip-path:polygon(0 8px,8px 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 8px))}.title-cast-preview:before{background:linear-gradient(90deg, transparent, var(--course-accent), transparent);height:1px;box-shadow:0 0 10px var(--course-glow);content:"";position:absolute;top:0;left:12%;right:12%}.title-cast-fighter{grid-template-columns:clamp(67px,6.5cqw,94px) minmax(0,1fr);align-items:center;min-width:0;display:grid}.title-cast-fighter.boss{background:linear-gradient(90deg, transparent, var(--course-accent))}@supports (color:color-mix(in lab, red, red)){.title-cast-fighter.boss{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--course-accent) 8%, transparent))}}.title-cast-sprite,.title-enemy-sprite{aspect-ratio:1;background-image:var(--cast-atlas);background-position:0 var(--cast-row);image-rendering:pixelated;background-repeat:no-repeat;background-size:400% 400%;display:block}.title-cast-sprite{width:clamp(67px,6.5cqw,94px);filter:drop-shadow(0 7px 8px #000000bd) drop-shadow(0 0 8px var(--course-accent))}@supports (color:color-mix(in lab, red, red)){.title-cast-sprite{filter:drop-shadow(0 7px 8px #000000bd) drop-shadow(0 0 8px color-mix(in srgb, var(--course-accent) 34%, transparent))}}.title-cast-fighter.boss .title-cast-sprite{transform:scale(1.08)}.title-cast-label{gap:4px;min-width:0;display:grid}.title-cast-label small,.title-enemy-file>small{color:var(--course-accent);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;font-size:clamp(6px,.52cqw,8px);font-weight:900}.title-cast-label strong{color:var(--paper);text-overflow:ellipsis;font-size:clamp(8px,.82cqw,12px);line-height:1.25;overflow:hidden}.title-cast-versus{z-index:1;color:var(--course-accent);font-family:var(--font-geist-mono), monospace;text-align:center;text-shadow:0 0 10px var(--course-glow);font-size:clamp(11px,1.15cqw,16px);font-style:italic;font-weight:900;position:relative}.title-enemy-file{border-top:1px solid #f3e4c31a;grid-column:1/-1;align-items:center;gap:clamp(5px,.55cqw,8px);min-width:0;padding-top:5px;display:flex}.title-enemy-entry{color:#f3e4c3b8;align-items:center;gap:3px;min-width:0;display:flex}.title-enemy-sprite{filter:drop-shadow(0 3px 3px #000000b8);flex:none;width:clamp(22px,2.2cqw,31px)}.title-enemy-entry em{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(6px,.52cqw,8px);font-style:normal;font-weight:700;overflow:hidden}.title-content .keyboard-controls.compact{width:min(100%,650px)}.title-settings-panel{z-index:2;width:min(100%,520px);color:var(--bone);background:linear-gradient(118deg, var(--course-accent), transparent 36%), repeating-linear-gradient(135deg, transparent 0 16px, #f3e4c305 16px 17px), #050a11e6;border:1px solid #e4ba6980;justify-self:end;padding:clamp(12px,1.4cqw,20px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.title-settings-panel{background:linear-gradient(118deg, color-mix(in srgb, var(--course-accent) 9%, transparent), transparent 36%), repeating-linear-gradient(135deg, transparent 0 16px, #f3e4c305 16px 17px), #050a11e6}}.title-settings-panel{box-shadow:inset 0 0 0 1px #53e6f71a, inset 4px 0 0 var(--course-accent), 0 18px 48px #00000094, 0 0 34px var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.title-settings-panel{box-shadow:inset 0 0 0 1px #53e6f71a, inset 4px 0 0 color-mix(in srgb, var(--course-accent) 20%, transparent), 0 18px 48px #00000094, 0 0 34px color-mix(in srgb, var(--course-accent) 8%, transparent)}}.title-settings-panel{-webkit-backdrop-filter:blur(11px)saturate(1.16);clip-path:polygon(0 13px,13px 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 13px))}.title-settings-panel:before,.title-settings-panel:after{content:"";pointer-events:none;position:absolute}.title-settings-panel:before{background:linear-gradient(90deg, transparent, var(--course-accent), transparent);height:1px;box-shadow:0 0 10px var(--course-glow);top:0;left:12%;right:12%}.title-settings-panel:after{opacity:.7;background:linear-gradient(135deg,#0000 48%,#f3e4c30b 49% 51%,#0000 52%) 0 0/9px 9px;width:25%;height:34%;top:0;right:0}.menu-section-heading{z-index:1;color:var(--bone);align-items:center;gap:9px;margin-bottom:clamp(6px,.65cqw,9px);display:flex;position:relative}.menu-section-heading>span{aspect-ratio:1;border:1px solid var(--course-accent);place-items:center;width:clamp(26px,2.35cqw,34px);display:grid}@supports (color:color-mix(in lab, red, red)){.menu-section-heading>span{border:1px solid color-mix(in srgb, var(--course-accent) 70%, transparent)}}.menu-section-heading>span{color:var(--course-accent);background:var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.menu-section-heading>span{background:color-mix(in srgb, var(--course-accent) 8%, transparent)}}.menu-section-heading>span{font-family:var(--font-geist-mono), monospace;clip-path:polygon(0 5px,5px 0,100% 0,100% 100%,5px 100%,0 calc(100% - 5px));font-size:clamp(8px,.72cqw,10px);font-weight:900}.menu-section-heading>div{gap:2px;display:grid}.menu-section-heading strong{font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;font-size:clamp(8px,.72cqw,10px);line-height:1}.menu-section-heading small{color:#aab8c4b3;letter-spacing:.07em;font-size:clamp(6px,.55cqw,8px);font-weight:700}.difficulty-heading{margin-top:clamp(9px,.9cqw,13px)}.course-selector,.difficulty-selector{z-index:1;gap:clamp(4px,.42cqw,6px);display:grid;position:relative}.course-card,.difficulty-card,.ranking-button,.ranking-course-tabs button,.ranking-difficulty-tabs button{-webkit-appearance:none;appearance:none;font:inherit;cursor:pointer;border-radius:0}.course-card{min-height:clamp(48px,4.4cqw,61px);color:var(--bone);text-align:left;clip-path:polygon(0 6px,6px 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 6px));background-position:50%;background-size:cover;border:1px solid #f3e4c329;grid-template-columns:clamp(29px,2.7cqw,38px) minmax(0,1fr);align-items:center;padding:5px clamp(8px,.8cqw,11px) 5px 0;transition:border-color .13s,filter .13s,transform .13s,box-shadow .13s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #00000038}.course-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 58%,#ffffff0f);border-left:3px solid #0000;transition:border-color .13s,box-shadow .13s;position:absolute;top:0;bottom:0;left:0;right:0}.course-card>span:last-child{z-index:1;border-left:1px solid #f3e4c32e;min-width:0;padding-left:9px;display:grid;position:relative}.selector-index{z-index:1;color:#e4ba69a8;font-family:var(--font-geist-mono), monospace;text-align:center;font-size:clamp(8px,.72cqw,10px);font-weight:900;position:relative}.course-card small{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:clamp(6px,.53cqw,8px);font-weight:700;line-height:1}.course-card strong{color:var(--paper);letter-spacing:.09em;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:clamp(10px,.95cqw,13px);font-weight:800;line-height:1.12;overflow:hidden}.course-card em{color:#aab8c4c2;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:clamp(6px,.56cqw,8px);font-style:normal;font-weight:600;line-height:1.1;overflow:hidden}.course-card:hover,.difficulty-card:hover,.ranking-button:hover,.ranking-course-tabs button:hover,.ranking-difficulty-tabs button:hover{filter:brightness(1.13);border-color:#53e6f78f}.course-card[data-selected=true]{border-color:var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.course-card[data-selected=true]{border-color:color-mix(in srgb, var(--course-accent) 86%, white 10%)}}.course-card[data-selected=true]{filter:brightness(1.12)saturate(1.12);box-shadow:inset 0 0 22px var(--course-accent), 0 0 14px var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.course-card[data-selected=true]{box-shadow:inset 0 0 22px color-mix(in srgb, var(--course-accent) 12%, transparent), 0 0 14px color-mix(in srgb, var(--course-accent) 23%, transparent)}}.course-card[data-selected=true]{transform:translate(-5px)}.course-card[data-selected=true]:after{border-left-color:var(--course-accent);box-shadow:inset 8px 0 14px var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.course-card[data-selected=true]:after{box-shadow:inset 8px 0 14px color-mix(in srgb, var(--course-accent) 14%, transparent)}}.course-card[data-selected=true] .selector-index{color:var(--course-accent);text-shadow:0 0 8px var(--course-glow)}.difficulty-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-card{--difficulty-color:var(--gold);min-width:0;min-height:clamp(52px,4.7cqw,66px);color:var(--bone);background:linear-gradient(145deg, var(--difficulty-color), transparent 60%), #0a111bcc;border:1px solid #f3e4c326;align-content:space-between;padding:clamp(7px,.7cqw,10px);display:grid}@supports (color:color-mix(in lab, red, red)){.difficulty-card{background:linear-gradient(145deg, color-mix(in srgb, var(--difficulty-color) 7%, transparent), transparent 60%), #0a111bcc}}.difficulty-card{text-align:left;clip-path:polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%);transition:border-color .13s,filter .13s,transform .13s,box-shadow .13s}.difficulty-card.story{--difficulty-color:var(--cyan)}.difficulty-card.oni{--difficulty-color:var(--rose)}.difficulty-card>span{gap:3px;min-width:0;display:grid}.difficulty-card strong{color:var(--paper);letter-spacing:.08em;font-size:clamp(8px,.75cqw,11px);font-weight:900;line-height:1}.difficulty-card small{color:#aab8c4b8;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(6px,.5cqw,7px);font-weight:600;line-height:1.15;overflow:hidden}.difficulty-card em{color:var(--difficulty-color);margin-top:6px}@supports (color:color-mix(in lab, red, red)){.difficulty-card em{color:color-mix(in srgb, var(--difficulty-color) 78%, white 12%)}}.difficulty-card em{font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;font-size:clamp(6px,.52cqw,8px);font-style:normal;font-weight:800;line-height:1}.difficulty-card[data-selected=true]{border-color:var(--difficulty-color)}@supports (color:color-mix(in lab, red, red)){.difficulty-card[data-selected=true]{border-color:color-mix(in srgb, var(--difficulty-color) 88%, white 10%)}}.difficulty-card[data-selected=true]{background:linear-gradient(145deg, var(--difficulty-color), transparent 64%), #0a111bf0}@supports (color:color-mix(in lab, red, red)){.difficulty-card[data-selected=true]{background:linear-gradient(145deg, color-mix(in srgb, var(--difficulty-color) 17%, transparent), transparent 64%), #0a111bf0}}.difficulty-card[data-selected=true]{box-shadow:inset 0 -2px 0 var(--difficulty-color), inset 0 0 18px var(--difficulty-color), 0 0 14px var(--difficulty-color)}@supports (color:color-mix(in lab, red, red)){.difficulty-card[data-selected=true]{box-shadow:inset 0 -2px 0 var(--difficulty-color), inset 0 0 18px color-mix(in srgb, var(--difficulty-color) 8%, transparent), 0 0 14px color-mix(in srgb, var(--difficulty-color) 18%, transparent)}}.difficulty-card[data-selected=true]{transform:translateY(-2px)}.audio-settings{z-index:1;grid-template-columns:.78fr repeat(3,minmax(0,1fr)) 1.5fr;gap:clamp(4px,.36cqw,6px);display:grid;position:relative}.audio-settings label,.audio-mute-button,.gamepad-status{min-width:0;min-height:clamp(34px,3.1cqw,43px);color:var(--bone);clip-path:polygon(0 5px,5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%);background:#0a111bd1;border:1px solid #f3e4c329;align-content:center;padding:5px 7px;display:grid}.audio-settings label{gap:3px}.audio-settings label>span,.gamepad-status>span{color:#aab8c4b8;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(5px,.47cqw,7px);font-weight:900;overflow:hidden}.audio-settings input[type=range]{width:100%;min-width:0;height:12px;accent-color:var(--course-accent);cursor:pointer;margin:0}.audio-mute-button{-webkit-appearance:none;appearance:none;border-color:var(--course-accent)}@supports (color:color-mix(in lab, red, red)){.audio-mute-button{border-color:color-mix(in srgb, var(--course-accent) 42%, transparent)}}.audio-mute-button{color:var(--paper);font:800 clamp(6px, .55cqw, 8px) / 1.15 var(--font-geist-mono), monospace;cursor:pointer}.audio-mute-button[aria-pressed=true]{color:#ff9ba9;border-color:#ff405b94}.gamepad-status{border-color:#aab8c42e;gap:3px}.gamepad-status strong{color:#aab8c4a8;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(5px,.49cqw,7px);line-height:1.15;overflow:hidden}.gamepad-status[data-connected=true]{border-color:#53e6f794;box-shadow:inset 0 0 14px #53e6f714}.gamepad-status[data-connected=true] strong{color:var(--cyan)}.online-menu-actions{z-index:1;grid-template-columns:1.08fr .92fr;gap:clamp(5px,.48cqw,7px);margin-top:clamp(9px,.9cqw,13px);display:grid;position:relative}.online-menu-actions.authenticated{grid-template-columns:.82fr 1fr 1.08fr}.ranking-button,.discord-connect,.wallet-connect{min-width:0;min-height:clamp(41px,3.7cqw,50px);color:var(--bone);text-align:left;clip-path:polygon(0 6px,6px 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 6px));background:linear-gradient(105deg,#e4ba691c,#0000 52%),#0a111bdb;border:1px solid #e4ba6952;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 9px;transition:border-color .13s,filter .13s,box-shadow .13s;display:grid}.ranking-button>span{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;writing-mode:vertical-rl;font-size:clamp(6px,.54cqw,8px);font-weight:900}.ranking-button strong,.discord-connect strong,.wallet-connect strong{letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(7px,.67cqw,10px);overflow:hidden}.ranking-button .keycap{color:var(--gold)}.discord-connect{background:linear-gradient(105deg,#7357e81a,#0000 55%),#0a0e17cc;border-color:#7357e84d;grid-template-columns:auto minmax(0,1fr) auto}.discord-connect:not(:disabled):hover,.discord-connect.connected,.wallet-connect:not(:disabled):hover,.wallet-connect.connected{border-color:#9784ffb8;box-shadow:inset 0 0 18px #7357e81a,0 0 14px #7357e829}.discord-connect>span:nth-child(2){gap:3px;min-width:0;display:grid}.discord-avatar{aspect-ratio:1;background-position:50%;background-size:cover;border:1px solid #9784ffa8;border-radius:50%;width:clamp(25px,2.25cqw,31px);display:block;box-shadow:0 0 12px #7357e833}.discord-connect small{color:#aab8c494;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(5px,.48cqw,7px);font-weight:600;overflow:hidden}.discord-connect em{color:#aab8c475;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:clamp(5px,.48cqw,7px);font-style:normal;font-weight:800}.discord-connect.disabled{filter:grayscale(.34);opacity:.68}.discord-connect:disabled,.wallet-connect:disabled{cursor:not-allowed;filter:grayscale(.34);opacity:.62}.discord-mark{aspect-ratio:1;color:#c9c0ff;width:clamp(25px,2.25cqw,31px);font-family:var(--font-geist-mono), monospace;background:#7357e829;border:1px solid #7357e89e;border-radius:50%;place-items:center;font-size:clamp(8px,.75cqw,11px);font-weight:900;display:grid;box-shadow:0 0 12px #7357e82e}.wallet-connect{min-width:0;min-height:clamp(41px,3.7cqw,50px);color:var(--bone);text-align:left;clip-path:polygon(0 6px,6px 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 6px));background:linear-gradient(105deg,#53e6f717,#0000 55%),#081117d1;border:1px solid #53e6f74d;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;transition:border-color .13s,filter .13s,box-shadow .13s;display:grid}.wallet-connect>span:nth-child(2){gap:3px;min-width:0;display:grid}.wallet-connect small{color:#aab8c494;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(5px,.48cqw,7px);font-weight:600;overflow:hidden}.wallet-connect em{color:#53e6f7b3;font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:clamp(5px,.48cqw,7px);font-style:normal;font-weight:800}.wallet-mark{aspect-ratio:1;color:#bdf9ff;width:clamp(25px,2.25cqw,31px);font-family:var(--font-geist-mono), monospace;background:#53e6f71a;border:1px solid #53e6f78f;border-radius:50%;place-items:center;font-size:clamp(8px,.75cqw,11px);font-weight:900;display:grid;box-shadow:0 0 12px #53e6f724}.auth-notice{color:#c9c0ffdb;min-height:1.2em;font-family:var(--font-geist-mono), monospace;text-align:center;justify-items:center;gap:5px;margin:clamp(4px,.45cqw,7px) 0 0;font-size:clamp(6px,.56cqw,8px);font-weight:700;line-height:1.25;display:grid}.auth-retry-button{min-height:44px;color:var(--cyan);font:inherit;cursor:pointer;touch-action:manipulation;background:#050d16c2;border:1px solid #53e6f76b;padding:5px 12px}.auth-retry-button:disabled{cursor:wait;opacity:.58}.ranking-overlay{z-index:190;-webkit-backdrop-filter:blur(10px)saturate(.72);background:radial-gradient(circle at 50% 38%,#53e6f71c,#0000 48%),#03070ce6;padding:clamp(10px,2cqw,28px)}.ranking-panel{width:min(1040px,92%);max-height:90%;color:var(--bone);clip-path:polygon(0 15px,15px 0,calc(100% - 25px) 0,100% 25px,100% 100%,25px 100%,0 calc(100% - 15px));background:linear-gradient(118deg,#53e6f712,#0000 34%),repeating-linear-gradient(135deg,#0000 0 18px,#f3e4c305 18px 19px),#060c14f5;border:1px solid #e4ba6994;grid-template-rows:auto auto auto auto minmax(0,1fr);padding:clamp(16px,2cqw,28px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #53e6f71f,inset 5px 0 #ff6a0017,0 24px 70px #000000a8,0 0 46px #53e6f714}.ranking-panel:before{background:linear-gradient(90deg, transparent, var(--cyan), var(--gold), transparent);content:"";height:1px;position:absolute;top:0;left:14%;right:14%;box-shadow:0 0 10px #53e6f77a}.ranking-header{justify-content:space-between;align-items:flex-start;gap:18px;margin:5px 0 clamp(10px,1.25cqw,17px);display:flex}.ranking-header h2{color:var(--paper);letter-spacing:.08em;text-shadow:0 0 18px #53e6f729;margin:0;font-size:clamp(20px,2.25cqw,32px);font-weight:900;line-height:1.12}.ranking-header p{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin:6px 0 0;font-size:clamp(7px,.68cqw,10px);font-weight:700}.ranking-header .secondary-button{flex:none;min-height:34px;padding:7px 13px;font-size:clamp(7px,.66cqw,9px)}.ranking-course-tabs,.ranking-difficulty-tabs{gap:5px;display:grid}.ranking-course-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.ranking-difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:min(480px,100%);margin:6px 0 clamp(10px,1.2cqw,16px)}.ranking-course-tabs button,.ranking-difficulty-tabs button{color:#f3e4c3ad;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;background:#0d1520b8;border:1px solid #f3e4c329;min-width:0;font-weight:800;line-height:1;transition:border-color .12s,color .12s,background-color .12s,box-shadow .12s;overflow:hidden}.ranking-course-tabs button{min-height:clamp(28px,2.55cqw,36px);padding:6px 9px;font-size:clamp(7px,.72cqw,10px)}.ranking-difficulty-tabs button{min-height:clamp(25px,2.2cqw,31px);padding:5px 8px;font-size:clamp(6px,.62cqw,9px)}.ranking-course-tabs button[data-selected=true],.ranking-difficulty-tabs button[data-selected=true]{color:var(--paper);box-shadow:inset 0 -2px 0 var(--cyan), 0 0 13px #53e6f71f;background:linear-gradient(110deg,#53e6f726,#0000 62%),#0d1823f5;border-color:#53e6f7ad}.ranking-table{scrollbar-color:#e4ba698c #05080d66;scrollbar-width:thin;background:linear-gradient(90deg,#53e6f706,#0000 32%),#02070c94;border:1px solid #e4ba692e;min-height:0;overflow:auto}.ranking-row{color:#f3e4c3c7;min-height:clamp(30px,2.85cqw,40px);font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:.035em;border-bottom:1px solid #f3e4c313;grid-template-columns:minmax(54px,.52fr) minmax(140px,1.55fr) minmax(72px,.72fr) minmax(94px,.9fr) minmax(78px,.74fr);align-items:center;padding:0 clamp(8px,1cqw,14px);font-size:clamp(7px,.7cqw,10px);display:grid}.ranking-row:nth-child(odd):not(.ranking-table-head){background:#ffffff05}.ranking-row:last-child{border-bottom:0}.ranking-row>:nth-child(4),.ranking-row>:nth-child(5){text-align:right}.ranking-row>strong:first-child{color:var(--gold);font-size:1.08em}.ranking-row>span:nth-child(2){color:var(--paper);text-overflow:ellipsis;white-space:nowrap;padding-right:8px;font-weight:700;overflow:hidden}.ranking-table-head{z-index:2;color:#e4ba69cc;letter-spacing:.13em;background:#080f18fa;border-bottom-color:#e4ba694d;min-height:clamp(25px,2.3cqw,32px);font-size:clamp(6px,.58cqw,8px);font-weight:900;position:sticky;top:0;box-shadow:0 5px 14px #00000038}.ranking-message{color:#aab8c4db;letter-spacing:.05em;text-align:center;place-items:center;min-height:clamp(110px,16cqw,210px);padding:22px;font-size:clamp(9px,.86cqw,12px);font-weight:700;display:grid}.ranking-message.error{color:#ff8799}.result-mark{color:#aab8c4bd;letter-spacing:.1em;border:1px solid #aab8c447;width:max-content;padding:3px 6px;font-size:.78em;font-weight:900;line-height:1}.result-mark.victory{color:var(--lime);background:#b9e35b12;border-color:#b9e35b7a}.result-mark.defeat{color:#ff8799;background:#ff405b12;border-color:#ff405b75}.modal-panel:has(.run-result-stats){width:min(680px,88%)}.run-result-stats{text-align:left;grid-template-columns:1.35fr 1fr .92fr;gap:6px;margin:0 auto clamp(13px,1.35cqw,19px);display:grid}.run-result-stats>div{clip-path:polygon(0 5px,5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%);background:linear-gradient(135deg,#53e6f70e,#0000 66%),#050b12a3;border:1px solid #f3e4c321;align-content:center;min-width:0;min-height:clamp(48px,4.7cqw,64px);padding:clamp(7px,.8cqw,11px);display:grid;overflow:hidden}.run-result-stats span{color:#aab8c4b8;font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;font-size:clamp(6px,.56cqw,8px);font-weight:800;line-height:1}.run-result-stats strong{color:var(--paper);font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:clamp(10px,1cqw,14px);font-weight:900;line-height:1.15;overflow:hidden}.run-result-stats>div:nth-child(3) strong{color:var(--gold)}.god-result-voice{text-align:left;clip-path:polygon(0 5px,5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%);background:linear-gradient(90deg,#e4ba6914,#050b12b8,#0000);border:1px solid #e4ba6938;margin:-4px 0 clamp(13px,1.4cqw,20px);padding:clamp(7px,.8cqw,11px)}.god-result-voice figcaption{color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;margin-bottom:4px;font-size:clamp(6px,.6cqw,9px);font-weight:900}.god-result-voice blockquote{color:var(--paper);white-space:pre-line;margin:0;font-size:clamp(8px,.82cqw,11px);line-height:1.42}.ranking-submit-status{color:#aab8c4d1;min-height:28px;font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;place-items:center;margin:-4px 0 clamp(13px,1.4cqw,20px);font-size:clamp(7px,.68cqw,10px);font-weight:800;display:grid}.ranking-submit-status:empty{display:none}.ranking-submit-status.submitting{color:var(--cyan)}.ranking-submit-status.success{color:var(--gold);text-shadow:0 0 10px #e4ba695c;background:linear-gradient(90deg,#0000,#e4ba6912,#0000);border-block-start:1px solid #e4ba6929;border-block-end:1px solid #e4ba6929}.ranking-submit-status.error{color:#ff8799}.run-retry-status{min-height:22px;color:var(--cyan);font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;margin:-8px 0 10px;font-size:clamp(7px,.68cqw,10px);font-weight:800;line-height:1.4}.run-retry-status:empty{display:none}.run-retry-status.error{color:#ff8799}:where(.course-card,.difficulty-card,.ranking-button,.discord-connect,.wallet-connect,.ranking-course-tabs button,.ranking-difficulty-tabs button):focus-visible{z-index:4;outline:2px solid var(--cyan);outline-offset:2px;position:relative;box-shadow:0 0 0 4px #05080deb,0 0 18px #53e6f7b8}@media (max-width:1000px),(max-height:590px){.title-overlay{grid-template-columns:minmax(0,.78fr) minmax(310px,1.22fr);gap:clamp(12px,2cqw,24px);padding:clamp(16px,2.7cqw,32px)}.title-overlay .title-content{width:100%}.title-settings-panel{width:min(100%,500px);padding:clamp(9px,1.15cqw,14px)}.title-content .keyboard-controls.compact{display:none}.title-cast-preview{margin-top:8px;padding:5px 7px}.title-cast-fighter{grid-template-columns:62px minmax(0,1fr)}.title-cast-sprite{width:62px}.title-enemy-sprite{width:21px}.title-copy{margin-block-start:10px;margin-block-end:10px}.course-card{min-height:43px}.course-card em,.difficulty-card small{display:none}.difficulty-card{min-height:44px}.ranking-panel{width:min(960px,96%);max-height:94%}.ranking-row{min-height:29px}}@media (max-width:760px),(max-height:460px){.objective-card{min-height:60px}.run-meta{gap:4px}.difficulty-badge{padding:2px 4px}.title-overlay{grid-template-columns:minmax(0,.67fr) minmax(330px,1.33fr);gap:10px;padding:12px 14px}.title-overlay:before,.title-overlay:after{opacity:.4}.title-content{padding-left:10px}.title-eyebrow{margin-bottom:7px}.title-heading-row{gap:5px 8px}.language-picker>span{display:none}.language-select{border-left:0;width:clamp(112px,14cqw,132px);min-width:112px;min-height:44px;padding-inline-start:8px;padding-inline-end:8px}.game-logo-jp{margin-top:7px;padding:3px 8px}.title-copy,.title-start-hint{display:none}.title-cast-preview{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);padding:3px 4px}.title-cast-fighter{grid-template-columns:1fr;justify-items:center}.title-cast-sprite{width:clamp(42px,5.2cqw,58px)}.title-cast-label{text-align:center;justify-items:center}.title-cast-label small,.title-enemy-file{display:none}.title-cast-label strong{white-space:nowrap;max-width:80px;font-size:6px}.title-content .primary-button{letter-spacing:.06em;width:100%;min-height:34px;margin-top:13px;padding-inline-start:9px;padding-inline-end:9px}.title-settings-panel{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:7px;width:100%;padding:8px}.title-settings-panel .menu-section-heading:first-child,.course-selector{grid-column:1}.difficulty-heading,.difficulty-selector{grid-column:2}.title-settings-panel .menu-section-heading:first-child,.difficulty-heading{grid-row:1;align-self:end;margin:0 0 5px}.course-selector,.difficulty-selector{grid-row:2}.difficulty-selector{grid-template-columns:1fr}.audio-heading{display:none}.audio-settings{grid-area:3/1/auto/-1;grid-template-columns:.72fr repeat(3,minmax(0,1fr)) 1.4fr;margin-top:6px}.audio-settings label,.audio-mute-button,.gamepad-status{min-height:32px}.course-card,.difficulty-card{min-height:37px}.course-card{grid-template-columns:25px minmax(0,1fr);padding-block-start:3px;padding-block-end:3px}.course-card small,.difficulty-card small,.difficulty-card em{display:none}.difficulty-card{align-content:center;padding:6px}.online-menu-actions{grid-area:4/1/auto/-1;margin-top:7px}.ranking-button,.discord-connect,.wallet-connect{min-height:35px;padding-block-start:4px;padding-block-end:4px}.discord-connect small,.wallet-connect small,.discord-connect em,.wallet-connect em{display:none}.ranking-overlay{padding:6px}.ranking-panel{width:98%;max-height:96%;padding:11px 13px}.ranking-header{align-items:center;margin-block-start:2px;margin-block-end:7px}.ranking-header p{display:none}.ranking-header .secondary-button{min-height:28px;padding:5px 9px}.ranking-course-tabs button,.ranking-difficulty-tabs button{min-height:24px;padding-block-start:4px;padding-block-end:4px}.ranking-difficulty-tabs{margin-block-start:4px;margin-block-end:7px}.ranking-row{grid-template-columns:minmax(42px,.45fr) minmax(110px,1.5fr) minmax(60px,.66fr) minmax(75px,.78fr) minmax(64px,.68fr);min-height:25px;padding-inline-start:7px;padding-inline-end:7px}.modal-panel:has(.run-result-stats){width:min(660px,94%);padding-block-start:15px;padding-block-end:15px}.modal-panel:has(.run-result-stats) .modal-title{margin-block-start:6px;margin-block-end:10px}.run-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}.run-result-stats>div{min-height:37px;padding:6px}.run-result-stats strong{margin-top:3px}.ranking-submit-status{min-height:21px;margin-bottom:8px}.god-result-voice{margin-bottom:8px;padding:6px 8px}.modal-panel:has(.run-result-stats) .modal-actions{flex-wrap:nowrap;gap:6px}.modal-panel:has(.run-result-stats) .modal-actions .primary-button{min-width:0;min-height:31px;padding:6px 9px;font-size:7px}.modal-panel:has(.run-result-stats) .modal-actions .secondary-button{min-width:0;min-height:31px;padding:6px 9px;font-size:7px}}@media (max-width:540px){.title-overlay{grid-template-columns:minmax(76px,.44fr) minmax(0,1.56fr);gap:6px;padding-inline-start:7px;padding-inline-end:7px}.title-eyebrow{display:none}.game-logo{font-size:clamp(28px,7.5cqw,40px)}.title-heading-row{gap:4px}.language-picker{width:44px;min-width:44px;height:44px;min-height:44px}.language-picker:after{color:var(--course-accent,var(--gold));font-family:var(--font-geist-mono), monospace;letter-spacing:-.02em;content:"文/A";pointer-events:none;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.language-select{z-index:1;opacity:0;border:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.game-logo-jp{letter-spacing:.18em;text-indent:.18em;font-size:9px}.menu-section-heading>span,.ranking-panel .modal-kicker{display:none}}@media (hover:none),(pointer:coarse){.language-picker,.language-select{touch-action:manipulation;min-height:44px}.pause-overlay .modal-actions .primary-button,.pause-overlay .modal-actions .secondary-button{touch-action:manipulation;min-height:44px;font-size:max(8px,.9cqw)}.modal-panel:has(.run-result-stats) .modal-actions .primary-button{touch-action:manipulation;min-height:44px;font-size:max(8px,.9cqw)}.modal-panel:has(.run-result-stats) .modal-actions .secondary-button{touch-action:manipulation;min-height:44px;font-size:max(8px,.9cqw)}}.mode-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-endless{--difficulty-color:var(--rose,#ef3f78)}.perk-overlay{z-index:40}.perk-panel{max-width:min(720px,92%)}.perk-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,.7cqw,10px);margin:clamp(10px,1cqw,16px) 0;display:grid}.perk-card{min-height:clamp(96px,9cqw,132px);color:var(--bone,#e8dfc8);text-align:left;cursor:pointer;clip-path:polygon(0 8px,8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);background:linear-gradient(155deg,#ffd05717,#0000 55%),#0a111be0;border:1px solid #f3e4c338;align-content:start;gap:6px;padding:clamp(10px,1cqw,14px);transition:border-color .13s,transform .13s,box-shadow .13s;display:grid}.perk-card:hover{border-color:#ffd057d9;transform:translateY(-2px);box-shadow:0 0 18px #ff9e2c47}.perk-card:focus-visible{border-color:#ffd057d9;transform:translateY(-2px);box-shadow:0 0 18px #ff9e2c47}.perk-card kbd{justify-self:start}.perk-card strong{color:var(--paper,#fff4d6);letter-spacing:.05em;font-size:clamp(11px,1.05cqw,15px);font-weight:900}.perk-card small{color:#aab8c4d9;font-size:clamp(9px,.85cqw,12px);line-height:1.45}.perk-card em{color:#ffd057e6;letter-spacing:.18em;font-size:clamp(9px,.85cqw,12px);font-style:normal}@media (max-width:720px){.perk-choices{grid-template-columns:1fr}.perk-card{min-height:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
