:root{--font:system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--font-round:"Hiragino Maru Gothic ProN", "Rounded Mplus 1c", "BIZ UDPGothic", system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--card:#14192dc7;--card-strong:#14192de6;--ink:#fff;--ink-dim:#ffffffb8;--accent:#ffd23f;--accent-shadow:#c9961d;--blue:#4fc3f7;--red:#ff5e7a;--navy:#1c2541;--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%;margin:0;padding:0;overflow:hidden}body{color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;background:linear-gradient(#7fc4ff 0%,#bfe3ff 55%,#fff1d6 100%);line-height:1.4}#app{width:100%;height:100%;position:fixed;inset:0;overflow:hidden}#game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}#ui-root{pointer-events:none;color:var(--ink);font-family:var(--font);position:absolute;inset:0;overflow:hidden}.hidden{display:none!important}.btn{pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;appearance:none;min-height:48px;font-family:var(--font);color:var(--ink);cursor:pointer;background:#ffffff24;border:0;border-radius:16px;margin:0;padding:12px 20px;font-size:17px;font-weight:700;line-height:1.2;transition:transform 80ms ease-out,filter 80ms ease-out}.btn:active{filter:brightness(1.08);transform:translateY(1px)scale(.98)}.btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--navy);box-shadow:0 4px 0 var(--accent-shadow), 0 8px 16px #00000040;min-height:54px;font-size:18px}.btn-primary:active{box-shadow:0 1px 0 var(--accent-shadow), 0 4px 10px #00000040;transform:translateY(3px)scale(.99)}.btn-secondary{background:#ffffff1f;border:2px solid #ffffff59}.btn-toggle{min-height:44px;color:var(--ink-dim);background:#ffffff1a;border:2px solid #ffffff38;border-radius:999px;padding:8px 14px;font-size:14px}.btn-toggle[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:#4fc3f71f}.btn-icon{text-align:center;background:var(--card);border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;font-size:20px;line-height:44px}.btn-col{gap:12px;width:100%;display:grid}.overlay{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));pointer-events:auto;touch-action:manipulation;-webkit-overflow-scrolling:touch;background:radial-gradient(at 50% 40%,#14192d1a 0%,#14192d61 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden auto}.title-card,.result-card{background:var(--card);border-radius:28px;width:min(100%,360px);padding:28px 22px 22px;animation:.32s cubic-bezier(.2,.9,.3,1.2) both card-in;box-shadow:0 16px 40px #0000004d,inset 0 1px #ffffff14}.hud{padding:calc(8px + var(--safe-top)) calc(10px + var(--safe-right)) 8px calc(10px + var(--safe-left));pointer-events:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid;position:absolute;top:0;left:0;right:0}.hud>*{min-width:0}.hud-left{background:var(--card);border-radius:14px;flex-direction:column;justify-self:start;padding:5px 12px 6px;display:flex}.hud-label{letter-spacing:.1em;color:var(--ink-dim);font-size:10px}.hud-score{color:var(--accent);font-variant-numeric:tabular-nums;transform-origin:0;font-size:24px;font-weight:800;line-height:1.1}.hud-score.bump{animation:.26s cubic-bezier(.3,1.4,.5,1) score-bump}.hud-center{background:var(--card);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:7px 12px 6px;display:flex}.dots{gap:5px;display:flex}.dot{background:#ffffff38;border:2px solid #0000;border-radius:50%;width:10px;height:10px;transition:background-color .2s ease-out,border-color .2s ease-out}.dot.done{background:var(--accent)}.dot.current{border-color:var(--blue);animation:1.2s ease-in-out infinite dot-glow}.count{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12px;line-height:1}.hud-right{justify-content:flex-end;justify-self:end;align-items:center;gap:6px;display:flex}.hearts{background:var(--card);border-radius:14px;align-items:center;gap:2px;height:40px;padding:0 9px;font-size:17px;line-height:1;display:flex}.heart{color:var(--red);text-shadow:0 1px #00000059;transition:color .25s ease-out;display:inline-block}.heart.lost{color:#ffffff47;text-shadow:none}.heart.shake{animation:.45s ease-in-out heart-shake}.chip{background:var(--card);color:var(--blue);white-space:nowrap;border:1px solid #4fc3f799;border-radius:999px;height:36px;padding:0 11px;font-size:12px;font-weight:700;line-height:34px}.verdict-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.verdict{text-align:center;white-space:nowrap;opacity:0;will-change:transform, opacity;position:absolute;transform:translate(-50%,-100%)}.verdict-main{letter-spacing:.04em;font-variant-numeric:tabular-nums;text-shadow:0 2px #00000073,0 0 14px #00000040;font-size:30px;font-weight:900;line-height:1.1}.verdict-sub{color:var(--blue);text-shadow:0 1px #00000080;margin-top:2px;font-size:13px;font-weight:700}.v-perfect .verdict-main{color:var(--accent)}.v-fit .verdict-main{color:var(--ink)}.v-miss .verdict-main{color:var(--red)}.verdict.pop{animation:.7s cubic-bezier(.2,.8,.2,1) forwards verdict-pop}.v-miss.pop{animation:.7s cubic-bezier(.2,.8,.2,1) forwards verdict-miss}.hint{left:50%;bottom:calc(26px + var(--safe-bottom));background:var(--card);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 18px 10px 14px;font-size:15px;font-weight:600;animation:.3s ease-out both hint-in;display:flex;position:absolute;overflow:hidden;transform:translate(-50%)}.finger{font-size:20px;line-height:1;animation:1.6s ease-in-out infinite finger-swipe;display:inline-block}.result-heading{text-align:center;font-family:var(--font-round);color:var(--accent);text-shadow:0 3px #00000059;margin:0 0 12px;font-size:34px;font-weight:900}.result-heading.is-long{font-size:25px}.result.is-gameover .result-heading{color:#ff8aa0}.result-score-wrap{text-align:center;margin-bottom:16px}.result-score{font-variant-numeric:tabular-nums;font-size:54px;font-weight:900;line-height:1.05;animation:.45s cubic-bezier(.2,1.4,.4,1) both score-in}.badge{background:var(--accent);color:var(--navy);box-shadow:0 2px 0 var(--accent-shadow);border-radius:999px;margin-top:8px;padding:5px 14px;font-size:13px;font-weight:800;animation:.5s cubic-bezier(.3,1.6,.5,1) .25s both badge-pop;display:inline-block}.stats{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.stat{background:#ffffff14;border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 14px;display:flex}.stat .stat-label{color:var(--ink-dim);white-space:nowrap;font-size:13px}.stat-value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.result-score-wrap .stat-label{letter-spacing:.1em;color:var(--ink-dim);font-size:11px}.result .best-line{text-align:center;color:var(--ink-dim);font-variant-numeric:tabular-nums;margin-bottom:16px;font-size:13px}.toast{top:calc(70px + var(--safe-top));background:var(--card-strong);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;opacity:0;border-radius:999px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.toast.show{animation:.25s ease-out forwards toast-in}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes logo-float{0%,to{transform:rotate(-6deg)translateY(0)}50%{transform:rotate(-5deg)translateY(-4px)}}@keyframes score-bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes dot-glow{0%,to{box-shadow:0 0 #4fc3f780}50%{box-shadow:0 0 0 4px #4fc3f726}}@keyframes heart-shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-3px)rotate(-10deg)scale(1.2)}40%{transform:translate(3px)rotate(8deg)scale(1.15)}60%{transform:translate(-2px)rotate(-5deg)}80%{transform:translate(2px)rotate(3deg)}}@keyframes verdict-pop{0%{opacity:0;transform:translate(-50%,-100%)scale(.55)}18%{opacity:1;transform:translate(-50%,-108%)scale(1.18)}34%{transform:translate(-50%,-112%)scale(1)}68%{opacity:1;transform:translate(-50%,-150%)scale(1)}to{opacity:0;transform:translate(-50%,-190%)scale(.98)}}@keyframes verdict-miss{0%{opacity:0;transform:translate(-50%,-100%)scale(.7)}15%{opacity:1;transform:translate(-54%,-106%)scale(1.12)}28%{transform:translate(-46%,-108%)scale(1)}40%{transform:translate(-52%,-110%)scale(1)}70%{opacity:1;transform:translate(-50%,-140%)scale(1)}to{opacity:0;transform:translate(-50%,-170%)scale(.98)}}@keyframes verdict-pop-reduced{0%{opacity:0;transform:translate(-50%,-110%)}25%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(-50%,-125%)}}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes finger-swipe{0%,to{transform:translate(-9px)rotate(-8deg)}50%{transform:translate(9px)rotate(8deg)}}@keyframes score-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)rotate(-6deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}#ui-root.fx-reduced .logo,#ui-root.fx-reduced .finger,#ui-root.fx-reduced .dot.current,#ui-root.fx-reduced .heart.shake,#ui-root.fx-reduced .hud-score.bump,#ui-root.fx-reduced .badge,#ui-root.fx-reduced .result-score,#ui-root.fx-reduced .hint,#ui-root.fx-reduced .title-card,#ui-root.fx-reduced .result-card{animation:none}#ui-root.fx-reduced .dot.current{box-shadow:0 0 0 3px #4fc3f74d}#ui-root.fx-reduced .badge,#ui-root.fx-reduced .result-score{opacity:1}#ui-root.fx-reduced .verdict.pop,#ui-root.fx-reduced .v-miss.pop{animation:.38s ease-out forwards verdict-pop-reduced}#ui-root.fx-reduced .toast.show{opacity:1;animation:none}#ui-root.fx-reduced .btn,#ui-root.fx-reduced .dot,#ui-root.fx-reduced .heart{transition:none}@media (max-width:380px){.hud-score{font-size:22px}.hud-left{padding:5px 10px 6px}.hud-center{padding:7px 10px 6px}.hearts{padding:0 7px;font-size:16px}.verdict-main{font-size:27px}.title-card,.result-card{border-radius:24px;padding:24px 18px 20px}.result-score{font-size:48px}.stat-value{font-size:16px}}@media (max-height:560px){.overlay{align-items:flex-start;overflow-y:auto}.logo{font-size:48px}.subtitle{margin-bottom:14px}.title-card,.result-card{padding:18px 18px 16px}}.flash{pointer-events:none;opacity:0;position:absolute;inset:0}.flash.f-perfect{background:radial-gradient(circle at 50% 55%,#ffec96bf 0%,#ffd23f47 38%,#ffd23f00 70%)}.flash.f-fit{background:radial-gradient(circle at 50% 55%,#ffffff73 0%,#fff0 60%)}.flash.on{animation:.3s ease-out both flash-in-out}@keyframes flash-in-out{0%{opacity:0}12%{opacity:1}to{opacity:0}}.fx-reduced .flash.on{opacity:.4;animation-duration:.18s}.verdict.v-perfect.pop{animation-name:verdict-pop-perfect}@keyframes verdict-pop-perfect{0%{opacity:0;transform:translate(-50%,-100%)scale(.4)rotate(-8deg)}16%{opacity:1;transform:translate(-50%,-110%)scale(1.42)rotate(4deg)}30%{transform:translate(-50%,-114%)scale(.94)rotate(-2deg)}42%{transform:translate(-50%,-118%)scale(1.06)rotate(0)}70%{opacity:1;transform:translate(-50%,-150%)scale(1)}to{opacity:0;transform:translate(-50%,-190%)scale(.98)}}.quip{left:50%;bottom:calc(84px + var(--safe-bottom));max-width:calc(100% - 32px);color:var(--navy);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#fff;border-radius:16px;padding:9px 16px;font-size:15px;font-weight:800;position:absolute;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 16px #0000004d}.quip.show{animation:.32s cubic-bezier(.2,.9,.3,1.4) both quip-in}@keyframes quip-in{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.85)rotate(-3deg)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)rotate(-1.5deg)}}#ui-root.fx-reduced .quip.show{animation:none}.rank-box{text-align:center;margin:2px 0 12px}.rank-label{color:var(--ink-dim);letter-spacing:.2em;font-size:11px}.rank-name{font-family:var(--font-round);color:var(--accent);font-size:24px;font-weight:800;animation:.5s cubic-bezier(.2,.9,.3,1.5) .25s both rank-in}.rank-line{color:var(--ink-dim);font-size:12px}@keyframes rank-in{0%{opacity:0;transform:scale(1.8)rotate(-6deg)}to{opacity:1;transform:scale(1)rotate(0)}}.daily-note{text-align:center;color:var(--ink-dim);margin-bottom:6px;font-size:12px}.share-text{width:100%;color:var(--ink);resize:none;background:#0000004d;border:1px solid #ffffff4d;border-radius:12px;margin:6px 0;padding:8px;font-size:13px}.btn-share{color:#fff;background:linear-gradient(135deg,#ff5e7a,#ff9a3d);min-height:54px;font-size:18px;box-shadow:0 4px #b83a52,0 8px 16px #00000040}.target-chip{left:50%;top:calc(66px + var(--safe-top));max-width:calc(100% - 32px);color:var(--navy);white-space:nowrap;pointer-events:none;background:#fffffff0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px 6px 10px;font-size:16px;font-weight:800;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #00000040}.target-icon{font-size:22px;line-height:1}.target-arrow{color:#8a93a6;font-weight:700}.target-to{color:#4a5568;font-size:14px}.target-chip.pop{animation:.45s cubic-bezier(.2,.9,.3,1.4) both target-pop}@keyframes target-pop{0%{opacity:0;transform:translate(-50%)translateY(-8px)scale(.7)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}#ui-root.fx-reduced .target-chip.pop{animation:none}.spot-word{font-family:var(--font-round);white-space:nowrap;pointer-events:none;z-index:5;color:#fff;-webkit-text-stroke:3px #1c2541;paint-order:stroke fill;text-shadow:0 6px #1c2541,0 10px 24px #00000073;opacity:0;font-size:clamp(64px,20vw,104px);font-weight:900;line-height:1;position:absolute;transform:translate(-50%,-50%)}.spot-word.s-perfect{color:#ffd23f;text-shadow:0 6px #a8730f,0 0 32px #ffd23fd9,0 12px 28px #00000073;font-size:clamp(76px,25vw,128px)}.spot-word.pop{animation:.9s cubic-bezier(.2,.9,.3,1) forwards spot-pop}.spot-word.s-perfect.pop{animation-name:spot-pop-perfect}@keyframes spot-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-14deg)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.25)rotate(-7deg)}26%{transform:translate(-50%,-50%)scale(.95)rotate(-5deg)}36%{transform:translate(-50%,-50%)scale(1.04)rotate(-6deg)}72%{opacity:1;transform:translate(-50%,-58%)scale(1)rotate(-6deg)}to{opacity:0;transform:translate(-50%,-80%)scale(1.08)rotate(-6deg)}}@keyframes spot-pop-perfect{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)rotate(-20deg)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.45)rotate(-6deg)}22%{transform:translate(-50%,-50%)scale(.9)rotate(-9deg)}32%{transform:translate(-50%,-50%)scale(1.08)rotate(-7deg)}42%{transform:translate(-50%,-50%)scale(1)rotate(-7deg)}74%{opacity:1;transform:translate(-50%,-58%)scale(1)rotate(-7deg)}to{opacity:0;transform:translate(-50%,-82%)scale(1.1)rotate(-7deg)}}@keyframes spot-fade{0%,70%{opacity:1;transform:translate(-50%,-50%)rotate(-6deg)}to{opacity:0;transform:translate(-50%,-50%)rotate(-6deg)}}#ui-root.fx-reduced .spot-word.pop{animation:.5s ease-out forwards spot-fade}.telop{text-align:center;pointer-events:none;z-index:6;width:max-content;max-width:calc(100% - 24px);position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.telop-main{font-family:var(--font-round);color:#fff35c;-webkit-text-stroke:3px #b3122e;paint-order:stroke fill;text-shadow:0 5px #4a0010,0 8px 18px #00000080;white-space:normal;font-size:clamp(30px,10vw,54px);font-weight:900;line-height:1.1}.telop-sub{color:#fff;background:#b3122e;border-radius:6px;margin-top:6px;padding:3px 12px;font-size:14px;font-weight:800;display:inline-block}.telop.t-warn .telop-main{color:#fff;-webkit-text-stroke:3px #1c2541;text-shadow:0 4px #0f1428,0 8px 18px #00000080;font-size:clamp(24px,7.5vw,40px)}.telop.t-fall .telop-main{color:#fff;-webkit-text-stroke:4px #000;font-size:clamp(36px,12vw,64px)}.telop.pop{animation:.35s cubic-bezier(.2,.9,.3,1.5) both telop-in}.telop.t-fall.pop{animation:.5s cubic-bezier(.3,1.4,.4,1) both telop-fall}@keyframes telop-in{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)rotate(-4deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-2deg)}}@keyframes telop-fall{0%{opacity:0;transform:translate(-50%,-160%)}to{opacity:1;transform:translate(-50%,-50%)}}#ui-root.fx-reduced .telop.pop{animation:none}.blackout{opacity:0;pointer-events:none;z-index:1;background:#02030a;justify-content:center;align-items:center;transition:opacity .12s;display:flex;position:absolute;inset:0}.blackout.on{opacity:.94}.blackout-text{color:#ffffff8c;letter-spacing:.2em;font-size:18px;font-weight:800}.hud-leftwrap{justify-self:start;align-items:center;gap:6px;display:flex}.hud-leftwrap .btn-icon{width:36px;height:36px;min-height:36px;font-size:16px;line-height:36px}.hud-center{justify-self:center;min-width:0;max-width:100%}.hud-center .dots{flex-wrap:wrap;justify-content:center;gap:3px}.hud-center .dot{width:8px;height:8px}.telop.at-top{top:22%}.telop.at-mid{top:40%}.drag-cancel{color:#fff;white-space:nowrap;pointer-events:none;background:#141828db;border-radius:999px;padding:10px 18px;font-size:16px;font-weight:700;position:absolute;top:34%;left:50%;transform:translate(-50%)}.overlay.title{background:radial-gradient(120% 60% at 50% 0,#0a0e208c 0%,#0a0e2000 70%),linear-gradient(#0a0e201f 30%,#0a0e2080 100%);align-items:flex-start}.title-card{width:min(100%,380px);box-shadow:none;background:0 0;border-radius:0;margin:auto;padding:4px 2px 8px}.logo-wrap{text-align:center;padding:0 0 4px;position:relative}.logo-heli{justify-content:center;height:96px;margin-bottom:-2px;display:flex}.logo-heli svg{filter:drop-shadow(0 6px 8px #0000004d);width:140px;height:96px;overflow:visible}.heli-body{animation:2.6s ease-in-out infinite heli-bob}.heli-rotor{transform-box:fill-box;transform-origin:50%;animation:.16s linear infinite heli-rotor}.heli-tail{transform-box:fill-box;transform-origin:50%;animation:.4s linear infinite heli-tail}.heli-load{transform-origin:62px 44px;animation:2.6s ease-in-out infinite heli-swing}.logo{font-family:var(--font-round);letter-spacing:.02em;color:#0000;background:linear-gradient(#fffbd1 0%,#ffe14d 38%,#ffb21f 70%,#ff7a2f 100%);-webkit-text-stroke:2px #fff6dc;paint-order:stroke fill;text-shadow:none;filter:drop-shadow(0 3px #c2620c)drop-shadow(0 4px #1c2541)drop-shadow(0 10px 14px #00000073);-webkit-background-clip:text;background-clip:text;margin:0;padding:0 6px;font-size:clamp(60px,20vw,84px);font-weight:900;line-height:1.05;animation:3.2s ease-in-out infinite logo-float;display:inline-block;position:relative;transform:rotate(-6deg)}.subtitle{text-align:center;letter-spacing:.02em;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c122880;border:1px solid #ffffff2e;border-radius:999px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:10px auto 16px;padding:6px 14px;font-size:13.5px;font-weight:700}.daily-slot{filter:drop-shadow(0 4px #c9781d)drop-shadow(0 10px 16px #ff8c2859);margin:0 0 12px}.daily-btn{--stub:74px;text-align:left;width:100%;color:var(--navy);box-shadow:none;-webkit-mask:radial-gradient(circle at var(--stub) 0, transparent 9px, #000 9.5px) top / 100% 51% no-repeat, radial-gradient(circle at var(--stub) 100%, transparent 9px, #000 9.5px) bottom / 100% 51% no-repeat;-webkit-mask:radial-gradient(circle at var(--stub) 0, transparent 9px, #000 9.5px) top / 100% 51% no-repeat, radial-gradient(circle at var(--stub) 100%, transparent 9px, #000 9.5px) bottom / 100% 51% no-repeat;mask:radial-gradient(circle at var(--stub) 0, transparent 9px, #000 9.5px) top / 100% 51% no-repeat, radial-gradient(circle at var(--stub) 100%, transparent 9px, #000 9.5px) bottom / 100% 51% no-repeat;background:linear-gradient(120deg,#fff1a1 0%,#ffd34d 38%,#ffaa3b 75%,#ff8a5b 100%);border:0;border-radius:16px;align-items:stretch;padding:0;display:flex;position:relative;overflow:hidden}.daily-btn:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff8c 50%,#0000 65%);animation:4.5s ease-in-out 1s infinite ticket-shine;position:absolute;inset:0;transform:translate(-120%)}.daily-stub{flex:0 0 var(--stub);background:#ffffff47;border-right:2px dashed #1c254159;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:10px 4px;display:flex}.daily-stub-label{letter-spacing:.16em;opacity:.75;font-size:10px;font-weight:800}.daily-stub-num{font-family:var(--font-round);font-variant-numeric:tabular-nums;font-size:26px;font-weight:900;line-height:1}.daily-body{flex-direction:column;flex:1;gap:3px;min-width:0;padding:11px 14px 11px 13px;display:flex}.daily-btn .course-blurb{color:#1c2541c7}.daily-head{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.daily-name{font-family:var(--font-round);font-size:19px;font-weight:800}.daily-new{color:#fff;background:var(--red);border-radius:999px;flex:none;padding:2px 9px;font-size:12px;font-weight:800;animation:1.4s ease-in-out infinite daily-pulse}.daily-btn.is-played .daily-new{background:var(--navy);animation:none}.daily-status{font-size:12px;font-weight:700}.course-list{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.course-btn{--c:#7fd1ff;text-align:left;min-height:84px;color:var(--ink);background:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--c) 32%, transparent) 0%, transparent 60%), linear-gradient(160deg, #ffffff29, #ffffff0a), #0e142a94;-webkit-backdrop-filter:blur(10px)saturate(1.3);backdrop-filter:blur(10px)saturate(1.3);border:1px solid #ffffff3d;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 11px 10px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 18px #00000038,inset 0 1px #ffffff38}.course-btn:before{content:"";background:var(--c);width:4px;box-shadow:0 0 10px var(--c);border-radius:0 4px 4px 0;position:absolute;top:10px;bottom:10px;left:0}.course-tutorial{--c:#6ee7a8}.course-normal{--c:#6cc6ff}.course-hard{--c:#ffa25a}.course-oni{--c:#c58bff}.course-chaos{--c:#ff5e7a;background:radial-gradient(120% 120% at 0 0,#ff5e7a66 0%,#0000 60%),linear-gradient(135deg,#ff5e7a38,#7828a04d),#0e142a94;grid-column:1/-1}.course-head{align-items:center;gap:8px;width:100%;display:flex}.course-icon{background:color-mix(in srgb, var(--c) 26%, #ffffff14);border:1px solid color-mix(in srgb, var(--c) 60%, transparent);border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:19px;line-height:1;display:grid}.course-titles{flex-direction:column;min-width:0;display:flex}.course-name{font-size:16.5px;line-height:1.15}.course-stars{letter-spacing:.04em;color:var(--c);font-size:10.5px}.course-blurb{color:var(--ink-dim);font-size:11.5px;font-weight:600}.course-best{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:auto;font-size:11.5px;font-weight:700}.course-btn.is-recommended{border:2px solid var(--accent);box-shadow:0 0 0 3px #ffd23f38,0 8px 22px #ffbe2859,inset 0 1px #ffffff4d}.course-btn.is-recommended:after{content:"おすすめ";color:var(--navy);background:var(--accent);border-radius:0 0 8px 8px;padding:2px 7px 3px;font-size:10px;font-weight:800;position:absolute;top:0;right:10px}.title-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c122880;border:1px solid #ffffff29;border-radius:18px;margin-top:14px;padding:10px 10px 12px}.best-box{text-align:center;color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0;font-size:12.5px;font-weight:700;line-height:1.6}.save-note{color:#ffb4a2;margin-top:2px;font-size:12px}.toggle-row{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.title .btn-toggle{background:#ffffff14;border-width:1px;min-height:40px;padding:6px 12px;font-size:13px}@keyframes heli-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes heli-rotor{0%,to{transform:scaleX(1)}50%{transform:scaleX(.18)}}@keyframes heli-tail{to{transform:rotate(360deg)}}@keyframes heli-swing{0%,to{transform:translateY(0)rotate(9deg)}50%{transform:translateY(-4px)rotate(-9deg)}}@keyframes ticket-shine{0%{transform:translate(-120%)}35%,to{transform:translate(120%)}}@keyframes daily-pulse{50%{transform:scale(1.12)}}#ui-root.fx-reduced .logo,#ui-root.fx-reduced .heli-body,#ui-root.fx-reduced .heli-rotor,#ui-root.fx-reduced .heli-tail,#ui-root.fx-reduced .heli-load,#ui-root.fx-reduced .daily-new,#ui-root.fx-reduced .daily-btn:after{animation:none}@media (prefers-reduced-motion:reduce){.logo,.heli-body,.heli-rotor,.heli-tail,.heli-load,.daily-new,.daily-btn:after{animation:none}}@media (max-width:360px){.course-icon{width:30px;height:30px;font-size:17px}.course-name{font-size:15.5px}}@media (max-height:700px){.logo-heli{height:58px;margin-bottom:-8px}.logo-heli svg{width:84px;height:58px}.logo{font-size:clamp(52px,16vw,68px)}.subtitle{margin:8px auto 12px}.course-btn{min-height:74px}}@media (max-height:560px){.logo-heli{display:none}.logo{font-size:46px}.subtitle{margin:6px auto 10px}}@media (max-height:560px) and (min-width:640px){.title-card{width:min(100%,720px)}.course-list{grid-template-columns:repeat(4,1fr)}}#app[data-theme=morning]{--theme-accent:#ffc9a8}#app[data-theme=day]{--theme-accent:#ffb3cc}#app[data-theme=sunset]{--theme-accent:#ff9a4a}#app[data-theme=night]{--theme-accent:#7fd8ff}#app[data-theme=storm]{--theme-accent:#e07bff}#app[data-theme] .hud-center,#app[data-theme] .hud-left{box-shadow:inset 0 -2px 0 var(--theme-accent)}#app[data-theme] .chip{color:var(--theme-accent);border-color:var(--theme-accent)}.btn-x{color:#fff;min-height:50px;font:inherit;background:#000;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;font-size:17px;font-weight:800;text-decoration:none;display:flex;box-shadow:0 3px #00000059}.btn-x:active{transform:translateY(2px);box-shadow:0 1px #00000059}.stage-slot{gap:10px;width:100%;display:grid}.stage-group{--c:#6cc6ff;-webkit-backdrop-filter:blur(10px)saturate(1.3);backdrop-filter:blur(10px)saturate(1.3);background:#0e142a94;border:1px solid #ffffff3d;border-radius:18px;padding:10px 12px 12px}.stage-group-chaos{--c:#ff5e7a;background:linear-gradient(135deg,#ff5e7a38,#7828a04d),#0e142a94}.stage-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.stage-title{color:#fff;font-size:16px;font-weight:900}.stage-note{color:var(--c);font-size:12px;font-weight:700}.stage-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stage-group-chaos .stage-grid{grid-template-columns:repeat(5,1fr)}.stage-tile{color:#fff;background:#ffffff14;border:1px solid #ffffff38;border-radius:12px;place-items:center;min-height:46px;padding:0;display:grid;position:relative}.stage-num{font-size:18px;font-weight:900}.stage-mark{font-size:10px;position:absolute;top:2px;right:5px}.stage-tile.is-cleared{background:color-mix(in srgb, var(--c) 35%, transparent)}.stage-tile.is-open{background:var(--c);color:#0e142a;box-shadow:0 0 14px var(--c);animation:1.6s ease-in-out infinite stage-pulse}.stage-tile.is-locked{opacity:.4}@keyframes stage-pulse{50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.stage-tile.is-open{animation:none}}.course-list .course-tutorial{grid-column:1/-1}.stage-grid{grid-template-columns:repeat(3,1fr)}.stage-tile{align-content:center;gap:0;min-height:58px}.stage-label{opacity:.85;font-size:11px;font-weight:700}.share-hook{color:#14182b;text-align:center;background:#fff;border-radius:16px;width:100%;margin-top:4px;margin-bottom:8px;padding:10px 14px 12px;position:relative;box-shadow:0 6px 14px #00000040}.share-hook:after{content:"";border:8px solid #0000;border-top-color:#fff;border-bottom:0;margin-left:-8px;position:absolute;bottom:-8px;left:50%}.share-hook-label{opacity:.55;font-size:11px;font-weight:700}.share-hook-text{text-wrap:balance;font-size:17px;font-weight:900;line-height:1.4}
