:root{--game-width:1280px;--game-height:920px;--bg:#0a1114;--ink:#edf4ef;--ink-dim:rgba(237,244,239,0.62);--ink-faint:rgba(237,244,239,0.4);--glass:rgba(13,21,25,0.72);--glass-strong:rgba(10,17,21,0.86);--glass-border:rgba(255,255,255,0.12);--glass-highlight:rgba(255,255,255,0.06);--accent:#ff7a5c;--accent-soft:rgba(255,122,92,0.16);--gold:#f5b942;--teal:#46d6c4;--danger:#ff5c55;--radius-lg:22px;--radius-md:16px;--radius-sm:10px;--shadow-panel:0 14px 36px rgba(2,6,8,0.32);--shadow-card:0 6px 16px rgba(2,6,8,0.22);--hud-scrim:rgba(5,9,11,0.42);--font-body:var(--font-noto-sans-jp),"Hiragino Sans","Hiragino Kaku Gothic ProN",system-ui,sans-serif;--font-system:var(--font-kode-mono),var(--font-noto-sans-jp),ui-monospace,monospace;--font-title:var(--font-sixtyfour),var(--font-kode-mono),monospace}*{box-sizing:border-box}body,html{width:100%;height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button{font:inherit}.game-shell{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;background:#000}.game-shell,.game-shell *{-moz-user-select:none;user-select:none;-webkit-user-select:none}.game-viewport{position:relative;width:var(--game-width);height:var(--game-height);overflow:hidden;background:var(--bg);container-type:size;isolation:isolate;transform:translateZ(0)}#game-canvas{display:block;width:100%;height:100%;touch-action:none;transition:filter .26s ease}#game-canvas.canvas-wavy{filter:url(#game-wavy)}#game-canvas.canvas-inverted{filter:invert(1) hue-rotate(180deg)}#game-canvas.canvas-wavy.canvas-inverted{filter:url(#game-wavy) invert(1) hue-rotate(180deg)}.onboarding-overlay{position:absolute;inset:0;z-index:46;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px;background:#04080a}.onboarding-overlay.is-fade-in{animation:onboarding-fade-in .42s ease-out}@keyframes onboarding-fade-in{0%{opacity:0}to{opacity:1}}.onboarding-card{display:grid;justify-items:center;grid-gap:14px;gap:14px;width:min(720px,100%);padding:32px 28px;border:1px solid var(--glass-border);border-radius:20px;background:rgba(10,15,19,.92);box-shadow:0 24px 60px rgba(0,0,0,.55);text-align:center}.onboarding-title{margin:0;font-size:clamp(1.3rem,3.4cqw,1.8rem);font-weight:900}.onboarding-subtitle{margin:-6px 0 0;color:var(--ink-dim);font-size:.86rem;font-weight:700;letter-spacing:.04em}.onboarding-lang{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px}.onboarding-lang-button{min-width:150px}.onboarding-warning{display:grid;justify-items:center;grid-gap:14px;gap:14px;width:min(560px,100%);text-align:center}.onboarding-warning-body{margin:0;color:var(--ink-dim);font-size:.96rem;line-height:1.7}.onboarding-continue{margin:10px 0 0;color:var(--accent);font-size:.82rem;font-weight:800;animation:status-pulse 1.1s ease-in-out infinite alternate}.screen{position:absolute;inset:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(120% 100% at 50% 0,rgba(4,8,10,.18),rgba(4,8,10,.62) 88%);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:20;overflow:hidden}.screen.is-hidden{display:none}.screen-result.is-dream-wake-result{background:radial-gradient(circle at 50% 58%,rgb(44,13,34),rgb(8,2,10)),#08020a}.screen-result.is-dream-wake-result:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 36% 46%,rgba(255,217,232,.1),transparent 28%),radial-gradient(circle at 68% 58%,rgba(139,211,224,.08),transparent 30%);opacity:.72}.screen-result.is-dream-wake-result .result-panel{position:relative}.screen-select{grid-template-rows:minmax(0,auto) minmax(0,auto);align-content:center;align-items:center;justify-items:center;gap:40px;overflow:hidden}.screen-select.has-meteor-backdrop .select-flow,.screen-select.has-meteor-backdrop .title-hero{position:relative;z-index:1}.select-meteor-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;visibility:hidden;opacity:0;transition:opacity 1s ease,visibility 0s linear 1s}.screen-select.is-meteor-active .select-meteor-layer{visibility:visible;opacity:1;transition:opacity 1s ease,visibility 0s}.select-meteor-layer:before{content:"";position:absolute;inset:-8%;pointer-events:none;background-image:radial-gradient(circle,rgba(255,253,245,.92) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(139,211,224,.62) 0 1.2px,transparent 2.2px),radial-gradient(circle,rgba(245,185,66,.52) 0 1px,transparent 2px);background-position:0 0,42px 28px,88px 62px;background-size:96px 120px,148px 170px,220px 240px;opacity:.76;animation:select-star-drift 18s linear infinite}.select-meteor-field{position:absolute;inset:0;pointer-events:none}.select-meteor{--meteor-head:rgba(255,253,245,0.98);--meteor-mid:rgba(255,253,245,0.72);--meteor-glow:rgba(255,253,245,0.46);-webkit-appearance:none;-moz-appearance:none;appearance:none;left:var(--meteor-x);top:var(--meteor-y);width:var(--meteor-length);height:2px;padding:0;border:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 28%,var(--meteor-mid) 74%,var(--meteor-head) 100%);box-shadow:0 0 12px var(--meteor-glow);opacity:0;pointer-events:auto;cursor:pointer;touch-action:manipulation;transform-origin:right center;animation:select-meteor-flight var(--meteor-duration) linear var(--meteor-delay) infinite;will-change:transform,opacity}.select-meteor,.select-meteor:before{position:absolute;border-radius:999px}.select-meteor:before{left:-18px;right:-28px;height:72px;background:transparent}.select-meteor:after,.select-meteor:before{content:"";top:50%;transform:translateY(-50%)}.select-meteor:after{position:absolute;right:-3px;width:6px;height:6px;border-radius:50%;background:var(--meteor-head);box-shadow:0 0 12px var(--meteor-glow)}.select-meteor.is-blue{--meteor-head:rgba(232,250,255,0.98);--meteor-mid:rgba(139,211,224,0.74);--meteor-glow:rgba(139,211,224,0.5)}.select-meteor.is-gold{--meteor-head:rgba(255,243,205,0.98);--meteor-mid:rgba(245,185,66,0.72);--meteor-glow:rgba(245,185,66,0.46)}.select-meteor.is-visual-only{pointer-events:none;cursor:default}@keyframes select-star-drift{0%{transform:translateZ(0)}to{transform:translate3d(-48px,64px,0)}}@keyframes select-meteor-flight{0%,10%{opacity:0;transform:translate3d(-12cqw,-8cqh,0) rotate(24deg) scale(var(--meteor-scale))}20%{opacity:.98}48%{opacity:.78}64%,to{opacity:0;transform:translate3d(var(--meteor-travel-x),var(--meteor-travel-y),0) rotate(24deg) scale(var(--meteor-scale))}}@media (prefers-reduced-motion:reduce){.screen-select.is-meteor-active .select-meteor-layer{visibility:visible;opacity:1;animation:none;transition:none}.select-meteor,.select-meteor-layer:before{animation:none}.select-meteor{opacity:.72;transform:rotate(24deg) scale(var(--meteor-scale))}}.title-hero{text-align:center;animation:hero-float 4.2s ease-in-out infinite}.select-flow{display:grid;place-self:center;align-items:start;justify-items:center;width:min(840px,100%);max-height:calc(100cqh - 96px);margin-top:4px;padding-bottom:0;overflow:visible}.select-step{grid-area:1/1;width:100%;animation:step-in .34s cubic-bezier(.2,.9,.3,1)}.select-step.is-hidden{visibility:hidden;opacity:0;pointer-events:none;animation:none}.step-header{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:10px;gap:10px;align-items:baseline;width:100%;margin-bottom:18px}.step-header .step-count{justify-self:end}.step-header .step-selected{justify-self:start}.step-count{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.24em}.step-title{font-size:clamp(1rem,2cqw,1.28rem);font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.6)}.step-selected{color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.18em}.step-actions{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:4px}.ghost-button{min-height:50px;padding:0 20px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(5,9,11,.45);color:var(--ink-dim);font-weight:800;cursor:pointer;transition:border-color .16s ease,color .16s ease}.ghost-button:hover{border-color:rgba(255,255,255,.5);color:var(--ink)}.result-panel{width:min(620px,100%);max-height:calc(100cqh - 32px);overflow:auto;padding:clamp(18px,3cqw,28px);text-align:center}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes step-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes step-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}.eyebrow{margin:0 0 10px;color:var(--teal);font-size:.74rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase}h1,h2{margin:0;line-height:1.05;letter-spacing:.01em}h1{font-family:var(--font-title);font-size:clamp(2rem,6cqw,4.2rem);font-weight:400;letter-spacing:.02em;background:linear-gradient(120deg,#fff 30%,rgba(255,189,158,.92) 68%,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 6px 26px rgba(255,122,92,.35)) drop-shadow(0 2px 6px rgba(0,0,0,.6))}.screen-select h1{font-size:clamp(2rem,5cqw,3.2rem)}h2{font-size:clamp(1.8rem,5cqw,3rem);text-shadow:0 2px 14px rgba(0,0,0,.65)}.title-kana{display:block;margin-top:4px;font-family:var(--font-body);font-size:clamp(.72rem,1.25cqw,.88rem);font-weight:800;letter-spacing:.5em;color:var(--ink-dim);-webkit-text-fill-color:var(--ink-dim)}.creator-credit{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:22;padding:7px 14px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink-dim);font-size:.74rem;font-weight:700;text-decoration:none;cursor:pointer;transition:color .16s ease,border-color .16s ease}.creator-credit:hover{color:var(--ink);border-color:rgba(255,255,255,.32)}.app-version-tag{left:max(14px,env(safe-area-inset-left));margin:0;color:var(--ink-dim);font-family:var(--font-system);font-size:.62rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.03em;text-shadow:0 2px 6px rgba(0,0,0,.7);pointer-events:none}.app-version-tag,.legal-links{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));z-index:22}.legal-links{left:50%;display:flex;gap:14px;transform:translateX(-50%)}.legal-link{padding:0;border:0;background:none;color:var(--ink-dim);font:inherit;font-size:.72rem;font-weight:700;text-decoration:none;cursor:pointer;transition:color .16s ease}.legal-link:hover{color:var(--ink)}.legal-overlay{position:fixed;inset:0;z-index:28;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px;background:rgba(4,8,10,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlay-fade-in .2s ease-out}.legal-dialog{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:16px;gap:16px;width:min(480px,calc(100cqw - 32px));height:min(560px,calc(100cqh - 48px));padding:clamp(20px,4cqw,28px) clamp(22px,5cqw,30px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);box-shadow:var(--shadow-panel);animation:step-in .24s cubic-bezier(.2,.9,.3,1)}.legal-dialog-body{min-height:0;overflow-y:auto;color:var(--ink-dim);font-size:.88rem;font-weight:600;line-height:1.7;text-align:left}.legal-dialog-body h1,.legal-dialog-body h2,.legal-dialog-body h3{margin:0 0 10px;font-family:var(--font-body);font-weight:900;letter-spacing:normal;line-height:1.3;background:none;filter:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}.legal-dialog-body h1{font-size:1.25rem}.legal-dialog-body h2{font-size:1.1rem}.legal-dialog-body h3{font-size:1rem}.legal-dialog-body ol,.legal-dialog-body p,.legal-dialog-body ul{margin:0 0 12px}.legal-dialog-body ol,.legal-dialog-body ul{padding-left:1.4em}.legal-dialog-body a{color:var(--accent)}.legal-dialog-body>:last-child{margin-bottom:0}.select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,300px));grid-gap:12px;gap:12px;justify-content:center}.ranking{width:min(700px,100%);margin:14px auto 0}.ranking-title{margin:0 0 6px;color:var(--ink-dim);font-size:.74rem;font-weight:800;letter-spacing:.2em;text-align:center}.ranking-list{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.ranking-list li{display:grid;grid-template-columns:28px 96px 26px auto 1fr;grid-gap:8px;gap:8px;align-items:center;padding:5px 12px;border-radius:999px;background:rgba(5,9,11,.5);font-size:.8rem}.ranking-grade{font-size:.9rem;font-weight:1000;text-align:center}.ranking-grade.grade-s{color:var(--gold);text-shadow:0 0 8px rgba(245,185,66,.5)}.ranking-grade.grade-a{color:var(--teal)}.ranking-grade.grade-b{color:#ff9d85}.ranking-grade.grade--,.ranking-grade.grade-c{color:var(--ink-faint)}.ranking-list li:first-child:not(.ranking-empty){background:linear-gradient(90deg,rgba(245,185,66,.16),rgba(5,9,11,.5) 60%)}.ranking-pos{color:var(--ink-dim);font-weight:900;text-align:center}.ranking-list li:first-child .ranking-pos{color:var(--gold)}.ranking-score{font-size:.95rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.ranking-diff{padding:2px 10px;border-radius:999px;font-size:.66rem;font-weight:900;letter-spacing:.06em}.ranking-diff.is-easy{background:rgba(70,214,196,.2);color:var(--teal)}.ranking-diff.is-normal{background:rgba(245,185,66,.2);color:var(--gold)}.ranking-diff.is-hard{background:rgba(255,122,92,.22);color:#ff9d85}.ranking-diff.is-ultimate{background:rgba(198,160,255,.22);color:#d3b5ff}.ranking-diff.is-unknown{background:rgba(255,150,96,.22);color:#ffb98a}.ranking-diff.is-boss-rush{background:rgba(150,180,255,.22);color:#b9ccff}.ranking-diff.is-special{background:rgba(255,170,205,.22);color:#ffb9d4}.ranking-meta{overflow:hidden;color:var(--ink-faint);font-size:.7rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.ranking-list li.ranking-empty{display:block;padding:10px 14px;color:var(--ink-faint);text-align:center}.cat-card,.primary-button,.stage-card,.touch-controls button{border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--ink)}.cat-card,.stage-card{position:relative;display:grid;grid-gap:10px;gap:10px;min-width:0;padding:14px;border-radius:var(--radius-sm);background:linear-gradient(165deg,rgba(255,255,255,.04),transparent 46%),rgba(6,10,13,.82);text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease,opacity .16s ease}.cat-card:hover,.stage-card:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(255,255,255,.28);box-shadow:var(--shadow-card)}.cat-card.is-selected,.stage-card.is-active{transform:translateY(-3px);border-color:rgba(255,122,92,.45);box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 26px rgba(255,122,92,.2);background:linear-gradient(165deg,rgba(255,122,92,.12),transparent 52%),rgba(6,10,13,.9)}.cat-card.is-selected:after,.stage-card.is-active:after{content:"";position:absolute;inset:0;z-index:2;border:2.5px solid rgba(255,138,104,.9);border-radius:inherit;pointer-events:none;animation:select-frame-pulse 1.6s ease-in-out infinite}@keyframes select-frame-pulse{0%,to{border-color:rgba(255,122,92,.55);box-shadow:inset 0 0 12px rgba(255,122,92,.12),0 0 0 0 rgba(255,122,92,0)}50%{border-color:rgba(255,178,132,.98);box-shadow:inset 0 0 18px rgba(255,122,92,.24),0 0 16px 1px rgba(255,122,92,.45)}}@media (prefers-reduced-motion:reduce){.cat-card.is-selected:after,.stage-card.is-active:after{animation:none;border-color:rgba(255,160,120,.9)}}.cat-card:active,.primary-button:active,.settings-button:active,.stage-card:active,.touch-controls button:active{transform:translateY(1px)}.cat-card:focus-visible,.primary-button:focus-visible,.settings-button:focus-visible,.stage-card:focus-visible,.touch-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.cat-card-visual{position:relative;min-height:152px;overflow:hidden;border-radius:var(--radius-sm);background:radial-gradient(120% 110% at 50% 110%,rgba(255,255,255,.24),transparent 55%),linear-gradient(180deg,rgba(10,17,20,.32),rgba(10,17,20,.06)),var(--card-bg,#37423f)}.cat-card-visual canvas,.cat-card-visual img{position:absolute;left:50%;bottom:-3px;width:auto;height:calc(104% + 2px);transform:translateX(-50%);filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}.cat-card h3{margin:0;font-size:clamp(1.05rem,1.8cqw,1.28rem)}.cat-card p{margin:0;color:var(--ink-dim);font-size:.78rem;line-height:1.45}.cat-card-meta{display:flex;flex-wrap:wrap;gap:6px}.cat-card-meta span{padding:3px 8px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(255,255,255,.05);color:var(--ink-dim);font-size:.76rem;font-weight:700}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,236px));grid-gap:10px;gap:10px;justify-content:center;margin-bottom:28px}.stage-card{--stage-card-padding:14px;--stage-ribbon-bottom:10px;--stage-ribbon-height:22px;--stage-visual-height:88px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.stage-visual{--stage-visual-a:#1a2528;--stage-visual-b:#334044;--stage-visual-glow:rgba(255,253,245,0.14);position:relative;grid-column:1/-1;display:block;height:var(--stage-visual-height);overflow:hidden;border-radius:var(--radius-sm);background:radial-gradient(circle at 50% 54%,var(--stage-visual-glow),transparent 48%),linear-gradient(155deg,var(--stage-visual-a),var(--stage-visual-b));isolation:isolate}.stage-visual:after,.stage-visual:before{content:"";position:absolute;inset:0;pointer-events:none}.stage-visual:before{z-index:0;background:linear-gradient(90deg,rgba(255,255,255,.08),transparent 24% 76%,rgba(255,255,255,.06)),radial-gradient(ellipse at 50% 78%,rgba(0,0,0,.28),transparent 42%)}.stage-visual:after{z-index:1;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.22))}.stage-visual canvas,.stage-visual img{position:absolute;z-index:2;left:50%;bottom:-26%;height:150%;transform:translateX(-50%);filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}.stage-ribbon{--stage-ribbon-bg:linear-gradient(135deg,rgba(70,214,196,0.96),rgba(38,122,116,0.96));--stage-ribbon-color:#06110f;position:absolute;top:calc(var(--stage-card-padding) + var(--stage-visual-height) - var(--stage-ribbon-bottom) - var(--stage-ribbon-height));left:0;z-index:3;display:inline-flex;align-items:center;max-width:calc(100% - 18px);height:var(--stage-ribbon-height);padding:4px 12px 4px 14px;border-radius:0 999px 999px 0;background:var(--stage-ribbon-bg);box-shadow:0 4px 10px rgba(0,0,0,.28),inset 1px 0 0 rgba(255,255,255,.16);color:var(--stage-ribbon-color);font-family:var(--font-body);font-size:.68rem;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap}.stage-visual-easy{--stage-visual-a:#143334;--stage-visual-b:#2f5e4d;--stage-visual-glow:rgba(70,214,196,0.2)}.stage-visual-normal{--stage-visual-a:#222b32;--stage-visual-b:#50412c;--stage-visual-glow:rgba(245,185,66,0.18)}.stage-visual-hard{--stage-visual-a:#263852;--stage-visual-b:#3d6ca6;--stage-visual-glow:rgba(170,224,255,0.18)}.stage-visual-ultimate{--stage-visual-a:#260815;--stage-visual-b:#43204d;--stage-visual-glow:rgba(255,122,92,0.17)}.stage-visual-unknown{--stage-visual-a:#171225;--stage-visual-b:#3b2434;--stage-visual-glow:rgba(255,150,96,0.17)}.stage-card:disabled{color:var(--ink-faint);cursor:not-allowed;opacity:.6}.stage-ribbon.stage-easy{--stage-ribbon-bg:linear-gradient(135deg,rgba(70,214,196,0.96),rgba(38,122,116,0.96));--stage-ribbon-color:#06110f}.stage-ribbon.stage-normal{--stage-ribbon-bg:linear-gradient(135deg,rgba(245,185,66,0.96),rgba(176,118,26,0.96));--stage-ribbon-color:#261506}.stage-ribbon.stage-hard{--stage-ribbon-bg:linear-gradient(135deg,rgba(255,122,92,0.96),rgba(176,51,60,0.96));--stage-ribbon-color:#fff}.stage-ribbon.stage-ultimate{--stage-ribbon-bg:linear-gradient(135deg,#c6a0ff,#5b2d8f 55%,#1d0f33);--stage-ribbon-color:#fff}.stage-ribbon.stage-unknown{--stage-ribbon-bg:linear-gradient(135deg,#ffb864,#c73e2e 55%,#401010);--stage-ribbon-color:#fff}.stage-card.is-locked .stage-ribbon{--stage-ribbon-bg:rgba(255,255,255,0.14);--stage-ribbon-color:var(--ink-faint);box-shadow:none}.stage-visual-boss-rush{--stage-visual-a:#111629;--stage-visual-b:#26335e;--stage-visual-glow:rgba(150,190,255,0.2)}.stage-visual-boss-rush canvas:first-child,.stage-visual-boss-rush img:first-child{left:14%;bottom:22%;height:60%}.stage-visual-boss-rush canvas:nth-child(2),.stage-visual-boss-rush img:nth-child(2){left:30%;bottom:2%;height:76%}.stage-visual-boss-rush canvas:nth-child(3),.stage-visual-boss-rush img:nth-child(3){left:70%;bottom:2%;height:76%}.stage-visual-boss-rush canvas:nth-child(4),.stage-visual-boss-rush img:nth-child(4){left:86%;bottom:22%;height:60%}.stage-visual-boss-rush canvas:nth-child(5),.stage-visual-boss-rush img:nth-child(5){z-index:3;bottom:-14%;height:96%}.stage-ribbon.stage-boss-rush{--stage-ribbon-bg:linear-gradient(135deg,#9db9ff,#3d55b0 55%,#101a3c);--stage-ribbon-color:#fff}.stage-card.is-secret{cursor:not-allowed;opacity:.72;filter:saturate(.4)}.stage-visual.is-sealed canvas,.stage-visual.is-sealed img{filter:brightness(0);opacity:.9}.stage-boss-name{font-size:.98rem;font-weight:900}.stage-boss-name,.stage-location{min-width:0;overflow-wrap:anywhere;line-height:1.12}.stage-location{margin-top:-4px;color:var(--ink-dim);font-size:.78rem;font-weight:700}.screen-minigames{place-items:start center;padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(52px,env(safe-area-inset-bottom));background:radial-gradient(60% 46% at 52% 92%,rgba(255,220,236,.38),transparent 70%),radial-gradient(42% 32% at 16% 18%,rgba(255,248,255,.34),transparent 72%),radial-gradient(36% 30% at 82% 16%,rgba(160,236,232,.24),transparent 74%),linear-gradient(180deg,#2b1a46,#5a2c50 46%,#ffb3cd)}.screen-minigames:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 28% 9% at 18% 22%,rgba(255,253,245,.38) 0 60%,transparent 72%),radial-gradient(ellipse 24% 8% at 40% 27%,rgba(255,220,236,.28) 0 62%,transparent 74%),radial-gradient(ellipse 30% 10% at 78% 26%,rgba(238,255,252,.3) 0 58%,transparent 72%),radial-gradient(ellipse 38% 12% at 72% 78%,rgba(255,253,245,.25) 0 60%,transparent 74%),radial-gradient(circle at 58% 18%,rgba(255,248,199,.34) 0 44px,rgba(255,248,199,.08) 45px 76px,transparent 78px);opacity:.78;animation:minigame-cloud-drift 22s ease-in-out infinite alternate}.minigame-dream-layer{position:absolute;inset:-5%;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 26% 8% at 8% 72%,rgba(255,253,245,.24) 0 60%,transparent 74%),radial-gradient(ellipse 34% 10% at 34% 82%,rgba(255,220,236,.26) 0 62%,transparent 76%),radial-gradient(ellipse 30% 9% at 88% 70%,rgba(238,255,252,.22) 0 58%,transparent 76%),radial-gradient(circle at 14% 40%,rgba(255,253,245,.7) 0 2px,transparent 3px),radial-gradient(circle at 26% 32%,rgba(255,205,226,.64) 0 2px,transparent 3px),radial-gradient(circle at 74% 38%,rgba(210,255,249,.72) 0 2px,transparent 3px),radial-gradient(circle at 86% 54%,rgba(255,248,199,.76) 0 2px,transparent 3px);opacity:.7;animation:minigame-dream-drift 28s ease-in-out infinite alternate}.minigame-dream-layer:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 54%,rgba(255,253,245,.85) 0 1px,transparent 2px),radial-gradient(circle at 44% 18%,rgba(255,205,226,.78) 0 1px,transparent 2px),radial-gradient(circle at 64% 62%,rgba(210,255,249,.82) 0 1px,transparent 2px),radial-gradient(circle at 82% 34%,rgba(255,248,199,.82) 0 1px,transparent 2px);opacity:.55;animation:minigame-sparkle-twinkle 2.2s ease-in-out infinite alternate}@keyframes minigame-cloud-drift{0%{transform:translate3d(-12px,-6px,0) scale(1)}to{transform:translate3d(18px,10px,0) scale(1.03)}}@keyframes minigame-dream-drift{0%{transform:translate3d(-10px,8px,0) scale(1)}to{transform:translate3d(12px,-10px,0) scale(1.02)}}@keyframes minigame-sparkle-twinkle{0%{opacity:.32;filter:blur(0)}to{opacity:.78;filter:blur(.6px)}}.minigame-shell{position:relative;z-index:1;display:grid;grid-template-rows:64px minmax(0,1fr);grid-gap:14px;gap:14px;justify-items:center;width:min(1120px,calc(100cqw - 48px));height:min(824px,calc(100cqh - 86px));min-height:0}.minigame-header{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;grid-gap:14px;gap:14px;align-items:center;width:100%;min-height:64px}.minigame-header-heading{display:grid;grid-column:2;grid-gap:4px;gap:4px;justify-items:center;min-width:0;text-align:center}.minigame-header h1{justify-self:center;min-width:0;font-family:var(--font-title);font-size:1.72rem;font-weight:400;letter-spacing:0;color:#fff7fb;background:none;-webkit-text-fill-color:currentColor;filter:none;text-align:center;text-shadow:0 0 18px rgba(255,177,210,.34),0 3px 14px rgba(6,4,12,.42);animation:minigame-title-glow 2.2s ease-in-out infinite}.minigame-shell.is-menu .minigame-header h1{font-family:var(--font-title);font-size:2.05rem;font-weight:400;letter-spacing:.02em}.minigame-shell.is-billiards .minigame-header h1,.minigame-shell.is-line-guide .minigame-header h1,.minigame-shell.is-maze .minigame-header h1,.minigame-shell.is-odd-cat .minigame-header h1{font-size:1.28rem}.minigame-header-rule{max-width:min(620px,100%);margin:0;color:rgba(255,253,245,.78);font-size:.72rem;font-weight:800;line-height:1.25;text-align:center;text-shadow:0 2px 10px rgba(6,4,12,.34)}.minigame-back,.minigame-home{display:inline-flex;gap:6px;align-items:center;justify-self:start;min-height:38px;padding:0 14px;border-radius:999px;font-size:.76rem}.minigame-menu{align-self:center}.minigame-cat-select,.minigame-menu{display:grid;grid-gap:16px;gap:16px;justify-items:center;width:100%;min-height:0}.minigame-cat-select{align-self:start}.minigame-step-title{margin:0;color:rgba(255,253,245,.9);font-family:var(--font-body);font-size:1.15rem;font-weight:900;letter-spacing:0;text-shadow:0 2px 12px rgba(6,4,12,.48)}.minigame-selected-cat{display:inline-grid;grid-template-columns:46px minmax(0,auto) auto;gap:10px;align-items:center;max-width:min(100%,460px);min-height:56px;padding:6px 8px 6px 7px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(7,9,15,.42);box-shadow:0 10px 24px rgba(6,4,12,.22)}.minigame-selected-cat-portrait{position:relative;width:44px;height:44px;overflow:hidden;border-radius:50%;background:radial-gradient(100% 100% at 50% 100%,rgba(255,255,255,.38),transparent 62%),var(--cat-bg,#d8d4c9)}.minigame-selected-cat-portrait canvas,.minigame-selected-cat-portrait img{position:absolute;left:50%;bottom:-6px;width:auto;height:118%;transform:translateX(-50%)}.minigame-selected-cat-name{min-width:0;overflow:hidden;color:var(--ink);font-size:.86rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.minigame-change-cat{display:inline-grid;place-items:center;min-height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,253,245,.13);color:var(--ink);font-size:.72rem;font-weight:900;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.minigame-change-cat:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.38);background:rgba(255,253,245,.2)}.minigame-cat-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));grid-gap:12px;gap:12px;justify-content:center;width:min(920px,100%)}.minigame-cat-overlay{position:fixed;inset:0;z-index:27;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(50% 42% at 50% 46%,rgba(255,220,236,.28),transparent 74%),rgba(18,9,28,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:overlay-fade-in .18s ease-out}.minigame-cat-overlay.is-closing{animation:overlay-fade-out .18s ease-out forwards}.minigame-cat-overlay-panel{position:relative;display:grid;grid-gap:18px;gap:18px;justify-items:center;width:min(760px,100%)}.minigame-cat-overlay-panel.is-closing{animation:modal-pop-out .18s ease-out forwards}.minigame-cat-overlay-head{position:relative;display:grid;justify-items:center;width:100%}.minigame-cat-overlay-title{margin:0;color:#fff7fb;font-family:var(--font-body);font-size:1.28rem;font-weight:1000;line-height:1.1;text-align:center;text-shadow:0 3px 16px rgba(6,4,12,.42)}.minigame-cat-overlay .minigame-cat-picker{grid-template-columns:repeat(2,minmax(0,280px));width:100%}.minigame-cat-choice-card{width:100%;text-align:center}.minigame-cat-choice-name{display:grid;min-height:1.5em;place-items:center}.minigame-cat-choice-name h3{width:100%;text-align:center}.minigame-cat-overlay-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:min(560px,100%);margin-top:2px}.running-cat-sprite{display:inline-grid;place-items:center;width:100%;height:100%;transform-origin:50% 82%;animation:running-cat-bob .42s ease-in-out infinite}.running-cat-sprite canvas,.running-cat-sprite img{display:block;width:100%;height:100%;object-fit:contain}.minigame-grid{display:grid;grid-template-columns:repeat(3,minmax(0,206px));grid-gap:18px 16px;gap:18px 16px;justify-content:center;width:100%}.minigame-slot{display:grid;grid-gap:8px;gap:8px;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:center}button.minigame-slot{cursor:pointer}.minigame-slot-box{position:relative;display:block;aspect-ratio:1.26;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#030407;box-shadow:0 14px 28px rgba(6,4,12,.3);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.minigame-slot.is-playable .minigame-slot-box{border-color:rgba(255,253,245,.68);background:radial-gradient(circle at 72% 26%,rgba(255,248,199,.44),transparent 22%),radial-gradient(circle at 18% 72%,rgba(255,255,255,.52),transparent 28%),linear-gradient(145deg,rgba(255,220,236,.78),rgba(184,237,231,.72)),#f4dce9;animation:minigame-card-float 2.6s ease-in-out infinite}.minigame-slot.is-playable .minigame-slot-box:after{content:"";position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 0 42%,rgba(255,255,255,.2) 49%,transparent 56% 100%);transform:translateX(-55%) rotate(8deg);animation:minigame-card-shine 3.4s ease-in-out infinite}.minigame-slot.is-playable:hover .minigame-slot-box{transform:translateY(-2px);border-color:rgba(255,255,255,.72);box-shadow:0 18px 34px rgba(6,4,12,.34),0 0 28px rgba(255,177,210,.2)}.minigame-slot.is-locked .minigame-slot-box{border-color:rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 44%),#000}.minigame-slot.is-locked .minigame-slot-box:after{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 50% 50%,rgba(255,220,236,.16),transparent 42%);opacity:.2;animation:minigame-locked-breathe 3.6s ease-in-out infinite}.minigame-coming-soon-thumb{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:12px;color:rgba(255,253,245,.62);font-family:var(--font-system);font-size:.74rem;font-weight:900;line-height:1.1;text-align:center}.minigame-slot-name{min-height:1.35em;color:var(--ink);font-size:.88rem;font-weight:900;line-height:1.25;text-shadow:0 2px 10px rgba(0,0,0,.42)}.minigame-slot.is-locked .minigame-slot-name{color:rgba(237,244,239,.44)}.minigame-maze-thumb:before{content:none}.minigame-maze-thumb canvas,.minigame-maze-thumb img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.minigame-odd-cat-thumb{background:#f5dff0}.minigame-odd-cat-thumb canvas,.minigame-odd-cat-thumb img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.minigame-billiards-thumb{background:#a9e5df}.minigame-line-guide-thumb{background:#21173f}.minigame-billiards-thumb canvas,.minigame-billiards-thumb img,.minigame-line-guide-thumb canvas,.minigame-line-guide-thumb img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.maze-stage{position:relative;display:grid;grid-gap:12px;gap:12px;width:min(1080px,100%);align-self:center;min-height:0}.maze-topline{display:grid;grid-template-columns:160px minmax(0,1fr) 56px;grid-gap:10px;gap:10px;align-items:center}.minigame-restart{display:inline-grid;grid-column:3;place-items:center;justify-self:end;width:42px;min-height:38px;padding:0}.maze-layout{display:grid;grid-template-columns:minmax(0,760px) 184px;grid-gap:14px;gap:14px;align-items:center;justify-content:center;min-height:0}.maze-board{position:relative;display:grid;grid-template-columns:repeat(var(--maze-width),minmax(0,1fr));grid-template-rows:repeat(var(--maze-height),minmax(0,1fr));width:min(760px,calc(100cqh - 164px),100%);aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#110b1a;box-shadow:0 18px 34px rgba(6,4,12,.34),inset 0 0 36px rgba(255,177,210,.08)}.maze-board:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--vision-x) var(--vision-y),transparent 0 var(--vision-size),rgba(8,6,14,.32) calc(var(--vision-size) + 7%),rgba(8,6,14,.72) 100%);mix-blend-mode:multiply}.maze-cell{position:relative;min-width:0;min-height:0;background:rgba(255,253,245,.58);transition:background .18s ease,filter .18s ease}.maze-cell.is-path.is-visible{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.22),transparent 64%),#f5ecf0;animation:maze-visible-soften .9s ease-out}.maze-cell.is-wall.is-visible{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 46%),#5c356f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.maze-cell.is-fogged{background:#151020}.maze-cell.is-fogged:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 0 1px,transparent 1.6px);background-size:18px 18px;opacity:.36}.maze-cell.is-start.is-visible{background:linear-gradient(135deg,rgba(139,211,224,.28),transparent 60%),#e7f8f6}.maze-goal{position:absolute;inset:23%;z-index:2;border:3px solid #f5b942;border-radius:50% 50% 46% 46%;background:rgba(255,248,199,.54);box-shadow:0 0 16px rgba(245,185,66,.64);animation:maze-goal-pulse 1.3s ease-in-out infinite}.maze-lamp{position:absolute;left:50%;top:50%;z-index:3;width:24%;height:36%;border-radius:999px 999px 70% 70%;background:linear-gradient(180deg,#fff8c7,#f5b942 70%,#ff8f68);box-shadow:0 0 14px rgba(245,185,66,.82);transform:translate(-50%,-50%);animation:maze-lamp-flicker 1.5s ease-in-out infinite}.maze-player{position:absolute;inset:-18%;z-index:4;display:grid;place-items:center;pointer-events:none}.maze-player.is-sliding{animation-duration:.24s;filter:drop-shadow(0 0 10px rgba(255,248,199,.28))}.maze-player canvas,.maze-player img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.34))}.maze-side{display:grid;grid-gap:12px;gap:12px;min-width:0}.maze-cat-badge{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;min-height:64px;padding:7px 12px 7px 7px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(7,9,15,.46);font-weight:900}.maze-cat-badge-portrait{position:relative;width:48px;height:48px;overflow:hidden;border-radius:8px;background:radial-gradient(100% 100% at 50% 100%,rgba(255,255,255,.34),transparent 62%),var(--cat-bg,#d8d4c9)}.maze-cat-badge-portrait canvas,.maze-cat-badge-portrait img{position:absolute;left:50%;bottom:-6px;width:auto;height:116%;transform:translateX(-50%)}.maze-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.maze-stats div{display:grid;grid-gap:2px;gap:2px;min-height:58px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(7,9,15,.5)}.maze-stats div:last-child{grid-column:1/-1}.maze-stats dt{color:rgba(237,244,239,.58);font-size:.66rem;font-weight:800}.maze-stats dd{margin:0;font-family:var(--font-system);font-size:1rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.maze-controls{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);grid-gap:6px;gap:6px;justify-content:center}.maze-control{display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,253,245,.14);color:var(--ink);cursor:pointer;box-shadow:0 8px 16px rgba(6,4,12,.22);transition:transform .15s ease,border-color .15s ease,background .15s ease}.maze-control:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.42);background:rgba(255,253,245,.2)}.maze-control:disabled{opacity:.58;cursor:wait;transform:none}.maze-control.is-up{grid-column:2;grid-row:1}.maze-control.is-left{grid-column:1;grid-row:2}.maze-control.is-right{grid-column:3;grid-row:2}.maze-control.is-down{grid-column:2;grid-row:3}.maze-clear{position:fixed;inset:0;z-index:28;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(10,6,16,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:overlay-fade-in .18s ease-out}.maze-clear-panel{display:grid;grid-gap:12px;gap:12px;justify-items:center;width:min(430px,100%);padding:22px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(20,13,31,.88);box-shadow:0 20px 44px rgba(6,4,12,.36),0 0 34px rgba(245,185,66,.16);text-align:center}.maze-clear-score,.maze-clear-title{margin:0}.maze-clear-title-row{display:flex;gap:10px;align-items:center;justify-content:center;width:100%}.maze-clear-title{color:#f5b942;font-family:var(--font-system);font-size:1.6rem;font-weight:900;letter-spacing:.08em}.maze-clear-score{color:var(--ink);font-size:1rem;font-weight:900}.maze-clear-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.odd-cat-stage{position:relative;display:grid;grid-gap:12px;gap:12px;width:min(1080px,100%);align-self:center;min-height:0}.odd-cat-layout{grid-template-columns:minmax(0,760px) 184px}.odd-cat-average{min-width:0;margin:0}.odd-cat-average div{display:grid;grid-gap:2px;gap:2px;min-height:38px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(7,9,15,.5)}.odd-cat-average dt{color:rgba(237,244,239,.58);font-size:.58rem;font-weight:800}.odd-cat-average dd{margin:0;font-family:var(--font-system);font-size:.88rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.odd-cat-control-stack{display:grid;grid-gap:8px;gap:8px}.odd-cat-stats div:last-child{grid-column:auto}.odd-cat-badge-thumb canvas,.odd-cat-badge-thumb img{inset:0;width:100%;height:100%;object-fit:cover;transform:none}.odd-cat-feedback{min-height:1.2em;margin:0;color:transparent;font-family:var(--font-system);font-size:.82rem;font-weight:900;letter-spacing:0;text-align:center}.odd-cat-feedback.is-visible{color:#ffaaa5}.odd-cat-finish{display:inline-flex;gap:6px;align-items:center;justify-content:center;width:100%;min-height:38px;padding:0 12px;border-radius:8px;font-size:.7rem}.odd-cat-board{display:block;align-self:center;width:min(760px,calc(100cqh - 164px),100%);aspect-ratio:1;padding:clamp(5px,.8cqh,9px);overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(17,11,26,.76);box-shadow:0 18px 34px rgba(6,4,12,.34),inset 0 0 36px rgba(255,177,210,.08)}.odd-cat-board-canvas{display:block;width:100%;height:100%;border-radius:6px;cursor:pointer;touch-action:manipulation}.odd-cat-board-canvas[aria-disabled=true]{cursor:default}.odd-cat-clear-panel{box-shadow:0 20px 44px rgba(6,4,12,.36),0 0 34px rgba(70,214,196,.18)}.odd-cat-controls .maze-control:disabled{opacity:.32;cursor:not-allowed}.billiards-stage{position:relative;display:grid;align-self:center;grid-gap:10px;gap:10px;width:min(1100px,100%);min-height:0}.billiards-layout{display:grid;grid-template-columns:minmax(0,860px) 196px;grid-gap:14px;gap:14px;align-items:center;justify-content:center;min-height:0}.billiards-board{position:relative;z-index:1;width:min(860px,calc((100cqh - 190px) * 1.7778),100%);aspect-ratio:16/9;overflow:visible;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:#153f43;box-shadow:0 18px 36px rgba(6,4,12,.36),0 0 28px rgba(121,225,210,.12)}.billiards-board-canvas{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:inherit;cursor:crosshair;touch-action:none}.billiards-cue-overlay-canvas{position:absolute;z-index:2;display:block;max-width:none;pointer-events:none}.billiards-board-canvas[aria-disabled=true]{cursor:wait}.billiards-board-canvas.is-pulling{cursor:-webkit-grabbing;cursor:grabbing}.billiards-side{gap:9px}.billiards-stats div:last-child{grid-column:auto}.billiards-notice{display:grid;place-items:center;min-height:44px;margin:0;padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(7,9,15,.48);color:rgba(237,244,239,.78);font-size:.64rem;font-weight:800;line-height:1.35;text-align:center}.billiards-notice.is-foul{border-color:rgba(255,145,147,.34);color:#ffb2b2}.billiards-notice.is-legal{border-color:rgba(130,229,211,.34);color:#b9f2e8}.billiards-key-hint{margin:0;padding:7px 8px;border:1px dashed rgba(255,255,255,.14);border-radius:8px;background:rgba(7,9,15,.28);color:rgba(237,244,239,.58);font-size:.54rem;font-weight:700;line-height:1.35;text-align:center}.billiards-clear-panel{box-shadow:0 20px 44px rgba(6,4,12,.36),0 0 38px rgba(118,226,210,.22)}.billiards-clear-capsule{display:grid;place-items:center;width:78px;height:78px;margin:0;border:3px solid rgba(255,255,255,.82);border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.52) 0 50%,#e7c64f 51% 100%);box-shadow:0 10px 22px rgba(6,4,12,.32),0 0 22px rgba(255,234,131,.36);color:#352b3c;font-family:var(--font-system);font-size:1.15rem;font-weight:900}.line-guide-stage{position:relative;display:grid;align-self:center;grid-gap:10px;gap:10px;width:min(1080px,100%);min-height:0}.line-guide-layout{display:grid;grid-template-columns:minmax(0,760px) 196px;grid-gap:14px;gap:14px;align-items:center;justify-content:center;min-height:0}.line-guide-board{position:relative;width:min(760px,calc((100cqh - 190px) * 1.4615),100%);aspect-ratio:19/13;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:#171326;box-shadow:0 18px 36px rgba(6,4,12,.36),0 0 30px rgba(136,112,202,.16)}.line-guide-board-canvas{display:block;width:100%;height:100%;border-radius:inherit;cursor:crosshair;touch-action:none}.line-guide-board-canvas[aria-disabled=true]{cursor:default}.line-guide-board-canvas.is-drawing{cursor:-webkit-grabbing;cursor:grabbing}.line-guide-side{gap:8px}.line-guide-stats div:last-child{grid-column:auto}.line-guide-notice{display:grid;place-items:center;min-height:52px;margin:0;padding:7px 9px;border:1px solid rgba(145,213,226,.2);border-radius:8px;background:rgba(7,9,15,.5);color:rgba(220,242,244,.82);font-size:.62rem;font-weight:800;line-height:1.35;text-align:center}.line-guide-notice.is-failed{border-color:rgba(255,145,147,.36);color:#ffb7bb}.line-guide-notice.is-dropping{border-color:rgba(118,226,210,.36);color:#bcf5eb}.line-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.line-guide-tool{gap:5px;min-width:0;min-height:34px;padding:0 8px;border-radius:8px;font-size:.68rem}.line-guide-tool,.primary-button.line-guide-drop{display:inline-flex;align-items:center;justify-content:center}.primary-button.line-guide-drop{grid-column:1/-1;gap:7px;min-height:44px;padding:0 18px;border-radius:10px;font-size:.84rem;line-height:1}.line-guide-drop svg{flex:0 0 auto}.line-guide-drop:disabled,.line-guide-tool:disabled{opacity:.42;cursor:not-allowed}.maze-control:focus-visible,.minigame-cat-choice-card:focus-visible,.minigame-change-cat:focus-visible,.minigame-slot:focus-visible,.odd-cat-board-canvas:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.billiards-board-canvas:focus-visible,.line-guide-board-canvas:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.minigame-ranking{display:grid;grid-template-rows:auto auto minmax(0,1fr);grid-gap:10px;gap:10px;width:min(760px,100%);height:clamp(170px,29cqh,268px);margin:0;padding:12px 14px 14px;overflow:hidden;border:1px solid rgba(255,255,255,.58);border-radius:8px;background:radial-gradient(circle at 8% 0,rgba(255,255,255,.5),transparent 38%),rgba(255,253,245,.72);box-shadow:0 14px 30px rgba(87,45,86,.18);color:#3b244f}.minigame-ranking-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;padding:3px;border:1px solid rgba(75,39,96,.12);border-radius:8px;background:rgba(75,39,96,.08)}.minigame-ranking-tabs button{min-width:0;min-height:28px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:rgba(59,36,79,.62);font-size:.68rem;font-weight:900;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.minigame-ranking-tabs button.is-active{background:rgba(255,253,245,.86);color:#3b244f;box-shadow:0 2px 8px rgba(75,39,96,.12)}.minigame-ranking-tabs button:focus-visible{outline:2px solid #8a4fa7;outline-offset:1px}.minigame-ranking-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.minigame-ranking .ranking-title{margin:0;color:#3b244f;font-family:var(--font-body);font-size:.88rem;font-weight:1000;letter-spacing:0;text-align:left}.minigame-total-clears{display:inline-flex;flex-shrink:0;gap:6px;align-items:baseline;margin:0;padding:4px 10px;border:1px solid rgba(75,39,96,.12);border-radius:999px;background:rgba(255,220,236,.42);color:rgba(59,36,79,.74);font-size:.68rem;font-weight:900}.minigame-total-clears strong{color:#3b244f;font-size:.92rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.minigame-ranking-list{align-content:start;gap:5px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.minigame-ranking-list li{grid-template-columns:32px 96px 96px minmax(0,1fr);min-width:0;border-radius:8px;background:rgba(75,39,96,.08)}.minigame-ranking-list li:first-child:not(.ranking-empty){background:linear-gradient(90deg,rgba(255,248,199,.68),rgba(255,220,236,.36) 72%)}.minigame-ranking .ranking-pos{color:rgba(59,36,79,.68)}.minigame-ranking-label{justify-self:end;padding:2px 8px;border-radius:999px;background:rgba(255,220,236,.5);color:rgba(59,36,79,.72);font-size:.58rem;font-weight:900;text-align:center}.minigame-ranking-list .ranking-score{justify-self:start;color:#3b244f;font-size:.98rem;text-align:left}.minigame-ranking .ranking-meta{color:rgba(59,36,79,.68)}.minigame-ranking .ranking-empty{color:rgba(59,36,79,.72)}.minigame-share-open{display:inline-flex;gap:6px;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:.72rem}@keyframes minigame-title-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}@keyframes minigame-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes minigame-card-shine{0%,52%{opacity:0;transform:translateX(-60%) rotate(8deg)}64%{opacity:1}82%,to{opacity:0;transform:translateX(60%) rotate(8deg)}}@keyframes minigame-locked-breathe{0%,to{opacity:.12;transform:scale(.96)}50%{opacity:.26;transform:scale(1.04)}}@keyframes running-cat-bob{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-2px) scaleY(.98)}}@keyframes maze-visible-soften{0%{filter:brightness(.82)}to{filter:brightness(1)}}@keyframes maze-goal-pulse{0%,to{transform:scale(1);box-shadow:0 0 16px rgba(245,185,66,.64)}50%{transform:scale(1.08);box-shadow:0 0 24px rgba(245,185,66,.82)}}@keyframes maze-lamp-flicker{0%,to{filter:brightness(1)}45%{filter:brightness(1.22)}62%{filter:brightness(.92)}}@media (prefers-reduced-motion:reduce){.maze-cell.is-path.is-visible,.maze-goal,.maze-lamp,.minigame-dream-layer,.minigame-dream-layer:after,.minigame-header h1,.minigame-slot.is-locked .minigame-slot-box:after,.minigame-slot.is-playable .minigame-slot-box,.minigame-slot.is-playable .minigame-slot-box:after,.running-cat-sprite,.screen-minigames:before{animation:none}}@container (max-height: 540px){.screen{padding:max(8px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.screen-select{gap:clamp(6px,1.8cqh,12px)}.screen-select h1{font-size:clamp(1.7rem,5.2cqw,3rem)}.title-kana{margin-top:4px;font-size:clamp(.66rem,1.3cqw,.82rem);letter-spacing:.34em}.select-flow{width:min(860px,100%);max-height:calc(100cqh - 80px);margin-top:clamp(4px,1.4cqh,10px)}.step-header{gap:8px;margin-bottom:clamp(9px,2.4cqh,18px)}.step-title{font-size:clamp(1rem,2.1cqw,1.28rem)}.select-grid{grid-template-columns:repeat(2,minmax(0,280px));gap:10px}.cat-card,.stage-card{gap:8px;padding:10px}.cat-card-visual{min-height:clamp(92px,23cqh,120px)}.cat-card p,.cat-card-meta,.ranking{display:none}.stage-grid{grid-template-columns:repeat(3,minmax(0,244px));gap:8px;margin-bottom:8px}.stage-card{--stage-card-padding:10px;gap:9px 8px}.stage-visual{--stage-visual-height:clamp(52px,14cqh,66px)}.stage-ribbon{--stage-ribbon-bottom:7px;--stage-ribbon-height:19px;padding:3px 9px 3px 11px;font-size:.58rem}.stage-boss-name{font-size:.86rem}.stage-location{margin-top:-5px;font-size:.66rem}.step-actions{gap:8px;margin-top:0}.ghost-button,.primary-button{min-height:34px;padding:0 16px;font-size:.78rem}#start-button{width:185px}.creator-credit{right:max(12px,env(safe-area-inset-right));padding:5px 10px;font-size:.66rem}.creator-credit,.legal-links{bottom:max(10px,env(safe-area-inset-bottom))}.legal-links{gap:10px}.legal-link{font-size:.64rem}.minigame-shell{grid-template-rows:52px minmax(0,1fr);gap:8px;height:min(470px,calc(100cqh - 70px))}.minigame-header{grid-template-columns:150px minmax(0,1fr) 150px;min-height:52px}.minigame-header h1{font-size:1.72rem}.minigame-shell.is-menu .minigame-header h1{font-size:1.42rem;letter-spacing:.02em}.minigame-selected-cat{min-height:48px}.minigame-grid{grid-template-columns:repeat(3,minmax(0,180px));gap:10px}.minigame-slot-name{font-size:.76rem}.minigame-cat-picker{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;width:min(620px,100%)}.minigame-cat-choice-card .cat-card-visual{min-height:80px}.maze-stage{gap:8px}.maze-topline{grid-template-columns:140px minmax(0,1fr) 46px}.maze-layout{grid-template-columns:minmax(0,520px) 170px;gap:10px}.maze-board{width:min(520px,calc(100cqh - 128px),100%)}.maze-side{gap:8px}.maze-cat-badge{min-height:52px;grid-template-columns:42px minmax(0,1fr);font-size:.78rem}.maze-cat-badge-portrait{width:40px;height:40px}.maze-stats div{min-height:46px;padding:6px}.maze-stats dt{font-size:.58rem}.maze-stats dd{font-size:.82rem}.maze-controls{grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:5px}.maze-clear-panel{padding:16px}.odd-cat-stage{gap:8px}.odd-cat-board{width:min(520px,calc(100cqh - 128px),100%)}.billiards-stage{gap:6px}.billiards-layout{grid-template-columns:minmax(0,680px) 170px;gap:10px}.billiards-board{width:min(680px,calc((100cqh - 142px) * 1.7778),100%)}.billiards-side{gap:6px}.billiards-notice{min-height:36px;padding:5px 7px;font-size:.56rem}.billiards-key-hint{display:none}.line-guide-stage{gap:6px}.line-guide-layout{grid-template-columns:minmax(0,600px) 170px;gap:10px}.line-guide-board{width:min(600px,calc((100cqh - 142px) * 1.4615),100%)}.line-guide-side{gap:6px}.line-guide-notice{min-height:36px;padding:5px 7px;font-size:.56rem}.line-guide-key-hint{display:none}.minigame-ranking{display:grid;width:min(620px,100%);padding:8px 10px}.minigame-ranking-list li{grid-template-columns:24px 82px 76px minmax(0,1fr);padding:4px 8px}}.primary-button{display:inline-grid;place-items:center;min-height:50px;padding:0 28px;border:0;border-radius:999px;background:linear-gradient(135deg,#ff8f68,var(--accent) 55%,#e8543c);color:#fff;font-weight:900;letter-spacing:.04em;cursor:pointer;box-shadow:0 14px 30px rgba(232,84,60,.35),inset 0 1px 0 rgba(255,255,255,.36);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.primary-button:hover{filter:brightness(1.06);box-shadow:0 18px 38px rgba(232,84,60,.45),inset 0 1px 0 rgba(255,255,255,.36)}#start-button{width:240px}.top-toolbar{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:26;display:flex;gap:8px;align-items:flex-start}.settings-button{min-height:38px;padding:0 16px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink);font-size:.8rem;font-weight:800;cursor:pointer;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 8px 22px rgba(2,6,8,.35)}.settings-icon-button{display:inline-flex;gap:7px;align-items:center}.settings-icon-button svg{display:block}.settings-overlay{position:fixed;inset:0;z-index:28;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px;background:rgba(4,8,10,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlay-fade-in .2s ease-out}.settings-overlay.is-closing{animation:overlay-fade-out .2s ease-in forwards}.settings-dialog{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;grid-gap:20px;gap:20px;justify-items:stretch;width:min(520px,calc(100cqw - 32px));height:min(680px,calc(100cqh - 48px));overflow:hidden;padding:clamp(20px,4cqw,30px) clamp(22px,5cqw,34px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);text-align:center;box-shadow:var(--shadow-panel);animation:step-in .24s cubic-bezier(.2,.9,.3,1)}.settings-dialog.is-closing{animation:step-out .2s cubic-bezier(.4,0,1,1) forwards}.settings-tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;padding:4px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass)}.settings-tab{min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--ink-dim);font-size:.76rem;font-weight:800;cursor:pointer;transition:color .16s ease,background .16s ease}.settings-tab.is-active{background:var(--accent-soft);color:var(--ink)}.settings-panel{min-height:0;overflow-y:auto;padding-right:2px}.settings-display{display:grid;grid-gap:12px;gap:12px}.settings-display-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.settings-display-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;min-height:44px;padding:7px 8px 7px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass)}.settings-display-row.is-debug{grid-column:1/-1}.settings-display-divider{grid-column:1/-1;height:1px;margin:4px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}.settings-display-label{overflow:hidden;color:var(--ink);font-size:.78rem;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap}.settings-switch{display:inline-grid;grid-template-columns:42px 28px;gap:7px;align-items:center;min-width:77px;min-height:30px;padding:0;border:0;background:transparent;color:var(--ink-dim);cursor:pointer}.settings-switch-track{position:relative;width:42px;height:24px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(6,10,13,.72);transition:border-color .16s ease,background .16s ease}.settings-switch-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:rgba(255,253,245,.78);box-shadow:0 2px 8px rgba(0,0,0,.35);transition:transform .16s ease,background .16s ease}.settings-switch-text{color:inherit;font-size:.66rem;font-weight:900;text-align:left}.settings-switch.is-on{color:var(--teal)}.settings-switch.is-on .settings-switch-track{border-color:rgba(70,214,196,.58);background:rgba(70,214,196,.2)}.settings-switch.is-on .settings-switch-thumb{background:var(--teal);transform:translateX(18px)}.settings-keymap{display:grid;grid-gap:14px;gap:14px}.settings-keymap-hint{display:inline-flex;gap:6px;align-items:center;justify-content:center;margin:0;color:var(--ink-dim);font-size:.72rem;font-weight:700;line-height:1.4}.settings-keymap-hint svg{flex:none}.settings-keymap-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.settings-keymap-row{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:6px 8px 6px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass)}.settings-keymap-row.is-capturing{border-color:rgba(255,122,92,.65);background:var(--accent-soft)}.settings-keymap-action{color:var(--ink);font-size:.8rem;font-weight:800;text-align:left}.settings-keymap-key{min-width:66px;min-height:30px;padding:0 10px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(6,10,13,.7);color:var(--ink);font-family:var(--font-system);font-size:.78rem;font-weight:800;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.settings-keymap-key:hover{border-color:rgba(255,255,255,.5)}.settings-keymap-row.is-capturing .settings-keymap-key{border-color:rgba(255,122,92,.8);color:var(--accent);font-size:.66rem;animation:keymap-capturing 1s ease-in-out infinite}@keyframes keymap-capturing{0%,to{opacity:.6}50%{opacity:1}}.settings-keymap-note{margin:0;color:var(--accent);font-size:.7rem;font-weight:800}.settings-keymap-reset{min-height:36px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink-dim);font-weight:800;cursor:pointer;transition:border-color .16s ease,color .16s ease}.settings-keymap-reset:hover{border-color:rgba(255,255,255,.4);color:var(--ink)}.settings-sound{display:grid;grid-gap:18px;gap:18px}.settings-sound-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.settings-sound-row .settings-display-label{line-height:1.35;white-space:normal}.settings-dialog h2{margin-bottom:6px}.settings-lang{display:grid;grid-gap:12px;gap:12px;justify-items:stretch}.settings-lang-label{display:inline-flex;gap:6px;align-items:center;justify-content:center;color:var(--ink-dim);font-size:.72rem;font-weight:800}.settings-lang-label svg{display:block}.settings-lang-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.settings-lang-btn{min-height:40px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink-dim);font-weight:800;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.settings-lang-btn.is-active{border-color:rgba(255,122,92,.6);background:var(--accent-soft);color:var(--ink)}.settings-mute{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink);font-weight:800;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.settings-mute svg{display:block}.settings-mute.is-muted{border-color:rgba(255,92,85,.6);color:var(--danger)}.settings-slider{display:grid;grid-template-columns:52px 1fr 46px;grid-gap:10px;gap:10px;align-items:center;color:var(--ink-dim);font-size:.78rem;font-weight:800;text-align:left}.settings-slider input[type=range]{width:100%;accent-color:var(--accent)}.settings-slider strong{justify-self:end;color:var(--ink);font-family:var(--font-system);font-size:.76rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.settings-close{margin-top:4px;width:100%}.unsupported-viewport-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:rgba(0,0,0,.82);pointer-events:auto}.unsupported-viewport-dialog{display:grid;grid-gap:14px;gap:14px;width:min(520px,100%);padding:26px 24px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-lg);background:rgba(10,15,19,.94);box-shadow:0 24px 68px rgba(0,0,0,.55);text-align:center}.unsupported-viewport-dialog h2,.unsupported-viewport-dialog p{margin:0}.unsupported-viewport-dialog h2{font-size:clamp(1.08rem,3.2cqw,1.5rem);font-weight:900}.unsupported-viewport-dialog p{color:var(--ink-dim);font-size:.9rem;font-weight:700;line-height:1.7}.unsupported-viewport-body{white-space:pre-line}.unsupported-viewport-spec{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:4px 0 0}.unsupported-viewport-spec div{display:grid;grid-gap:4px;gap:4px;padding:10px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:rgba(255,255,255,.05)}.unsupported-viewport-spec dd,.unsupported-viewport-spec dt{margin:0}.unsupported-viewport-spec dt{color:var(--ink-faint);font-size:.68rem;font-weight:900;letter-spacing:.08em}.unsupported-viewport-spec dd{color:var(--ink);font-family:var(--font-system);font-size:.84rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hud{position:absolute;inset:0;z-index:10;pointer-events:none}.banner,.boss-hud,.cutin,.debug-overlay,.hud,.intro-overlay,.touch-controls{-moz-user-select:none;user-select:none;-webkit-user-select:none}.hud.is-hidden{display:none}.hud-top{display:contents}.boss-hud,.meter-group,.player-status-frame{min-width:0}.boss-hud,.player-status-frame{position:relative;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink)}.player-status-frame{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:62px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;width:min(380px,calc(100cqw - 680px));min-width:320px;padding:6px 16px 6px 6px;border-radius:999px;background:linear-gradient(90deg,rgba(5,9,11,0),var(--hud-scrim) 16%,var(--hud-scrim) 84%,rgba(5,9,11,0))}.player-portrait{position:relative;display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.22),rgba(9,15,18,.66) 74%),rgba(9,15,18,.8)}.player-portrait canvas,.player-portrait img{width:72px;height:72px;object-fit:cover;object-position:center bottom;transform:translateY(5px);filter:drop-shadow(0 6px 8px rgba(0,0,0,.3))}.player-meter-stack{display:grid;grid-gap:7px;gap:7px}.meter-group{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.boss-hud{position:absolute;top:max(14px,env(safe-area-inset-top));left:50%;width:min(500px,calc(100cqw - 140px));min-width:300px;padding:4px 12px 8px;transform:translateX(-50%);justify-self:auto}.boss-hud.is-hidden{display:none}.boss-buffs{display:flex;gap:6px;justify-content:center;margin-top:6px}.boss-buff-tag{padding:2px 10px;border-radius:999px;border:1px solid rgba(255,138,92,.55);background:rgba(255,92,85,.18);color:#ff9d7a;font-family:var(--font-system);font-size:.66rem;font-weight:900;letter-spacing:.04em;animation:boss-buff-pulse .9s ease-in-out infinite alternate}.boss-buff-tag.is-ailment{border-color:rgba(168,85,247,.55);background:rgba(168,85,247,.18);color:#c9a3fb;animation:none}.phase3-wake-stack{position:absolute;top:max(84px,calc(env(safe-area-inset-top) + 84px));left:50%;z-index:12;display:grid;justify-items:center;grid-gap:6px;gap:6px;width:min(680px,calc(100cqw - 32px));transform:translateX(-50%);pointer-events:none}.phase3-wake-card{display:grid;grid-template-columns:auto auto;grid-gap:10px;gap:10px;align-items:baseline;justify-content:center;width:-moz-fit-content;width:fit-content;min-width:136px;margin:0;padding:5px 12px 6px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(5,9,11,.72);box-shadow:0 10px 28px rgba(0,0,0,.3),inset 0 0 18px rgba(139,211,224,.08)}.phase3-wake-warning{width:min(560px,100%);max-width:100%;margin:0;color:#ffef9a;font-size:.76rem;font-weight:1000;line-height:1.35;text-align:center;text-shadow:0 0 12px rgba(255,68,54,.78),0 2px 8px rgba(0,0,0,.75);animation:phase3-wake-warning-blink .62s steps(2) infinite}.phase3-wake-label{color:rgba(255,253,245,.72);font-size:.62rem;font-weight:1000;letter-spacing:.14em}.phase3-wake-time{color:#fffdf5;font-size:1.12rem;font-weight:1000;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em;text-shadow:0 0 10px rgba(139,211,224,.28)}.phase3-wake-card.is-urgent{border-color:rgba(255,72,56,.62);background:rgba(62,0,0,.84);box-shadow:0 0 22px rgba(255,40,32,.28),inset 0 0 18px rgba(255,50,38,.18);animation:wake-card-alert .56s steps(2) infinite}.phase3-wake-card.is-urgent .phase3-wake-label,.phase3-wake-card.is-urgent .phase3-wake-time{color:#ff3b30;text-shadow:0 0 12px rgba(255,42,32,.62)}@keyframes wake-card-alert{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@keyframes phase3-wake-warning-blink{0%,to{opacity:1}50%{opacity:.22}}@media (prefers-reduced-motion:reduce){.phase3-wake-warning{animation:none}}@keyframes boss-buff-pulse{0%{box-shadow:0 0 4px rgba(255,92,85,.3)}to{box-shadow:0 0 14px rgba(255,92,85,.6)}}.meter-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--ink-dim);font-size:.66rem;font-weight:800;letter-spacing:.1em}.meter{position:relative;width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;background:rgba(255,255,255,.16)}.meter-hp{height:7px}.meter-special{height:4px}.meter span{display:block;width:0;height:100%;border-radius:inherit;transition:width .14s ease-out}.meter-hp span{color:rgba(255,92,85,.75);background:linear-gradient(90deg,#c0303a,#ff5c55 55%,#ffab8f)}.meter-special span{color:rgba(70,214,196,.75);background:linear-gradient(90deg,#1c7f78,#46d6c4 58%,#b7fff2)}.meter-group.is-ready{animation:special-ready-pulse .78s ease-in-out infinite alternate}.meter-group.is-ready .meter-special span{color:rgba(245,185,66,.85);background:linear-gradient(90deg,#b57c17,#f5b942 52%,#ffedb1)}.meter-boss span{color:rgba(255,92,85,.6);background:linear-gradient(90deg,#571d26,#b0333c 58%,#ff8d7a)}.stat-chip{display:grid;grid-gap:2px;gap:2px;align-items:center;justify-items:center;min-width:44px;min-height:44px;padding:6px 8px;border:0;border-radius:50%;background:rgba(5,9,11,.4);font-weight:900}.stat-chip span{color:var(--ink-faint);font-size:.6rem;letter-spacing:.08em}.stat-chip strong{color:var(--gold);font-size:1.05rem;line-height:1}.boss-title-row{position:relative;display:grid;grid-template-columns:1fr auto 1fr;grid-gap:10px;gap:10px;align-items:center;margin-bottom:6px;color:var(--ink);font-size:.8rem;font-weight:900;text-shadow:0 1px 4px rgba(0,0,0,.5)}.boss-title-row strong{letter-spacing:.14em}.boss-title-row span:last-child{justify-self:end;color:var(--ink-dim);font-size:.72rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.boss-title-mark{display:block;justify-self:start;width:9px;height:9px;border-radius:2px;background:linear-gradient(135deg,#ff8d7a,var(--danger));transform:rotate(45deg)}.status-effects{position:absolute;bottom:calc(100% + 8px);left:50%;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:max-content;max-width:90cqw;transform:translateX(-50%);pointer-events:none}.status-badge{--badge-color:#cdd6df;padding:3px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--badge-color) 55%,transparent);background:color-mix(in srgb,var(--badge-color) 16%,rgba(6,10,13,.86));color:var(--badge-color);font-family:var(--font-system);font-size:.66rem;font-weight:900;letter-spacing:.04em;box-shadow:0 0 10px color-mix(in srgb,var(--badge-color) 28%,transparent);animation:status-pop .22s cubic-bezier(.2,.9,.3,1)}.status-badge.is-up{--badge-color:#ff8072}.status-badge.is-down{--badge-color:#7fb4e8}.status-badge.is-poison{--badge-color:#a855f7}.status-badge.is-burn{--badge-color:#ff9d4d}.status-badge.is-stun{--badge-color:#f5c542}.status-badge.is-burn,.status-badge.is-down,.status-badge.is-poison,.status-badge.is-up{animation:status-pop .22s cubic-bezier(.2,.9,.3,1),status-pulse .9s ease-in-out infinite alternate}.status-badge.is-expiring{animation:status-pop .22s cubic-bezier(.2,.9,.3,1),status-blink .46s ease-in-out infinite}@keyframes status-blink{0%{opacity:1}50%{opacity:.25}to{opacity:1}}@keyframes status-pop{0%{opacity:0;transform:translateY(6px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes status-pulse{0%{filter:brightness(1)}to{filter:brightness(1.25)}}.weapon-row{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,158px);grid-gap:8px;gap:8px}.keymap-row{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:11;display:flex;flex-wrap:wrap;gap:6px;max-width:720px}.keymap-row span{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:4px 10px;border:0;border-radius:999px;background:rgba(5,9,11,.35);color:var(--ink-dim);font-size:.7rem;font-weight:800}kbd{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 5px;border:1px solid rgba(255,255,255,.22);border-radius:5px;background:transparent;color:var(--ink);font:800 .66rem system-ui,sans-serif}.weapon-card{min-width:0;padding:7px 10px 8px;border:0;border-radius:var(--radius-sm);background:rgba(5,9,11,.4);box-shadow:inset 0 -2px 0 rgba(255,255,255,.08);color:var(--ink)}.weapon-card.is-locked{opacity:.42}.weapon-card.is-evolved .weapon-name{color:var(--gold)}.weapon-special.is-ready{background:rgba(5,9,11,.48);box-shadow:inset 0 -2px 0 var(--gold);animation:special-ready-pulse .78s ease-in-out infinite alternate}.weapon-special.is-ready .weapon-name{color:var(--gold)}.weapon-header{display:flex;align-items:center;gap:6px;min-width:0}.key-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:28px;min-height:20px;padding:2px 7px;border:0;border-radius:6px;background:rgba(70,214,196,.16);color:var(--teal);font-size:.68rem;font-weight:900}.weapon-name{display:block;overflow:hidden;font-size:.76rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.weapon-meta{display:flex;justify-content:space-between;gap:6px;margin-top:5px;color:var(--ink-dim);font-size:.68rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.weapon-meta span:first-child{overflow:hidden;min-width:0;text-overflow:ellipsis}.banner{position:absolute;top:42%;left:50%;z-index:15;padding:12px 38px;border:0;border-block:1px solid rgba(255,92,85,.6);background:linear-gradient(90deg,transparent,rgba(28,6,8,.78) 18%,rgba(28,6,8,.78) 82%,transparent);color:#ffe9e4;font-size:clamp(2.2rem,8cqw,5.4rem);font-weight:1000;letter-spacing:.18em;text-shadow:0 0 22px rgba(255,92,85,.55);transform:translate(-50%,-50%);animation:banner-blink .52s ease-in-out infinite;pointer-events:none;white-space:nowrap;text-align:center}.banner-line{display:block}.banner.is-hidden{display:none}.banner.is-fatal{border-block-color:rgba(255,60,48,.9);background:linear-gradient(90deg,transparent,rgba(64,4,4,.86) 16%,rgba(64,4,4,.86) 84%,transparent);color:#ffd9d2;font-size:clamp(1.7rem,5.6cqw,4rem);letter-spacing:.1em;text-shadow:0 0 26px rgba(255,60,48,.75);animation:fatal-flash .36s steps(2) infinite}@keyframes fatal-flash{0%{opacity:1}to{opacity:.32}}.cutin{position:absolute;inset:0;z-index:16;overflow:hidden;background:radial-gradient(96% 110% at 74% 56%,rgba(70,214,196,.12),transparent 58%),linear-gradient(100deg,rgba(4,7,9,.9) 24%,rgba(10,18,22,.62) 58%,rgba(4,7,9,.86));pointer-events:none}.cutin:before{inset:-20%;background:repeating-linear-gradient(100deg,transparent 0 34px,rgba(255,255,255,.045) 34px 38px);transform:translateX(-12%);animation:cutin-lines 1.2s ease-out forwards}.cutin:after,.cutin:before{content:"";position:absolute}.cutin:after{inset:0;background:linear-gradient(100deg,transparent 26%,rgba(255,255,255,.14) 50%,transparent 74%);transform:translateX(-120%);animation:cutin-sheen .85s ease-out forwards}.cutin.is-hidden{display:none}.cutin canvas,.cutin img{position:absolute;right:clamp(-30px,4cqw,120px);bottom:-6cqh;height:min(86cqh,720px);filter:drop-shadow(-18px 8px 30px rgba(0,0,0,.5));animation:cutin-slide .9s cubic-bezier(.16,.84,.3,1) forwards}.cutin strong{position:absolute;z-index:2;left:clamp(24px,8cqw,160px);top:42%;font-size:clamp(2.4rem,7.5cqw,6.6rem);font-weight:1000;letter-spacing:.08em;white-space:nowrap;background:linear-gradient(120deg,#fff 34%,rgba(70,214,196,.95));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;transform:translateY(-50%) skewX(-6deg);animation:cutin-title .8s cubic-bezier(.16,.84,.3,1) forwards}.cutin strong:after{content:"";position:absolute;left:4px;right:-14%;bottom:-12px;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.9),transparent)}.cutin.is-matatabi{background:radial-gradient(96% 110% at 74% 56%,rgba(255,92,85,.16),transparent 58%),linear-gradient(100deg,rgba(14,4,6,.9) 24%,rgba(34,10,14,.66) 58%,rgba(14,4,6,.86))}.cutin.is-matatabi canvas,.cutin.is-matatabi img{filter:drop-shadow(-18px 8px 30px rgba(120,10,20,.55)) saturate(1.15)}.cutin.is-matatabi strong{background:linear-gradient(120deg,#fff 30%,#ff8a7a 70%,#ff5c55);-webkit-background-clip:text;background-clip:text}.cutin.is-boss{background:radial-gradient(96% 110% at 74% 56%,rgba(245,185,66,.12),transparent 58%),linear-gradient(100deg,rgba(9,6,16,.92) 24%,rgba(44,28,57,.7) 58%,rgba(9,6,16,.9))}.cutin.is-boss canvas,.cutin.is-boss img{filter:drop-shadow(-18px 8px 32px rgba(245,185,66,.3))}.cutin.is-boss strong{background:linear-gradient(120deg,#fff 26%,var(--gold) 72%);-webkit-background-clip:text;background-clip:text}.result-rank.is-hidden{display:none}.result-rank{margin:14px auto 8px;font-size:clamp(5rem,18cqw,9.5rem);font-weight:1000;line-height:1;background:linear-gradient(160deg,#ffd9a8 12%,var(--gold) 48%,var(--accent) 88%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 8px 26px rgba(245,185,66,.3))}.result-rank.is-hidden+.result-score-line{margin-top:26px}.result-score-line{display:inline-flex;align-items:baseline;gap:10px;margin:0 auto 18px;padding:9px 18px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(255,255,255,.05);color:var(--ink-dim);font-size:.8rem;font-weight:800}.result-score-line strong{color:var(--ink);font-size:clamp(1.15rem,4cqw,1.7rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0 0 18px}.result-stats div{display:grid;grid-gap:4px;gap:4px;padding:12px 8px;border:0;border-radius:var(--radius-sm);background:rgba(5,9,11,.45)}.result-stats dt{color:var(--ink-dim);font-size:.74rem;font-weight:700}.result-stats dd{margin:0;font-size:1.3rem;font-weight:1000;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.touch-controls{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:12;display:none;grid-template-columns:repeat(4,52px);gap:8px}.touch-controls button{width:52px;height:52px;padding:0;border-radius:50%;background:rgba(5,9,11,.55);color:var(--ink);font-size:.86rem;font-weight:900;pointer-events:auto}@keyframes special-ready-pulse{0%{filter:drop-shadow(0 0 0 rgba(245,185,66,0))}to{filter:drop-shadow(0 0 10px rgba(245,185,66,.75))}}@keyframes banner-blink{0%{opacity:1}50%{opacity:.28}to{opacity:1}}@keyframes cutin-sheen{to{transform:translateX(120%)}}@keyframes cutin-lines{0%{transform:translateX(-12%);opacity:1}to{transform:translateX(0);opacity:.5}}@keyframes cutin-slide{0%{transform:translateX(14%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes cutin-title{0%{transform:translateY(-50%) translateX(-6%) skewX(-6deg);opacity:0}to{transform:translateY(-50%) translateX(0) skewX(-6deg);opacity:1}}@media (max-width:980px){.player-status-frame{width:min(340px,calc(100cqw - 24px));min-width:0}.weapon-row{bottom:calc(96px + env(safe-area-inset-bottom))}}@media (hover:none),(max-width:760px){.touch-controls{display:grid}.keymap-row{display:none}.player-status-frame{bottom:calc(76px + env(safe-area-inset-bottom))}.weapon-row{bottom:calc(154px + env(safe-area-inset-bottom))}}@media (max-width:720px){.settings-display-list{grid-template-columns:1fr}.screen{align-items:center;overflow:hidden}.screen-select{align-content:start;gap:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.screen-select .title-hero{justify-self:start;max-width:calc(100cqw - 168px);margin-left:4px}.screen-select h1{font-size:clamp(1.25rem,8cqw,1.9rem)}.screen-select .title-kana{margin-top:2px;font-size:.58rem;letter-spacing:.22em}.top-toolbar{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));gap:6px}.settings-button{min-height:34px;padding:0 10px;font-size:.72rem}.settings-icon-button{gap:5px}.select-flow{width:100%;max-height:calc(100cqh - 72px);margin-top:4px}.step-header{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;margin-bottom:12px}.step-count{font-size:.56rem;letter-spacing:.18em}.step-title{min-width:0;font-size:clamp(.9rem,4.5cqw,1.15rem);text-align:center}.step-selected{font-size:.58rem;letter-spacing:.14em}.result-panel{max-height:none}.select-grid{grid-template-columns:minmax(0,320px);gap:10px}.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.cat-card,.stage-card{gap:7px;padding:10px}.app-version-tag,.cat-card p,.cat-card-meta,.creator-credit,.legal-links,.ranking{display:none}.screen-minigames .creator-credit{right:max(8px,env(safe-area-inset-right));bottom:calc(max(8px, env(safe-area-inset-bottom)) + 22px);display:inline-flex;padding:4px 8px;font-size:.56rem}.screen-minigames .app-version-tag{left:max(8px,env(safe-area-inset-left));bottom:calc(max(8px, env(safe-area-inset-bottom)) + 24px);display:block;font-size:.5rem}.screen-minigames .legal-links{bottom:max(7px,env(safe-area-inset-bottom));display:flex;gap:8px}.screen-minigames .legal-link{font-size:.56rem}.screen-minigames{place-items:start center;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(40px,env(safe-area-inset-bottom))}.minigame-shell{grid-template-rows:48px minmax(0,1fr);gap:10px;width:min(100%,calc(100cqw - 20px));height:calc(100cqh - 78px)}.minigame-header{grid-template-columns:96px minmax(0,1fr) 96px;gap:8px;min-height:48px}.minigame-shell.is-billiards .minigame-header,.minigame-shell.is-line-guide .minigame-header,.minigame-shell.is-maze .minigame-header,.minigame-shell.is-odd-cat .minigame-header{grid-template-columns:82px minmax(0,1fr) 82px}.minigame-back,.minigame-home{min-height:34px;padding:0 10px;font-size:.68rem}.minigame-header h1{justify-self:center;font-size:1.38rem;letter-spacing:0}.minigame-shell.is-menu .minigame-header h1{font-size:1.02rem;letter-spacing:.02em}.minigame-shell.is-billiards .minigame-header h1,.minigame-shell.is-line-guide .minigame-header h1,.minigame-shell.is-maze .minigame-header h1,.minigame-shell.is-odd-cat .minigame-header h1{font-size:.72rem;line-height:1.15}.minigame-header-rule{font-size:.52rem;line-height:1.15}.minigame-menu{gap:12px}.minigame-selected-cat{grid-template-columns:40px minmax(0,1fr) auto;gap:8px;width:100%;min-height:48px}.minigame-selected-cat-portrait{width:38px;height:38px}.minigame-selected-cat-portrait canvas,.minigame-selected-cat-portrait img{bottom:-5px;height:116%}.minigame-change-cat{min-height:32px;padding:0 9px;font-size:.62rem}.minigame-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 7px}.minigame-slot-name{font-size:.62rem}.minigame-cat-select{gap:12px}.minigame-step-title{font-size:.96rem}.minigame-cat-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.minigame-cat-choice-card{padding:9px}.minigame-cat-choice-card .cat-card-visual{min-height:92px}.minigame-ranking{display:grid;grid-gap:7px;gap:7px;width:100%;padding:8px}.minigame-ranking-head{align-items:flex-start}.minigame-ranking .ranking-title{font-size:.7rem}.minigame-total-clears{padding:3px 8px;font-size:.58rem}.minigame-ranking-list li{grid-template-columns:22px 70px 62px minmax(0,1fr);gap:5px;padding:4px 6px}.minigame-ranking-label{padding:2px 6px;font-size:.58rem}.maze-stage{gap:8px}.maze-topline{grid-template-columns:auto minmax(0,1fr) 40px;gap:7px}.minigame-restart{width:38px;min-height:34px}.maze-layout{grid-template-columns:minmax(0,1fr);gap:8px}.maze-board{width:min(100%,calc(100cqh - 260px));justify-self:center}.maze-side{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.maze-cat-badge{grid-column:1/-1;min-height:44px;grid-template-columns:36px minmax(0,1fr);padding:5px 8px 5px 5px;font-size:.72rem}.maze-cat-badge-portrait{width:34px;height:34px}.maze-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.maze-stats div{min-height:42px;padding:5px}.maze-stats dt{font-size:.5rem}.maze-stats dd{font-size:.72rem}.maze-controls{grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,32px);gap:4px}.odd-cat-stage{gap:8px}.odd-cat-feedback{min-width:0;font-size:.66rem}.odd-cat-finish{min-height:34px;padding:0 8px;font-size:.6rem}.odd-cat-board{width:min(100%,calc(100cqh - 260px));padding:5px}.billiards-stage{gap:6px}.billiards-layout{grid-template-columns:minmax(0,1fr);gap:7px}.billiards-board{justify-self:center;width:100%}.billiards-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.billiards-side .maze-cat-badge{grid-column:1;min-height:38px}.billiards-stats{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.billiards-stats div{min-height:36px;padding:4px}.billiards-notice{grid-column:1/-1;min-height:32px;padding:4px 6px;font-size:.54rem}.billiards-key-hint{display:none}.line-guide-stage{gap:6px}.line-guide-layout{grid-template-columns:minmax(0,1fr);gap:7px}.line-guide-board{justify-self:center;width:min(100%,calc((100cqh - 260px) * 1.4615))}.line-guide-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.line-guide-side .maze-cat-badge{grid-column:1;min-height:38px}.line-guide-actions,.line-guide-notice,.line-guide-stats{grid-column:1/-1}.line-guide-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.line-guide-stats div{min-height:36px;padding:4px}.line-guide-notice{min-height:32px;padding:4px 6px;font-size:.54rem}.line-guide-key-hint{display:none}.stage-card{--stage-card-padding:8px;gap:8px 7px;padding:8px}.stage-visual{--stage-visual-height:clamp(48px,11cqh,72px)}.stage-ribbon{--stage-ribbon-bottom:6px;--stage-ribbon-height:18px;padding:3px 8px 3px 10px;font-size:.54rem}.stage-boss-name{font-size:.76rem}.stage-location{margin-top:-5px;font-size:.58rem}.step-actions{gap:8px;margin-top:0}.ghost-button,.primary-button{min-height:36px;padding:0 14px;font-size:.76rem}#start-button{width:178px}.result-stats{grid-template-columns:1fr 1fr}.player-status-frame{grid-template-columns:48px minmax(0,1fr);gap:8px;width:min(316px,calc(100cqw - 24px));padding:6px 12px 6px 6px}.player-portrait{width:44px;height:44px}.player-portrait canvas,.player-portrait img{width:54px;height:54px}.stat-chip{min-width:38px;min-height:38px;padding:4px 5px}.stat-chip span{font-size:.56rem}.stat-chip strong{font-size:.88rem}.boss-title-row{font-size:.74rem}.cat-card-visual{min-height:138px}.weapon-row{grid-template-columns:repeat(2,140px)}.weapon-card{padding-inline:8px}.weapon-header{align-items:flex-start}.key-badge{min-width:24px;padding-inline:5px;font-size:.62rem}.weapon-name{overflow:visible;line-height:1.15;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}}.ending-screen{position:absolute;inset:0;z-index:22;overflow:hidden;background:#000}.ending-whiteout{position:absolute;inset:0;background:#fffdf5;animation:ending-whiteout 2.6s ease-out forwards;pointer-events:none}@keyframes ending-whiteout{0%{opacity:1}to{opacity:0}}.dream-wake,.ending-dream-deepen,.select-dream-hint{display:grid;place-items:center;background:radial-gradient(circle at 50% 60%,rgba(64,18,48,.92),rgba(8,2,10,.98));animation:dream-deepen-in 2.7s ease-out forwards}.ending-dream-deepen{position:absolute;inset:0;z-index:5}.dream-wake{z-index:30;animation:none}.dream-wake,.select-dream-hint{position:absolute;inset:0;background:#000}.select-dream-hint{z-index:6;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));animation:dream-deepen-in 2.7s ease-out forwards;pointer-events:auto}.select-dream-hint.is-closing{pointer-events:none;animation:dream-hint-out .9s ease-in forwards}.dream-wake span,.ending-dream-deepen span,.select-dream-hint>span{color:#ffd9e8;font-size:clamp(1.2rem,3.4cqw,2rem);font-weight:800;letter-spacing:.34em;text-shadow:0 0 22px rgba(240,138,174,.55);animation:dream-deepen-text 7s ease-in-out forwards}.dream-wake span{animation:dream-wake-text 5.2s ease-in-out forwards}.select-dream-hint>span{max-width:min(780px,100%);font-size:clamp(1rem,2.4cqw,1.45rem);letter-spacing:.08em;line-height:1.9;text-align:center;animation:dream-hint-text-in 2s ease-out forwards}.select-dream-hint.is-closing>span{animation:dream-hint-text-out .9s ease-in forwards}@keyframes dream-confirm-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dream-confirm-in{0%{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes dream-hint-text-in{0%{opacity:0;filter:blur(12px);transform:scale(1.06)}48%{opacity:.5;filter:blur(6px)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes dream-hint-out{0%{opacity:1}to{opacity:0}}@keyframes dream-hint-text-out{0%{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(10px);transform:scale(.98)}}@keyframes dream-confirm-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes dream-confirm-out{0%{opacity:1;filter:blur(0);transform:translateY(0)}to{opacity:0;filter:blur(8px);transform:translateY(10px)}}@keyframes dream-deepen-in{0%{opacity:0}75%{opacity:1}to{opacity:1}}@keyframes dream-deepen-text{0%{opacity:0;filter:blur(12px);transform:scale(1.08)}14%{opacity:.5;filter:blur(6px)}29%{opacity:1;filter:blur(0);transform:scale(1)}71%{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(10px);transform:scale(.98)}}@keyframes dream-wake-text{0%{opacity:0;filter:blur(12px);transform:scale(1.08)}24%{opacity:1;filter:blur(2px);transform:scale(1)}78%{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(8px);transform:scale(.98)}}.ending-roll{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);width:100%}.ending-photo,.ending-roll{position:relative;height:100%}.ending-photo{overflow:hidden}.ending-photo canvas,.ending-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease}.ending-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 72%,rgba(0,0,0,.9));pointer-events:none}.ending-photo canvas.is-current,.ending-photo img.is-current{opacity:1}.ending-credits-viewport{position:relative;overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}.ending-credits{position:absolute;top:100%;right:0;left:0;display:grid;grid-gap:clamp(28px,6cqh,56px);gap:clamp(28px,6cqh,56px);padding:0 clamp(20px,6cqw,72px);text-align:center;animation-name:ending-roll-up;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes ending-roll-up{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - 100cqh))}}.ending-credit-role{display:block;margin-bottom:10px;color:var(--ink-dim);font-size:.76rem;font-weight:700;letter-spacing:.26em}.ending-credit strong{display:block;color:var(--ink);font-size:clamp(1rem,2.2cqh,1.3rem);font-weight:900;letter-spacing:.04em;line-height:1.9;overflow-wrap:anywhere}.ending-skip{position:absolute;right:24px;bottom:20px;opacity:.72}.ending-thanks{position:absolute;inset:0;display:grid;place-items:center;padding:0;border:0;background:#000;font:inherit;cursor:pointer;animation:ending-thanks-in .9s ease}.ending-thanks-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ending-thanks-body{position:relative;display:grid;grid-gap:12px;gap:12px;justify-items:center;text-shadow:0 2px 18px rgba(0,0,0,.85)}.ending-thanks-title{color:#fffdf5;font-size:clamp(1.4rem,4.4cqw,2.6rem);font-weight:900;letter-spacing:.12em}.ending-thanks-note{color:rgba(255,253,245,.78);font-size:.8rem;letter-spacing:.14em}@keyframes ending-thanks-in{0%{opacity:0}to{opacity:1}}@media (max-width:760px){.ending-roll{grid-template-columns:1fr;grid-template-rows:minmax(0,5fr) minmax(0,7fr)}.ending-photo:after{background:linear-gradient(180deg,transparent 72%,rgba(0,0,0,.9))}}.dex-overlay{position:fixed;inset:0;z-index:28;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(4,8,10,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlay-fade-in .2s ease-out}.dex-overlay.is-closing{animation:overlay-fade-out .2s ease-in forwards}.dex-dialog{display:flex;flex-direction:column;gap:12px;width:min(720px,100%);height:min(640px,calc(100cqh - 32px));padding:18px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-panel);animation:step-in .26s cubic-bezier(.2,.9,.3,1)}.dex-dialog.is-closing{animation:step-out .2s cubic-bezier(.4,0,1,1) forwards}.dex-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dex-title{margin:0;font-size:1.05rem;font-weight:900;letter-spacing:.06em}.dex-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink);font-size:1rem;font-weight:800;cursor:pointer}.dex-close:hover{background:var(--glass-highlight)}.dex-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.dex-tab{min-height:38px;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink-dim);font-size:.8rem;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.dex-tab.is-active{border-color:rgba(255,122,92,.55);background:var(--accent-soft);color:var(--ink)}.dex-note{margin:0;color:var(--ink-faint);font-size:.72rem}.dex-list{flex:1 1 auto;min-height:0;display:grid;grid-gap:10px;gap:10px;margin:0;padding:0 4px 0 0;overflow-y:auto;overscroll-behavior:contain;list-style:none}.dex-entry{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;padding:12px;border:1px solid var(--glass-highlight);border-radius:var(--radius-md);background:var(--glass)}.dex-visual{display:grid;place-items:center;width:76px;height:76px;overflow:hidden;border-radius:var(--radius-sm);background:radial-gradient(80% 80% at 50% 40%,rgba(255,255,255,.1),rgba(255,255,255,.02))}.dex-visual canvas,.dex-visual img{max-width:112%;max-height:112%;object-fit:contain}.dex-visual.is-locked canvas,.dex-visual.is-locked img{filter:brightness(0);opacity:.9}.dex-cat-stats{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}.dex-stat{display:inline-flex;gap:6px;align-items:baseline;padding:3px 9px;border:1px solid var(--glass-border);border-radius:6px;background:rgba(9,15,18,.6);font-size:.72rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dex-stat em{color:var(--gold);font-size:.62rem;font-style:normal;font-weight:900;letter-spacing:.06em}.dex-entry-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.dex-name{margin:0;font-size:.95rem;font-weight:900}.dex-meta{padding:2px 10px;border:1px solid var(--glass-border);border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.dex-desc,.dex-meta{color:var(--ink-dim)}.dex-desc{margin:6px 0 0;font-size:.78rem;line-height:1.65}@media (max-width:600px){.dex-entry{grid-template-columns:56px minmax(0,1fr);gap:10px}.dex-visual{width:56px;height:56px}}.hud-clock{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:11;display:grid;grid-gap:2px;gap:2px}.hud-clock-time{color:#fff;font-size:1.05rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em;text-shadow:0 2px 8px rgba(0,0,0,.7)}.hud-clock-grade,.hud-clock-stage{color:rgba(255,255,255,.85);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-shadow:0 2px 6px rgba(0,0,0,.7)}.debug-overlay{position:absolute;top:calc(max(12px, env(safe-area-inset-top)) + 46px);right:max(12px,env(safe-area-inset-right));z-index:25;display:grid;grid-gap:8px;gap:8px;justify-items:end;width:min(260px,calc(100cqw - 24px));pointer-events:none}.debug-badge{display:inline-flex;gap:6px;align-items:center;padding:5px 14px;border:0;border-radius:999px;background:var(--danger);color:#fff;font-family:var(--font-system);font-size:.74rem;font-weight:900;letter-spacing:0;box-shadow:0 6px 16px rgba(255,92,85,.4);cursor:pointer;pointer-events:auto}.debug-badge.is-invincible-off{background:#6f4bc8;box-shadow:0 6px 16px rgba(111,75,200,.36)}.debug-badge:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:3px}.debug-badge svg{display:block}.debug-panel{display:grid;grid-gap:8px;gap:8px;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:rgba(0,0,0,.82);color:var(--ink);font-family:var(--font-system)}.debug-panel-row{display:flex;justify-content:space-between;gap:10px;font-size:.74rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.debug-panel-row span{color:var(--ink-dim)}.debug-panel-row strong{font-weight:900}.debug-items{margin:2px 0 0;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-gap:3px;gap:3px}.debug-items-title{color:var(--ink-dim);font-size:.64rem;font-weight:800;letter-spacing:.08em}.debug-item{display:flex;justify-content:space-between;gap:10px;font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.debug-item-empty{color:var(--ink-faint);font-size:.7rem}.debug-action-grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.debug-action-button{padding:2px 7px;border:1px solid rgba(255,122,92,.5);border-radius:6px;background:rgba(255,92,85,.14);color:#ffb6a0;font-family:var(--font-system);font-size:.6rem;font-weight:700;cursor:pointer;pointer-events:auto}.debug-action-button:hover{background:rgba(255,122,92,.28);color:#fff}.result-actions{display:flex;gap:12px;align-items:center;justify-content:center}.result-actions button{display:inline-flex;align-items:center;gap:8px}.result-actions button kbd{border-color:rgba(255,255,255,.45);color:#fff}.result-title-row{display:flex;align-items:center;justify-content:center;gap:12px}.result-title-row h2{margin:0}.share-trigger{display:grid;flex-shrink:0;place-items:center;width:40px;height:40px;margin-top:6px;padding:0;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass);color:var(--ink);cursor:pointer}.share-trigger:hover{background:var(--glass-highlight)}.share-dialog{width:min(560px,100%);height:auto;max-height:min(680px,calc(100cqh - 32px));overflow:auto}.minigame-share-dialog .minigame-share-header{justify-content:flex-end}.share-card-preview{position:relative;margin:0 0 14px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);background:rgba(10,17,21,.5);min-height:64px}.share-card-preview-canvas{display:flex;line-height:0}.share-card-canvas{display:block;width:100%;height:auto}.share-card-generating{margin:0;padding:22px 12px;font-size:.82rem;color:var(--ink-faint)}.share-panel-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.share-panel-actions button{display:inline-flex;align-items:center;gap:8px}.share-panel-actions button:disabled{opacity:.5;cursor:not-allowed}.share-status-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:rgba(4,8,10,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:dream-confirm-backdrop-in .26s ease-out forwards}.share-status-overlay.is-closing{animation:dream-confirm-backdrop-out .2s ease-in forwards}.share-status-card{display:grid;grid-gap:16px;gap:16px;width:min(360px,calc(100cqw - 32px));padding:22px 24px 24px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-panel);text-align:center;animation:dream-confirm-in .26s ease-out forwards}.share-status-card.is-closing{animation:dream-confirm-out .2s ease-in forwards}.share-status-card p{margin:0;color:var(--ink);font-size:1rem;font-weight:800;line-height:1.5}.share-status-card .primary-button{justify-self:center;min-width:108px}.dex-diff.is-easy{background:rgba(70,214,196,.2);color:var(--teal)}.dex-diff.is-normal{background:rgba(245,185,66,.2);color:var(--gold)}.dex-diff.is-hard{background:rgba(255,122,92,.22);color:#ff9d85}.dex-diff.is-ultimate{background:rgba(198,160,255,.22);color:#d3b5ff}.dex-diff.is-unknown{background:rgba(255,150,96,.22);color:#ffb98a}.dex-diff.is-special{background:rgba(255,170,205,.22);color:#ffb9d4}.dex-diff.is-boss-rush{background:rgba(150,180,255,.22);color:#b9ccff}.dex-diff.is-summon{background:rgba(126,240,178,.16);color:#a8f0c2}.dex-cat-clears{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.dex-cat-clears-label{font-size:.72rem;font-weight:800;color:var(--ink-dim);letter-spacing:.06em}.dex-cat-clears .dex-diff.is-unconquered{opacity:.35;filter:saturate(.25)}.dex-cat-clears .dex-diff{display:inline-flex;align-items:center;gap:4px}.dex-cat-clears .dex-diff svg{flex:0 0 auto}.pause-screen{position:absolute;inset:0;z-index:21;display:grid;place-items:center;background:rgba(4,8,10,.6);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.pause-panel{display:grid;grid-gap:14px;gap:14px;justify-items:center;padding:clamp(20px,4cqw,32px) clamp(28px,6cqw,56px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-strong);text-align:center;box-shadow:var(--shadow-panel);animation:step-in .24s cubic-bezier(.2,.9,.3,1)}.pause-actions{display:grid;grid-gap:10px;gap:10px;justify-items:stretch;min-width:220px}.pause-actions button{opacity:.62;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease,filter .16s ease}.pause-actions button.is-active{opacity:1;transform:translateY(-2px);box-shadow:0 0 0 2px rgba(255,122,92,.7),0 14px 30px rgba(232,84,60,.32)}.pause-note{margin:0;color:var(--ink-faint);font-size:.74rem}.result-hint{margin:0 0 16px;padding:10px 16px;border:1px solid rgba(245,185,66,.4);border-radius:var(--radius-md);background:rgba(245,185,66,.12);color:#ffd98a;font-size:.82rem;font-weight:800;line-height:1.7}.loading-screen{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:var(--bg)}.loading-body{display:grid;grid-gap:16px;gap:16px;justify-items:center}.loading-title{margin:0;font-family:var(--font-title);font-size:clamp(1.6rem,5cqw,2.6rem);font-weight:400;letter-spacing:.02em;background:linear-gradient(120deg,#fff 30%,rgba(255,189,158,.92) 68%,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.loading-kana{display:block;margin-top:6px;font-family:var(--font-body);color:var(--ink-dim);-webkit-text-fill-color:var(--ink-dim);font-size:.8rem;font-weight:800;letter-spacing:.5em;text-align:center}.loading-bar{overflow:hidden;width:min(280px,70cqw);height:10px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(255,255,255,.06)}.loading-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--accent));transition:width .2s ease}.loading-note{margin:0;color:var(--ink-dim);font-size:.78rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hud-status-card{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 44px);z-index:11;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;grid-column-gap:12px;column-gap:12px;grid-row-gap:6px;row-gap:6px;align-items:baseline;width:224px;padding:10px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--hud-scrim);color:var(--ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hud-status-row{display:contents}.battle-log{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 44px + 138px);z-index:11;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;width:224px;padding:8px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--hud-scrim);pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.battle-log-entry{overflow:hidden;color:var(--ink-dim);font-size:.66rem;font-weight:700;line-height:1.35;white-space:nowrap;text-align:left;text-overflow:ellipsis}.battle-log-entry:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#ff8a7a;vertical-align:1px}.battle-log-entry:nth-last-child(n+4){opacity:.62}.battle-log-entry:nth-last-child(n+6){opacity:.34}.hud-status-row em{color:var(--gold);font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.08em}.hud-status-row span{color:var(--ink-dim);font-size:.58rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-status-row strong{justify-self:end;font-size:.92rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.boss-title-row span,.dex-stat,.eyebrow,.hud-clock,.hud-status-row em,.hud-status-row strong,.key-badge,.loading-note,.meter-label,.phase3-wake-card,.ranking-grade,.ranking-pos,.ranking-score,.result-rank,.result-score-line strong,.result-stats dd,.step-count,.step-selected,.weapon-meta{font-family:var(--font-system)}.intro-overlay{position:absolute;inset:0;z-index:23;display:grid;place-items:center;grid-gap:18px;gap:18px;background:radial-gradient(120% 100% at 50% 40%,rgba(4,8,10,.35),rgba(4,8,10,.72) 90%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.intro-reveal{display:grid;justify-items:center;grid-gap:10px;gap:10px;animation:intro-pop .42s cubic-bezier(.2,.9,.3,1)}.intro-diff{padding:4px 18px;border-radius:999px;background:rgba(70,214,196,.18);color:var(--teal);font-family:var(--font-system);font-size:.9rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.intro-diff.is-ultimate{background:rgba(198,160,255,.2);color:#d3b5ff}.intro-diff.is-unknown{background:rgba(255,150,96,.2);color:#ffb98a}.intro-diff.is-boss-rush{background:rgba(150,180,255,.2);color:#b9ccff}.intro-diff.is-special{background:rgba(255,170,205,.2);color:#ffb9d4}.intro-stage{font-size:clamp(2rem,6cqw,3.6rem);font-weight:1000;letter-spacing:.04em;text-shadow:0 4px 24px rgba(0,0,0,.7)}.intro-cat{color:var(--ink-dim);font-size:.9rem;font-weight:800;letter-spacing:.1em}.intro-go,.intro-ready{font-family:var(--font-system);font-weight:900;letter-spacing:.16em;text-shadow:0 4px 26px rgba(0,0,0,.7)}.intro-ready{font-size:clamp(2rem,6cqw,3.4rem);color:var(--gold);animation:intro-pop .26s cubic-bezier(.2,.9,.3,1)}.intro-go{font-size:clamp(3rem,10cqw,6rem);color:var(--accent);animation:intro-go .36s cubic-bezier(.2,.9,.3,1)}.intro-skip{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));color:var(--ink-faint);font-size:.74rem;font-weight:700}@keyframes intro-pop{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-go{0%{opacity:0;transform:scale(.6)}55%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}