:root{--font-number: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;font-family:Pretendard Variable,Pretendard JP Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,sans-serif;line-height:1.5;font-weight:400;--font-scale: 1;--bg-body: #0F1314;--bg-card: #161B1D;--bg-card-hover: #1F2630;--bg-elevated: #1a1f22;--color-primary-rgb: 5, 150, 105;--color-primary-text-rgb: 52, 211, 153;--color-primary: rgb(var(--color-primary-rgb));--color-primary-hover: #047857;--color-primary-light: rgba(var(--color-primary-rgb), .15);--color-primary-subtle: rgba(var(--color-primary-rgb), .1);--color-primary-border: rgba(var(--color-primary-rgb), .25);--color-primary-text: rgb(var(--color-primary-text-rgb));--color-primary-disabled: rgba(var(--color-primary-rgb), .25);--color-primary-display: rgb(52, 211, 153);--color-danger-rgb: 248, 113, 113;--color-danger: rgb(var(--color-danger-rgb));--color-danger-bg: rgba(var(--color-danger-rgb), .1);--color-danger-border: rgba(var(--color-danger-rgb), .15);--color-danger-hover: #b91c1c;--color-info: #60a5fa;--color-info-bg: rgba(96, 165, 250, .1);--color-warn: #fbbf24;--color-warn-text: rgba(255, 170, 70, .7);--color-warn-bg: rgba(251, 191, 36, .05);--color-warn-border: rgba(251, 191, 36, .3);--color-on-primary: #FFFFFF;--color-on-primary-disabled: rgba(255, 255, 255, .35);--color-on-danger: #FFFFFF;--color-on-warn: #000000;--scrim: rgba(0, 0, 0, .7);--shadow-color: rgba(0, 0, 0, .35);--shadow-card: none;--track-default: var(--surface-active);--toggle-knob: #FFFFFF;--toggle-track-off: var(--surface-active);--dot-color-default: #888;--grade-low: #374151;--grade-mid: #2d4d7a;--grade-high: #065f46;--grade-perfect: #78350f;--color-on-grade: #FFFFFF;--grade-text-low: #94a3b8;--grade-text-mid: #7099c8;--grade-text-high: var(--color-primary-text);--grade-text-perfect: var(--color-warn);--grade-bar-low: #94a3b8;--grade-bar-mid: #7099c8;--grade-bar-high: var(--color-primary-text);--grade-bar-perfect: var(--color-warn);--grade-bars-opacity: .25;--grade-glow-perfect: rgba(251, 191, 36, .4);--dark-scope-frame: transparent;--label-halo: rgba(0, 0, 0, .85);--card-scrim: rgba(0, 0, 0, .55);--hero-scrim: rgba(0, 0, 0, .6);--chip-scrim: rgba(0, 0, 0, .5);--score-shadow: 0 2px 6px rgba(0, 0, 0, .5), 0 0 16px rgba(0, 0, 0, .3);--score-shadow-base: 0 2px 6px rgba(0, 0, 0, .5);--overlay-meta-text: rgba(255, 255, 255, .5);--text-bright: rgba(255, 255, 255, .92);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .7);--text-sub: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .48);--text-caption: rgba(255, 255, 255, .46);--text-hint: rgba(255, 255, 255, .42);--text-placeholder: rgba(255, 255, 255, .35);--text-disabled: rgba(255, 255, 255, .2);--text-disabled-hover: rgba(255, 255, 255, .55);--border-default: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .15);--border-subtle: rgba(255, 255, 255, .06);--border-faint: rgba(255, 255, 255, .04);--border-hover: rgba(255, 255, 255, .12);--surface-hover: rgba(255, 255, 255, .06);--surface-active: rgba(255, 255, 255, .08);--surface-muted: rgba(255, 255, 255, .05);--surface-subtle: rgba(255, 255, 255, .03);--surface-faint: rgba(255, 255, 255, .02);--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);--edge-gutter-top: 0px;--edge-gutter-bottom: 0px;--page-bottom-gap: 2rem;--page-bottom-pad: calc(var(--page-bottom-gap) + var(--safe-bottom) + var(--edge-gutter-bottom));--bottom-nav-offset: calc(var(--safe-bottom) + var(--edge-gutter-bottom));color:var(--text-primary);background-color:var(--bg-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--effect-flash-blend: screen;--effect-shimmer-blend: screen;--effect-glow-peak: 1.15;--effect-glow-alpha-rest: .3;--effect-glow-alpha-peak: .7}html{overflow-y:scroll;overscroll-behavior-y:auto}body{margin:0;min-height:100vh;display:flex;justify-content:center;background-color:var(--bg-body)}@media(min-width:1025px){body{background-color:#000}html[data-theme=light] body{background-color:#e5e7eb}}#root{width:100%;max-width:1024px;min-height:calc(100vh + 1px);background-color:var(--bg-body);overflow-x:clip;padding-top:calc(var(--safe-top) + var(--edge-gutter-top));box-sizing:border-box}.lucide-loader{color:var(--color-primary)}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none;-webkit-tap-highlight-color:transparent}html[data-app=true][data-os=android]{--safe-top: 0px;--safe-bottom: 0px;--safe-left: 0px;--safe-right: 0px}html[data-app=true][data-os=ios]{--edge-gutter-top: 32px;--edge-gutter-bottom: 12px}html[data-font-scale=large]{--font-scale: 1.15}.gsb,.frame-score,.fh-card,.pin-diagram,.frame-tag,.kosi-sheet,.kosi-detail-modal,.lp3d-modal,.session-card__main{--font-scale: 1}html[data-theme=light]{--bg-body: #F4F5F7;--bg-card: #FFFFFF;--bg-card-hover: #EEF0F2;--bg-elevated: #FFFFFF;--text-bright: #111827;--text-primary: rgba(17, 24, 39, .92);--text-secondary: rgba(17, 24, 39, .72);--text-sub: rgba(17, 24, 39, .66);--text-tertiary: rgba(17, 24, 39, .62);--text-muted: rgba(17, 24, 39, .56);--text-caption: rgba(17, 24, 39, .5);--text-hint: rgba(17, 24, 39, .48);--text-placeholder: rgba(17, 24, 39, .38);--text-disabled: rgba(17, 24, 39, .3);--text-disabled-hover: rgba(17, 24, 39, .66);--border-default: rgba(17, 24, 39, .1);--border-light: rgba(17, 24, 39, .14);--border-subtle: rgba(17, 24, 39, .07);--border-faint: rgba(17, 24, 39, .05);--border-hover: rgba(17, 24, 39, .16);--surface-hover: rgba(0, 0, 0, .04);--surface-active: rgba(0, 0, 0, .06);--surface-muted: rgba(0, 0, 0, .035);--surface-subtle: rgba(0, 0, 0, .025);--surface-faint: rgba(0, 0, 0, .02);--color-primary-text-rgb: 4, 120, 87;--color-primary-light: rgba(var(--color-primary-rgb), .12);--color-primary-subtle: rgba(var(--color-primary-rgb), .1);--color-primary-border: rgba(var(--color-primary-rgb), .35);--color-primary-disabled: rgba(var(--color-primary-rgb), .35);--color-primary-display: var(--color-primary);--color-danger-rgb: 204, 34, 34;--color-danger-bg: rgba(var(--color-danger-rgb), .08);--color-danger-border: rgba(var(--color-danger-rgb), .25);--color-info: #2563EB;--color-info-bg: rgba(37, 99, 235, .08);--color-warn-text: #92400E;--color-warn-bg: rgba(180, 83, 9, .08);--color-warn-border: rgba(180, 83, 9, .3);--color-on-primary-disabled: rgba(0, 0, 0, .4);--scrim: rgba(0, 0, 0, .5);--shadow-color: rgba(0, 0, 0, .12);--shadow-card: 0 1px 3px rgba(17, 24, 39, .06), 0 1px 2px rgba(17, 24, 39, .04);--track-default: #E8EAED;--toggle-track-off: rgba(0, 0, 0, .18);--grade-low: #E2E8F0;--grade-mid: #CFE3FE;--grade-high: #C4F6DF;--grade-perfect: #FEEBA8;--grade-text-low: #475569;--grade-text-mid: #2563EB;--grade-text-high: #059669;--grade-text-perfect: #C96A00;--grade-bar-low: #475569;--grade-bar-mid: #2563EB;--grade-bar-high: #059669;--grade-bar-perfect: #C96A00;--grade-bars-opacity: .55;--grade-glow-perfect: transparent;--dark-scope-frame: rgba(17, 24, 39, .12);--label-halo: rgba(255, 255, 255, .9);--card-scrim: rgba(255, 255, 255, .85);--hero-scrim: rgba(255, 255, 255, .85);--chip-scrim: rgba(255, 255, 255, .85);--score-shadow: 0 0 0 transparent;--score-shadow-base: 0 0 0 transparent;--overlay-meta-text: rgba(17, 24, 39, .78);--effect-flash-blend: multiply;--effect-shimmer-blend: screen;--effect-glow-peak: .85;--effect-glow-alpha-rest: 0;--effect-glow-alpha-peak: 0}.social-login-button{display:flex;align-items:center;width:100%;max-width:320px;height:48px;padding:0 1rem;border:none;border-radius:12px;font-size:calc(1rem * var(--font-scale));font-weight:500;font-family:inherit;cursor:pointer;transition:filter .2s ease,transform .1s ease;gap:.75rem}.social-login-button:active{transform:scale(.98)}.social-login-button:disabled{cursor:not-allowed;filter:brightness(.5)}.social-login-button--google{background-color:#fff;color:#1f1f1f;border:1px solid #dadce0}.social-login-button--google:hover:not(:disabled){background-color:#f8f9fa}.social-login-button--apple{background-color:#000;color:#fff}.social-login-button--apple:hover:not(:disabled){background-color:#1a1a1a}.social-login-button--kakao{background-color:#fee500;color:#000000d9}.social-login-button--kakao:hover:not(:disabled){background-color:#f0d900}.social-login-button__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.social-login-button__icon svg{width:20px;height:20px}.social-login-button__label{flex:1;text-align:center;margin-right:20px}.confirm-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.confirm-modal{background:var(--bg-elevated);border-radius:1rem;width:100%;max-width:320px;display:flex;flex-direction:column;overflow:hidden}.confirm-modal__body{display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 1.5rem 1.25rem;text-align:center}.confirm-modal__title{font-size:calc(1.0625rem * var(--font-scale));font-weight:600;color:var(--text-primary);margin:0}.confirm-modal__message{font-size:calc(.875rem * var(--font-scale));line-height:1.6;color:var(--text-tertiary);margin:0;white-space:pre-line;overflow-wrap:anywhere}.confirm-modal__footer{display:flex;gap:.75rem;padding:.75rem 1.5rem 1.5rem}.confirm-modal__btn{flex:1;padding:.75rem;border-radius:.75rem;font-size:calc(.9375rem * var(--font-scale));font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:background-color .2s}.confirm-modal__btn--cancel{background:var(--surface-active);color:var(--text-primary)}.confirm-modal__btn--cancel:hover{background:var(--border-hover)}.confirm-modal__btn--confirm{background:var(--color-primary);color:var(--color-on-primary)}.confirm-modal__btn--confirm:hover{background:var(--color-primary-hover)}.confirm-modal__btn--danger{background:var(--color-danger)}.confirm-modal__btn--danger:hover{background:var(--color-danger-hover)}@media(max-width:360px){.confirm-modal__overlay{padding:1rem}.confirm-modal{max-width:280px}.confirm-modal__body{padding:1.25rem 1rem 1rem}.confirm-modal__title{font-size:calc(.9375rem * var(--font-scale))}.confirm-modal__message{font-size:calc(.75rem * var(--font-scale))}.confirm-modal__footer{padding:.5rem 1rem 1.25rem;gap:.5rem}.confirm-modal__btn{padding:.625rem;font-size:calc(.8125rem * var(--font-scale))}}@media(min-width:431px){.confirm-modal{max-width:380px}.confirm-modal__body{padding:2rem 1.75rem 1.5rem}.confirm-modal__title{font-size:calc(1.125rem * var(--font-scale))}.confirm-modal__message{font-size:calc(.9375rem * var(--font-scale))}.confirm-modal__footer{padding:.75rem 1.75rem 1.75rem}.confirm-modal__btn{padding:.875rem}}.login-page__language{position:absolute;top:calc(.75rem + var(--safe-top));right:1rem;display:flex;align-items:center;gap:.375rem;padding:.5rem;background:none;border:none;color:var(--text-sub);font-size:calc(.875rem * var(--font-scale));font-family:inherit;cursor:pointer;transition:color .15s}.login-page__language:hover{color:var(--text-primary)}.login-page__header{display:flex;flex-direction:column;align-items:center;text-align:center}.login-page__logo{width:176px;height:176px;margin-bottom:1rem}.login-page__tagline{font-size:calc(1rem * var(--font-scale));margin:0 0 .25rem;color:var(--text-sub);letter-spacing:.02em}.login-page__title{font-size:calc(2.5rem * var(--font-scale));font-weight:700;margin:0;color:var(--text-primary)}.login-page__buttons{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.login-page__button-slot{position:relative;width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center}.login-page__button-slot--has-badge{padding-top:2.25rem}.login-page__last-badge{position:absolute;top:0;left:50%;transform:translate(-50%);padding:.25rem .625rem;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-size:calc(.75rem * var(--font-scale));font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px var(--shadow-color)}.login-page__last-badge:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--color-primary)}.login-page__error{color:var(--color-danger);font-size:calc(.875rem * var(--font-scale));margin:.5rem 0 0;text-align:center}.login-page__loading{color:var(--text-sub);font-size:calc(.875rem * var(--font-scale));margin:.5rem 0 0;text-align:center}@media(max-width:360px){.login-page__logo{width:128px;height:128px}.login-page__title{font-size:calc(1.875rem * var(--font-scale))}.login-page__tagline{font-size:calc(.875rem * var(--font-scale))}}@media(min-width:431px){.login-page__logo{width:220px;height:220px}.login-page__title{font-size:calc(3.25rem * var(--font-scale))}.login-page__tagline{font-size:calc(1.125rem * var(--font-scale))}}.bottom-sheet__overlay{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:1024px;height:100%;background-color:var(--scrim);z-index:1000;display:flex;align-items:flex-end}.bottom-sheet{position:relative;width:100%;max-height:70vh;background-color:var(--bg-elevated);box-shadow:var(--shadow-card);border-radius:1.25rem 1.25rem 0 0;padding:1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom));overflow-y:auto;animation:bottomSheetSlideUp .3s ease-out;transition:transform .2s ease-out}@keyframes bottomSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet:before{content:"";position:absolute;top:.625rem;left:50%;transform:translate(-50%);width:40px;height:4px;border-radius:2px;background:var(--text-hint);pointer-events:none;z-index:1}.bottom-sheet__drag-handle{position:absolute;top:0;left:0;right:0;height:1.5rem;cursor:grab;touch-action:none;z-index:2}.bottom-sheet__drag-handle:active{cursor:grabbing}.bottom-sheet__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.bottom-sheet__header--empty{position:absolute;top:1.5rem;right:1.5rem;margin:0;z-index:3}.bottom-sheet__title{font-size:calc(1.125rem * var(--font-scale));font-weight:700;color:var(--text-primary);margin:0}.bottom-sheet__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:.375rem;padding:0;transition:color .15s}.bottom-sheet__close:hover{color:var(--text-primary)}.bottom-sheet__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(min-width:431px){.bottom-sheet{padding:1.75rem;padding-bottom:calc(1.75rem + var(--safe-bottom))}.bottom-sheet__close{width:2.5rem;height:2.5rem}.bottom-sheet__header--empty{top:1.75rem;right:1.75rem}}@media(min-width:835px){.bottom-sheet{padding:2rem;padding-bottom:calc(2rem + var(--safe-bottom))}.bottom-sheet__header--empty{top:2rem;right:2rem}}.language-sheet__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.language-sheet__item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.875rem .25rem;background:transparent;border:none;border-bottom:1px solid var(--border-subtle, var(--border-default));color:var(--text-primary);font-size:calc(.9375rem * var(--font-scale));font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s}.language-sheet__item:hover{background:var(--bg-card-hover, var(--bg-card))}.language-sheet__item--selected{color:var(--color-primary-text, var(--color-primary));font-weight:500}.language-sheet__name{flex:1;min-width:0}.language-sheet__check{color:var(--color-primary-text, var(--color-primary));flex-shrink:0}@media(min-width:431px){.language-sheet__item{padding:1rem .25rem;font-size:calc(1rem * var(--font-scale))}}.login-page{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;box-sizing:border-box;gap:3rem}@media(max-width:360px){.login-page{padding:1.5rem;gap:2rem}}.footer{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1rem;margin-top:1rem;border-top:1px solid var(--border-subtle);font-size:calc(.75rem * var(--font-scale));color:var(--text-placeholder);line-height:1.6}.footer__links{display:flex;align-items:center;flex-wrap:wrap;column-gap:.375rem;row-gap:.25rem}.footer__link{background:none;border:none;padding:0;font-family:inherit;font-size:calc(.75rem * var(--font-scale));color:var(--text-hint);cursor:pointer;white-space:nowrap;transition:color .2s}.footer__link:hover{color:var(--text-sub)}.footer__link--bold{font-weight:700}.footer__link-wrapper{display:flex;align-items:center;gap:.375rem}.footer__divider{color:var(--border-default)}.footer__toggle{display:flex;align-items:center;gap:.25rem;background:none;border:none;padding:0;font-family:inherit;font-size:calc(.75rem * var(--font-scale));color:var(--text-hint);cursor:pointer;margin-top:.25rem}.footer__toggle:hover{color:var(--text-tertiary)}.footer__company-name{font-weight:500}.footer__toggle-icon{transition:transform .2s}.footer__toggle--open .footer__toggle-icon{transform:rotate(180deg)}.footer__details{display:flex;flex-direction:column;gap:.25rem;padding-left:.125rem}.footer__detail-item{color:var(--text-placeholder)}.footer__address{font-style:normal}.footer__contact{display:flex;align-items:flex-start;gap:.25rem}.footer__contact>svg{flex-shrink:0;margin-top:calc((1.6em - 12px)/2)}.footer__contact>span{min-width:0}.footer__copyright{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.25rem 0 0;font-size:calc(.75rem * var(--font-scale));color:var(--text-placeholder)}.footer__social{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;padding:.25rem;margin:-.25rem;color:inherit;cursor:pointer}@media(min-width:431px){.footer{padding:2rem 1.5rem;gap:.625rem;font-size:calc(.8125rem * var(--font-scale))}.footer__link,.footer__toggle{font-size:calc(.8125rem * var(--font-scale))}.footer__details{gap:.375rem}.footer__copyright{font-size:calc(.75rem * var(--font-scale))}}@media(min-width:835px){.footer{padding:2rem 0;font-size:calc(.875rem * var(--font-scale))}.footer__link,.footer__toggle{font-size:calc(.875rem * var(--font-scale))}.footer__copyright{font-size:calc(.8125rem * var(--font-scale))}}.banner-carousel{position:relative;width:100%;border:1px solid var(--surface-active);border-radius:.5rem;overflow:hidden;background:var(--bg-card);transition:border-color .3s ease}.banner-carousel__track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth}.banner-carousel__slide{flex:0 0 100%;width:100%;height:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;scroll-snap-align:start;scroll-snap-stop:always;font-family:inherit}.banner-carousel__slide:disabled{cursor:default}.banner-carousel__image{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mission-card{display:flex;flex-direction:column;gap:.875rem}.mission-card--skeleton{min-height:48px}.mission-card__header{display:flex;align-items:baseline;gap:.5rem;padding:0;background:none;border:none;color:inherit;font-family:inherit;cursor:pointer;text-align:left;width:100%}.mission-card__title{margin:0;font-size:calc(.9375rem * var(--font-scale));font-weight:700;letter-spacing:-.005em;color:var(--text-primary);transition:color .2s}.mission-card__progress{margin-left:auto;font-family:var(--font-number);font-size:calc(.8125rem * var(--font-scale));display:inline-flex;align-items:baseline;gap:.0625rem}.mission-card__progress-done{color:var(--color-primary-text);font-weight:700}.mission-card__progress-sep,.mission-card__progress-total{color:var(--text-muted)}.mission-card__chevron{color:var(--text-muted);flex-shrink:0;align-self:center}@media(hover:hover){.mission-card__header:hover .mission-card__title{color:var(--color-primary-text)}.mission-card__header:hover .mission-card__chevron{color:var(--text-secondary)}}.mission-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.mission-card__item{display:flex;flex-direction:column;gap:.375rem}.mission-card__item-row{display:flex;align-items:center;gap:.5rem;min-width:0}.mission-card__item-name{flex:1;min-width:0;display:inline-flex;align-items:center;gap:.3125rem;font-size:calc(.8125rem * var(--font-scale));color:var(--text-primary)}.mission-card__item-name-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-card__item--done .mission-card__item-name{color:var(--text-secondary)}.mission-card__item-xp{flex-shrink:0;font-family:var(--font-number);font-size:calc(.8125rem * var(--font-scale));font-weight:700;color:var(--color-primary-text)}.mission-card__bar{position:relative;height:4px;background:var(--track-default);border-radius:2px;overflow:hidden}.mission-card__bar-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:2px;background:rgb(var(--bar-color-rgb, var(--color-primary-rgb)));transition:width .3s ease-out}.mission-card__item--done .mission-card__bar-fill{width:100%}.mission-card__bar--celebrate:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(var(--bar-color-rgb, var(--color-primary-rgb)),.95) 50%,transparent);animation:mission-card-shimmer 2s linear 1 forwards;animation-delay:var(--celebrate-delay, 0s);opacity:0;pointer-events:none;mix-blend-mode:var(--effect-shimmer-blend)}.mission-card__bar--celebrate .mission-card__bar-fill{animation:mission-card-glow 1.8s ease-in-out 1;animation-delay:var(--celebrate-delay, 0s)}@keyframes mission-card-shimmer{0%{transform:translate(-110%);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(260%);opacity:0}}@keyframes mission-card-glow{0%,to{box-shadow:0 0 3px rgba(var(--bar-color-rgb, var(--color-primary-rgb)),var(--effect-glow-alpha-rest));filter:brightness(1)}50%{box-shadow:0 0 7px rgba(var(--bar-color-rgb, var(--color-primary-rgb)),var(--effect-glow-alpha-peak));filter:brightness(var(--effect-glow-peak))}}@media(prefers-reduced-motion:reduce){.mission-card__bar--celebrate:after,.mission-card__bar--celebrate .mission-card__bar-fill{animation:none}}@media(max-width:360px){.mission-card__list{gap:.625rem}.mission-card__item-name{font-size:calc(.75rem * var(--font-scale))}}@media(min-width:431px){.mission-card__title{font-size:calc(1rem * var(--font-scale))}.mission-card__progress,.mission-card__item-name{font-size:calc(.875rem * var(--font-scale))}}.my-center-notice{display:flex;flex-direction:column;gap:.875rem;min-width:0}.my-center-notice__header{display:flex;align-items:baseline;gap:.5rem;padding:0;background:none;border:none;color:inherit;font-family:inherit;cursor:pointer;text-align:left;width:100%}.my-center-notice__title{margin:0;font-size:calc(.9375rem * var(--font-scale));font-weight:700;letter-spacing:-.005em;color:var(--text-primary);transition:color .2s}.my-center-notice__chevron{margin-left:auto;color:var(--text-muted);flex-shrink:0;align-self:center}@media(hover:hover){.my-center-notice__header:hover .my-center-notice__title{color:var(--color-primary-text)}.my-center-notice__header:hover .my-center-notice__chevron{color:var(--text-secondary)}}.my-center-notice__list{list-style:none;margin:0;padding:0 0 .25rem;min-width:0;display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none}.my-center-notice__list::-webkit-scrollbar{display:none}.my-center-notice__item{flex:0 0 160px;width:160px;scroll-snap-align:start;display:flex}.my-center-notice__card{display:flex;flex-direction:column;width:160px;min-width:0;box-sizing:border-box;padding:0;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.875rem;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .15s}@media(hover:hover){.my-center-notice__card:hover{background:var(--bg-card-hover)}}.my-center-notice__thumb{display:block;position:relative;width:100%;aspect-ratio:16 / 9;flex-shrink:0;overflow:hidden}.my-center-notice__image{display:block;width:100%;height:100%;object-fit:cover}.my-center-notice__thumb--placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-primary-subtle);color:var(--color-primary-text)}.my-center-notice__placeholder-icon{opacity:.55}.my-center-notice__body{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:.5rem .625rem .625rem}.my-center-notice__center-row{display:flex;align-items:center;gap:.25rem;min-width:0;font-size:calc(.6875rem * var(--font-scale));line-height:1.4}.my-center-notice__center{display:block;min-width:0;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-center-notice__new-badge{flex-shrink:0;margin-left:auto;font-size:calc(.6875rem * var(--font-scale));font-weight:700;color:var(--color-primary-text)}.my-center-notice__card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere;font-size:calc(.75rem * var(--font-scale));font-weight:600;line-height:1.35;min-height:2.7em;color:var(--text-primary)}.my-center-notice__meta{display:flex;align-items:center;gap:.375rem;min-width:0;margin-top:auto;font-size:calc(.6875rem * var(--font-scale));line-height:1.4;color:var(--text-muted);font-variant-numeric:tabular-nums}.my-center-notice__date{flex-shrink:0;margin-left:auto;white-space:nowrap}.my-center-notice__category{display:block;min-width:0;padding:0 .3125rem;font-size:calc(.625rem * var(--font-scale));color:var(--text-sub);background:var(--surface-muted);border-radius:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:431px){.my-center-notice__title{font-size:calc(1rem * var(--font-scale))}.my-center-notice__item{flex-basis:200px;width:200px}.my-center-notice__card{width:200px}}.slot-number{display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums;line-height:1}.slot-number__digit{display:inline-block;font-family:inherit;font-weight:inherit;color:inherit;font-size:inherit;line-height:1}.stats-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;--fx-c: var(--color-primary-text-rgb);--fx-dur: 2s}.stats-fx--down{--fx-c: var(--color-danger-rgb)}.stats-fx__scanline{position:absolute;left:0;right:0;height:1px;top:-2px;background:linear-gradient(90deg,transparent,rgba(var(--fx-c),.6),transparent);box-shadow:0 0 12px rgba(var(--fx-c),.3),0 0 30px rgba(var(--fx-c),.1);animation:stats-fx-scan calc(var(--fx-dur) * .6) ease-in-out forwards}@keyframes stats-fx-scan{0%{top:-2px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:calc(100% + 2px);opacity:0}}.stats-fx__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(var(--fx-c),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--fx-c),.03) 1px,transparent 1px);background-size:20px 20px;opacity:0;animation:stats-fx-grid var(--fx-dur) ease-out forwards}@keyframes stats-fx-grid{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.stats-fx__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.stats-fx__path{stroke:rgba(var(--fx-c),.3);opacity:0;animation:stats-fx-line calc(var(--fx-dur) * .8) ease-out .4s forwards}@keyframes stats-fx-line{0%{stroke-dashoffset:var(--fx-dash, 100);opacity:0}20%{opacity:.6}50%{stroke-dashoffset:0;opacity:.6}to{stroke-dashoffset:0;opacity:0}}.stats-fx__point{position:absolute;width:6px;height:6px;border-radius:50%;background:rgba(var(--fx-c),.6);opacity:0;transform:translate(-50%,-50%) scale(0);animation:stats-fx-point calc(var(--fx-dur) * .5) ease-out forwards}@keyframes stats-fx-point{0%{transform:translate(-50%,-50%) scale(0);opacity:0}40%{transform:translate(-50%,-50%) scale(1.4);opacity:1}60%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@media(min-width:431px){.stats-fx__point{width:8px;height:8px}}@media(min-width:835px){.stats-fx__point{width:10px;height:10px}}.stats-fx__label{position:absolute;font-size:calc(.5rem * var(--font-scale));color:rgba(var(--fx-c),.35);letter-spacing:1px;font-weight:600;opacity:0;animation:stats-fx-flicker calc(var(--fx-dur) * .7) ease-out forwards}.stats-fx__label--tl{left:8%;top:12%;animation-delay:.1s}.stats-fx__label--bl{left:5%;bottom:18%;animation-delay:.2s}.stats-fx__label--br{right:5%;bottom:22%;animation-delay:.6s}@keyframes stats-fx-flicker{0%,to{opacity:0}5%,95%{opacity:.18}50%{opacity:.3}}.stats-fx__bracket{position:absolute;width:14px;height:14px;border:0 solid rgba(var(--fx-c),.4);opacity:0;animation:stats-fx-bracket var(--fx-dur) ease-out forwards}.stats-fx__bracket--tl{top:6px;left:6px;border-top-width:1px;border-left-width:1px}.stats-fx__bracket--tr{top:6px;right:6px;border-top-width:1px;border-right-width:1px}.stats-fx__bracket--bl{bottom:6px;left:6px;border-bottom-width:1px;border-left-width:1px}.stats-fx__bracket--br{bottom:6px;right:6px;border-bottom-width:1px;border-right-width:1px}@keyframes stats-fx-bracket{0%{opacity:0}20%{opacity:.6}80%{opacity:.6}to{opacity:0}}.stats-fx__analyzing{position:absolute;top:8px;right:10px;font-size:calc(.5rem * var(--font-scale));color:rgba(var(--fx-c),.6);letter-spacing:1.5px;font-weight:600;display:flex;align-items:center;gap:4px;opacity:0;animation:stats-fx-processing calc(var(--fx-dur) * .8) ease-out forwards}.stats-fx__analyzing-dot{width:4px;height:4px;border-radius:50%;background:rgba(var(--fx-c),.7);box-shadow:0 0 4px rgba(var(--fx-c),.4)}@keyframes stats-fx-processing{0%{opacity:0;transform:translateY(4px)}15%{opacity:.85;transform:translateY(0)}85%{opacity:.85}to{opacity:0}}.home-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;box-sizing:border-box}.home-page__greeting{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.5rem}.home-page__greeting-user{display:flex;align-items:center;gap:.75rem;min-width:0;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.home-page__profile-image{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border-hover)}.home-page__profile-image--default{display:flex;align-items:center;justify-content:center;background:#05966926;color:var(--color-primary-text);font-size:calc(1.125rem * var(--font-scale));font-weight:700}.home-page__greeting-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.home-page__greeting-title{font-size:calc(1.5rem * var(--font-scale));font-weight:700;margin:0;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-page__greeting-sub{margin:.125rem 0 0;font-size:calc(.8125rem * var(--font-scale));color:var(--text-muted);display:flex;align-items:center;gap:.25rem}.home-page__greeting-level{color:var(--color-primary-text);font-weight:500}.home-page__greeting-divider{color:var(--text-disabled)}.home-page__greeting-badge-title{color:var(--text-tertiary)}.home-page__search-button{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.375rem;color:var(--text-tertiary);cursor:pointer;transition:color .2s}.home-page__search-button:hover{color:var(--text-primary)}.home-page__quick-actions{display:flex;gap:.75rem}.quick-action-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;border-radius:1rem;border:1px solid var(--surface-active);background:var(--bg-card);box-shadow:var(--shadow-card);color:var(--text-primary);font-family:inherit;cursor:pointer;transition:border-color .2s,background-color .2s}.quick-action-card:hover,.quick-action-card:active{border-color:var(--border-hover);background:var(--bg-card-hover)}.quick-action-card:active{transform:scale(.97)}.quick-action-card__icon{width:44px;height:44px;border-radius:.75rem;background:var(--color-primary-subtle);color:var(--color-primary-display);display:flex;align-items:center;justify-content:center}.quick-action-card__label{font-size:calc(.75rem * var(--font-scale));font-weight:500;color:var(--text-sub)}.quick-action-card--playing .quick-action-card__label{color:var(--color-primary-text);font-weight:600}.home-page__section{display:flex;flex-direction:column;gap:.75rem}.session-card{position:relative;width:100%;border-radius:1rem;cursor:pointer;font-family:inherit;text-align:left;background:var(--bg-card);border:1px solid var(--surface-active);box-shadow:var(--shadow-card);transition:border-color .4s ease-out,background-color .2s,box-shadow .4s ease-out;display:block;padding:1.25rem;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.session-card__longpress{position:absolute;bottom:0;left:0;height:2px;width:0%;background:var(--color-primary);pointer-events:none;transition:width .2s ease-out;z-index:1}.session-card--pressing .session-card__longpress{width:100%;transition:width 1.5s linear}.session-card--press-up .session-card__longpress{background:rgba(var(--color-primary-text-rgb),.6)}.session-card--press-down .session-card__longpress{background:rgba(var(--color-danger-rgb),.6)}@media(hover:hover){.session-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}}.session-card--flash-up{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),0 0 24px rgba(var(--color-primary-text-rgb),.18)}.session-card--flash-down{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger),0 0 24px rgba(var(--color-danger-rgb),.18)}.session-card__content{position:relative;width:100%;display:flex;flex-direction:column;gap:1rem}.session-card__header{display:flex;align-items:center;gap:.375rem;font-size:calc(.8125rem * var(--font-scale))}.session-card__header-label{color:var(--text-secondary);font-weight:500}.session-card__header-sep{color:var(--text-disabled)}.session-card__header-sub{color:var(--text-muted)}.session-card__scores{display:flex;align-items:baseline;justify-content:space-between}.session-card__main{display:flex;flex-direction:column}.session-card__main-score{font-family:var(--font-number);font-size:calc(3.5rem * var(--font-scale));font-weight:700;color:var(--color-primary-text);line-height:1;transition:color .4s ease-out}.session-card--flash-down .session-card__main-score{color:var(--color-danger)}.session-card__main-row{display:inline-flex;align-items:center;gap:.5rem}.session-card__diff{display:inline-flex;align-items:center;gap:.125rem;font-family:var(--font-number);font-size:calc(.875rem * var(--font-scale));font-weight:700;padding:.125rem .5rem;border-radius:.25rem;animation:session-card-diff-pop .4s ease-out}.session-card__diff--up{color:var(--color-primary-text);background:var(--color-primary-light);border:1px solid var(--color-primary-border)}.session-card__diff--down{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid var(--color-danger-border)}@keyframes session-card-diff-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.session-card__main-label{font-size:calc(.75rem * var(--font-scale));color:var(--text-caption);margin-top:.25rem}.session-card__sub-score{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.session-card__sub-label{font-size:calc(.75rem * var(--font-scale));color:var(--text-muted)}.session-card__sub-value{font-family:var(--font-number);font-size:calc(2rem * var(--font-scale));font-weight:700;color:var(--text-sub);line-height:1}.session-card__details{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.session-card__detail{display:flex;flex-direction:column;align-items:center;gap:.125rem}.session-card__detail-value{font-family:var(--font-number);font-size:calc(1rem * var(--font-scale));font-weight:700;color:var(--text-secondary)}.session-card__detail-label{font-size:calc(.75rem * var(--font-scale));color:var(--text-caption)}@media(max-width:360px){.home-page{padding:1.25rem .75rem;gap:1.25rem}.home-page__profile-image{width:40px;height:40px}.home-page__greeting-title{font-size:calc(1.25rem * var(--font-scale))}.home-page__greeting-sub{font-size:calc(.6875rem * var(--font-scale))}.home-page__quick-actions{gap:.5rem}.quick-action-card{padding:.75rem .25rem;gap:.375rem}.quick-action-card__icon{width:36px;height:36px}.quick-action-card__label{font-size:calc(.625rem * var(--font-scale))}.session-card{padding:1rem;gap:.75rem}.session-card__main-score{font-size:calc(2.75rem * var(--font-scale))}.session-card__sub-value{font-size:calc(1.5rem * var(--font-scale))}.session-card__details{gap:.25rem}.session-card__detail-value{font-size:calc(.8125rem * var(--font-scale))}.session-card__detail-label{font-size:calc(.75rem * var(--font-scale))}}@media(min-width:431px){.home-page{padding:2rem 1.5rem;gap:2rem}.home-page__profile-image{width:56px;height:56px;font-size:calc(1.25rem * var(--font-scale))}.home-page__greeting-title{font-size:calc(1.75rem * var(--font-scale))}.quick-action-card{padding:1.25rem .75rem}.quick-action-card__icon{width:48px;height:48px}.quick-action-card__label{font-size:calc(.8125rem * var(--font-scale))}.session-card{padding:1.5rem}.session-card__main-score{font-size:calc(4rem * var(--font-scale))}.session-card__sub-value{font-size:calc(2.25rem * var(--font-scale))}}@media(min-width:835px){.home-page{padding:2.5rem 3rem}.home-page__profile-image{width:64px;height:64px;font-size:calc(1.5rem * var(--font-scale))}.home-page__greeting-title{font-size:calc(2rem * var(--font-scale))}.session-card{padding:1.75rem}.session-card__main-score{font-size:calc(4.5rem * var(--font-scale))}.session-card__sub-value{font-size:calc(2.5rem * var(--font-scale))}}.toast{--color-primary-text-rgb: 52, 211, 153;color-scheme:dark;position:fixed;bottom:88px;left:50%;transform:translate(-50%);background:#1e2326f5;color:#fff;padding:.625rem 1.125rem;border-radius:2rem;font-size:calc(.875rem * var(--font-scale));font-weight:500;display:flex;align-items:center;gap:.4rem;width:max-content;max-width:calc(100vw - 4.25rem);white-space:normal;overflow-wrap:anywhere;text-align:center;z-index:9999;pointer-events:none;animation:toast-in .2s ease,toast-out .25s ease var(--toast-hold, 1.1s) forwards;box-shadow:0 4px 16px #00000059}.toast__icon{flex-shrink:0;color:var(--color-primary-text)}.toast[data-variant=error]{--color-danger-rgb: 248, 113, 113}.toast[data-variant=error] .toast__icon{color:rgb(var(--color-danger-rgb))}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-6px)}}.my-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;box-sizing:border-box}.my-page__profile{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 0 1rem}.my-page__profile-image-wrapper{position:relative;background:none;border:none;padding:0;cursor:pointer}.my-page__profile-image{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border-hover)}.my-page__profile-image--default{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-on-primary)}.my-page__profile-edit-badge{position:absolute;bottom:2px;right:2px;width:28px;height:28px;border-radius:50%;background:var(--color-primary);border:3px solid var(--bg-body);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center}.my-page__name-btn{display:flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.my-page__name{font-size:calc(1.375rem * var(--font-scale));font-weight:700;margin:0;color:var(--text-primary)}.my-page__name-edit-icon{color:var(--text-hint);flex-shrink:0}.my-page__bowling-profile{display:flex}.my-page__bowling-profile-card{flex:1;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:1rem;border:1px solid var(--surface-active);background:var(--bg-card);color:var(--text-primary);font-family:inherit;cursor:pointer;transition:border-color .2s,background-color .2s}.my-page__bowling-profile-card:hover,.my-page__bowling-profile-card:active{border-color:var(--border-hover);background:var(--bg-card-hover)}.my-page__bowling-profile-info{flex:1;display:flex;flex-direction:column;gap:.125rem;text-align:left}.my-page__bowling-profile-title{font-size:calc(.9375rem * var(--font-scale));font-weight:600;color:var(--text-primary)}.my-page__bowling-profile-desc{font-size:calc(.75rem * var(--font-scale));color:var(--text-muted)}.my-page__bowling-profile-arrow{color:var(--text-hint);flex-shrink:0}.my-page__level{display:flex;align-items:center;gap:.375rem;margin:0;padding:.25rem .5rem;font-size:calc(.8125rem * var(--font-scale));color:var(--text-tertiary);background:none;border:none;border-radius:1rem;cursor:pointer;font-family:inherit;transition:background-color .2s}.my-page__level:hover{background:var(--border-subtle)}.my-page__level-arrow{color:var(--text-hint);flex-shrink:0}.my-page__level-name{color:var(--color-primary-text);font-weight:500}.my-page__level-divider{color:var(--text-disabled)}.my-page__level-title{color:var(--text-tertiary)}.my-page__badges{display:flex;flex-direction:column;gap:.75rem}.my-page__badges-header{display:flex;align-items:center;justify-content:space-between}.my-page__section-title{font-size:calc(1rem * var(--font-scale));font-weight:700;margin:0;color:var(--text-primary)}.my-page__badges-more{display:flex;align-items:center;gap:.125rem;background:none;border:none;padding:0;color:var(--text-muted);font-size:calc(.8125rem * var(--font-scale));font-family:inherit;cursor:pointer;transition:color .2s}.my-page__badges-more:hover{color:var(--text-sub)}.my-page__badges-list{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;-ms-overflow-style:none;scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none}.my-page__badges-list::-webkit-scrollbar{display:none}.my-page__badge-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0;scroll-snap-align:start;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.my-page__badge-image{width:64px;height:64px;object-fit:contain}.my-page__badge-image--placeholder{background:var(--bg-card);border-radius:50%}.my-page__badges-empty{margin:0;padding:1.5rem 0;font-size:calc(.8125rem * var(--font-scale));color:var(--text-hint);text-align:center;width:100%}.my-page__badge-sheet-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.my-page__badge-sheet-image{width:160px;height:160px;object-fit:contain}.my-page__badge-sheet-desc{margin:0;font-size:calc(.875rem * var(--font-scale));color:var(--text-tertiary);text-align:center;line-height:1.5}.my-page__settings{display:flex;flex-direction:column;gap:.25rem}.my-page__settings-list{list-style:none;margin:0;padding:0}.my-page__settings-item{display:flex;align-items:center;gap:.875rem;width:100%;padding:1rem .25rem;background:none;border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:inherit;font-size:calc(.9375rem * var(--font-scale));cursor:pointer;transition:background-color .2s}.my-page__settings-item:hover{background:var(--border-subtle)}.my-page__settings-item:active{background:var(--surface-muted)}.my-page__settings-icon{color:var(--text-tertiary);flex-shrink:0}.my-page__settings-label{flex:1;text-align:left}.my-page__settings-new{margin-left:.25rem;font-size:calc(.6875rem * var(--font-scale));font-weight:700;color:var(--color-primary-text);vertical-align:middle}.my-page__settings-arrow{color:var(--text-disabled);flex-shrink:0}.my-page__logout{padding-top:.5rem}.my-page__logout-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;border-radius:.75rem;border:1px solid var(--surface-active);background:none;color:var(--text-tertiary);font-size:calc(.9375rem * var(--font-scale));font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s,color .2s}.my-page__logout-btn:hover,.my-page__logout-btn:active{background:var(--surface-muted);color:var(--text-secondary)}.my-page__withdrawal-btn{display:block;margin:1rem auto 0;padding:.5rem 1rem;background:none;border:none;color:var(--text-hint);font-size:calc(.8125rem * var(--font-scale));font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.my-page__withdrawal-btn:hover{color:var(--text-tertiary)}@media(min-width:431px){.my-page{padding:2rem 1.5rem;gap:2rem}.my-page__profile{padding:2.5rem 0 1.5rem}.my-page__profile-image{width:112px;height:112px;border-radius:50%}.my-page__profile-image--default svg{width:56px;height:56px}.my-page__name{font-size:calc(1.5rem * var(--font-scale))}.my-page__badge-image{width:80px;height:80px}}@media(min-width:835px){.my-page{padding:2.5rem 3rem}.my-page__profile{padding:3rem 0 2rem}.my-page__profile-image{width:120px;height:120px}.my-page__name{font-size:calc(1.75rem * var(--font-scale))}.my-page__settings-item{padding:1.125rem .5rem}.my-page__badge-image{width:88px;height:88px}}.records-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 1rem calc(var(--page-bottom-gap) + 1px);box-sizing:border-box}.records-page__title{font-size:calc(1.5rem * var(--font-scale));font-weight:700;margin:0;padding-top:.5rem;color:var(--text-primary)}.records-page__group{display:flex;flex-direction:column;gap:.625rem}.records-page__group-label{font-size:calc(.8125rem * var(--font-scale));font-weight:600;color:var(--text-muted);margin:0;padding-left:.25rem}.records-page__menu-list{display:flex;flex-direction:column;gap:.625rem}.records-menu-card{display:flex;align-items:center;gap:1rem;width:100%;padding:1.125rem 1.25rem;border-radius:1rem;border:1px solid var(--surface-active);background:var(--bg-card);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .2s,background-color .2s}.records-menu-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.records-menu-card:active{transform:scale(.98)}.records-menu-card__icon{width:48px;height:48px;border-radius:.875rem;background:#0596691f;color:var(--color-primary-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.records-menu-card__content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.records-menu-card__title{font-size:calc(1rem * var(--font-scale));font-weight:600;color:var(--text-primary)}.records-menu-card__desc{font-size:calc(.8125rem * var(--font-scale));color:var(--text-muted);line-height:1.4}.records-menu-card__arrow{color:var(--text-placeholder);flex-shrink:0}@media(min-width:431px){.records-page{padding:2rem 1.5rem calc(var(--page-bottom-gap) + 1px);gap:1.75rem}.records-page__title{font-size:calc(1.75rem * var(--font-scale))}.records-page__group-label{font-size:calc(.875rem * var(--font-scale))}.records-menu-card{padding:1.25rem 1.5rem}.records-menu-card__icon{width:52px;height:52px}.records-menu-card__title{font-size:calc(1.0625rem * var(--font-scale))}.records-menu-card__desc{font-size:calc(.875rem * var(--font-scale))}}@media(min-width:835px){.records-page{padding:2.5rem 3rem}.records-page__title{font-size:calc(2rem * var(--font-scale))}.records-menu-card{padding:1.375rem 1.75rem}.records-menu-card__icon{width:56px;height:56px}}.filter-tab-group{display:flex;gap:.375rem;padding:.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.625rem;overflow:hidden}.filter-tab-group__btn{flex:1;padding:.5rem;border-radius:.4375rem;border:1px solid transparent;background:transparent;color:var(--text-tertiary);font-size:calc(.875rem * var(--font-scale));font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-tab-group__btn:not(.filter-tab-group__btn--active):hover{color:var(--text-secondary)}.filter-tab-group__btn--active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-text)}@media(max-width:360px){.filter-tab-group__btn{font-size:calc(.75rem * var(--font-scale));padding:.4375rem}}@media(min-width:431px){.filter-tab-group__btn{font-size:calc(.9375rem * var(--font-scale));padding:.5625rem}}@media(min-width:835px){.filter-tab-group__btn{font-size:calc(1rem * var(--font-scale));padding:.625rem}}.icon-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:none;border:none;color:var(--text-tertiary);cursor:pointer;transition:color .2s}.icon-button:not(.icon-button--active):hover{color:var(--text-primary)}.icon-button--active,.icon-button--active:hover{color:var(--color-primary-text)}.icon-button--danger{color:var(--color-danger)}.icon-button--danger:hover{color:var(--color-danger);opacity:.8}.scroll-to-top{position:fixed;bottom:4rem;right:1.25rem;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(.5rem);transition:opacity .25s,transform .25s,border-color .2s,color .2s;z-index:50}.scroll-to-top--visible{opacity:1;pointer-events:auto;transform:translateY(0)}@media(hover:hover){.scroll-to-top:hover{background:var(--color-primary-hover)}}@media(min-width:1025px){.scroll-to-top{right:calc(50% - 512px + 1.25rem)}}.ranking-page{--medal-gold: #fbbf24;--medal-gold-bg: rgba(251, 191, 36, .15);--medal-gold-border: rgba(251, 191, 36, .35);--medal-silver: #94a3b8;--medal-silver-bg: rgba(148, 163, 184, .15);--medal-silver-border: rgba(148, 163, 184, .4);--medal-bronze: #d97706;--medal-bronze-bg: rgba(217, 119, 6, .15);--medal-bronze-border: rgba(217, 119, 6, .35);--medal-gold-accent: var(--medal-gold);--medal-silver-accent: var(--medal-silver);--medal-bronze-accent: var(--medal-bronze);display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1rem 7.5rem;box-sizing:border-box}html[data-theme=light] .ranking-page{--medal-gold: #895306;--medal-gold-accent: #C96A00;--medal-gold-bg: rgba(245, 158, 11, .22);--medal-gold-border: rgba(217, 119, 6, .6);--medal-silver: #475569;--medal-silver-accent: #64748B;--medal-silver-bg: rgba(148, 163, 184, .25);--medal-silver-border: rgba(100, 116, 139, .6);--medal-bronze: #9A2F12;--medal-bronze-accent: #C2410C;--medal-bronze-bg: rgba(194, 65, 12, .18);--medal-bronze-border: rgba(194, 65, 12, .55)}.ranking-page__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem}.ranking-page__title{display:flex;align-items:baseline;gap:.5rem;font-size:calc(1.5rem * var(--font-scale));font-weight:700;margin:0;color:var(--text-primary)}.rewards-sheet{display:flex;flex-direction:column;gap:.75rem}.rewards-sheet__loading{display:flex;justify-content:center;padding:1.5rem 0}.rewards-sheet__empty{text-align:center;color:var(--text-muted);font-size:calc(.875rem * var(--font-scale));padding:1.5rem 0;margin:0}.rewards-sheet__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.rewards-sheet__item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-subtle)}.rewards-sheet__item:last-child{border-bottom:none}.rewards-sheet__name{font-size:calc(.9375rem * var(--font-scale));font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rewards-sheet__item--gold .rewards-sheet__name{color:var(--medal-gold)}.rewards-sheet__item--silver .rewards-sheet__name{color:var(--medal-silver)}.rewards-sheet__item--bronze .rewards-sheet__name{color:var(--medal-bronze)}.rewards-sheet__xp{font-family:var(--font-number);font-size:calc(.9375rem * var(--font-scale));font-weight:700;color:var(--color-primary-text);flex-shrink:0}.ranking-page__year{font-family:var(--font-number);font-size:calc(1rem * var(--font-scale));font-weight:500;color:var(--text-muted)}@media(min-width:431px){.ranking-page__year{font-size:calc(1.125rem * var(--font-scale))}}.ranking-page__season-selector{display:flex;align-items:stretch;gap:.5rem}.ranking-page__season-arrow{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.625rem;color:var(--text-secondary);cursor:pointer;padding:0;transition:color .15s,border-color .15s,background-color .15s}.ranking-page__season-arrow:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-elevated)}.ranking-page__season-arrow:disabled{cursor:default;color:var(--text-disabled);border-color:var(--border-subtle);background:var(--bg-card)}.ranking-page__season-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.625rem;color:var(--text-primary);font-family:inherit;font-size:calc(.9375rem * var(--font-scale));font-weight:600;cursor:pointer;transition:border-color .15s,background-color .15s;min-width:0}.ranking-page__season-button:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.ranking-page__season-button:disabled{cursor:default;color:var(--text-disabled);border-color:var(--border-subtle);background:var(--bg-card)}.ranking-page__season-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ranking-page__season-title--placeholder{color:var(--text-muted);font-weight:500}.ranking-page__season-status{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:999px;font-size:calc(.6875rem * var(--font-scale));font-weight:700;flex-shrink:0}.ranking-page__season-status--ongoing{color:var(--color-primary-text);background:var(--color-primary-subtle)}.ranking-page__season-status--upcoming{color:var(--color-warn);background:var(--color-warn-bg)}html[data-theme=light] .ranking-page__season-status--upcoming{color:var(--color-warn-text)}.ranking-page__season-status--ended{color:var(--text-muted);background:var(--bg-elevated)}.ranking-page__loading{display:flex;align-items:center;justify-content:center;padding:3rem 0;color:var(--color-primary)}.ranking-page__spin{animation:rankingSpin 1.2s linear infinite}@keyframes rankingSpin{to{transform:rotate(360deg)}}.ranking-page__empty{text-align:center;color:var(--text-hint);font-size:calc(.9375rem * var(--font-scale));padding:3rem 0;margin:0}.ranking-avatar{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-elevated);color:var(--text-muted);overflow:hidden;border:2px solid var(--border-hover);box-sizing:border-box}.ranking-avatar__image{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.ranking-avatar__icon{display:block}.ranking-avatar--medal-1{border-color:var(--medal-gold-accent);border-width:3px}.ranking-avatar--medal-2{border-color:var(--medal-silver-accent);border-width:3px}.ranking-avatar--medal-3{border-color:var(--medal-bronze-accent);border-width:3px}.ranking-podium{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:end;gap:.5rem;padding-top:1.25rem}.ranking-podium__slot{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:0;background:none;border:none;padding:0;font-family:inherit;color:inherit;text-align:center}.ranking-podium__slot--clickable{cursor:pointer;transition:transform .15s ease}.ranking-podium__slot--clickable:hover .ranking-podium__avatar-ring{transform:scale(1.05)}.ranking-podium__slot--clickable:active{transform:scale(.98)}.ranking-podium__slot:disabled{cursor:default}.ranking-podium__avatar-wrap{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.ranking-podium__crown{position:absolute;top:-16px;color:var(--medal-gold-accent);filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.ranking-podium__avatar-ring{border-radius:50%;display:inline-flex;transition:transform .15s ease}.ranking-podium__name{font-size:calc(.8125rem * var(--font-scale));font-weight:600;color:var(--text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-podium__score{font-family:var(--font-number);font-size:calc(1.125rem * var(--font-scale));font-weight:700;line-height:1}.ranking-podium__slot--1 .ranking-podium__score{color:var(--medal-gold)}.ranking-podium__slot--2 .ranking-podium__score{color:var(--medal-silver);font-size:calc(1rem * var(--font-scale))}.ranking-podium__slot--3 .ranking-podium__score{color:var(--medal-bronze);font-size:calc(1rem * var(--font-scale))}.ranking-podium__meta{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;font-size:calc(.6875rem * var(--font-scale));color:var(--text-muted);min-width:0}.ranking-podium__level{color:var(--color-primary-text);font-weight:500;flex-shrink:0}.ranking-podium__meta-sep{color:var(--text-disabled);flex-shrink:0}.ranking-podium__title{color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ranking-podium__pillar{margin-top:.5rem;width:100%;border-radius:.5rem .5rem 0 0;background:var(--bg-card);border:1px solid var(--border-subtle);border-bottom:none;display:flex;align-items:center;justify-content:center}.ranking-podium__pillar--1{height:90px;background:var(--medal-gold-bg);border-color:var(--medal-gold-border)}.ranking-podium__pillar--2{height:64px;background:var(--medal-silver-bg);border-color:var(--medal-silver-border)}.ranking-podium__pillar--3{height:48px;background:var(--medal-bronze-bg);border-color:var(--medal-bronze-border)}.ranking-podium__place{font-family:var(--font-number);font-size:calc(1.75rem * var(--font-scale));font-weight:700}.ranking-podium__pillar--1 .ranking-podium__place{color:var(--medal-gold);font-size:calc(2.25rem * var(--font-scale))}.ranking-podium__pillar--2 .ranking-podium__place{color:var(--medal-silver)}.ranking-podium__pillar--3 .ranking-podium__place{color:var(--medal-bronze)}.ranking-list-wrap{display:flex;flex-direction:column;gap:.5rem}.ranking-list__header{display:flex;align-items:center;justify-content:space-between;padding:0 .25rem;font-size:calc(.75rem * var(--font-scale))}.ranking-list__range{color:var(--text-muted);font-weight:500}.ranking-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.ranking-list__item{display:grid;grid-template-columns:28px 40px 1fr auto;align-items:center;gap:.625rem;padding:.625rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.75rem;transition:border-color .2s,background-color .2s}.ranking-list__item--clickable{cursor:pointer}.ranking-list__item--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ranking-list__item:hover{border-color:var(--border-hover);background:var(--bg-elevated)}.ranking-list__item--me{border-color:var(--color-primary);background:var(--color-primary-subtle)}.ranking-list__item--me:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.ranking-list__item--me-medal-1,.ranking-list__item--me-medal-1:hover{border-color:var(--medal-gold)}.ranking-list__item--me-medal-2,.ranking-list__item--me-medal-2:hover{border-color:var(--medal-silver)}.ranking-list__item--me-medal-3,.ranking-list__item--me-medal-3:hover{border-color:var(--medal-bronze)}.ranking-list__rank{font-family:var(--font-number);font-size:calc(1rem * var(--font-scale));font-weight:700;color:var(--text-secondary);text-align:center}.ranking-list__rank--medal-1{color:var(--medal-gold)}.ranking-list__rank--medal-2{color:var(--medal-silver)}.ranking-list__rank--medal-3{color:var(--medal-bronze)}.ranking-list__info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.ranking-list__name{font-size:calc(.9375rem * var(--font-scale));font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ranking-list__meta{display:flex;align-items:center;gap:.25rem;font-size:calc(.6875rem * var(--font-scale));color:var(--text-muted);min-width:0}.ranking-list__level{color:var(--color-primary-text);font-weight:500;flex-shrink:0}.ranking-list__title{color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ranking-list__meta-sep{color:var(--text-disabled);flex-shrink:0}.ranking-list__score{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.ranking-list__score-value{font-family:var(--font-number);font-size:calc(1.125rem * var(--font-scale));font-weight:700;color:var(--text-primary);line-height:1.2}.ranking-change{display:inline-flex;align-items:center;gap:.125rem;font-size:calc(.6875rem * var(--font-scale));font-weight:700;font-family:var(--font-number);line-height:1}.ranking-change--up{color:var(--color-primary-text)}.ranking-change--down{color:var(--color-danger)}.ranking-change--same,.ranking-change--new{color:var(--text-disabled)}.ranking-list__sentinel{display:flex;align-items:center;justify-content:center;padding:1rem 0;color:var(--text-hint)}.ranking-page .scroll-to-top{bottom:calc(8.5rem + var(--bottom-nav-offset))}.ranking-page__my-rank{position:fixed;bottom:calc(64px + var(--bottom-nav-offset));left:50%;transform:translate(-50%);width:100%;max-width:1024px;padding:.625rem 1rem;background:var(--bg-body);border-top:1px solid var(--border-subtle);box-shadow:0 -8px 16px -8px var(--shadow-color);z-index:9;box-sizing:border-box}.ranking-page__my-rank--hint{bottom:calc(64px + var(--bottom-nav-offset))}.ranking-page__min-games-hint{margin:0;text-align:center;font-size:calc(.8125rem * var(--font-scale));line-height:1.4;color:var(--text-secondary);overflow-wrap:anywhere}@media(max-width:360px){.ranking-page{padding:1.25rem .75rem 7rem;gap:.75rem}.ranking-list__item{grid-template-columns:22px 36px 1fr auto;gap:.5rem;padding:.5rem .625rem}.ranking-list__name{font-size:calc(.875rem * var(--font-scale))}.ranking-list__score-value{font-size:calc(1rem * var(--font-scale))}.ranking-podium__pillar--1{height:76px}.ranking-podium__pillar--2{height:56px}.ranking-podium__pillar--3{height:40px}.ranking-podium__place{font-size:calc(1.5rem * var(--font-scale))}.ranking-podium__pillar--1 .ranking-podium__place{font-size:calc(1.875rem * var(--font-scale))}.ranking-page__my-rank{padding:.5rem .75rem}}@media(min-width:431px){.ranking-page{padding:2rem 1.5rem 8.5rem;gap:1.25rem}.ranking-page__title{font-size:calc(1.75rem * var(--font-scale))}.ranking-page__season-arrow{width:2.75rem}.ranking-page__season-button{padding:.625rem 1rem;font-size:calc(1rem * var(--font-scale))}.ranking-page__season-status{font-size:calc(.75rem * var(--font-scale));padding:.25rem .5625rem}.season-sheet__item-title{font-size:calc(1rem * var(--font-scale))}.season-sheet__item-range{font-size:calc(.8125rem * var(--font-scale))}.ranking-list__item{grid-template-columns:32px 48px 1fr auto;padding:.75rem 1rem}.ranking-list__rank{font-size:calc(1.125rem * var(--font-scale))}.ranking-list__name{font-size:calc(1rem * var(--font-scale))}.ranking-list__score-value{font-size:calc(1.25rem * var(--font-scale))}.ranking-list__meta{font-size:calc(.75rem * var(--font-scale))}.ranking-page__my-rank{padding:.75rem 1.5rem}.ranking-podium__pillar--1{height:110px}.ranking-podium__pillar--2{height:80px}.ranking-podium__pillar--3{height:60px}.ranking-podium__name{font-size:calc(.9375rem * var(--font-scale))}.ranking-podium__score{font-size:calc(1.25rem * var(--font-scale))}.ranking-podium__slot--2 .ranking-podium__score,.ranking-podium__slot--3 .ranking-podium__score{font-size:calc(1.125rem * var(--font-scale))}}@media(min-width:835px){.ranking-page{padding:2.5rem 3rem 8.5rem}.ranking-page__title{font-size:calc(2rem * var(--font-scale))}.ranking-list__item{grid-template-columns:36px 52px 1fr auto;padding:.875rem 1.25rem;gap:.875rem}.ranking-list__name{font-size:calc(1.0625rem * var(--font-scale))}.ranking-list__score-value{font-size:calc(1.375rem * var(--font-scale))}.ranking-page__my-rank{padding:.75rem 3rem}.ranking-podium__pillar--1{height:130px}.ranking-podium__pillar--2{height:96px}.ranking-podium__pillar--3{height:72px}}.rank-detail{display:flex;flex-direction:column;gap:1rem;margin-top:-.5rem}.rank-detail__profile{display:flex;align-items:center;gap:.875rem;padding-right:2.5rem}.rank-detail__profile-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.rank-detail__name{margin:0;font-size:calc(1.125rem * var(--font-scale));font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-detail__meta{display:flex;align-items:center;gap:.25rem;font-size:calc(.8125rem * var(--font-scale));color:var(--text-muted);min-width:0}.rank-detail__level{color:var(--color-primary-text);font-weight:500;flex-shrink:0}.rank-detail__meta-sep{color:var(--text-disabled);flex-shrink:0}.rank-detail__title{color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.rank-detail__rank-card{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:.75rem;overflow:hidden}.rank-detail__rank-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.875rem .5rem;min-width:0}.rank-detail__col-label{font-size:calc(.75rem * var(--font-scale));color:var(--text-muted)}.rank-detail__col-value{font-family:var(--font-number);font-size:calc(1.25rem * var(--font-scale));font-weight:700;color:var(--text-primary);line-height:1}.rank-detail__rank-col .ranking-change{font-size:calc(1.25rem * var(--font-scale));font-weight:700}.rank-detail__rank-col .ranking-change svg{width:1.25rem;height:1.25rem}.rank-detail__rank-card--medal-1{border-color:var(--medal-gold)}.rank-detail__rank-card--medal-2{border-color:var(--medal-silver)}.rank-detail__rank-card--medal-3{border-color:var(--medal-bronze)}.rank-detail__rank-card--me{border-color:var(--color-primary)}.rank-detail__rank-number{font-family:var(--font-number);font-size:calc(1.25rem * var(--font-scale));font-weight:700;color:var(--text-primary);line-height:1}.rank-detail__rank-number--medal-1{color:var(--medal-gold)}.rank-detail__rank-number--medal-2{color:var(--medal-silver)}.rank-detail__rank-number--medal-3{color:var(--medal-bronze)}.rank-detail__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.rank-detail__stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.875rem .5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.75rem}.rank-detail__stat-label{font-size:calc(.75rem * var(--font-scale));color:var(--text-muted)}.rank-detail__stat-value{font-family:var(--font-number);font-size:calc(1.25rem * var(--font-scale));font-weight:700;color:var(--text-primary);line-height:1}@media(min-width:431px){.rank-detail__profile{padding-right:3rem}.rank-detail__name{font-size:calc(1.25rem * var(--font-scale))}.rank-detail__rank-number{font-size:calc(2rem * var(--font-scale))}.rank-detail__stat-value{font-size:calc(1.5rem * var(--font-scale))}.rank-detail__stat-label{font-size:calc(.8125rem * var(--font-scale))}}.season-sheet{display:flex;flex-direction:column;gap:1rem;padding-top:2rem}@media(min-width:431px){.season-sheet{padding-top:2.5rem}}.season-sheet__loading{display:flex;align-items:center;justify-content:center;padding:2rem 0;color:var(--color-primary)}.season-sheet__empty{text-align:center;color:var(--text-hint);font-size:calc(.9375rem * var(--font-scale));padding:2rem 0;margin:0}.season-sheet__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.season-sheet__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.75rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.625rem;font-family:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.season-sheet__item:not(.season-sheet__item--selected):hover{border-color:var(--border-hover);background:var(--bg-elevated)}.season-sheet__item--selected,.season-sheet__item--selected:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.season-sheet__item-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.season-sheet__item-title{font-size:calc(.9375rem * var(--font-scale));font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-sheet__item-range{font-size:calc(.75rem * var(--font-scale));color:var(--text-muted);font-family:var(--font-number)}.season-sheet__status{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:999px;font-size:calc(.6875rem * var(--font-scale));font-weight:700;flex-shrink:0}.season-sheet__status--ongoing{color:var(--color-primary-text);background:var(--color-primary-subtle)}.season-sheet__status--upcoming{color:var(--color-warn);background:var(--color-warn-bg)}html[data-theme=light] .season-sheet__status--upcoming{color:var(--color-warn-text)}.season-sheet__status--ended{color:var(--text-muted);background:var(--bg-body)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:1024px;box-sizing:border-box;height:calc(65px + var(--bottom-nav-offset));padding-bottom:var(--bottom-nav-offset);background:var(--bg-card);border-top:1px solid var(--surface-active);box-shadow:var(--shadow-card);display:flex;align-items:flex-start;justify-content:space-around;z-index:100}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:64px;background:none;border:none;color:var(--text-muted);font-size:calc(.75rem * var(--font-scale));font-weight:500;font-family:inherit;cursor:pointer;transition:color .2s;padding:0}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__item:hover:not(.bottom-nav__item--active){color:var(--text-sub)}.bottom-nav__label{line-height:1}.bottom-nav__center-wrapper{flex:1;display:flex;align-items:center;justify-content:center;height:64px;position:relative}.bottom-nav__center-button{position:absolute;top:-16px;left:50%;transform:translate(-50%);width:56px;height:56px;border-radius:50%;background:var(--color-primary);border:4px solid var(--bg-body);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,transform .1s}.bottom-nav__center-button:hover{background:var(--color-primary-hover)}.bottom-nav__center-button:active{transform:translate(-50%) scale(.95)}.main-layout{min-height:100vh;display:flex;flex-direction:column}.main-layout__content{flex:1;padding-bottom:calc(64px + var(--bottom-nav-offset))}.beta-prep-ribbon{padding:.375rem 1rem;background:var(--color-warn-bg);border-bottom:1px solid var(--color-warn-border);color:var(--color-warn-text);font-size:calc(.75rem * var(--font-scale));line-height:1.4;text-align:center;white-space:normal;word-break:keep-all;box-sizing:border-box}.intro-video{position:relative;width:min(340px,84vw);aspect-ratio:9 / 16;color-scheme:dark;background-color:#0a0e0f;box-shadow:inset 0 0 0 1px var(--dark-scope-frame);border-radius:.625rem;overflow:hidden}.intro-video__media{display:block;width:100%;height:100%;object-fit:cover}.intro-video__toggle{position:absolute;right:.625rem;bottom:.625rem;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:50%;background-color:#0000008c;color:#fff;cursor:pointer;transition:background-color .15s}.intro-video__toggle:hover{background-color:#000000bf}.intro-video__toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.app-guide__nav-mock,.app-guide__nav-mock *,.app-guide__score-mock,.app-guide__score-mock *,.app-guide__rank-mock,.app-guide__rank-mock *,.app-guide__mission-mock,.app-guide__mission-mock *,.app-guide__level-mock,.app-guide__level-mock *{box-sizing:border-box}.app-guide__keyword{color:var(--color-primary-text);font-weight:800}.app-guide__brand-action,.app-guide__brand-bowling,.app-guide__brand-cam{color:var(--color-warn);font-weight:800}html[data-theme=light] .app-guide__brand-action,html[data-theme=light] .app-guide__brand-bowling,html[data-theme=light] .app-guide__brand-cam{color:var(--color-warn-text)}.app-guide__brand-ai{color:var(--color-danger);font-weight:800}html[data-theme=light] .app-guide__brand-action,html[data-theme=light] .app-guide__brand-bowling,html[data-theme=light] .app-guide__brand-cam{background:linear-gradient(180deg,transparent 56%,color-mix(in srgb,var(--color-warn) 55%,transparent) 56%)}html[data-theme=light] .app-guide__brand-action{padding-left:2px;border-radius:2px 0 0 2px}html[data-theme=light] .app-guide__brand-ai{padding-right:2px;border-radius:0 2px 2px 0;color:#991b1b;background:linear-gradient(180deg,transparent 56%,rgba(248,113,113,.38) 56%)}.app-guide__score-mock{width:100%;max-width:320px;margin:0 auto;padding:.875rem;border-radius:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.app-guide__score-mock-header{display:flex;align-items:center;gap:.375rem;font-size:calc(.75rem * var(--font-scale));font-weight:600;color:var(--text-sub);padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.app-guide__score-mock-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:calc(.875rem * var(--font-scale))}.app-guide__score-mock-label{color:var(--text-secondary)}.app-guide__score-mock-value{font-family:var(--font-number);font-weight:700;color:var(--text-primary)}.app-guide__score-mock-row--highlight .app-guide__score-mock-value{color:var(--color-primary-text);font-size:calc(1.0625rem * var(--font-scale))}.app-guide__rank-mock{width:100%;max-width:320px;margin:0 auto;padding:.625rem;border-radius:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.25rem}.app-guide__rank-mock-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:.5rem;font-size:calc(.875rem * var(--font-scale))}.app-guide__rank-mock-row--me{background:var(--color-primary-light);border:1px solid var(--color-primary-border)}.app-guide__rank-mock-num{width:24px;text-align:center;font-family:var(--font-number);font-weight:800;color:var(--text-sub);flex-shrink:0}.app-guide__rank-mock-row--me .app-guide__rank-mock-num{color:var(--color-primary-text)}.app-guide__rank-mock-name{flex:1;color:var(--text-primary);font-weight:500}.app-guide__rank-mock-row--me .app-guide__rank-mock-name{color:var(--color-primary-text);font-weight:700}.app-guide__rank-mock-score{font-family:var(--font-number);font-weight:700;color:var(--text-primary);flex-shrink:0}.app-guide__mission-mock{width:100%;max-width:320px;margin:0 auto;padding:.875rem 1rem;border-radius:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.875rem}.app-guide__mission-mock-header{display:flex;align-items:baseline;gap:.5rem}.app-guide__mission-mock-title{font-size:calc(.9375rem * var(--font-scale));font-weight:700;color:var(--text-primary);letter-spacing:-.005em}.app-guide__mission-mock-progress{margin-left:auto;font-family:var(--font-number);font-size:calc(.8125rem * var(--font-scale));display:inline-flex;align-items:baseline;gap:.0625rem}.app-guide__mission-mock-progress-done{color:var(--color-primary-text);font-weight:700}.app-guide__mission-mock-progress-sep,.app-guide__mission-mock-progress-total{color:var(--text-muted)}.app-guide__mission-mock-chevron{color:var(--text-muted);align-self:center;flex-shrink:0}.app-guide__mission-mock-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.app-guide__mission-mock-item{display:flex;flex-direction:column;gap:.375rem}.app-guide__mission-mock-row{display:flex;align-items:center;gap:.5rem}.app-guide__mission-mock-name{flex:1;min-width:0;font-size:calc(.8125rem * var(--font-scale));color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-guide__mission-mock-item--done .app-guide__mission-mock-name{color:var(--text-secondary)}.app-guide__mission-mock-xp{flex-shrink:0;font-family:var(--font-number);font-size:calc(.8125rem * var(--font-scale));font-weight:700;color:var(--color-primary-text)}.app-guide__mission-mock-bar{position:relative;height:4px;background:var(--surface-active);border-radius:2px;overflow:hidden}.app-guide__mission-mock-bar-fill{position:absolute;inset:0 auto 0 0;width:100%;border-radius:2px;background:var(--color-primary)}.app-guide__level-mock{width:100%;max-width:320px;margin:0 auto;padding:1rem;border-radius:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.75rem}.app-guide__level-mock-row{display:flex;justify-content:space-between;align-items:baseline}.app-guide__level-mock-label{font-size:calc(1rem * var(--font-scale));font-weight:800;color:var(--color-primary-text)}.app-guide__level-mock-xp{font-family:var(--font-number);font-size:calc(.75rem * var(--font-scale));font-weight:600;color:var(--text-sub)}.app-guide__level-mock-bar{width:100%;height:8px;border-radius:4px;background:var(--surface-active);overflow:hidden}.app-guide__level-mock-fill{height:100%;background:var(--color-primary);border-radius:4px}.app-guide__level-mock-badges{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-subtle)}.app-guide__level-mock-badge{width:40px;height:40px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-text);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-primary-border)}.app-guide__level-mock-badge--locked{background:var(--surface-active);color:var(--text-disabled);border-color:var(--border-subtle);font-weight:700}.app-guide__nav-mock{width:100%;margin-top:1.5rem;display:flex;justify-content:center}.app-guide__nav-mock-bar{width:100%;max-width:320px;height:64px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;display:flex;align-items:flex-start;justify-content:space-around;padding-top:8px;box-sizing:border-box}.app-guide__nav-mock-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-muted);font-size:calc(.625rem * var(--font-scale));font-weight:500;height:56px}.app-guide__nav-mock-center-wrap{flex:1;display:flex;align-items:center;justify-content:center;position:relative;height:56px}.app-guide__nav-mock-center{position:absolute;top:-16px;width:52px;height:52px;border-radius:50%;background:var(--color-primary);border:4px solid var(--bg-card);color:#fff;display:flex;align-items:center;justify-content:center}.app-guide__nav-mock-center--highlight{box-shadow:0 0 0 4px var(--color-primary-border)}@media(min-width:431px){.app-guide__nav-mock-bar{max-width:420px;height:72px}.app-guide__nav-mock-item{height:64px;font-size:calc(.75rem * var(--font-scale))}.app-guide__nav-mock-center{width:60px;height:60px;top:-20px}.app-guide__score-mock,.app-guide__rank-mock,.app-guide__mission-mock,.app-guide__level-mock{max-width:480px;padding:1.125rem 1.25rem}.app-guide__score-mock-header{font-size:calc(.875rem * var(--font-scale))}.app-guide__score-mock-row{font-size:calc(1rem * var(--font-scale));padding:.375rem 0}.app-guide__score-mock-row--highlight .app-guide__score-mock-value{font-size:calc(1.25rem * var(--font-scale))}.app-guide__rank-mock-row{font-size:calc(1rem * var(--font-scale));padding:.625rem .75rem}.app-guide__rank-mock-num{width:28px}.app-guide__mission-mock-title{font-size:calc(1rem * var(--font-scale))}.app-guide__mission-mock-progress,.app-guide__mission-mock-name,.app-guide__mission-mock-xp{font-size:calc(.875rem * var(--font-scale))}.app-guide__level-mock-label{font-size:calc(1.125rem * var(--font-scale))}.app-guide__level-mock-xp{font-size:calc(.875rem * var(--font-scale))}.app-guide__level-mock-badge{width:48px;height:48px}}@media(min-width:835px){.app-guide__nav-mock-bar{max-width:520px;height:80px}.app-guide__nav-mock-item{height:72px;font-size:calc(.8125rem * var(--font-scale))}.app-guide__nav-mock-center{width:68px;height:68px;top:-24px}.app-guide__score-mock,.app-guide__rank-mock,.app-guide__mission-mock,.app-guide__level-mock{max-width:600px;padding:1.25rem 1.5rem}.app-guide__score-mock-row,.app-guide__rank-mock-row{font-size:calc(1.125rem * var(--font-scale))}.app-guide__level-mock-badge{width:56px;height:56px}.app-guide__mission-mock-title{font-size:calc(1.125rem * var(--font-scale))}.app-guide__mission-mock-name,.app-guide__mission-mock-xp{font-size:calc(1rem * var(--font-scale))}.app-guide__level-mock-label{font-size:calc(1.25rem * var(--font-scale))}}.intro-visual{--iv-card-bg: rgba(26, 31, 34, .74);--iv-card-border: rgba(var(--color-primary-text-rgb), .16);--iv-card-shadow: 0 24px 48px -24px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .05);--iv-glow: rgba(16, 185, 129, .3);--iv-tint: rgba(var(--color-primary-text-rgb), .08);--iv-tint-border: rgba(var(--color-primary-text-rgb), .35);--iv-cell: #1d2326;--iv-avatar-bg: #1d2326;position:relative;display:flex;flex-direction:column;gap:.875rem;width:100%}html[data-theme=light] .intro-visual{--iv-card-bg: rgba(255, 255, 255, .84);--iv-card-shadow: 0 24px 48px -28px rgba(17, 24, 39, .22), inset 0 1px 0 rgba(255, 255, 255, .9);--iv-glow: rgba(16, 185, 129, .16);--iv-tint: rgba(var(--color-primary-text-rgb), .06);--iv-cell: #ffffff;--iv-avatar-bg: var(--bg-body)}.intro-visual__glow{position:absolute;top:-.75rem;right:0;bottom:-.75rem;left:0;pointer-events:none;background:radial-gradient(closest-side,var(--iv-glow),transparent);filter:blur(8px);animation:intro-visual-drift 10s ease-in-out infinite alternate}.intro-visual__card,.intro-visual .app-guide__mission-mock,.intro-visual .app-guide__level-mock{position:relative;box-sizing:border-box;width:100%;max-width:none;margin:0;border:1px solid var(--iv-card-border);border-radius:1.25rem;background:var(--iv-card-bg);box-shadow:var(--iv-card-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transform:translateY(14px)}.intro-visual.is-in .intro-visual__card,.intro-visual.is-in .app-guide__mission-mock,.intro-visual.is-in .app-guide__level-mock{animation:intro-visual-rise .7s cubic-bezier(.2,.8,.2,1) both}.intro-visual.is-in .app-guide__level-mock{animation-delay:.12s}.intro-access{display:flex;flex-direction:column;align-items:center;padding:1.375rem 1.125rem 1.25rem}.intro-access__label{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;font-size:calc(.8125rem * var(--font-scale));font-weight:700;color:var(--text-secondary)}.intro-access__code{display:flex;justify-content:center;gap:.375rem;width:100%;margin-top:.875rem}.intro-access__digit{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;max-width:2.5rem;height:3.125rem;border:1px solid var(--iv-tint-border);border-radius:.625rem;background:var(--iv-tint);font-family:var(--font-number);font-size:calc(1.5rem * var(--font-scale));font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);opacity:0;transform:scale(.4)}.intro-visual.is-in .intro-access__digit{animation:intro-visual-pop .5s cubic-bezier(.3,1.5,.5,1) both}.intro-access__wire{position:relative;width:2px;height:3.5rem;margin-top:.625rem;background:repeating-linear-gradient(180deg,rgba(var(--color-primary-text-rgb),.45) 0 4px,transparent 4px 9px)}.intro-access__dot{position:absolute;top:0;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-primary-text);box-shadow:0 0 12px 2px rgba(var(--color-primary-text-rgb),.6);opacity:0}.intro-visual.is-in .intro-access__dot{animation:intro-visual-travel 2.8s cubic-bezier(.6,0,.4,1) 1s infinite}.intro-access .app-guide__nav-mock{margin-top:.75rem}.intro-access .app-guide__nav-mock-center--highlight:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid var(--color-primary-text);border-radius:50%;opacity:0;pointer-events:none}.intro-visual.is-in .intro-access .app-guide__nav-mock-center--highlight:after{animation:intro-visual-pulse 2.8s ease-out 1.2s infinite}.intro-score{padding:1rem .75rem .875rem}.intro-score__head{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;padding:0 .25rem}.intro-score__title{display:inline-flex;align-items:center;gap:.5rem;font-size:calc(.8125rem * var(--font-scale));font-weight:700;color:var(--text-secondary)}.intro-score__result{display:inline-flex;align-items:baseline;gap:.375rem}.intro-score__final{display:inline-flex;align-items:center;align-self:center;height:1.5rem;padding:0 .625rem;border-radius:999px;background:var(--color-primary-text);color:var(--bg-body);font-size:calc(.75rem * var(--font-scale));font-weight:800;opacity:0;transform:scale(.5);transition:opacity .3s ease,transform .45s cubic-bezier(.3,1.5,.5,1)}.intro-score__final[data-on=true]{opacity:1;transform:none}.intro-score__total{font-family:var(--font-number);font-size:calc(2.125rem * var(--font-scale));font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--color-primary-text);text-shadow:0 0 22px rgba(var(--color-primary-text-rgb),.35)}.intro-score__unit{font-size:calc(.875rem * var(--font-scale));font-weight:700;color:var(--text-secondary)}.intro-score__frames{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;margin:.875rem 0 0;padding:0;list-style:none}.intro-score__frame{display:flex;flex-direction:column;align-items:center;gap:.3125rem;min-width:0;height:4.5rem;padding-top:.4375rem;box-sizing:border-box;border:1px dashed var(--border-subtle);border-radius:.5rem;transition:background-color .3s,border-color .3s,box-shadow .3s}.intro-score__frame[data-shown=true]{border-style:solid;background:var(--iv-cell)}.intro-score__frame--current{border-color:rgba(var(--color-primary-text-rgb),.75);background:rgba(var(--color-primary-text-rgb),.14);box-shadow:0 0 16px -2px rgba(var(--color-primary-text-rgb),.55)}.intro-score__frame--current[data-shown=true]{background:rgba(var(--color-primary-text-rgb),.14)}.intro-score__no{font-family:var(--font-number);font-size:calc(.75rem * var(--font-scale));font-weight:700;line-height:1;color:var(--text-tertiary)}.intro-score__body{display:flex;flex-direction:column;align-items:center;gap:.1875rem;opacity:0;transform:scale(.4);transition:opacity .3s ease,transform .45s cubic-bezier(.3,1.5,.5,1)}.intro-score__frame[data-shown=true] .intro-score__body{opacity:1;transform:none}.intro-score__mark{font-family:var(--font-number);font-size:calc(.9375rem * var(--font-scale));font-weight:800;line-height:1.1;color:var(--text-primary)}.intro-score__mark--strike{color:var(--color-primary-text)}.intro-score__mark--triple{font-size:calc(.75rem * var(--font-scale));line-height:1.5;letter-spacing:-.04em}.intro-score__sum{font-family:var(--font-number);font-size:calc(.8125rem * var(--font-scale));font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.intro-visual--podium{--iv-gold: #fbbf24;--iv-gold-accent: #fbbf24;--iv-gold-bg: rgba(251, 191, 36, .15);--iv-gold-border: rgba(251, 191, 36, .35);--iv-silver: #94a3b8;--iv-silver-accent: #94a3b8;--iv-silver-bg: rgba(148, 163, 184, .15);--iv-silver-border: rgba(148, 163, 184, .4);--iv-bronze: #d97706;--iv-bronze-accent: #d97706;--iv-bronze-bg: rgba(217, 119, 6, .15);--iv-bronze-border: rgba(217, 119, 6, .35)}html[data-theme=light] .intro-visual--podium{--iv-gold: #895306;--iv-gold-accent: #c96a00;--iv-gold-bg: rgba(245, 158, 11, .22);--iv-gold-border: rgba(217, 119, 6, .6);--iv-silver: #475569;--iv-silver-accent: #64748b;--iv-silver-bg: rgba(148, 163, 184, .25);--iv-silver-border: rgba(100, 116, 139, .6);--iv-bronze: #9a2f12;--iv-bronze-accent: #c2410c;--iv-bronze-bg: rgba(194, 65, 12, .18);--iv-bronze-border: rgba(194, 65, 12, .55)}.intro-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.625rem;padding:1.375rem .875rem 0;overflow:hidden}.intro-podium__slot{display:flex;flex-direction:column;align-items:center;gap:.375rem;min-width:0}.intro-podium__slot--1{--iv-medal: var(--iv-gold);--iv-medal-accent: var(--iv-gold-accent);--iv-medal-bg: var(--iv-gold-bg);--iv-medal-border: var(--iv-gold-border)}.intro-podium__slot--2{--iv-medal: var(--iv-silver);--iv-medal-accent: var(--iv-silver-accent);--iv-medal-bg: var(--iv-silver-bg);--iv-medal-border: var(--iv-silver-border)}.intro-podium__slot--3{--iv-medal: var(--iv-bronze);--iv-medal-accent: var(--iv-bronze-accent);--iv-medal-bg: var(--iv-bronze-bg);--iv-medal-border: var(--iv-bronze-border)}.intro-podium__crown{margin-bottom:-.25rem;color:var(--iv-gold-accent);opacity:0;transform:scale(.4)}.intro-podium__avatar{display:flex;width:3.25rem;height:3.25rem;padding:3px;box-sizing:border-box;border:2px solid var(--iv-medal-accent);border-radius:50%;background:var(--iv-avatar-bg);overflow:hidden;opacity:0;transform:scale(.4)}.intro-podium__slot--1 .intro-podium__avatar{width:3.75rem;height:3.75rem}.intro-podium__avatar img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.12)}.intro-podium__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(.8125rem * var(--font-scale));font-weight:700;color:var(--text-primary)}.intro-podium__slot--3 .intro-podium__name{color:var(--color-primary-text)}.intro-podium__score{font-family:var(--font-number);font-size:calc(1rem * var(--font-scale));font-weight:800;line-height:1;color:var(--text-primary)}.intro-podium__name,.intro-podium__score{opacity:0}.intro-podium__pillar{display:flex;justify-content:center;width:100%;margin-top:.25rem;padding-top:.5rem;box-sizing:border-box;border:1px solid var(--iv-medal-border);border-bottom:none;border-radius:.5rem .5rem 0 0;background:var(--iv-medal-bg);transform:scaleY(0);transform-origin:50% 100%}.intro-podium__slot--1 .intro-podium__pillar{height:90px}.intro-podium__slot--2 .intro-podium__pillar{height:64px}.intro-podium__slot--3 .intro-podium__pillar{height:48px}.intro-podium__place{font-family:var(--font-number);font-size:calc(1.125rem * var(--font-scale));font-weight:800;color:var(--iv-medal)}.intro-visual.is-in .intro-podium__pillar{animation:intro-visual-grow-y 1s cubic-bezier(.2,.8,.2,1) both}.intro-visual.is-in .intro-podium__avatar,.intro-visual.is-in .intro-podium__crown{animation:intro-visual-pop .5s cubic-bezier(.3,1.5,.5,1) both}.intro-visual.is-in .intro-podium__name,.intro-visual.is-in .intro-podium__score{animation:intro-visual-rise .5s ease both}.intro-visual.is-in .intro-podium__slot--3 .intro-podium__pillar{animation-delay:.2s}.intro-visual.is-in .intro-podium__slot--2 .intro-podium__pillar{animation-delay:.35s}.intro-visual.is-in .intro-podium__slot--1 .intro-podium__pillar{animation-delay:.5s}.intro-visual.is-in .intro-podium__slot--3>:not(.intro-podium__pillar){animation-delay:.7s}.intro-visual.is-in .intro-podium__slot--2>:not(.intro-podium__pillar){animation-delay:.85s}.intro-visual.is-in .intro-podium__slot--1>:not(.intro-podium__pillar){animation-delay:1s}.intro-visual .app-guide__mission-mock-bar-fill,.intro-visual .app-guide__level-mock-fill{transform:scaleX(0);transform-origin:0 50%}.intro-visual.is-in .app-guide__mission-mock-bar-fill,.intro-visual.is-in .app-guide__level-mock-fill{animation:intro-visual-fill-x 1s cubic-bezier(.2,.8,.2,1) both}.intro-visual.is-in .app-guide__mission-mock-item:nth-child(1) .app-guide__mission-mock-bar-fill{animation-delay:.35s}.intro-visual.is-in .app-guide__mission-mock-item:nth-child(2) .app-guide__mission-mock-bar-fill{animation-delay:.55s}.intro-visual.is-in .app-guide__mission-mock-item:nth-child(3) .app-guide__mission-mock-bar-fill{animation-delay:.75s}.intro-visual.is-in .app-guide__level-mock-fill{animation-delay:.6s}@keyframes intro-visual-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes intro-visual-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes intro-visual-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes intro-visual-fill-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes intro-visual-travel{0%{transform:translateY(0);opacity:0}15%,85%{opacity:1}to{transform:translateY(2.875rem);opacity:0}}@keyframes intro-visual-pulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.8);opacity:0}}@keyframes intro-visual-drift{0%{transform:translateY(6px);opacity:.85}to{transform:translateY(-8px);opacity:1}}@media(max-width:360px){.intro-score{padding-left:.5rem;padding-right:.5rem}.intro-score__frames{gap:2px}}@media(prefers-reduced-motion:reduce){.intro-visual *,.intro-visual *:before,.intro-visual *:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.intro-page{position:relative;box-sizing:border-box;width:100%;--intro-gutter: 1rem;--intro-column: 100%;padding-bottom:calc(1rem + var(--safe-bottom))}.intro-hero{display:flex;flex-direction:column;align-items:center;gap:3rem;padding:3.5rem var(--intro-gutter) 2rem}.intro-hero__login{display:flex;flex-direction:column;align-items:center;gap:3rem;width:100%}.intro-hero__video{display:flex;justify-content:center;width:100%}.intro-features{display:flex;flex-direction:column}.intro-feature{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem var(--intro-gutter);border-top:1px solid var(--border-subtle)}.intro-feature__text{width:100%;max-width:var(--intro-column);min-width:0}.intro-feature__number{display:flex;align-items:center;gap:.625rem;font-family:var(--font-number);font-size:calc(.875rem * var(--font-scale));font-weight:700;letter-spacing:.08em;color:var(--color-primary-text)}.intro-feature__number:after{content:"";width:2.75rem;height:1px;background:linear-gradient(90deg,var(--color-primary-text),transparent)}.intro-feature__title{margin:.5rem 0 .75rem;font-size:calc(1.5rem * var(--font-scale));font-weight:800;line-height:1.35;letter-spacing:-.02em;color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.intro-feature__desc{margin:0;font-size:calc(1rem * var(--font-scale));line-height:1.65;color:var(--text-secondary);word-break:keep-all;overflow-wrap:anywhere}.intro-feature__mock{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:var(--intro-column);min-width:0;text-align:center}.intro-feature__mock>*{width:100%}.intro-footer{padding:0 var(--intro-gutter)}@media(max-width:360px){.intro-page{--intro-gutter: .75rem}.intro-hero,.intro-hero__login{gap:2rem}.intro-feature__title{font-size:calc(1.25rem * var(--font-scale))}.intro-feature__desc{font-size:calc(.9375rem * var(--font-scale))}}@media(min-width:431px){.intro-page{--intro-gutter: 1.5rem;--intro-column: 480px}.intro-feature{padding-top:3rem;padding-bottom:3rem}.intro-feature__title{font-size:calc(1.75rem * var(--font-scale))}.intro-feature__desc{font-size:calc(1.0625rem * var(--font-scale))}}@media(min-width:835px){.intro-page{--intro-gutter: 3rem}.intro-hero{flex-direction:row;justify-content:center;align-items:center;gap:4rem;padding-top:4.5rem;padding-bottom:3rem}.intro-hero__login,.intro-hero__video{flex:1 1 0;min-width:0}.intro-feature{flex-direction:row;align-items:center;gap:4rem;padding-top:4rem;padding-bottom:4rem}.intro-feature__text,.intro-feature__mock{flex:1 1 0;max-width:none}.intro-feature:nth-child(2n){flex-direction:row-reverse}.intro-feature__title{font-size:calc(2rem * var(--font-scale))}.intro-feature__desc{font-size:calc(1.125rem * var(--font-scale))}.intro-footer{padding:0 calc(var(--intro-gutter) - .25rem)}.intro-footer .footer{padding-left:.25rem;padding-right:.25rem}}
