.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-none);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.025em;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.btn--sm{min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn--md{min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn--lg{min-height:52px;padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn--primary{background-color:var(--interactive-bg);color:var(--interactive-text);border-color:var(--interactive-bg)}@media (hover: hover) and (pointer: fine){.btn--primary:hover:not(:disabled){background-color:var(--interactive-bg-hover);border-color:var(--interactive-bg-hover)}}.btn--primary:active:not(:disabled){opacity:.9}.btn--secondary{background-color:transparent;color:var(--text-primary);border-color:var(--border-medium)}@media (hover: hover) and (pointer: fine){.btn--secondary:hover:not(:disabled){background-color:var(--btn-selected-bg);border-color:var(--btn-selected-bg)}}.btn--secondary:active:not(:disabled){background-color:var(--btn-selected-bg)}.btn--ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}@media (hover: hover) and (pointer: fine){.btn--ghost:hover:not(:disabled){color:var(--text-primary)}}.btn--ghost:active:not(:disabled){color:var(--text-primary)}.btn--full{width:100%}@media (min-width: 768px){.btn--lg{min-height:56px;font-size:1.125rem}}.archetype-card{padding:var(--space-4);text-align:center;background-color:var(--surface-primary);border:1px solid var(--border-subtle);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;min-height:0}.archetype-card--compact{padding:var(--space-3)}.archetype-card__cluster{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-1)}.archetype-card__name{font-family:var(--font-family-base);font-size:clamp(1rem,4vw,1.25rem);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-12);text-transform:uppercase;letter-spacing:.025em;line-height:1.2;flex-shrink:0}.archetype-card--compact .archetype-card__name{font-size:var(--font-size-base);margin-bottom:var(--space-1)}.archetype-card__section{margin-top:var(--space-1);flex:1 1 auto;min-height:0;overflow:hidden}.archetype-card__section:first-of-type{margin-top:0}.archetype-card__section--deemphasized{opacity:.7}.archetype-card__label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.archetype-card__text{font-size:clamp(.8rem,3.2vw,var(--font-size-sm));line-height:1.3;margin:0}.archetype-card__text--virtue,.archetype-card__text--shadow{color:var(--text-primary);font-weight:var(--font-weight-medium)}.archetype-card__text--deemphasized{font-size:var(--font-size-sm);opacity:.8}.archetype-card__prompt{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:.8rem;font-weight:var(--font-weight-medium);color:var(--text-secondary);text-align:center;line-height:1.3}@media (max-width: 480px){.archetype-card{padding:var(--space-3)}.archetype-card__name{margin-bottom:var(--space-8)}.archetype-card__label{margin-bottom:2px}.archetype-card__prompt{padding-top:var(--space-2);font-size:.7rem}}@media (min-width: 768px){.archetype-card{padding:var(--space-6);max-width:580px}.archetype-card__name{font-size:1.5rem;margin-bottom:var(--space-16)}.archetype-card__section{margin-top:var(--space-1)}.archetype-card__text{font-size:clamp(.9rem,2.5vw,1rem);line-height:1.4}.archetype-card__cluster,.archetype-card__label{font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.archetype-card__prompt{font-size:.9rem;padding-top:var(--space-4)}}.scenario-card{padding:var(--space-6);text-align:center;width:100%;max-width:var(--card-max-width);background-color:var(--card-bg);border:var(--card-border-width) solid var(--card-border)}.scenario-card__meta{display:flex;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4)}.scenario-card__context{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background-color:var(--surface-tertiary);color:var(--text-secondary)}.scenario-card__text{font-family:var(--font-family-display);font-size:1.25rem;font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.6;margin:0;padding:var(--space-2) 0;white-space:pre-line}@media (min-width: 768px){.scenario-card{padding:var(--space-8)}.scenario-card__text{font-size:1.375rem;line-height:1.5}.scenario-card__context{font-size:var(--font-size-base);padding:var(--space-2) var(--space-5)}}@media (min-width: 1024px){.scenario-card__text{font-size:1.5rem}}.rating-scale{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%}.rating-scale__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-align:center;margin:0}.rating-scale__buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background-color:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;width:100%;border:1px solid var(--border-subtle)}.rating-scale__btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;padding:var(--space-3) var(--space-2);background-color:var(--surface-primary);border:none;cursor:pointer;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (hover: hover) and (pointer: fine){.rating-scale__btn:hover:not(:disabled):not(.rating-scale__btn--selected){background-color:var(--surface-secondary)}}.rating-scale__btn:active:not(:disabled){background-color:var(--surface-tertiary);transition:none}.rating-scale__btn--selected{background-color:var(--interactive-bg)!important;color:var(--interactive-text)!important}.rating-scale__btn--selected .rating-scale__value{color:var(--interactive-text)}.rating-scale__btn--selected .rating-scale__sublabel{color:var(--interactive-text);opacity:.8}.rating-scale__btn:disabled{opacity:.5;cursor:not-allowed}.rating-scale__btn:focus{outline:none}.rating-scale__btn:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.rating-scale__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.rating-scale__sublabel{position:absolute;top:var(--space-2);left:0;right:0;font-size:.6rem;font-weight:var(--font-weight-medium);color:var(--text-muted);line-height:1;text-transform:lowercase;text-align:center}.rating-scale__actions{display:flex;gap:var(--space-3);width:100%}.rating-scale__confirm{flex:1;min-height:52px;padding:var(--space-3) var(--space-4);background-color:var(--interactive-bg);color:var(--interactive-text);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-transform:uppercase;letter-spacing:.025em}.rating-scale__skip{min-height:52px;padding:var(--space-3) var(--space-6);background-color:var(--surface-tertiary);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-transform:uppercase;letter-spacing:.025em}.rating-scale__confirm--disabled,.rating-scale__confirm:disabled{opacity:.3;cursor:not-allowed}.rating-scale__skip:disabled{opacity:.3;cursor:not-allowed}@media (hover: hover) and (pointer: fine){.rating-scale__confirm:hover:not(:disabled){background-color:var(--interactive-bg-hover)}.rating-scale__skip:hover:not(:disabled){background-color:var(--surface-secondary)}}.rating-scale__confirm:active,.rating-scale__skip:active{opacity:.9}.rating-scale__confirm:focus,.rating-scale__skip:focus{outline:none}.rating-scale__confirm:focus-visible,.rating-scale__skip:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}@media (max-width: 360px){.rating-scale__btn{min-height:56px;padding:var(--space-2) var(--space-1)}.rating-scale__value{font-size:var(--font-size-xl)}.rating-scale__sublabel{font-size:.55rem;top:var(--space-1)}}@media (min-width: 768px){.rating-scale__btn{min-height:80px}.rating-scale__value{font-size:var(--font-size-3xl)}.rating-scale__sublabel{font-size:var(--font-size-sm)}.rating-scale__confirm,.rating-scale__skip{min-height:56px;font-size:1.125rem}}.pass-device{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);min-height:400px}.pass-device__icon{font-size:4rem;margin-bottom:var(--space-4);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pass-device__title{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-4)}.pass-device__message{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.pass-device__message strong{color:var(--color-interactive-primary)}.pass-device__ready{margin-bottom:var(--space-4)}.pass-device__hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.progress-indicator{width:100%}.progress-indicator__text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-2)}.progress-indicator__bar{height:4px;background-color:var(--color-surface-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-indicator__fill{height:100%;background-color:#3b82f6;border-radius:var(--radius-full);transition:width var(--transition-base)}.archetype-selector{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.archetype-selector__instruction{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-align:center;margin:0;padding:0 var(--space-2)}.archetype-selector__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.archetype-selector__option{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:80px;padding:var(--space-3);background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@media (hover: hover) and (pointer: fine){.archetype-selector__option:hover:not(.archetype-selector__option--selected){background-color:var(--surface-secondary);border-color:var(--text-secondary)}}.archetype-selector__option:active{background-color:var(--surface-tertiary)}.archetype-selector__option--selected{background-color:var(--btn-selected-bg)!important;border-color:var(--text-primary)!important}.archetype-selector__option:focus{outline:none}.archetype-selector__option:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.archetype-selector__name{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.archetype-selector__desc{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.3}.archetype-selector__confirm{display:flex;justify-content:center;margin-top:var(--space-3)}@media (min-width: 768px){.archetype-selector__option{min-height:100px;padding:var(--space-4)}.archetype-selector__name{font-size:var(--font-size-base)}.archetype-selector__desc{font-size:var(--font-size-sm)}}.how-to-play-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4)}.how-to-play-modal{background-color:var(--surface-primary);border:1px solid var(--border-subtle);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.how-to-play-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background-color:var(--surface-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.how-to-play-modal__title{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.025em}.how-to-play-modal__close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:1.75rem;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){.how-to-play-modal__close:hover{color:var(--text-primary)}}.how-to-play-modal__content{flex:1;overflow-y:auto;padding:var(--space-5);-webkit-overflow-scrolling:touch}.how-to-play-modal__section{margin-bottom:var(--space-6)}.how-to-play-modal__section:last-child{margin-bottom:0}.how-to-play-modal__mode-title{font-family:var(--font-family-base);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:.05em}.how-to-play-modal__mode-icon{margin-right:var(--space-2);font-family:Apple Symbols,Segoe UI Symbol,sans-serif;color:var(--text-primary)}[data-theme=dark] .how-to-play-modal__mode-icon--emoji{filter:brightness(0) invert(1)}.how-to-play-modal__text{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin:0}@media (min-width: 768px){.how-to-play-modal{max-width:700px}.how-to-play-modal__title{font-size:var(--font-size-2xl)}.how-to-play-modal__mode-title{font-size:var(--font-size-xl)}.how-to-play-modal__text{font-size:var(--font-size-lg)}.how-to-play-modal__content{padding:var(--space-6)}}.flip-card{width:100%;max-width:380px;aspect-ratio:3 / 4;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;perspective:1000px;-webkit-perspective:1000px}.flip-card__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .5s ease-in-out;-webkit-transition:-webkit-transform .5s ease-in-out;will-change:transform}.flip-card__inner--flipped{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}.flip-card__face{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--elevation-2);backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-card__face--back{background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 50%,var(--gray-900) 100%);border:1px solid var(--gray-700);z-index:2}.flip-card__back-default{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.flip-card__back-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.02) 20px,rgba(255,255,255,.02) 40px),repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(255,255,255,.02) 20px,rgba(255,255,255,.02) 40px)}.flip-card__back-logo{font-size:7rem;font-weight:var(--font-weight-bold);color:var(--gray-300);letter-spacing:.2em;text-transform:uppercase;z-index:1;font-family:Apple Symbols,Segoe UI Symbol,sans-serif;margin-top:-1.5rem;padding-left:.2em}[data-theme=dark] .flip-card__back-logo--emoji{filter:brightness(0) invert(1)}[data-theme=light] .flip-card__back-logo--emoji{filter:brightness(0)}.flip-card__back-content{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;padding:0 var(--space-4)}.flip-card__back-instruction{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--gray-300);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.flip-card__tap-prompt{position:absolute;bottom:var(--space-6);left:0;right:0;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em;animation:pulse 2s ease-in-out infinite}.flip-card__back-player{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);z-index:1}.flip-card__back-turn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--space-1);z-index:1}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.flip-card__face--front{background-color:var(--bg-card);border:1px solid var(--border-subtle);display:flex;flex-direction:column;transform:rotateY(180deg);-webkit-transform:rotateY(180deg);z-index:1;overflow:hidden;--font-size-xs: .975rem;--font-size-sm: 1.125rem;--font-size-base: 1.2rem;--font-size-lg: 1.35rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.8rem;--font-size-3xl: 2.25rem;--font-size-4xl: 2.7rem}.flip-card__face--front>*{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.flip-card__face .card{transform:none!important;-webkit-transform:none!important}[data-theme=light] .flip-card__face--back{background:linear-gradient(135deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);border:1px solid var(--gray-300)}[data-theme=light] .flip-card__back-pattern{background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(0,0,0,.03) 20px,rgba(0,0,0,.03) 40px),repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(0,0,0,.03) 20px,rgba(0,0,0,.03) 40px)}[data-theme=light] .flip-card__back-logo{color:var(--gray-600)}@media (max-width: 480px){.flip-card{max-width:300px}.flip-card__back-logo{font-size:5.5rem}}@media (min-width: 768px){.flip-card{max-width:500px}.flip-card__back-logo{font-size:9rem}}@media (prefers-reduced-motion: reduce){.flip-card__inner{transition:none;-webkit-transition:none}}.home-screen{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background-color:var(--bg-app)}.home-screen__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2) var(--space-6) var(--space-6);gap:var(--space-6)}.home-screen__hero{text-align:center;max-width:400px}.home-screen__hero-image{width:220px;height:auto;margin-bottom:var(--space-2);animation:home-fade-in 1.2s ease-out both}.home-screen__title{font-family:var(--font-family-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em;animation:home-slide-up .8s ease-out .6s both}.home-screen__subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed);animation:home-slide-up .8s ease-out 1s both}.home-screen__modes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);width:100%;max-width:400px}.home-screen__mode-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5);background-color:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);min-height:140px}.home-screen__mode-card:hover{background-color:var(--surface-primary);border-color:var(--border-default)}.home-screen__mode-card:active{transform:scale(.98)}.home-screen__mode-icon{font-size:2rem;margin-bottom:var(--space-2);color:var(--text-primary);font-family:Apple Symbols,Segoe UI Symbol,sans-serif}.home-screen__mode-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.home-screen__mode-desc{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center;line-height:var(--line-height-tight)}[data-theme=dark] .home-screen__mode-icon--emoji{filter:brightness(0) invert(1)}@keyframes home-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes home-slide-up{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes home-drop-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.home-screen__drop-in{animation:home-drop-in .5s ease-out both;animation-delay:calc(1.4s + var(--stagger, 0) * .15s)}@media (min-width: 768px){.home-screen__hero{max-width:600px}.home-screen__hero-image{width:320px}.home-screen__modes{max-width:600px}.home-screen__mode-card{min-height:170px}.home-screen__mode-icon{font-size:2.5rem}}@media (max-width: 360px){.home-screen__modes{grid-template-columns:1fr}.home-screen__mode-card{min-height:100px}}.setup-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-app-color);background-image:var(--bg-app-image);background-size:cover;background-position:center}.setup-screen__content{flex:1;display:flex;flex-direction:column;padding:var(--space-6);max-width:480px;margin:0 auto;width:100%;overflow-y:auto;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0))}.setup-screen__mode-badge{text-align:center;padding:var(--space-6);margin-bottom:var(--space-6);background-color:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}.setup-screen__mode-icon{font-size:11rem;display:block;margin-bottom:var(--space-3);color:var(--text-primary);font-family:Apple Symbols,Segoe UI Symbol,sans-serif;animation:setup-icon-fade-in 1.2s ease-out both}[data-theme=dark] .setup-screen__mode-icon--emoji{filter:brightness(0) invert(1)}.setup-screen__mode-desc{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0;min-height:1.6em}.setup-screen__cursor{display:inline;animation:cursor-blink .6s step-end infinite;color:var(--text-muted)}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.setup-screen__drop-in{animation:setup-drop-in .5s ease-out both;animation-delay:calc(1.6s + var(--stagger, 0) * .15s)}@keyframes setup-drop-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes setup-icon-fade-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes setup-desc-slide-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.setup-screen__section{margin-bottom:var(--space-6)}.setup-screen__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:var(--space-3)}.setup-screen__checkbox{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);cursor:pointer}.setup-screen__checkbox span{font-size:var(--font-size-sm);color:var(--text-primary)}.setup-screen__select-wrapper{position:relative;width:100%}.setup-screen__select{width:100%;padding:var(--space-4);padding-right:var(--space-10);font-size:var(--font-size-base);font-family:var(--font-family-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-primary);color:var(--text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color var(--transition-fast)}.setup-screen__select:focus{outline:none;border-color:var(--text-primary)}.setup-screen__select:hover{border-color:var(--text-secondary)}.setup-screen__select option{background-color:var(--surface-primary);color:var(--text-primary);padding:var(--space-3)}.setup-screen__select-arrow{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);font-size:var(--font-size-xs);color:var(--text-secondary);pointer-events:none}.setup-screen__players{display:flex;flex-direction:column;gap:var(--space-3)}.setup-screen__player-row{display:flex;align-items:center;gap:var(--space-2)}.setup-screen__player-input{flex:1;padding:var(--space-4);font-size:var(--font-size-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-primary);color:var(--text-primary);transition:border-color var(--transition-fast)}.setup-screen__player-input:focus{outline:none;border-color:var(--text-primary)}.setup-screen__player-input::placeholder{color:var(--text-muted)}.setup-screen__player-remove{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);color:var(--text-muted);background:none;border:none;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.setup-screen__player-remove:hover{color:var(--text-primary)}.setup-screen__hint{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--space-3) 0}.setup-screen__checkbox{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);margin-top:var(--space-3);cursor:pointer}.setup-screen__checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--text-primary);cursor:pointer}.setup-screen__checkbox span{font-size:var(--font-size-sm);color:var(--text-secondary)}.setup-screen__error{padding:var(--space-3) var(--space-4);background-color:var(--surface-secondary);border:1px solid var(--error-text, #ef4444);border-radius:var(--radius-md);color:var(--error-text, #ef4444);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--space-4)}.setup-screen__actions{margin-top:auto;padding-top:var(--space-6)}@media (max-width: 480px){.setup-screen__content{padding:var(--space-4)}}@media (min-width: 768px){.setup-screen__content{max-width:700px;padding:var(--space-8)}.setup-screen__mode-icon{font-size:15rem}.setup-screen__mode-desc{font-size:var(--font-size-xl)}.setup-screen__select{font-size:var(--font-size-lg);padding:var(--space-4) var(--space-5)}.setup-screen__player-input{font-size:var(--font-size-lg)}}.card{border-radius:var(--radius-xl);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card--elevation-0{box-shadow:var(--elevation-0)}.card--elevation-1{box-shadow:var(--elevation-1)}.game-screen{height:100vh;height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-app);overflow:hidden}.game-screen--solo{background-color:var(--bg-play)}.game-screen--solo .game-screen__content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.game-screen__card-area--solo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:var(--space-4);padding-bottom:var(--space-2);transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.game-screen__interaction--solo{flex:1 1 auto;padding:var(--space-4);padding-top:var(--space-2);background-color:var(--surface-secondary);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);overflow-y:auto}.game-screen__progress-inline{width:100%;max-width:400px}.game-screen__skip{text-align:center}.game-screen__header--compact{padding:var(--space-2) var(--space-4);min-height:48px}.game-screen__header--compact .game-screen__mode{font-size:var(--font-size-sm)}.game-screen__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background-color:var(--bg-header);color:var(--text-primary);flex-shrink:0}.game-screen__mode{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.game-screen__end{color:var(--text-primary);min-height:44px;display:flex;align-items:center}@media (hover: hover) and (pointer: fine){.game-screen__end:hover{opacity:.7}}.game-screen__content{flex:1;display:flex;flex-direction:column;background-color:var(--bg-play);overflow:hidden}.game-screen__progress{padding:var(--space-3) var(--space-4);background-color:var(--surface-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.game-screen__main{flex:1;display:flex;flex-direction:column;padding:var(--space-4);overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,var(--space-4))}.game-screen__card-area{display:flex;justify-content:center;margin-bottom:var(--space-4);flex-shrink:0;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.game-screen__interaction{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.game-screen__main--solo{display:flex;flex-direction:column;gap:var(--space-4)}.game-screen__main--solo .game-screen__card-area{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;margin-bottom:0}.game-screen__interaction--solo{flex:none;padding:var(--space-4);background-color:var(--surface-secondary);border-top:1px solid var(--border-subtle);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.game-screen__skip{text-align:center;margin-top:var(--space-3)}.game-screen__scenario-select{flex:1;display:flex;flex-direction:column;overflow:hidden}.game-screen__scenario-header{background-color:var(--surface-secondary);padding:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.game-screen__scenario-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 var(--space-2) 0}.game-screen__scenario-text{font-size:1.25rem;font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.4;margin:0}.game-screen__scenario-options{flex:1;overflow-y:auto;padding:var(--space-4);padding-bottom:env(safe-area-inset-bottom,var(--space-4))}@media (max-width: 480px){.game-screen__main{padding:var(--space-3)}.game-screen__card-area{margin-bottom:var(--space-3)}.game-screen__interaction{justify-content:flex-start;padding-top:var(--space-2)}.game-screen__scenario-text{font-size:1.125rem}}@media (min-width: 768px){.game-screen__header{padding:var(--space-4) var(--space-6)}.game-screen__mode{font-size:var(--font-size-base)}.game-screen__progress{padding:var(--space-4) var(--space-6)}.game-screen__main{padding:var(--space-6);max-width:800px;margin:0 auto;width:100%}.game-screen__scenario-header{padding:var(--space-6)}.game-screen__scenario-label{font-size:var(--font-size-base)}.game-screen__scenario-text{font-size:1.5rem;line-height:1.5}.game-screen__scenario-options{padding:var(--space-6)}}@media (min-width: 1024px){.game-screen__scenario-text{font-size:1.625rem}}.prompt-card{background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--elevation-2);display:flex;flex-direction:column;max-width:480px;margin:0 auto;overflow:hidden}.prompt-card--transition{background-color:var(--surface-secondary)}.prompt-card__header{padding:var(--space-4);border-bottom:1px solid var(--border-subtle);text-align:center}.prompt-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.prompt-card__content{padding:var(--space-5);flex:1}.prompt-card__content--centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-5)}.prompt-card__text{font-size:var(--font-size-lg);line-height:1.7;color:var(--text-primary);white-space:pre-line;margin:0}.prompt-card__player-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--space-3) 0}.prompt-card__instruction{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.prompt-card__footer{padding:var(--space-4);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);background-color:var(--surface-secondary)}.prompt-card__footer .prompt-card__instruction{margin-bottom:var(--space-1)}.interaction-card{display:flex;flex-direction:column;height:100%;overflow:hidden}.interaction-card__context{background-color:var(--bg-card);border-bottom:1px solid var(--border-subtle);padding:var(--space-4);flex-shrink:0}.interaction-card__label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-2)}.interaction-card__scenario{font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);white-space:pre-line;margin:0}.interaction-card__choices{flex:1;overflow-y:auto;padding:var(--space-4);background-color:var(--surface-secondary)}.interaction-card__choices .interaction-card__label{margin-bottom:var(--space-3)}@media (max-width: 480px){.prompt-card{border-radius:var(--radius-lg);margin:0 var(--space-2)}.prompt-card__content{padding:var(--space-4)}.prompt-card__text{font-size:var(--font-size-base)}.prompt-card__player-name{font-size:var(--font-size-2xl)}.interaction-card__context{padding:var(--space-3)}.interaction-card__scenario{font-size:var(--font-size-sm)}.interaction-card__choices{padding:var(--space-3)}}@media (min-width: 768px){.prompt-card{max-width:640px}.prompt-card__content{padding:var(--space-6)}.prompt-card__text{font-size:var(--font-size-xl)}.interaction-card__context{padding:var(--space-5)}.interaction-card__scenario{font-size:var(--font-size-lg)}}.game-screen__reveal-card{background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;max-height:100%;box-shadow:var(--elevation-2)}.reveal-card__header{text-align:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.reveal-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.15em;color:var(--text-primary)}.reveal-card__scenario-context{background-color:var(--surface-secondary);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.reveal-card__scenario-context p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.6;white-space:pre-line}.reveal-card__explanation{background-color:var(--surface-tertiary);padding:var(--space-5);border-radius:var(--radius-lg);border-left:4px solid var(--text-primary);position:relative}.reveal-card__explanation:before{content:'"';position:absolute;top:var(--space-2);left:var(--space-3);font-size:2rem;color:var(--text-muted);line-height:1;opacity:.5}.reveal-card__explanation p{font-size:var(--font-size-base);color:var(--text-primary);margin:0;padding-left:var(--space-4);line-height:1.7;font-style:italic;font-weight:var(--font-weight-medium)}.reveal-card__fits{padding:var(--space-4);background-color:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.reveal-card__fits-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-2)}.reveal-card__fits-list{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.6;font-weight:var(--font-weight-medium)}.reveal-card__metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.reveal-card__metric{text-align:center;padding:var(--space-4);background-color:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.reveal-card__metric-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1;margin-bottom:var(--space-2)}.reveal-card__metric--aligned .reveal-card__metric-value{color:var(--text-primary)}.reveal-card__metric--fragmented .reveal-card__metric-value{color:var(--text-secondary)}.reveal-card__metric-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.reveal-card__metric-detail{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.4}.reveal-card__cluster{text-align:center;padding:var(--space-4);background-color:var(--surface-tertiary);border-radius:var(--radius-lg)}.reveal-card__cluster-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-2)}.reveal-card__cluster-name{display:block;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.reveal-card__selections{border-top:2px solid var(--border-medium);padding-top:var(--space-4);margin-top:var(--space-2)}.reveal-card__selections-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:center;margin:0 0 var(--space-3) 0}.reveal-card__selection{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);margin-bottom:var(--space-2);background-color:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.reveal-card__selection:last-child{margin-bottom:0}.reveal-card__selection-player{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-base)}.reveal-card__selection-archetype{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm)}.reveal-card__aligned-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:4px 10px;background-color:var(--text-primary);color:var(--text-inverse);border-radius:var(--radius-full);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.reveal-card__actions{display:flex;gap:var(--space-4);justify-content:center;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:var(--space-2)}@media (max-width: 480px){.game-screen__reveal-card{padding:var(--space-4);gap:var(--space-3);border-radius:var(--radius-lg)}.reveal-card__metric-value{font-size:var(--font-size-2xl)}.reveal-card__explanation{padding:var(--space-4)}.reveal-card__explanation p{padding-left:var(--space-3)}.reveal-card__selection{padding:var(--space-2)}}@media (min-width: 768px){.game-screen__reveal-card{padding:var(--space-6);max-width:760px;margin:0 auto}.reveal-card__explanation p{font-size:var(--font-size-lg)}}.team-pass-card{width:100%;max-width:320px;aspect-ratio:3 / 4;background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center}.team-pass-card__inner{text-align:center;padding:var(--space-6)}.team-pass-card__label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.team-pass-card__name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-6)}.team-pass-card__hint{font-size:var(--font-size-sm);color:var(--text-muted)}.team-pass-card__spinner{width:32px;height:32px;margin:0 auto;border:3px solid var(--border-subtle);border-top-color:var(--text-secondary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.game-modal{background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);max-width:320px;width:100%;text-align:center}.game-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.game-modal__message{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-6)}.game-modal__actions{display:flex;gap:var(--space-3);justify-content:center}.team-reveal-card{width:100%;max-width:320px;background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.team-reveal-card .archetype-card{border:none;border-radius:0}.team-reveal-card__results{padding:var(--space-4);border-top:1px solid var(--border-subtle)}.team-reveal-card__chooser{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.team-reveal-card__chooser-name{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.team-reveal-card__chooser-rating{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.team-reveal-card__votes{display:flex;flex-direction:column;gap:var(--space-2)}.team-reveal-card__vote{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.team-reveal-card__vote--exact{background-color:var(--success-bg, rgba(34, 197, 94, .1))}.team-reveal-card__vote--close{background-color:var(--warning-bg, rgba(234, 179, 8, .1))}.team-reveal-card__voter-name{font-size:var(--font-size-sm);color:var(--text-secondary)}.team-reveal-card__voter-rating{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.team-reveal-card__match{color:var(--success, #22c55e);font-weight:var(--font-weight-bold)}.game-screen--scenario{display:flex;flex-direction:column;height:100vh;height:100dvh}.game-screen__content--scenario{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.game-screen__card-area--scenario{flex:0 0 auto;display:flex;justify-content:center;align-items:center;padding:var(--space-4);min-height:280px;max-height:40vh;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.game-screen__interaction--scenario{flex:1;display:flex;flex-direction:column;padding:var(--space-4);background-color:var(--surface-secondary);border-top:1px solid var(--border-subtle);border-radius:var(--radius-xl) var(--radius-xl) 0 0;min-height:0;overflow:hidden}.game-screen__interaction--scenario .game-screen__progress-inline{flex:0 0 auto;margin-bottom:var(--space-3)}.scenario-reveal-card{width:100%;max-width:320px;min-height:400px;background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;justify-content:center;text-align:center}.scenario-reveal-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-4)}.scenario-reveal-card__text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.scenario-reveal-card__hint{font-size:var(--font-size-sm);color:var(--text-muted)}.scenario-content-card{width:100%;height:100%;padding:var(--space-4);display:flex;flex-direction:column;justify-content:center;text-align:center;background-color:var(--surface-primary)}.scenario-content-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3)}.scenario-content-card__text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.4}@media (min-width: 768px){.scenario-content-card{padding:var(--space-6)}.scenario-content-card__label{font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.scenario-content-card__text{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}}.scenario-archetype-selection{width:100%;max-width:400px;flex:1;overflow-y:auto;min-height:0}@media (min-width: 768px){.scenario-archetype-selection{max-width:520px}}.scenario-archetype-selection--disabled{opacity:.3;pointer-events:none}.scenario-reveal-results{width:100%;max-width:320px;background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-4);overflow-y:auto;max-height:500px}.scenario-reveal-results__header{margin-bottom:var(--space-3)}.scenario-reveal-results__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.scenario-reveal-results__scenario{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-relaxed);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3)}.scenario-reveal-results__explanation{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.scenario-reveal-results__metrics{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.scenario-reveal-results__metric{flex:1;text-align:center;padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md)}.scenario-reveal-results__metric-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.scenario-reveal-results__metric-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase}.scenario-reveal-results__cluster{flex:1;text-align:center;padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md)}.scenario-reveal-results__cluster-label{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;margin-bottom:var(--space-1)}.scenario-reveal-results__cluster-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.scenario-reveal-results__selections{display:flex;flex-direction:column;gap:var(--space-2)}.scenario-reveal-results__selection{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background-color:var(--surface-secondary)}.scenario-reveal-results__selection--aligned{background-color:var(--success-bg, rgba(34, 197, 94, .1))}.scenario-reveal-results__selection-player{font-size:var(--font-size-sm);color:var(--text-secondary)}.scenario-reveal-results__selection-archetype{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.scenario-reveal-results__correct-answer{background:var(--surface-secondary);border:2px solid var(--success, #22c55e);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0;text-align:center}.scenario-reveal-results__correct-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.scenario-reveal-results__correct-archetype{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--success, #22c55e)}.scenario-reveal-results__selection--correct{background:#22c55e1a;border-left:3px solid var(--success, #22c55e)}.scenario-reveal-results__selection--incorrect{background:#ef44441a;border-left:3px solid var(--error, #ef4444)}.scenario-reveal-results__correct-mark{color:var(--success, #22c55e);font-weight:var(--font-weight-bold)}.scenario-reveal-results__incorrect-mark{color:var(--error, #ef4444);font-weight:var(--font-weight-bold)}.archetype-selector--disabled{opacity:.5;pointer-events:none}.quotes-content-card{width:100%;height:100%;padding:var(--space-4);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-color:var(--surface-primary)}.quotes-content-card__quote{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:1.4;font-style:italic;margin-bottom:var(--space-4)}.quotes-content-card__prompt{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.quotes-content-card{padding:var(--space-6)}.quotes-content-card__quote{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--space-6)}.quotes-content-card__prompt{font-size:var(--font-size-sm)}}.quotes-timer{width:100%;max-width:400px;display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.quotes-timer__bar{flex:1;height:8px;background-color:var(--surface-tertiary);border-radius:var(--radius-full);overflow:hidden}.quotes-timer__fill{height:100%;background-color:#3b82f6;transition:width .1s linear}.quotes-timer--urgent .quotes-timer__fill{background-color:#ef4444}.quotes-timer__text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);min-width:40px;text-align:right}.quotes-timer--urgent .quotes-timer__text{color:#ef4444}.quotes-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);width:100%;max-width:400px}.quotes-options--disabled{opacity:.3;pointer-events:none}.quotes-options__btn{padding:var(--space-4);min-height:72px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center}.quotes-options__btn:active{background-color:var(--btn-selected-bg);border-color:var(--text-primary)}@media (hover: hover){.quotes-options__btn:hover{background-color:var(--surface-secondary);border-color:var(--text-secondary)}}.quotes-reveal-card{width:100%;max-width:320px;background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center}.quotes-reveal-card__result{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4)}.quotes-reveal-card__result--correct{color:#22c55e}.quotes-reveal-card__result--incorrect{color:#ef4444}.quotes-reveal-card__result--timeout{color:#f59e0b}.quotes-reveal-card__quote{font-size:var(--font-size-base);font-style:italic;color:var(--text-primary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.quotes-reveal-card__answer{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.quotes-reveal-card__answer-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase}.quotes-reveal-card__answer-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.quotes-reveal-card__time{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-3)}.quotes-reveal-card__reflection{font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic;padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);text-align:center}.quotes-reveal-card__players{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0;width:100%}.quotes-reveal-card__player-result{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background-color:var(--surface-secondary)}.quotes-reveal-card__player-result--correct{background-color:#22c55e26}.quotes-reveal-card__player-result--incorrect{background-color:#ef444426}.quotes-reveal-card__player-result--timeout{background-color:#fbbf2426}.quotes-reveal-card__player-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.quotes-reveal-card__player-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.quotes-reveal-card__player-result--correct .quotes-reveal-card__player-status{color:var(--success, #22c55e)}.quotes-reveal-card__player-result--incorrect .quotes-reveal-card__player-status{color:var(--error-text, #ef4444)}.quotes-reveal-card__player-result--timeout .quotes-reveal-card__player-status{color:#fbbf24}.quotes-locked-card{width:100%;max-width:320px;min-height:300px;background-color:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.quotes-locked-card__icon{font-size:3rem;margin-bottom:var(--space-3)}.quotes-locked-card__message{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.quotes-locked-card__hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.results-screen{min-height:100vh;background-color:var(--bg-app)}.results-screen__header{padding:var(--space-6);background-color:var(--bg-header);text-align:center}.results-screen__title{font-family:var(--font-family-base);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.05em}.results-screen__content{padding:var(--space-6);max-width:480px;margin:0 auto}@media (min-width: 768px){.results-screen__content{max-width:700px}}.results-section{margin-bottom:var(--space-8)}.results-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.results-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-4);background-color:var(--color-surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.results-stat__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-interactive-primary)}.results-stat__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;margin-top:var(--space-1)}.results-section__group{margin-bottom:var(--space-6)}.results-section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.results-section__helper{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;margin:0 0 var(--space-4) 0;font-style:italic}.results-cluster-list{display:flex;flex-direction:column;gap:var(--space-2)}.results-cluster-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background-color:var(--color-surface-primary);border-radius:var(--radius-md)}.results-cluster-item__name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.results-cluster-item__stats{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.results-archetype-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.results-archetype-item{padding:var(--space-2) var(--space-3);background-color:var(--pill-primary-bg);color:var(--pill-primary-text);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.results-more{font-size:var(--font-size-sm);color:var(--color-text-tertiary);padding:var(--space-2)}.results-leaderboard{display:flex;flex-direction:column;gap:var(--space-2)}.results-leaderboard__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-primary);border-radius:var(--radius-md)}.results-leaderboard__rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.results-leaderboard__item:first-child .results-leaderboard__rank{background-color:var(--color-accent-gold);color:var(--color-white)}.results-leaderboard__name{flex:1;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.results-leaderboard__score{font-weight:var(--font-weight-bold);color:var(--color-interactive-primary)}.results-screen__actions{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-primary)}.admin-screen{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background-color:var(--bg-app)}.admin-screen__content{flex:1;padding:var(--space-4);overflow-y:auto;max-width:600px;margin:0 auto;width:100%}.admin-accordion{margin-bottom:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--surface-primary)}.admin-accordion__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4);background:none;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.admin-accordion__header:hover{background-color:var(--surface-secondary)}.admin-accordion__header--open{border-bottom:1px solid var(--border-subtle)}.admin-accordion__title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.admin-accordion__icon{font-size:var(--font-size-lg);font-family:Apple Symbols,Segoe UI Symbol,sans-serif}[data-theme=dark] .admin-accordion__icon--emoji{filter:brightness(0) invert(1)}.admin-accordion__chevron{font-size:var(--font-size-sm);color:var(--text-muted)}.admin-accordion__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.admin-field{display:flex;flex-direction:column;gap:var(--space-2)}.admin-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.admin-field__input{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-secondary);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;transition:border-color var(--transition-fast)}.admin-field__input:focus{outline:none;border-color:var(--text-muted)}.admin-field__input::placeholder{color:var(--text-muted)}.admin-field__hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.admin-toggle{display:flex;gap:var(--space-1);background-color:var(--surface-secondary);padding:var(--space-1);border-radius:var(--radius-md)}.admin-toggle__btn{flex:1;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.admin-toggle__btn:hover{color:var(--text-primary)}.admin-toggle__btn--active{background-color:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.admin-font-select{display:flex;flex-direction:column;gap:var(--space-2)}.admin-font-select__dropdown{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-secondary);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23737373' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}.admin-font-select__dropdown:focus{outline:none;border-color:var(--text-muted)}.admin-font-select__preview{padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);border:1px dashed var(--border-subtle)}.admin-font-select__preview-sample{display:block;font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--line-height-tight)}.admin-font-select__preview-label{display:block;font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-family-base)}.admin-font-select__preview-default{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.admin-color-picker{display:flex;align-items:center;gap:var(--space-3)}.admin-color-picker__input{width:48px;height:48px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;padding:2px;background:none}.admin-color-picker__input::-webkit-color-swatch-wrapper{padding:0}.admin-color-picker__input::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.admin-color-picker__value{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:monospace}.admin-color-picker__clear{padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.admin-color-picker__clear:hover{background-color:#ef44441a;border-color:#ef44444d;color:#ef4444}.admin-image-upload{display:flex;flex-direction:column;gap:var(--space-2)}.admin-image-upload__input{display:none}.admin-image-upload__button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);border:2px dashed var(--border-subtle);border-radius:var(--radius-md);background:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.admin-image-upload__button:hover{border-color:var(--text-muted);background-color:var(--surface-secondary)}.admin-image-upload__icon{font-size:var(--font-size-2xl)}.admin-image-upload__preview{display:flex;gap:var(--space-3);padding:var(--space-3);background-color:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.admin-image-upload__thumbnail{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.admin-image-upload__actions{display:flex;flex-direction:column;justify-content:center;gap:var(--space-2)}.admin-image-upload__change,.admin-image-upload__remove{padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.admin-image-upload__change:hover{background-color:var(--surface-tertiary);color:var(--text-primary)}.admin-image-upload__remove:hover{background-color:#ef44441a;border-color:#ef44444d;color:#ef4444}.admin-screen__actions{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}@media (min-width: 768px){.admin-screen__content{padding:var(--space-6);max-width:760px}.admin-accordion__body{padding:var(--space-6)}}.admin-accordion__badge{margin-left:var(--space-2);padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.admin-data__intro{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}.admin-data-field{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.admin-data-field:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.admin-data-field__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.admin-data-field__label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.admin-data-field__badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full);background-color:var(--surface-tertiary);color:var(--text-muted)}.admin-data-field__badge--custom{background-color:#22c55e26;color:#22c55e}.admin-data-field__actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.admin-data-field__input{display:none}.admin-data-field__upload,.admin-data-field__restore{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.admin-data-field__upload{background-color:var(--surface-secondary);border:1px solid var(--border-subtle);color:var(--text-primary)}.admin-data-field__upload:hover{background-color:var(--surface-tertiary);border-color:var(--accent-primary)}.admin-data-field__restore{background:none;border:1px solid var(--border-subtle);color:var(--text-muted)}.admin-data-field__restore:hover{background-color:#ef44441a;border-color:#ef44444d;color:#ef4444}.admin-data-field__hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:0;font-family:monospace}.admin-data-field__status{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.admin-data-field__status--success{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.admin-data-field__status--error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.splash-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background-color:var(--bg-app)}.splash-screen__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-8)}.splash-screen__logo{width:320px;height:auto;opacity:0;transform:scale(.8);transition:opacity 1.5s ease-out,transform 1.5s ease-out}.splash-screen__logo--animating{animation:splash-fade-in 1.5s ease-out forwards}.splash-screen__logo--visible{opacity:1;transform:scale(1)}@keyframes splash-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.splash-screen__password{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out;pointer-events:none}.splash-screen__password--visible{opacity:1;transform:translateY(0);pointer-events:auto}.splash-screen__form{display:flex;gap:var(--space-2)}.splash-screen__input{padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:var(--surface-secondary);color:var(--text-primary);font-size:var(--font-size-lg);font-family:inherit;text-align:center;width:180px;letter-spacing:.2em;transition:border-color var(--transition-fast)}.splash-screen__input:focus{outline:none;border-color:var(--text-muted)}.splash-screen__input::placeholder{color:var(--text-muted);letter-spacing:normal;font-size:var(--font-size-sm)}.splash-screen__input--error{border-color:#ef4444;animation:splash-shake .4s ease-in-out}.splash-screen__error{margin-top:var(--space-2);text-align:center;font-size:var(--font-size-sm);color:#ef4444}@media (min-width: 768px){.splash-screen__logo{width:440px}.splash-screen__input{width:240px}}@keyframes splash-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}:root{--gray-0: #ffffff;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--gray-950: #0a0a0a;--gray-1000: #000000;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-size-xs: .8125rem;--font-size-sm: .9375rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.75;--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--elevation-0: none;--elevation-1: 0 1px 2px rgba(0, 0, 0, .05);--elevation-2: 0 4px 8px rgba(0, 0, 0, .1);--elevation-3: 0 8px 16px rgba(0, 0, 0, .15);--lift-0: translateY(0);--lift-1: translateY(0);--lift-2: translateY(-2px);--lift-3: translateY(-4px);--card-border-width: 1px;--card-border-radius: var(--radius-xl);--card-padding: var(--space-6);--card-max-width: 420px}@media (min-width: 768px){:root{--card-max-width: 560px}}:root,[data-theme=light]{--bg-app: var(--gray-100);--bg-play: var(--gray-0);--bg-card: var(--gray-0);--bg-header: var(--gray-200);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-inverse: var(--gray-0);--border-subtle: var(--gray-200);--border-medium: var(--gray-300);--shadow-card: 0 1px 3px rgba(0, 0, 0, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--surface-primary: var(--gray-0);--surface-secondary: var(--gray-50);--surface-tertiary: var(--gray-100);--surface-elevated: var(--gray-0);--interactive-bg: var(--gray-900);--interactive-bg-hover: var(--gray-800);--interactive-text: var(--gray-0);--btn-selected-bg: var(--gray-200);--btn-selected-text: var(--gray-900);--error-bg: var(--gray-100);--error-border: var(--gray-400);--error-text: var(--gray-900);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-tertiary: var(--text-muted);--color-text-inverse: var(--text-inverse);--color-surface-primary: var(--surface-primary);--color-surface-secondary: var(--surface-secondary);--color-surface-tertiary: var(--surface-tertiary);--color-border-primary: var(--border-subtle);--color-border-secondary: var(--border-medium);--color-interactive-primary: var(--interactive-bg);--color-interactive-hover: var(--interactive-bg-hover);--bg-app-color: var(--bg-app);--bg-app-image: none;--bg-play-color: var(--bg-play);--bg-play-image: none;--bg-card-color: var(--bg-card);--bg-card-image: none;--bg-header-color: var(--bg-header);--bg-header-image: none;--color-accent-sage: #6b7c6b;--color-accent-coral: #9c7c7c;--card-bg: var(--gray-0);--card-border: var(--gray-200)}[data-theme=dark]{--bg-app: var(--gray-950);--bg-play: var(--gray-900);--bg-card: var(--gray-900);--bg-header: var(--gray-800);--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--text-muted: var(--gray-500);--text-inverse: var(--gray-900);--border-subtle: var(--gray-800);--border-medium: var(--gray-700);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3);--surface-primary: var(--gray-900);--surface-secondary: var(--gray-800);--surface-tertiary: var(--gray-700);--surface-elevated: var(--gray-800);--interactive-bg: var(--gray-100);--interactive-bg-hover: var(--gray-0);--interactive-text: var(--gray-900);--btn-selected-bg: var(--gray-700);--btn-selected-text: var(--gray-100);--error-bg: var(--gray-800);--error-border: var(--gray-600);--error-text: var(--gray-200);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-tertiary: var(--text-muted);--color-text-inverse: var(--text-inverse);--color-surface-primary: var(--surface-primary);--color-surface-secondary: var(--surface-secondary);--color-surface-tertiary: var(--surface-tertiary);--color-border-primary: var(--border-subtle);--color-border-secondary: var(--border-medium);--color-interactive-primary: var(--interactive-bg);--color-interactive-hover: var(--interactive-bg-hover);--bg-app-color: var(--bg-app);--bg-app-image: none;--bg-play-color: var(--bg-play);--bg-play-image: none;--bg-card-color: var(--bg-card);--bg-card-image: none;--bg-header-color: var(--bg-header);--bg-header-image: none;--color-accent-sage: #8a9c8a;--color-accent-coral: #b89c9c;--card-bg: var(--gray-800);--card-border: var(--gray-700)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow:hidden}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-app);background-size:cover;background-position:center;background-attachment:fixed;height:100%;height:100dvh;overflow:hidden}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}.app-container{width:100%;max-width:480px;margin:0 auto;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 768px){.app-container{max-width:100%}}.play-area{background-color:var(--bg-play);background-size:cover;background-position:center;flex:1;display:flex;flex-direction:column}.header{background-color:var(--bg-header);background-size:cover;background-position:center;color:var(--text-inverse);padding:var(--space-4) var(--space-6)}.card{background-color:var(--card-bg);border:var(--card-border-width) solid var(--card-border);border-radius:var(--card-border-radius);padding:var(--card-padding);max-width:var(--card-max-width);width:100%;margin:0 auto;transition:box-shadow var(--transition-base),transform var(--transition-base)}.card--elevation-0{box-shadow:var(--elevation-0);transform:var(--lift-0)}.card--elevation-1{box-shadow:var(--elevation-1);transform:var(--lift-1)}.card--elevation-2{box-shadow:var(--elevation-2);transform:var(--lift-2)}.card--elevation-3{box-shadow:var(--elevation-3);transform:var(--lift-3)}.card__back{background-color:var(--surface-tertiary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity var(--transition-base)}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity var(--transition-base)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);min-height:56px;flex-shrink:0;background-color:var(--bg-header)}.app-header__left{display:flex;align-items:center;gap:var(--space-3);min-width:100px}.app-header__center{flex:1;display:flex;justify-content:center}.app-header__right{display:flex;align-items:center;gap:var(--space-2);min-width:100px;justify-content:flex-end}.app-header__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.app-header__mode{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}
