:root{--ui-bg:#080808;--ui-bg-deep:#000;--ui-text:#f2f2f2;--ui-text-strong:#fff;--ui-text-muted:#b8b8b8;--ui-text-dim:#8a8a8a;--ui-text-inverse:#111;--ui-scroll-text:#141414;--ui-scroll-text-muted:#3a3a3a;--ui-scroll-text-subtle:#5a5a5a;--ui-border:#ffffff52;--ui-border-strong:#ffffff85;--ui-border-subtle:#ffffff29;--ui-panel:#080808bd;--ui-panel-light:#12121294;--ui-panel-solid:#0c0c0ce0;--ui-overlay-top:#0000001f;--ui-overlay-mid:#00000047;--ui-overlay-bottom:#0000007a;--ui-vignette:#00000073;--ui-btn-primary-bg:linear-gradient(180deg, #303030f5 0%, #080808f5 100%);--ui-btn-secondary-bg:#10101094;--ui-btn-hover-border:#ffffff9e;--ui-focus-ring:#ffffffc7;--ui-danger-text:#e8e8e8;--ui-danger-bg:#000000c7;--ui-danger-border:#ffffff47;--ui-track-stroke:#dcdcdc9e;--ui-track-glow:#ffffff61;--ui-hand-trail:#f5f5f5eb;--ui-hand-cursor:#fffffff2;--ui-durability:linear-gradient(90deg, #2a2a2a 0%, #6a6a6a 55%, #d0d0d0 100%);--ui-effect-slash:#ebebeb;--ui-effect-glow:#ffffff8c;--ui-effect-aura:#dcdcdc73;--ui-scrollbar-track:#0a0a0acc;--ui-scrollbar-thumb:linear-gradient(180deg, #8a8a8a 0%, #3a3a3a 100%);--ui-scrollbar-thumb-border:#ffffff47}*,:before,:after{box-sizing:border-box}@font-face{font-family:Yozai Regular;src:url(/assets/Yozai_Regular-CUQ-iQmJ.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Shilla Culture Bold;src:url(/assets/Shilla_Culture_B-WvciyG48.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--font-brush:"Shilla Culture Bold", "Gasoek One", cursive;--font-brush-display:"Shilla Culture Bold", "East Sea Dokdo", "Gasoek One", cursive;--font-title-start:"Yozai Regular", "East Sea Dokdo", "Gasoek One", cursive;font-family:var(--font-brush);color:var(--ui-text);background-color:var(--ui-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.55}body{min-width:320px;min-height:100svh;margin:0}#root{width:100%;min-height:100svh}button{font-family:inherit}.leaderboard-page__board,.leaderboard-page__list,.ending-page__leaderboard-list{scrollbar-width:thin;scrollbar-color:#6a6a6a var(--ui-scrollbar-track)}.leaderboard-page__board::-webkit-scrollbar{width:7px}.leaderboard-page__list::-webkit-scrollbar{width:7px}.ending-page__leaderboard-list::-webkit-scrollbar{width:7px}.leaderboard-page__board::-webkit-scrollbar-track{background:var(--ui-scrollbar-track);border:1px solid var(--ui-border-subtle);border-radius:2px}.leaderboard-page__list::-webkit-scrollbar-track{background:var(--ui-scrollbar-track);border:1px solid var(--ui-border-subtle);border-radius:2px}.ending-page__leaderboard-list::-webkit-scrollbar-track{background:var(--ui-scrollbar-track);border:1px solid var(--ui-border-subtle);border-radius:2px}.leaderboard-page__board::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border:1px solid var(--ui-scrollbar-thumb-border);border-radius:2px}.leaderboard-page__list::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border:1px solid var(--ui-scrollbar-thumb-border);border-radius:2px}.ending-page__leaderboard-list::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border:1px solid var(--ui-scrollbar-thumb-border);border-radius:2px}.leaderboard-page__board::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a8a8a8 0%,#4a4a4a 100%)}.leaderboard-page__list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a8a8a8 0%,#4a4a4a 100%)}.ending-page__leaderboard-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a8a8a8 0%,#4a4a4a 100%)}.screen-layout{box-sizing:border-box;background:#000;justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex;overflow:hidden}.screen-layout__stage{--front-width:1920;--front-height:430;width:min(100vw, calc(100svh * var(--front-width) / var(--front-height)));aspect-ratio:calc(var(--front-width) / var(--front-height));background:#000;display:block}.screen-layout__surface{background:#000;min-width:0;min-height:0}.screen-layout__surface--front{width:100%;height:100%;overflow:hidden}.screen-layout__content{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem 1.5rem;display:flex}.screen-layout__content--bare{width:100%;height:100%;padding:0;display:block}.screen-layout__surface--front .start-page-frame,.screen-layout__surface--front .camera-page-frame,.screen-layout__surface--front .tutorial-page-frame,.screen-layout__surface--front .nickname-page-frame,.screen-layout__surface--front .ending-page-frame,.screen-layout__surface--front .leaderboard-page-frame,.screen-layout__surface--front .play-page-frame{width:100%;height:100%;min-height:0}.screen-layout__surface--front .start-page,.screen-layout__surface--front .camera-page,.screen-layout__surface--front .tutorial-page,.screen-layout__surface--front .nickname-page,.screen-layout__surface--front .ending-page,.screen-layout__surface--front .leaderboard-page,.screen-layout__surface--front .play-page{aspect-ratio:auto;width:100%;height:100%;max-height:none}.screen-layout__surface--front .start-page,.screen-layout__surface--front .camera-page,.screen-layout__surface--front .tutorial-page,.screen-layout__surface--front .nickname-page,.screen-layout__surface--front .ending-page,.screen-layout__surface--front .leaderboard-page{padding:0 1.6% 1.2%}.screen-layout__surface--front .nickname-page{grid-template-rows:auto 1fr auto;align-items:start;gap:.12rem;padding:0 1.4% .6%}.screen-layout__surface--front .start-page__scroll-panel,.screen-layout__surface--front .camera-page__scroll-panel,.screen-layout__surface--front .tutorial-page__scroll-panel,.screen-layout__surface--front .nickname-page__scroll-panel,.screen-layout__surface--front .ending-page__scroll-panel,.screen-layout__surface--front .leaderboard-page__scroll-panel{filter:drop-shadow(0 8px 16px #00000047);width:min(33%,460px);margin-top:.8%}.screen-layout__surface--front .tutorial-page__scroll-panel{width:min(26%,300px);margin-top:0;bottom:1.2%;left:1.6%}.screen-layout__surface--front .nickname-page__scroll-panel{width:min(21%,290px);margin-top:.1%}.screen-layout__surface--front .start-page__title,.screen-layout__surface--front .camera-page__title,.screen-layout__surface--front .nickname-page__title,.screen-layout__surface--front .ending-page__scroll-title,.screen-layout__surface--front .leaderboard-page__title{font-size:clamp(1rem,1.6vw,1.4rem);line-height:1}.screen-layout__surface--front .start-page__title-group{gap:.08rem}.screen-layout__surface--front .start-page__subtitle-title{font-size:clamp(.56rem,.9vw,.76rem);line-height:1}.screen-layout__surface--front .camera-page__lead{font-size:clamp(.68rem,1.05vw,.92rem);line-height:1.4}.screen-layout__surface--front .tutorial-page__lead{font-size:clamp(.62rem,.96vw,.86rem);line-height:1.38}.screen-layout__surface--front .tutorial-page__scroll-content{inset:18% 14% 20%}.screen-layout__surface--front .tutorial-page__actions{max-width:290px}.screen-layout__surface--front .tutorial-page__footer{gap:.25rem;bottom:1.2%;right:1.6%}.screen-layout__surface--front .tutorial-page__button{min-width:0;padding:.28rem .65rem;font-size:clamp(.6rem,.95vw,.8rem)}.screen-layout__surface--front .nickname-page__scroll-content{gap:.05rem;inset:18% 15% 21%;overflow:hidden}.screen-layout__surface--front .nickname-page__title{font-size:clamp(.74rem,1.02vw,.9rem);line-height:.98}.screen-layout__surface--front .nickname-page__subtitle{font-size:clamp(.34rem,.5vw,.42rem);line-height:1.15}.screen-layout__surface--front .start-page__actions,.screen-layout__surface--front .camera-page__footer,.screen-layout__surface--front .ending-page__actions,.screen-layout__surface--front .leaderboard-page__actions{gap:.45rem;max-width:360px}.screen-layout__surface--front .start-page__button,.screen-layout__surface--front .camera-page__button,.screen-layout__surface--front .ending-page__button,.screen-layout__surface--front .leaderboard-page__button,.screen-layout__surface--front .nickname-page__button{min-width:0;max-width:none;padding:.28rem .65rem;font-size:clamp(.6rem,.95vw,.8rem)}.screen-layout__surface--front .camera-page__message,.screen-layout__surface--front .nickname-page__camera-hint,.screen-layout__surface--front .nickname-page__camera-error,.screen-layout__surface--front .nickname-page__validation{font-size:clamp(.46rem,.72vw,.62rem);line-height:1.25}.screen-layout__surface--front .nickname-page__nickname{text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:1.1em;margin-top:.04rem;font-size:clamp(.62rem,.86vw,.76rem);line-height:1.05;overflow:hidden}.screen-layout__surface--front .nickname-page__length{font-size:clamp(.36rem,.54vw,.46rem);line-height:1}.screen-layout__surface--front .nickname-page__validation{word-break:keep-all;max-width:100%;margin-top:.04rem;font-size:clamp(.31rem,.46vw,.38rem);line-height:1.1;overflow:hidden}.screen-layout__surface--front .nickname-page__keyboard-wrap{width:min(62%,660px);padding:.2rem .3rem .16rem}.screen-layout__surface--front .hand-keyboard{--hand-key-width:clamp(2.38rem, 3.1vw, 2.86rem);--hand-key-height:clamp(1.24rem, 1.85vw, 1.38rem);gap:.18rem;max-width:100%}.screen-layout__surface--front .hand-keyboard__row{gap:.16rem}.screen-layout__surface--front .hand-keyboard__row--action{gap:.28rem;margin-top:.02rem;padding-inline:2.4%}.screen-layout__surface--front .hand-keyboard__row:not(.hand-keyboard__row--action) .hand-keyboard__key{font-size:clamp(.5rem,.78vw,.66rem)}.screen-layout__surface--front .hand-keyboard__row--action .hand-keyboard__key{min-height:1.38rem;padding:.12rem .08rem;font-size:clamp(.52rem,.82vw,.68rem)}.screen-layout__surface--front .hand-keyboard__hint{margin-top:.16rem;font-size:clamp(.45rem,.68vw,.56rem)}.screen-layout__surface--front .nickname-page__button{min-width:4.8rem;padding:.18rem .55rem;font-size:clamp(.5rem,.76vw,.64rem);line-height:1.1}.screen-layout__surface--front .ending-page__summary{gap:.32rem}.screen-layout__surface--front .ending-page__stat{min-width:4rem;padding:.18rem .42rem}.screen-layout__surface--front .ending-page__stat-label,.screen-layout__surface--front .leaderboard-page__item,.screen-layout__surface--front .ending-page__leaderboard-item{font-size:clamp(.44rem,.7vw,.6rem)}.screen-layout__surface--front .ending-page__stat-value{font-size:clamp(.8rem,1.12vw,.98rem)}.screen-layout__surface--front .ending-page__leaderboard,.screen-layout__surface--front .leaderboard-page__board{width:min(24%,190px);height:46%;max-height:46%;padding:.42rem .32rem;overflow:hidden}.screen-layout__surface--front .ending-page__leaderboard-title,.screen-layout__surface--front .leaderboard-page__leaderboard-title,.screen-layout__surface--front .leaderboard-page__empty,.screen-layout__surface--front .ending-page__leaderboard-empty{font-size:clamp(.48rem,.72vw,.6rem)}.screen-layout__surface--front .leaderboard-page{gap:.18rem;padding:0 1.2% .5%}.screen-layout__surface--front .leaderboard-page__scroll-panel{width:min(27%,300px);margin-top:.2%}.screen-layout__surface--front .leaderboard-page__board{align-self:stretch}.screen-layout__surface--front .leaderboard-page__list{scrollbar-width:thin;scrollbar-color:#6a6a6a #080808cc;max-height:100%;overflow-y:auto}.screen-layout__surface--front .leaderboard-page__list::-webkit-scrollbar{width:5px}.screen-layout__surface--front .leaderboard-page__list::-webkit-scrollbar-track{background:#080808cc;border-radius:2px}.screen-layout__surface--front .leaderboard-page__list::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border:1px solid var(--ui-scrollbar-thumb-border);border-radius:2px}.screen-layout__surface--front .ending-page__leaderboard-list{scrollbar-width:thin;scrollbar-color:#6a6a6a #080808cc}.screen-layout__surface--front .ending-page__leaderboard-list::-webkit-scrollbar{width:5px}.screen-layout__surface--front .ending-page__leaderboard-list::-webkit-scrollbar-track{background:#080808cc;border-radius:2px}.screen-layout__surface--front .ending-page__leaderboard-list::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border:1px solid var(--ui-scrollbar-thumb-border);border-radius:2px}.screen-layout__surface--front .leaderboard-page__item{grid-template-rows:auto auto auto;grid-template-columns:1.1rem minmax(0,1fr);gap:.08rem .24rem;padding:.18rem .04rem;font-size:clamp(.44rem,.7vw,.6rem)}.screen-layout__surface--front .leaderboard-page__rank{grid-row:1/4}.screen-layout__surface--front .leaderboard-page__name{grid-area:1/2}.screen-layout__surface--front .leaderboard-page__score{grid-area:2/2}.screen-layout__surface--front .leaderboard-page__meta{white-space:normal;grid-area:3/2;font-size:.84em;line-height:1.08}.screen-layout__surface--front .leaderboard-page__actions{gap:.28rem;max-width:290px}.screen-layout__surface--front .leaderboard-page__button{min-width:0;padding:.38rem .42rem;font-size:clamp(.48rem,.72vw,.6rem);line-height:1.08}.screen-layout__surface--front .ending-page__leaderboard-list{max-height:calc(100% - 1.4rem)}.screen-layout__surface--front .ending-page__leaderboard-item{grid-template-rows:auto auto auto;grid-template-columns:1.1rem minmax(0,1fr);gap:.08rem .24rem;padding:.18rem .04rem}.screen-layout__surface--front .ending-page__leaderboard-rank{grid-row:1/4}.screen-layout__surface--front .ending-page__leaderboard-name{grid-area:1/2}.screen-layout__surface--front .ending-page__leaderboard-score{grid-area:2/2}.screen-layout__surface--front .ending-page__leaderboard-meta{white-space:normal;grid-area:3/2;font-size:.84em;line-height:1.08}.screen-layout__surface--front .ending-page{gap:.18rem;padding:0 1.2% .45%}.screen-layout__surface--front .ending-page__scroll-panel{width:min(27%,300px);margin-top:.2%}.screen-layout__surface--front .ending-page__actions{gap:.28rem;max-width:290px}.screen-layout__surface--front .ending-page__button{padding:.38rem .42rem;font-size:clamp(.48rem,.72vw,.6rem);line-height:1.08}.screen-layout__surface--front .play-page{padding:0 1.2% .8%}.screen-layout__surface--front .play-hud{gap:.32rem;padding:.9% 1.2% 0}.screen-layout__surface--front .play-hud__item{min-width:2.8rem;padding:.12rem .35rem}.screen-layout__surface--front .play-hud__item--score{min-width:3.8rem}.screen-layout__surface--front .play-hud__item--skill{min-width:4.4rem}.screen-layout__surface--front .play-hud__label{font-size:clamp(.42rem,.65vw,.55rem)}.screen-layout__surface--front .play-hud__value{font-size:clamp(.72rem,1vw,.92rem)}.screen-layout__surface--front .play-arena{justify-content:center;align-items:center;padding:0 4.5%}.screen-layout__surface--front .play-guide-area{inset:4% 5% 11%}.screen-layout__surface--front .tutorial-page__arena .play-guide-area{width:56%;height:74%;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.screen-layout__surface--front .play-target{margin-bottom:0;transform:none}.screen-layout__surface--front .play-durability{gap:.1rem;width:min(280px,72%);margin-bottom:.2rem}.screen-layout__surface--front .play-durability__bar{height:5px}.screen-layout__surface--front .play-durability__text,.screen-layout__surface--front .play-skill-hint,.screen-layout__surface--front .play-hand-hint{font-size:clamp(.42rem,.68vw,.58rem)}.screen-layout__surface--front .play-target__puppet{width:auto;max-width:420px;height:300px}.screen-layout__surface--front .play-combat-feedback{padding:.18rem .42rem}.screen-layout__surface--front .play-combat-feedback--grade-low{padding:.12rem .32rem}.screen-layout__surface--front .play-combat-feedback--grade-high{padding:.22rem .5rem}.screen-layout__surface--front .play-combat-feedback--grade-perfect{padding:.26rem .58rem}.screen-layout__surface--front .play-combat-feedback__grade{font-size:clamp(.58rem,.85vw,.72rem)}.screen-layout__surface--front .play-combat-feedback--grade-low .play-combat-feedback__grade{font-size:clamp(.48rem,.7vw,.58rem)}.screen-layout__surface--front .play-combat-feedback--grade-high .play-combat-feedback__grade{font-size:clamp(.68rem,.98vw,.82rem)}.screen-layout__surface--front .play-combat-feedback--grade-perfect .play-combat-feedback__grade{font-size:clamp(.78rem,1.12vw,.95rem)}.screen-layout__surface--front .play-combat-feedback__score,.screen-layout__surface--front .play-skill-result__text{font-size:clamp(.5rem,.8vw,.68rem)}.screen-layout__surface--front .play-skill-result--grade-low .play-skill-result__text{font-size:clamp(.42rem,.65vw,.55rem)}.screen-layout__surface--front .play-skill-result--grade-mid .play-skill-result__text{font-size:clamp(.48rem,.75vw,.62rem)}.screen-layout__surface--front .play-skill-result--grade-high .play-skill-result__text{font-size:clamp(.55rem,.88vw,.74rem)}.screen-layout__surface--front .play-skill-result--grade-perfect .play-skill-result__text{font-size:clamp(.62rem,1vw,.86rem)}.screen-layout__surface--front .play-skill-result{min-height:1.1rem;padding:0 2% 1%}.screen-layout__surface--front .play-camera--preview{border-width:1px;border-radius:2px;width:min(96px,6.5vw);bottom:.4rem;right:.4rem;box-shadow:0 2px 10px #00000061}.screen--camera{background:var(--ui-bg);overflow:hidden}.camera-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.camera-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:1fr auto;place-items:center;max-height:100svh;padding:0 3% 4%;display:grid;position:relative;overflow:hidden}.camera-page__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.camera-page__overlay{pointer-events:none;background:linear-gradient(#00000026 0%,#0000004d 50%,#00000080 100%);position:absolute;inset:0}.camera-page__vignette{pointer-events:none;background:radial-gradient(#0000 45%,#00000073 100%);position:absolute;inset:0}.camera-page__fade-in{animation:1s ease-out both camera-fade-in}.camera-page__fade-in--delayed{animation-delay:.3s}@keyframes camera-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.camera-page__scroll-panel{z-index:1;filter:drop-shadow(0 16px 32px #00000059);align-self:start;width:min(62%,860px);margin-top:6%;position:relative}.camera-page__scroll-image{-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:auto;display:block}.camera-page__scroll-content{text-align:center;color:var(--ui-scroll-text);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:18% 19% 20%}.camera-page__title{font-family:var(--font-brush-display);letter-spacing:.02em;color:var(--ui-scroll-text);margin:0 0 .35rem;font-size:clamp(1.8rem,3.8vw,3rem);font-weight:400;line-height:1.15}.camera-page__lead{font-family:var(--font-brush);color:var(--ui-scroll-text-muted);text-align:center;margin:0;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:400;line-height:1.6}.camera-page__footer{z-index:1;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:520px;display:flex;position:relative}.camera-page__message{color:var(--ui-danger-text);font-family:var(--font-brush);text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b8;border:1px solid #ffffff73;border-radius:2px;margin:0;padding:.6rem .9rem;font-size:clamp(.85rem,1.4vw,1rem);line-height:1.55}.camera-page__actions{flex-direction:row;justify-content:center;align-items:center;gap:1rem;width:100%;display:flex}.camera-page__button{min-width:140px;max-width:200px;font-family:var(--font-brush);letter-spacing:.02em;cursor:pointer;border-radius:2px;flex:1;padding:.5rem 1rem;font-size:clamp(.95rem,1.4vw,1.05rem);font-weight:400;transition:transform .18s,box-shadow .18s,border-color .18s,opacity .18s}.camera-page__button--primary{border:1.5px solid var(--ui-border-strong);background:var(--ui-btn-primary-bg);color:var(--ui-text);box-shadow:inset 0 1px #ffffff26,0 4px 18px #00000073}.camera-page__button--primary:hover:not(:disabled){border-color:var(--ui-btn-hover-border);transform:translateY(-2px)}.camera-page__button--primary:disabled{opacity:.7;cursor:wait}.camera-page__button--primary:focus-visible{outline:2px solid var(--ui-text-strong);outline-offset:3px}.camera-page__button--secondary{color:var(--ui-text-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0808088c;border:1.5px solid #ffffff73}.camera-page__button--secondary:hover{border-color:#ffffffa6;transform:translateY(-1px)}@media (aspect-ratio<=16/9){.camera-page{width:100vw;height:56.25vw;max-height:100svh}}@media (width<=768px){.camera-page{padding:0 4% 5%}.camera-page__scroll-panel{width:min(90%,640px)}.camera-page__scroll-content{gap:.35rem;inset:16% 14% 18%}.camera-page__actions{flex-direction:column;gap:.55rem;max-width:280px}.camera-page__button{width:100%;max-width:none}}@media (height<=520px){.camera-page__scroll-panel{width:min(56%,720px)}.camera-page__title{font-size:clamp(1.5rem,3vw,2.2rem)}.camera-page__lead{line-height:1.4}.camera-page__actions{flex-direction:row;max-width:420px}}.screen--ending{background:var(--ui-bg);overflow:hidden}.ending-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.ending-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:auto auto 1fr auto;place-items:center;gap:.5rem;max-height:100svh;padding:0 3% 3.5%;display:grid;position:relative;overflow:hidden}.ending-page__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ending-page__overlay{pointer-events:none;background:linear-gradient(#00000026 0%,#00000059 55%,#0000008c 100%);position:absolute;inset:0}.ending-page__vignette{pointer-events:none;background:radial-gradient(#0000 40%,#00000080 100%);position:absolute;inset:0}.ending-page__fade-in{animation:1s ease-out both ending-fade-in}.ending-page__fade-in--delayed{animation-delay:.25s}@keyframes ending-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ending-page__scroll-panel{z-index:1;filter:drop-shadow(0 16px 32px #00000059);align-self:end;width:min(52%,720px);margin-top:4%;position:relative}.ending-page__scroll-panel--failed .ending-page__scroll-title{color:var(--ui-scroll-text);text-shadow:0 1px #ffffff4d,0 2px 10px #0000002e}.ending-page__scroll-image{-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:auto;display:block}.ending-page__scroll-content{text-align:center;justify-content:center;align-items:center;display:flex;position:absolute;inset:26% 20% 30%}.ending-page__scroll-title{font-family:var(--font-brush-display);letter-spacing:.04em;color:var(--ui-scroll-text);text-shadow:0 1px #ffffff59,0 2px 8px #0000002e;margin:0;font-size:clamp(1.8rem,3.8vw,3.2rem);font-weight:400;line-height:1.2}.ending-page__summary{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:relative}.ending-page__stat{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080808b8;border:1px solid #ffffff73;border-radius:2px;flex-direction:column;align-items:center;gap:.15rem;min-width:7rem;padding:.45rem 1rem;display:flex}.ending-page__stat-label{font-family:var(--font-brush);color:var(--ui-text-muted);letter-spacing:.03em;font-size:clamp(.85rem,1.3vw,1rem)}.ending-page__stat-value{font-family:var(--font-brush-display);color:var(--ui-text);letter-spacing:.02em;font-size:clamp(1.4rem,2.4vw,2rem)}.ending-page__leaderboard{z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080808c7;border:1px solid #fff6;border-radius:2px;justify-self:center;width:min(52%,360px);max-height:28%;padding:.65rem .9rem;position:relative;overflow:hidden}.ending-page__leaderboard--interactive{cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.ending-page__leaderboard--interactive:hover{border-color:#fff9;transform:translateY(-1px);box-shadow:0 6px 18px #00000038}.ending-page__leaderboard--interactive:focus-visible{outline:2px solid var(--ui-text-strong);outline-offset:3px}.ending-page__leaderboard-title{font-family:var(--font-brush-display);color:var(--ui-text);letter-spacing:.06em;text-align:center;margin:0 0 .45rem;font-size:clamp(1.1rem,1.8vw,1.45rem);font-weight:400}.ending-page__leaderboard-empty{font-family:var(--font-brush);color:var(--ui-text-dim);text-align:center;margin:0;font-size:clamp(.9rem,1.4vw,1.05rem)}.ending-page__leaderboard-list{max-height:calc(100% - 1.8rem);margin:0;padding:0;list-style:none;overflow-y:auto}.ending-page__leaderboard-item{font-family:var(--font-brush);color:var(--ui-text-muted);border-bottom:1px solid #fff3;grid-template-rows:auto auto;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.15rem .5rem;padding:.35rem .15rem;font-size:clamp(.82rem,1.2vw,.95rem);display:grid}.ending-page__leaderboard-rank{font-family:var(--font-brush-display);color:var(--ui-text-strong);text-align:center;grid-row:1/3;font-size:1.1em}.ending-page__leaderboard-name{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;overflow:hidden}.ending-page__leaderboard-score{color:var(--ui-text);grid-area:1/3/3;align-self:center}.ending-page__leaderboard-meta{color:var(--ui-text-dim);grid-area:2/2;font-size:.92em}.ending-page__leaderboard-item:last-child{border-bottom:none}.ending-page__actions{z-index:1;flex-direction:row;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:480px;display:flex;position:relative}.ending-page__button{max-width:220px;font-family:var(--font-brush);letter-spacing:.02em;cursor:pointer;border-radius:2px;flex:1;padding:.6rem 1.2rem;font-size:clamp(1rem,1.5vw,1.3rem);font-weight:400;transition:transform .18s,box-shadow .18s,border-color .18s}.ending-page__button--primary{border:1.5px solid var(--ui-border-strong);background:var(--ui-btn-primary-bg);color:var(--ui-text);box-shadow:inset 0 1px #ffffff26,0 4px 18px #00000073}.ending-page__button--primary:hover{border-color:var(--ui-btn-hover-border);transform:translateY(-2px)}.ending-page__button--secondary{color:var(--ui-text-muted);background:#080808a6;border:1.5px solid #ffffff8c}.ending-page__button--secondary:hover{border-color:#ffffffb3;transform:translateY(-2px)}@media (aspect-ratio<=16/9){.ending-page{width:100vw;height:56.25vw;max-height:100svh}}@media (width<=768px){.ending-page{gap:.4rem;padding:0 4% 4%}.ending-page__scroll-panel{width:min(86%,640px)}.ending-page__scroll-content{inset:24% 14% 28%}.ending-page__summary{gap:.75rem}.ending-page__leaderboard{width:min(92%,560px);max-height:24%}.ending-page__leaderboard-item{grid-template-rows:auto auto auto;grid-template-columns:1.6rem 1fr}.ending-page__leaderboard-score{grid-column:2}.ending-page__leaderboard-meta{white-space:normal;grid-column:2}.ending-page__actions{flex-direction:column;gap:.55rem;max-width:280px}.ending-page__button{width:100%;max-width:none}}.screen--leaderboard{background:var(--ui-bg);overflow:hidden}.leaderboard-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.leaderboard-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:center;gap:.6rem;max-height:100svh;padding:0 3% 3.5%;display:grid;position:relative}.leaderboard-page__background{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.leaderboard-page__overlay{pointer-events:none;background:linear-gradient(#00000026 0%,#00000073 100%);position:absolute;inset:0}.leaderboard-page__scroll-panel{z-index:1;width:min(46%,640px);margin-top:4%;position:relative}.leaderboard-page__scroll-image{width:100%;height:auto;display:block}.leaderboard-page__scroll-content{justify-content:center;align-items:center;display:flex;position:absolute;inset:24% 18% 28%}.leaderboard-page__title{font-family:var(--font-brush-display);color:var(--ui-scroll-text);letter-spacing:.06em;margin:0;font-size:clamp(1.8rem,3.5vw,2.8rem)}.leaderboard-page__board{z-index:1;background:#080808c7;border:1px solid #fff6;border-radius:2px;width:min(72%,560px);max-height:42%;padding:.7rem .9rem;position:relative;overflow-y:auto}.leaderboard-page__empty{text-align:center;font-family:var(--font-brush);color:var(--ui-text-dim);margin:0}.leaderboard-page__list{margin:0;padding:0;list-style:none}.leaderboard-page__item{font-family:var(--font-brush);color:var(--ui-text-muted);border-bottom:1px solid #fff3;grid-template-rows:auto auto;grid-template-columns:2rem minmax(0,1fr) auto;gap:.15rem .5rem;padding:.35rem .15rem;font-size:clamp(.82rem,1.2vw,.95rem);display:grid}.leaderboard-page__item:last-child{border-bottom:none}.leaderboard-page__rank{font-family:var(--font-brush-display);color:var(--ui-text-strong);text-align:center;grid-row:1/3}.leaderboard-page__name{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-page__score{color:var(--ui-text);grid-row:1/3;align-self:center}.leaderboard-page__meta{color:var(--ui-text-dim);grid-column:2;font-size:.92em}.leaderboard-page__actions{z-index:1;gap:.7rem;display:flex;position:relative}.leaderboard-page__button{min-width:160px;font-family:var(--font-brush);cursor:pointer;border-radius:2px;padding:.55rem 1.1rem;font-size:clamp(.95rem,1.4vw,1.05rem)}.leaderboard-page__button--primary{border:1.5px solid var(--ui-border-strong);background:var(--ui-btn-primary-bg);color:var(--ui-text)}.leaderboard-page__button--secondary{color:var(--ui-text-muted);background:#0808088c;border:1.5px solid #ffffff73}@media (aspect-ratio<=16/9){.leaderboard-page{width:100vw;height:56.25vw;max-height:100svh}}.hand-keyboard{--hand-key-width:clamp(3.05rem, 4vw, 3.7rem);--hand-key-height:clamp(1.85rem, 2.6vw, 2.1rem);flex-direction:column;gap:.32rem;width:100%;max-width:760px;margin:0 auto;display:flex}.hand-keyboard__row{justify-content:center;gap:.28rem;display:flex}.hand-keyboard__row--action{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.1rem;padding-inline:8%;display:grid}.hand-keyboard__row:not(.hand-keyboard__row--action) .hand-keyboard__key{width:var(--hand-key-width);height:var(--hand-key-height);min-width:var(--hand-key-width);min-height:var(--hand-key-height);max-width:var(--hand-key-width);flex:0 0 var(--hand-key-width);justify-content:center;align-items:center;padding:0;display:inline-flex}.hand-keyboard__key{color:var(--ui-text);font-family:var(--font-brush);letter-spacing:.02em;cursor:pointer;background:#080808d1;border:1.5px solid #ffffff8c;border-radius:3px;font-size:clamp(.78rem,1.2vw,.95rem);transition:transform .12s,border-color .12s,background .12s,box-shadow .12s}.hand-keyboard__row--action .hand-keyboard__key{flex:initial;width:auto;min-width:0;max-width:none;height:auto;min-height:2.1rem;padding:.2rem .15rem;font-size:clamp(.85rem,1.3vw,1rem)}.hand-keyboard__key--backspace{color:var(--ui-danger-text)}.hand-keyboard__key--home{color:var(--ui-text-muted)}.hand-keyboard__key--confirm{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-btn-primary-bg)}.hand-keyboard__key:hover{border-color:#ffffffa6}.hand-keyboard__key--hovered{background:#181818eb;border-color:#ffffffc7;transform:translateY(-1px);box-shadow:0 0 0 2px #fff3}.hand-keyboard__key--pressed{background:#282828f2;border-color:#ffffffe6;transform:scale(.94);box-shadow:0 0 14px #ffffff4d}.hand-keyboard__hint{font-family:var(--font-brush);color:var(--ui-text-dim);text-align:center;letter-spacing:.02em;margin:.35rem 0 0;font-size:clamp(.8rem,1.2vw,.92rem)}@media (width<=768px){.hand-keyboard{--hand-key-width:2.78rem;--hand-key-height:1.85rem;gap:.24rem}.hand-keyboard__row{gap:.2rem}.hand-keyboard__row--action{padding-inline:4%}.hand-keyboard__row:not(.hand-keyboard__row--action) .hand-keyboard__key{font-size:.72rem}.hand-keyboard__row--action .hand-keyboard__key{min-height:1.85rem;font-size:.72rem}}.screen--nickname{background:var(--ui-bg);overflow:hidden}.nickname-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.nickname-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:center;gap:.35rem;max-height:100svh;padding:0 3% 3%;display:grid;position:relative;overflow:hidden}.nickname-page__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.nickname-page__overlay{pointer-events:none;background:linear-gradient(#0000001f 0%,#00000052 55%,#00000085 100%);position:absolute;inset:0}.nickname-page__vignette{pointer-events:none;background:radial-gradient(#0000 42%,#0000007a 100%);position:absolute;inset:0}.nickname-page__camera{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.nickname-page__cursor{pointer-events:none;z-index:12;background:#ffffff40;border:2px solid #fffffff2;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;transition:transform 80ms,background 80ms;position:absolute;box-shadow:0 0 12px #ffffff59}.nickname-page__cursor--closed{background:#c8c8c88c;border-color:#fff;transform:scale(.72)}.nickname-page__fade-in{animation:.9s ease-out both nickname-fade-in}.nickname-page__fade-in--delayed{animation-delay:.2s}@keyframes nickname-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.nickname-page__scroll-panel{z-index:1;filter:drop-shadow(0 16px 32px #00000059);width:min(48%,680px);margin-top:3%;position:relative}.nickname-page__scroll-image{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.nickname-page__scroll-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:absolute;inset:20% 18% 24%}.nickname-page__title{font-family:var(--font-brush-display);color:var(--ui-scroll-text);letter-spacing:.06em;margin:0;font-size:clamp(1.8rem,3.5vw,2.8rem)}.nickname-page__subtitle{font-family:var(--font-brush);color:var(--ui-scroll-text-muted);letter-spacing:.02em;margin:0;font-size:clamp(.85rem,1.4vw,1rem)}.nickname-page__nickname{min-height:1.4em;font-family:var(--font-brush-display);color:var(--ui-scroll-text);letter-spacing:.08em;margin:.15rem 0 0;font-size:clamp(1.5rem,2.8vw,2.2rem)}.nickname-page__length{font-family:var(--font-brush);color:var(--ui-scroll-text-subtle);margin:0;font-size:clamp(.75rem,1.1vw,.85rem)}.nickname-page__validation{font-family:var(--font-brush);color:var(--ui-scroll-text-muted);letter-spacing:.02em;margin:.15rem 0 0;font-size:clamp(.75rem,1.1vw,.85rem)}.nickname-page__keyboard-wrap{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080808c7;border:1px solid #ffffff73;border-radius:2px;width:min(88%,920px);padding:.55rem .7rem .45rem;position:relative}.nickname-page__camera-hint{font-family:var(--font-brush);color:var(--ui-text-strong);text-align:center;margin:0 0 .4rem;font-size:clamp(.82rem,1.2vw,.95rem)}.nickname-page__camera-error{font-family:var(--font-brush);color:var(--ui-danger-text);text-align:center;margin:0 0 .4rem;font-size:clamp(.8rem,1.2vw,.92rem)}.nickname-page__footer{z-index:2;justify-content:center;width:100%;display:flex;position:relative}.nickname-page__button{min-width:140px;font-family:var(--font-brush);letter-spacing:.02em;cursor:pointer;border-radius:2px;padding:.5rem 1rem;font-size:clamp(.95rem,1.4vw,1.05rem);transition:transform .18s,border-color .18s}.nickname-page__button--secondary{color:var(--ui-text-muted);background:#0808088c;border:1.5px solid #ffffff73}.nickname-page__button--secondary:hover{border-color:#ffffffa6;transform:translateY(-1px)}@media (aspect-ratio<=16/9){.nickname-page{width:100vw;height:56.25vw;max-height:100svh}}@media (width<=768px){.nickname-page{gap:.25rem;padding:0 3% 3.5%}.nickname-page__scroll-panel{width:min(84%,640px)}.nickname-page__scroll-content{inset:18% 14% 22%}.nickname-page__keyboard-wrap{width:min(96%,920px);padding:.45rem .5rem}}@media (height<=520px){.nickname-page__scroll-panel{width:min(44%,620px)}.nickname-page__title{font-size:clamp(1.4rem,2.8vw,2rem)}.nickname-page__nickname{font-size:clamp(1.2rem,2.2vw,1.6rem)}}.arena-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.arena-atmosphere__glow{background:radial-gradient(80% 60% at 50% 75%,#ffffff14 0%,#0000 65%);position:absolute;inset:0}.arena-atmosphere__mist{background:linear-gradient(#00000014 0%,#0000 30%,#0000000f 100%);animation:18s ease-in-out infinite alternate arena-mist-drift;position:absolute;inset:0}.arena-atmosphere__rays{filter:blur(12px);background:linear-gradient(#ffffff0d 0%,#0000 80%);width:60%;height:50%;animation:12s ease-in-out infinite arena-rays-pulse;position:absolute;top:-10%;left:20%;transform:rotate(-8deg)}.arena-atmosphere__particle{--angle:calc(var(--particle-index) * 20deg);--size:calc(2px + (var(--particle-index) % 4) * 1.5px);--duration:calc(12s + (var(--particle-index) % 6) * 3s);--delay:calc(var(--particle-index) * -.7s);--start-x:calc(8% + (var(--particle-index) * 5.2%) % 84%);--drift:calc(-12px + (var(--particle-index) % 5) * 8px);bottom:-4%;left:var(--start-x);width:var(--size);height:calc(var(--size) * 1.6);background:rgba(255, 255, 255, calc(.12 + (var(--particle-index) % 3) * .06));opacity:0;animation:arena-particle-float var(--duration) linear infinite;animation-delay:var(--delay);border-radius:40% 60% 50% 50%;position:absolute;box-shadow:0 0 4px #ffffff1f}.arena-atmosphere__particle:nth-child(3n){width:calc(var(--size) * 2.2);height:calc(var(--size) * .6);background:#c8c8c82e;border-radius:50%}.arena-atmosphere__particle:nth-child(5n){background:#fff3}@keyframes arena-mist-drift{0%{opacity:.85;transform:translate(-1%)}to{opacity:1;transform:translate(1%)}}@keyframes arena-rays-pulse{0%,to{opacity:.5}50%{opacity:.9}}@keyframes arena-particle-float{0%{opacity:0;transform:translate(0, 0) rotate(var(--angle))}10%{opacity:.7}90%{opacity:.4}to{opacity:0;transform:translate(var(--drift), -110vh) rotate(calc(var(--angle) + 40deg))}}.screen--play{background:var(--ui-bg);overflow:hidden}.play-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.play-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:auto 1fr auto;max-height:100svh;display:grid;position:relative;overflow:hidden}.play-page__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.play-page__overlay{z-index:1;pointer-events:none;background:radial-gradient(90% 70% at 50% 100%,#0000002e 0%,#0000 55%),linear-gradient(#00000040 0%,#0000000a 35%,#0003 100%);position:absolute;inset:0}.play-page--shake-light{animation:.36s ease-out play-screen-shake-light}.play-page--shake-heavy{animation:.52s ease-out play-screen-shake-heavy}@keyframes play-screen-shake-light{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,1px)}80%{transform:translate(2px,-1px)}}@keyframes play-screen-shake-heavy{0%,to{transform:translate(0)}15%{transform:translate(-8px,4px)rotate(-.3deg)}30%{transform:translate(7px,-3px)rotate(.3deg)}45%{transform:translate(-6px,2px)}60%{transform:translate(5px,-2px)}75%{transform:translate(-3px,1px)}}.play-fail-warning{z-index:22;pointer-events:none;background:radial-gradient(circle at 50% 60%,#00000059 0%,#0000 65%);border:3px solid #ffffff59;animation:.42s ease-out forwards play-fail-warning-flash;position:absolute;inset:0;box-shadow:inset 0 0 40px #00000040}@keyframes play-fail-warning-flash{0%{opacity:.95}to{opacity:0}}.play-hud{z-index:3;justify-content:space-between;align-items:flex-end;gap:1rem;padding:2.5% 4% 0;display:flex;position:relative}.play-hud__item{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080808a6;border:1px solid #ffffff73;border-radius:2px;flex-direction:column;align-items:center;gap:.15rem;min-width:5rem;padding:.35rem .75rem;display:flex}.play-hud__item--score{min-width:6.5rem}.play-hud__item--skill{min-width:7rem}.play-hud__label{font-family:var(--font-brush);color:var(--ui-text-muted);letter-spacing:.04em;font-size:clamp(.75rem,1.2vw,.9rem)}.play-hud__value{font-family:var(--font-brush-display);color:var(--ui-text);font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.1}.play-arena{z-index:1;justify-content:center;align-items:flex-end;min-height:0;padding:0 8%;display:flex;position:relative}.play-guide-area{z-index:2;pointer-events:none;position:absolute;inset:4% 6% 8%}.play-camera{opacity:0;pointer-events:none;z-index:0;width:1px;height:1px;position:absolute}.play-camera--preview{aspect-ratio:16/9;opacity:1;z-index:20;object-fit:cover;border:1.5px solid #ffffff8c;border-radius:3px;width:min(160px,18vw);height:auto;inset:auto .75rem .75rem auto;transform:scaleX(-1);box-shadow:0 4px 16px #0006}.play-hand-hint{font-family:var(--font-brush);color:var(--ui-text);letter-spacing:.04em;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#080808bf;border:1px solid #ffffff80;border-radius:2px;margin:0;padding:.6rem 1.2rem;font-size:clamp(1rem,1.8vw,1.25rem);animation:2s ease-in-out infinite play-hint-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes play-hint-pulse{0%,to{opacity:.85}50%{opacity:1}}.play-skill-hint{font-family:var(--font-brush);color:var(--ui-text);letter-spacing:.03em;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#080808bf;border:1px solid #ffffff73;border-radius:2px;margin:0;padding:.45rem 1rem;font-size:clamp(.85rem,1.5vw,1rem);position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.play-skill-hint--cooldown{color:var(--ui-text);background:#080808bf;border-color:#ffffff73}.play-skill-hint--error{color:var(--ui-danger-text);background:#000000d9;border-color:#ffffff8c}.play-guide-area__canvas{width:100%;height:100%;display:block}.play-target{z-index:1;flex-direction:column;align-items:center;margin-bottom:-2%;display:flex;position:relative;transform:translateY(4%)}.play-durability{flex-direction:column;align-items:center;gap:.25rem;width:min(340px,40vw);margin-bottom:.5rem;display:flex}.play-durability__bar{background:#080808b3;border:1px solid #ffffff8c;border-radius:2px;width:100%;height:10px;overflow:hidden}.play-durability__fill{background:var(--ui-durability);height:100%;transition:width .3s}.play-durability__text{font-family:var(--font-brush);color:var(--ui-text);text-shadow:0 1px 3px #0009;font-size:clamp(.7rem,1.1vw,.85rem)}.play-target__puppet-wrap{justify-content:center;align-items:center;display:flex;position:relative}.play-target__puppet{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 .6px #000)drop-shadow(0 0 .6px #000)drop-shadow(1px 0 #000)drop-shadow(-1px 0 #000)drop-shadow(0 1px #000)drop-shadow(0 -1px #000)drop-shadow(0 8px 16px #00000059);width:min(400px,42vw);height:auto;transition:filter .15s}.play-target__puppet--hit{animation:.45s puppet-hit-shake}.play-target__puppet--hit-light{filter:drop-shadow(0 0 .6px #000)drop-shadow(0 0 .6px #000)drop-shadow(1px 0 #000)drop-shadow(-1px 0 #000)drop-shadow(0 1px #000)drop-shadow(0 -1px #000)drop-shadow(0 8px 16px #00000059)brightness(1.04);animation:.34s puppet-hit-shake-light}.play-target__puppet--hit-normal{filter:drop-shadow(0 0 .6px #000)drop-shadow(0 0 .6px #000)drop-shadow(1px 0 #000)drop-shadow(-1px 0 #000)drop-shadow(0 1px #000)drop-shadow(0 -1px #000)drop-shadow(0 8px 16px #00000059)brightness(1.1)contrast(1.05);animation:.45s puppet-hit-shake}.play-target__puppet--hit-strong{filter:drop-shadow(0 0 .6px #000)drop-shadow(0 0 .6px #000)drop-shadow(1px 0 #000)drop-shadow(-1px 0 #000)drop-shadow(0 1px #000)drop-shadow(0 -1px #000)drop-shadow(0 0 12px #ffffff59)drop-shadow(0 8px 16px #00000059)brightness(1.18)contrast(1.08);animation:.52s puppet-hit-shake-strong}.play-target__puppet--hit-perfect{filter:drop-shadow(0 0 .6px #000)drop-shadow(0 0 .6px #000)drop-shadow(1px 0 #000)drop-shadow(-1px 0 #000)drop-shadow(0 1px #000)drop-shadow(0 -1px #000)drop-shadow(0 0 20px #ffffff8c)drop-shadow(0 0 36px #dcdcdc4d)drop-shadow(0 8px 16px #00000059)brightness(1.28)contrast(1.12);animation:.62s puppet-hit-shake-perfect}.play-target__puppet--fail-recoil{animation:.38s puppet-fail-recoil}@keyframes puppet-fail-recoil{0%,to{transform:translate(0)rotate(0)}30%{transform:translate(8px)rotate(2deg)}60%{transform:translate(4px)rotate(1deg)}}@keyframes puppet-hit-shake-light{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-4px)rotate(-1deg)}45%{transform:translate(3px)rotate(.8deg)}70%{transform:translate(-2px)rotate(-.4deg)}}@keyframes puppet-hit-shake{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-10px)rotate(-3deg)}30%{transform:translate(8px)rotate(2deg)}45%{transform:translate(-6px)rotate(-1.5deg)}60%{transform:translate(4px)rotate(1deg)}}@keyframes puppet-hit-shake-strong{0%,to{transform:translate(0)rotate(0)}12%{transform:translate(-14px)rotate(-4deg)}28%{transform:translate(12px)rotate(3deg)}44%{transform:translate(-9px)rotate(-2deg)}60%{transform:translate(6px)rotate(1.5deg)}}@keyframes puppet-hit-shake-perfect{0%,to{transform:translate(0)rotate(0)scale(1)}10%{transform:translate(-16px)rotate(-5deg)scale(1.02)}25%{transform:translate(14px)rotate(4deg)scale(.98)}40%{transform:translate(-11px)rotate(-3deg)}55%{transform:translate(8px)rotate(2deg)}70%{transform:translate(-5px)rotate(-1deg)}}.play-target__puppet-wrap--destroying{animation:.5s puppet-wrap-shake}.play-target__puppet--destroying{pointer-events:none;animation:1.1s ease-out forwards puppet-destroy-break}.play-target__puppet--spawn{animation:.5s ease-out puppet-spawn-rise}@keyframes puppet-wrap-shake{0%,to{transform:translate(0)}10%{transform:translate(-14px)rotate(-2deg)}25%{transform:translate(12px)rotate(2deg)}40%{transform:translate(-10px)}55%{transform:translate(8px)}}@keyframes puppet-destroy-break{0%{opacity:1;filter:brightness();transform:scale(1)rotate(0)}20%{filter:brightness(1.3);transform:scale(1.05)rotate(-4deg)}45%{opacity:.85;transform:scale(.92)rotate(6deg)}to{opacity:0;filter:brightness(.6);transform:scale(.55)rotate(12deg)translateY(24px)}}@keyframes puppet-spawn-rise{0%{opacity:0;transform:translateY(28px)scale(.75)}60%{opacity:1;transform:translateY(-6px)scale(1.03)}to{opacity:1;transform:translateY(0)scale(1)}}.play-destroy-burst{pointer-events:none;z-index:4;background:radial-gradient(circle,#ffffff8c 0%,#0000 68%);border-radius:50%;animation:.7s ease-out forwards destroy-burst-fade;position:absolute;inset:-25%}.play-destroy-slash{pointer-events:none;z-index:5;background:linear-gradient(90deg,#0000 0%,#fffffff2 42%,#dcdcdc 50%,#fffffff2 58%,#0000 100%);width:140%;height:12px;margin-left:-70%;animation:.55s ease-out forwards destroy-slash-sweep;position:absolute;top:20%;left:50%;transform:rotate(-35deg)scaleX(.2);box-shadow:0 0 24px #ffffffa6}@keyframes destroy-burst-fade{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}@keyframes destroy-slash-sweep{0%{opacity:0;transform:rotate(-35deg)scaleX(.2)}30%{opacity:1;transform:rotate(-35deg)scaleX(1)}to{opacity:0;transform:rotate(-35deg)scaleX(1.15)}}.play-puppet-debris{pointer-events:none;z-index:6;position:absolute;inset:0}.play-puppet-debris__piece{--angle:calc(var(--piece-index) * 25.7deg);--distance:calc(40px + (var(--piece-index) % 5) * 18px);width:calc(8px + (var(--piece-index) % 3) * 4px);height:calc(4px + (var(--piece-index) % 4) * 3px);margin:-2px 0 0 calc(-4px - (var(--piece-index) % 3) * 2px);animation:.9s ease-out forwards debris-scatter;animation-delay:calc(var(--piece-index) * 20ms);background:linear-gradient(135deg,#9a9a9a 0%,#6a6a6a 45%,#3a3a3a 100%);border-radius:1px;position:absolute;top:50%;left:50%;box-shadow:0 1px 2px #00000059}@keyframes debris-scatter{0%{opacity:1;transform:rotate(var(--angle)) translate(0, 0)}to{opacity:0;transform:rotate(calc(var(--angle) + 140deg)) translateY(calc(-1 * var(--distance)))}}.play-hit-slash{pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000 0%,#ffffffe6 45%,#e6e6e6 50%,#ffffffe6 55%,#0000 100%);width:120%;height:8px;margin-left:-60%;animation:.4s ease-out forwards hit-slash-fade;position:absolute;top:15%;left:50%;transform:rotate(-25deg);box-shadow:0 0 16px #ffffff8c}.play-hit-slash--light{opacity:.55;width:78%;height:3px;margin-left:-39%;animation-duration:.28s;box-shadow:0 0 8px #ffffff47}.play-hit-slash--normal{opacity:.82;width:100%;height:6px;margin-left:-50%;animation-duration:.38s;box-shadow:0 0 14px #ffffff73}.play-hit-slash--strong{width:128%;height:11px;margin-left:-64%;animation-duration:.5s;box-shadow:0 0 22px #ffffffb8,0 0 36px #c8c8c847}.play-hit-slash--perfect{width:145%;height:14px;margin-left:-72.5%;animation:.62s ease-out forwards hit-slash-fade-perfect;box-shadow:0 0 30px #fffffff2,0 0 56px #dcdcdc73,0 0 80px #b4b4b433}.play-hit-slash--secondary{animation-delay:50ms;top:28%;transform:rotate(18deg)}.play-hit-slash--secondary.play-hit-slash--strong{opacity:.75;width:92%;height:6px;margin-left:-46%}.play-hit-slash--tertiary{opacity:.85;width:70%;height:5px;margin-left:-35%;animation-delay:.1s;top:42%;transform:rotate(-8deg)}.play-sword-aura{pointer-events:none;z-index:1;background:radial-gradient(circle,#e6e6e68c 0%,#a0a0a033 35%,#0000 68%);border-radius:50%;animation:.6s ease-out forwards sword-aura-burst;position:absolute;inset:-35%}.play-sword-aura--strong{background:radial-gradient(circle,#dcdcdc52 0%,#9696961f 40%,#0000 70%);animation:.48s ease-out forwards sword-aura-burst-strong;inset:-18%}.play-sword-aura--perfect{background:radial-gradient(circle,#ffffffb3 0%,#d2d2d247 28%,#8c8c8c1a 52%,#0000 72%);animation:.72s ease-out forwards sword-aura-burst-perfect;inset:-42%}@keyframes sword-aura-burst{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}@keyframes sword-aura-burst-strong{0%{opacity:.75;transform:scale(.5)}to{opacity:0;transform:scale(1.25)}}@keyframes sword-aura-burst-perfect{0%{opacity:1;transform:scale(.3)}45%{opacity:.85;transform:scale(1.05)}to{opacity:0;transform:scale(1.7)}}.play-hit-flash{pointer-events:none;z-index:1;background:radial-gradient(circle,#ffffff59 0%,#0000 70%);border-radius:50%;animation:.4s ease-out forwards hit-flash-fade;position:absolute;inset:-10%}.play-hit-flash--light{background:radial-gradient(circle,#ffffff24 0%,#0000 68%);animation-duration:.28s;inset:8%}.play-hit-flash--normal{background:radial-gradient(circle,#ffffff47 0%,#0000 70%);animation-duration:.38s;inset:-4%}.play-hit-flash--strong{background:radial-gradient(circle,#f5f5f57a 0%,#b4b4b41a 48%,#0000 70%);animation-duration:.5s;inset:-16%}.play-hit-flash--perfect{background:radial-gradient(circle,#ffffffb8 0%,#dcdcdc38 38%,#a0a0a014 58%,#0000 74%);animation:.62s ease-out forwards hit-flash-fade-perfect;inset:-28%}.play-hit-ring{pointer-events:none;z-index:2;border:2px solid #ffffffbf;border-radius:50%;animation:.7s ease-out forwards hit-ring-expand;position:absolute;inset:-8%;box-shadow:0 0 12px #ffffff73,inset 0 0 12px #fff3}@keyframes hit-ring-expand{0%{opacity:.95;transform:scale(.55)}to{opacity:0;transform:scale(1.55)}}@keyframes hit-slash-fade-perfect{0%{opacity:0;transform:rotate(-25deg)scaleX(.2)}25%{opacity:1;transform:rotate(-25deg)scaleX(1.1)}to{opacity:0;transform:rotate(-25deg)scaleX(1.25)}}@keyframes hit-flash-fade-perfect{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.6)}}@keyframes hit-slash-fade{0%{opacity:0;transform:rotate(-25deg)scaleX(.3)}30%{opacity:1;transform:rotate(-25deg)scaleX(1)}to{opacity:0;transform:rotate(-25deg)scaleX(1.1)}}@keyframes hit-flash-fade{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}.play-combat-feedback{white-space:nowrap;pointer-events:none;z-index:3;border-radius:2px;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .9rem;animation:1.8s ease-out forwards combat-feedback-pop;display:flex;position:absolute;top:-8%;left:50%;transform:translate(-50%)}.play-combat-feedback--grade-low{background:#060606c7;border:1px solid #ffffff38;padding:.28rem .65rem}.play-combat-feedback--grade-mid{background:#080808d6;border:1px solid #fff6;box-shadow:0 0 8px #ffffff14}.play-combat-feedback--grade-high{background:#0a0a0ae0;border:1px solid #ffffff94;padding:.48rem 1.05rem;animation:1.9s ease-out forwards combat-feedback-pop-high;box-shadow:0 0 16px #ffffff38}.play-combat-feedback--grade-perfect{background:#0c0c0ceb;border:1.5px solid #ffffffd1;padding:.55rem 1.2rem;animation:2.1s ease-out forwards combat-feedback-pop-perfect;box-shadow:0 0 22px #ffffff59,0 0 40px #c8c8c82e}.play-combat-feedback--grade-fail{opacity:.92;background:#000000e6;border:1px solid #ffffff47}.play-combat-feedback--destroy{background:#080808eb;border:1.5px solid #ffffffb3;box-shadow:0 0 24px #ffffff4d}.play-combat-feedback--destroy .play-combat-feedback__skill{color:var(--ui-text-strong);font-size:clamp(1.1rem,2vw,1.5rem)}.play-combat-feedback--destroy .play-combat-feedback__grade{color:var(--ui-text-strong);font-size:clamp(1rem,1.8vw,1.25rem)}.play-combat-feedback--destroy .play-combat-feedback__score{color:var(--ui-text-strong)}.play-combat-feedback__skill{font-family:var(--font-brush-display);color:var(--ui-text);letter-spacing:.08em;font-size:clamp(.95rem,1.7vw,1.2rem)}.play-combat-feedback--grade-low .play-combat-feedback__skill{color:var(--ui-text-dim);letter-spacing:.04em;font-size:clamp(.78rem,1.3vw,.95rem)}.play-combat-feedback--grade-mid .play-combat-feedback__skill{color:var(--ui-text-muted);font-size:clamp(.9rem,1.55vw,1.1rem)}.play-combat-feedback--grade-high .play-combat-feedback__skill{color:var(--ui-text);text-shadow:0 0 10px #ffffff38;font-size:clamp(1.05rem,1.85vw,1.3rem)}.play-combat-feedback--grade-perfect .play-combat-feedback__skill{color:var(--ui-text-strong);text-shadow:0 0 12px #fff6,0 0 24px #dcdcdc33;letter-spacing:.12em;font-size:clamp(1.15rem,2.1vw,1.45rem)}.play-combat-feedback--grade-fail .play-combat-feedback__skill{color:var(--ui-danger-text);font-size:clamp(.82rem,1.4vw,1rem)}.play-combat-feedback__grade{font-family:var(--font-brush);color:var(--ui-text-muted);letter-spacing:.06em;font-size:clamp(.85rem,1.5vw,1rem)}.play-combat-feedback--grade-low .play-combat-feedback__grade{color:var(--ui-text-dim);font-size:clamp(.7rem,1.15vw,.82rem)}.play-combat-feedback--grade-mid .play-combat-feedback__grade{color:var(--ui-text-muted);font-size:clamp(.82rem,1.4vw,.95rem)}.play-combat-feedback--grade-high .play-combat-feedback__grade{color:var(--ui-text);letter-spacing:.1em;font-size:clamp(.95rem,1.65vw,1.15rem)}.play-combat-feedback--grade-perfect .play-combat-feedback__grade{color:var(--ui-text-strong);letter-spacing:.16em;text-shadow:0 0 14px #ffffff59;font-size:clamp(1.1rem,2vw,1.4rem)}.play-combat-feedback--grade-fail .play-combat-feedback__grade{color:var(--ui-text-dim)}.play-combat-feedback__score{font-family:var(--font-brush);color:var(--ui-text-strong);letter-spacing:.04em;font-size:clamp(.9rem,1.6vw,1.1rem)}.play-combat-feedback--grade-low .play-combat-feedback__score{color:var(--ui-text-muted);font-size:clamp(.72rem,1.2vw,.88rem)}.play-combat-feedback--grade-mid .play-combat-feedback__score{font-size:clamp(.85rem,1.45vw,1rem)}.play-combat-feedback--grade-high .play-combat-feedback__score{text-shadow:0 0 10px #ffffff40;font-size:clamp(1rem,1.75vw,1.2rem)}.play-combat-feedback--grade-perfect .play-combat-feedback__score{text-shadow:0 0 12px #ffffff73,0 0 24px #dcdcdc33;font-size:clamp(1.1rem,2vw,1.35rem)}@keyframes combat-feedback-pop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.85)}12%{opacity:1;transform:translate(-50%)translateY(0)scale(1.05)}20%{transform:translate(-50%)translateY(0)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-12px)scale(.95)}}@keyframes combat-feedback-pop-high{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.82)}12%{opacity:1;transform:translate(-50%)translateY(0)scale(1.08)}22%{transform:translate(-50%)translateY(0)scale(1)}76%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-14px)scale(.96)}}@keyframes combat-feedback-pop-perfect{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.75)}10%{opacity:1;transform:translate(-50%)translateY(0)scale(1.16)}18%{transform:translate(-50%)translateY(0)scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-18px)scale(.95)}}.play-ready-countdown{z-index:25;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#0808088c;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:0}.play-ready-countdown__number{font-family:var(--font-brush-display);color:var(--ui-text);letter-spacing:.04em;text-shadow:0 0 24px #ffffff59,0 0 48px #b4b4b426;font-size:clamp(5rem,14vw,9rem);line-height:1;animation:.45s ease-out play-ready-countdown-pop}.play-ready-countdown__label{font-family:var(--font-brush);color:var(--ui-text-muted);letter-spacing:.12em;font-size:clamp(1.1rem,2.2vw,1.6rem)}@keyframes play-ready-countdown-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.play-game-over{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080808b8;justify-content:center;align-items:center;animation:.35s ease-out play-game-over-fade;display:flex;position:absolute;inset:0}.play-game-over__title{font-family:var(--font-brush-display);color:var(--ui-text);letter-spacing:.08em;text-shadow:0 0 20px #ffffff40;margin:0;font-size:clamp(2rem,4vw,3.2rem)}.play-game-over--failed .play-game-over__title{color:var(--ui-danger-text);text-shadow:0 0 20px #b4b4b440}@keyframes play-game-over-fade{0%{opacity:0}to{opacity:1}}.play-skill-result{z-index:3;justify-content:center;align-items:center;min-height:2.5rem;padding:0 4% 2.5%;display:flex;position:relative}.play-skill-result__text{font-family:var(--font-brush-display);color:#ffffff40;letter-spacing:.08em;font-size:clamp(1.2rem,2.2vw,1.8rem)}.play-skill-result--active .play-skill-result__text{color:var(--ui-text);text-shadow:0 0 12px #ffffff40}.play-skill-result--grade-low .play-skill-result__text{color:var(--ui-text-dim);text-shadow:none;font-size:clamp(1rem,1.8vw,1.35rem)}.play-skill-result--grade-mid .play-skill-result__text{color:var(--ui-text-muted);text-shadow:0 0 8px #ffffff1f;font-size:clamp(1.1rem,2vw,1.55rem)}.play-skill-result--grade-high .play-skill-result__text{color:var(--ui-text);text-shadow:0 0 14px #ffffff4d;font-size:clamp(1.25rem,2.3vw,1.85rem)}.play-skill-result--grade-perfect .play-skill-result__text{color:var(--ui-text-strong);letter-spacing:.12em;text-shadow:0 0 18px #ffffff80,0 0 36px #c8c8c838;font-size:clamp(1.4rem,2.6vw,2.1rem)}.play-skill-result--grade-fail .play-skill-result__text{color:var(--ui-danger-text);text-shadow:0 0 10px #a0a0a040;font-size:clamp(1.05rem,1.9vw,1.45rem)}@media (aspect-ratio<=16/9){.play-page{width:100vw;height:56.25vw;max-height:100svh}}@media (width<=768px){.play-hud{gap:.5rem;padding:3% 3% 0}.play-hud__item{min-width:4.5rem;padding:.25rem .5rem}.play-target__puppet{width:min(300px,52vw)}.play-target{transform:translateY(3%)}}@media (height<=520px){.play-hud{padding-top:1.5%}.play-target__puppet{width:min(280px,36vw)}.play-target{transform:translateY(2%)}.play-skill-result{min-height:1.75rem;padding-bottom:1.5%}}.screen--tutorial{background:var(--ui-bg);overflow:hidden}.tutorial-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.tutorial-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:auto 1fr;max-height:100svh;display:grid;position:relative;overflow:hidden}.tutorial-page__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tutorial-page__overlay{z-index:1;pointer-events:none;background:radial-gradient(90% 70% at 50% 100%,#00000026 0%,#0000 55%),linear-gradient(#00000040 0%,#0000000a 35%,#0000002e 100%);position:absolute;inset:0}.tutorial-page__hud{z-index:3;position:relative}.tutorial-page__arena{z-index:1;pointer-events:none;min-height:0;position:absolute;inset:0}.tutorial-page__arena .play-guide-area{width:66%;height:60%;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.tutorial-page__arena .play-guide-area__canvas{width:100%;height:100%;display:block}.tutorial-page__footer{z-index:4;flex-direction:column;align-items:flex-end;gap:.5rem;padding:0;display:flex;position:absolute;bottom:3%;right:4%}.tutorial-page__fade-in{animation:1s ease-out both tutorial-fade-in}@keyframes tutorial-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tutorial-page__scroll-panel{z-index:4;filter:drop-shadow(0 10px 24px #00000059);width:min(38%,420px);margin:0;position:absolute;bottom:3%;left:4%}.tutorial-page__scroll-image{-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:auto;display:block}.tutorial-page__scroll-content{text-align:center;color:var(--ui-scroll-text);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:18% 14% 20%}.tutorial-page__lead{font-family:var(--font-brush-display);letter-spacing:.02em;color:var(--ui-scroll-text);text-align:center;text-shadow:0 1px #ffffff59,0 2px 6px #00000024;margin:0;font-size:clamp(.8rem,1.3vw,.95rem);font-weight:400;line-height:1.55}.tutorial-page__result{place-self:auto;min-height:1.5rem;margin:0;position:static}.tutorial-page__actions{justify-content:flex-end;justify-self:auto;align-items:center;display:flex}.tutorial-page__button{min-width:140px;max-width:220px;font-family:var(--font-brush);letter-spacing:.02em;cursor:pointer;border-radius:2px;padding:.5rem 1rem;font-size:clamp(.95rem,1.4vw,1.05rem);font-weight:400;transition:transform .18s,box-shadow .18s,border-color .18s,opacity .18s}.tutorial-page__button--primary{border:1.5px solid var(--ui-border-strong);background:var(--ui-btn-primary-bg);color:var(--ui-text);box-shadow:inset 0 1px #ffffff26,0 4px 18px #00000073}.tutorial-page__button--primary:hover:not(:disabled){border-color:var(--ui-btn-hover-border);transform:translateY(-2px)}.tutorial-page__button--primary:focus-visible{outline:2px solid var(--ui-text-strong);outline-offset:3px}.tutorial-page__button--primary:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.play-skill-hint--complete{color:var(--ui-text);background:#080808bf;border-color:#ffffff80}@media (aspect-ratio<=16/9){.tutorial-page{width:100vw;height:56.25vw;max-height:100svh}}@media (width<=768px){.tutorial-page__scroll-panel{width:min(52%,360px);bottom:4%;left:4%}.tutorial-page__footer{bottom:4%;right:4%}.tutorial-page__result,.tutorial-page__actions{align-items:center}.tutorial-page__lead{font-size:clamp(.75rem,1.4vw,.9rem)}}.screen--start{background:var(--ui-bg);overflow:hidden}.start-page-frame{background:var(--ui-bg);justify-content:center;align-items:center;width:100%;min-height:100svh;display:flex}.start-page{--desktop-ratio:16 / 9;width:min(100vw, calc(100svh * var(--desktop-ratio)));aspect-ratio:var(--desktop-ratio);box-sizing:border-box;grid-template-rows:1fr auto;place-items:center;max-height:100svh;padding:0 3% 4%;display:grid;position:relative;overflow:hidden}.start-page__background{object-fit:cover;object-position:center center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;animation:28s ease-in-out infinite alternate start-bg-zoom;position:absolute;inset:0}@keyframes start-bg-zoom{0%{transform:scale(1)}to{transform:scale(1.04)}}.start-page__overlay{pointer-events:none;background:linear-gradient(#0000001a 0%,#00000040 50%,#00000073 100%);position:absolute;inset:0}.start-page__vignette{pointer-events:none;background:radial-gradient(#0000 45%,#00000073 100%);position:absolute;inset:0}.start-page__fade-in{animation:1.2s ease-out both start-fade-in}.start-page__fade-in--delayed{animation-delay:.35s}@keyframes start-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.start-page__scroll-panel{z-index:1;filter:drop-shadow(0 16px 32px #00000059);align-self:start;width:min(58%,820px);margin-top:6%;position:relative}.start-page__scroll-image{-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:auto;display:block}.start-page__scroll-content{text-align:center;color:var(--ui-scroll-text);justify-content:center;align-items:center;display:flex;position:absolute;inset:24% 21% 28%}.start-page__title-group{flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex}.start-page__title{font-family:var(--font-brush-display);letter-spacing:.02em;color:var(--ui-scroll-text);text-shadow:0 1px #ffffff59,0 2px 8px #0000002e;margin:0;font-size:clamp(2rem,4.2vw,3.6rem);font-weight:400;line-height:1.15}.start-page__subtitle-title{font-family:var(--font-title-start);letter-spacing:.08em;color:var(--ui-scroll-text);text-shadow:0 1px #ffffff47,0 2px 6px #00000024;margin:0;font-size:clamp(1rem,2.1vw,1.7rem);font-weight:400;line-height:1}.start-page__actions{z-index:1;flex-direction:row;justify-content:center;align-items:center;gap:1.25rem;width:100%;max-width:520px;margin-top:-.25rem;display:flex;position:relative}.start-page__button{max-width:240px;font-family:var(--font-brush);letter-spacing:.02em;cursor:pointer;border-radius:2px;flex:1;padding:.72rem 1.4rem;font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:400;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}.start-page__button--primary{border:1.5px solid var(--ui-border-strong);background:var(--ui-btn-primary-bg);color:var(--ui-text);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:inset 0 1px #ffffff26,0 4px 18px #00000073}.start-page__button--primary:hover{border-color:var(--ui-btn-hover-border);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff2e,0 8px 24px #00000080}.start-page__button--primary:focus-visible{outline:2px solid var(--ui-text-strong);outline-offset:3px}.start-page__button--primary:active{transform:translateY(0)}.start-page__button--ranking{color:var(--ui-text-muted);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0808088c;border:1.5px solid #ffffff8c;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.start-page__button--ranking:hover{border-color:#ffffffa6;transform:translateY(-1px)}.start-page__badge{font-family:var(--font-brush);letter-spacing:.02em;color:var(--ui-text-muted);border:1px solid #ffffff47;border-radius:2px;padding:.1rem .45rem;font-size:.95rem;font-weight:400}@media (aspect-ratio<=16/9){.start-page{width:100vw;height:56.25vw;max-height:100svh}}@media (width<=768px){.start-page{padding:0 4% 5%}.start-page__scroll-panel{width:min(88%,640px)}.start-page__scroll-content{inset:22% 16% 26%}.start-page__actions{flex-direction:column;gap:.65rem;max-width:300px}.start-page__button{width:100%;max-width:none}}@media (height<=520px){.start-page__scroll-panel{width:min(52%,680px)}.start-page__title{font-size:clamp(1.6rem,3.5vw,2.4rem)}.start-page__actions{flex-direction:row;gap:.75rem;max-width:440px}.start-page__button{padding:.55rem 1rem;font-size:1rem}}
