:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#000;--color-bg-elevated:#0a0a0a;--color-surface:#111;--color-surface-hover:#1a1a1a;--color-surface-active:#222;--color-border:#ffffff14;--color-border-hover:#ffffff24;--color-border-strong:#ffffff2e;--color-text:#ededed;--color-text-strong:#fff;--color-text-muted:#a1a1a1;--color-text-subtle:#707070;--color-primary:#8b5cf6;--color-primary-hover:#a78bfa;--color-primary-active:#7c3aed;--color-primary-soft:#8b5cf61f;--color-on-primary:#fff;--color-inverse-bg:#fff;--color-inverse-text:#0a0a0a;--color-inverse-border:#e4e4e7;--color-ok:#10b981;--color-warning:#f59e0b;--color-ko:#ef4444;--color-ok-soft:#10b9811f;--color-warning-soft:#f59e0b1f;--color-ko-soft:#ef44441f;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:#8b5cf699;--focus-halo:0 0 0 4px #8b5cf62e;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs:.6875rem;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:.9375rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.375rem;--font-size-3xl:1.75rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--line-height-tight:1.15;--line-height-snug:1.3;--line-height-base:1.5;--line-height-relaxed:1.65;--letter-spacing-tight:-.02em;--letter-spacing-base:0;--letter-spacing-wide:.02em;--layout-max-width:1200px;--layout-narrow-width:720px;--layout-gutter:24px;--z-base:0;--z-elevated:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-toast:50;--transition-fast:.14s ease-out;--transition-base:.18s cubic-bezier(.4, 0, .2, 1);--transition-slow:.28s cubic-bezier(.4, 0, .2, 1);--safe-top:env(safe-area-inset-top,0);--safe-bottom:env(safe-area-inset-bottom,0);--safe-left:env(safe-area-inset-left,0);--safe-right:env(safe-area-inset-right,0)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s;--transition-slow:0s}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture,video,canvas,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit}:focus{outline:none}::selection{background:var(--color-primary-soft);color:var(--color-text-strong)}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text)}h1,.h1{font-size:var(--font-size-4xl);font-weight:600;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong)}h2,.h2{font-size:var(--font-size-3xl);font-weight:600;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong)}h3,.h3{font-size:var(--font-size-xl);font-weight:600;line-height:var(--line-height-snug);color:var(--color-text-strong)}h4,.h4{font-size:var(--font-size-md);font-weight:600;line-height:var(--line-height-snug);color:var(--color-text-strong)}p{color:var(--color-text)}small,.text-sm{font-size:var(--font-size-sm);color:var(--color-text-muted)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.button{justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--radius-md);height:36px;font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-sans);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.button--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);font-weight:500}.button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button--primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.button--secondary{color:var(--color-text-strong);border-color:var(--color-border-strong);background:0 0}.button--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover)}.button--secondary:active:not(:disabled){background:var(--color-surface-active)}.button--ghost{color:var(--color-text);background:0 0;border-color:#0000}.button--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-strong)}.button--ghost:active:not(:disabled){background:var(--color-surface-active)}.button--danger{color:var(--color-ko);border-color:var(--color-border-strong);background:0 0}.button--danger:hover:not(:disabled){background:var(--color-ko-soft);border-color:var(--color-ko)}.button--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-xs);gap:var(--space-1)}.button--lg{height:44px;padding:0 var(--space-5);font-size:var(--font-size-base)}.button--block{width:100%}.button--icon{flex-shrink:0;width:36px;padding:0}.button--icon.button--sm{width:28px}.button--icon.button--lg{width:44px}.button--google{justify-content:center;align-items:center;gap:var(--space-3);background:var(--color-surface);color:var(--color-text-strong);border:1px solid var(--color-border-strong);transition:background var(--transition-fast), border-color var(--transition-fast);font-weight:500;display:inline-flex}.button--google:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-subtle)}.button--google:active:not(:disabled){background:var(--color-surface-active)}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:auto;height:1px}.button[aria-busy=true]{pointer-events:none;cursor:progress}.form{gap:var(--space-4);flex-direction:column;display:flex}.form__row{gap:var(--space-2);flex-direction:column;display:flex}.form__row-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.form__link{font-size:var(--font-size-xs);color:var(--color-text-muted);transition:color var(--transition-fast);text-decoration:none}.form__link:hover{color:var(--color-primary)}.form__group{gap:var(--space-2);flex-direction:column;display:flex}.form__group--grow{flex:auto}.form__label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.form__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.form__hint--warning{color:var(--color-warning)}.form__input,.form__select,.form__textarea{width:100%;padding:0 var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);height:36px;color:var(--color-text-strong);font-size:var(--font-size-sm);font-family:var(--font-sans);transition:border-color var(--transition-fast);display:block}.form__textarea{height:auto;min-height:80px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:var(--line-height-base)}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-text-subtle)}.form__input:hover:not(:focus):not(:disabled),.form__select:hover:not(:focus):not(:disabled),.form__textarea:hover:not(:focus):not(:disabled){border-color:var(--color-border-hover)}.form__input:focus,.form__select:focus,.form__textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-halo);outline:none}.form__input:disabled,.form__select:disabled,.form__textarea:disabled{opacity:.5;cursor:not-allowed}.form__input-wrap{position:relative}.form__input-wrap .form__input{padding-left:calc(var(--space-3) + 18px + var(--space-2))}.form__input-icon{left:var(--space-3);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.form__input-icon svg{width:100%;height:100%}.form__input-wrap__action,.form__input-toggle{right:var(--space-2);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.form__input-toggle:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.form__input-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.form__input-toggle svg{width:16px;height:16px}.form__input-wrap--error .form__input,.form__input-wrap--error .form__select,.form__input-wrap--error .form__textarea{border-color:var(--color-ko)}.form__error{font-size:var(--font-size-xs);color:var(--color-ko);margin:0}.form__checkbox{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);color:var(--color-text);transition:background var(--transition-fast), border-color var(--transition-fast);display:flex}.form__checkbox:hover{border-color:var(--color-border-hover);background:var(--color-surface-hover)}.form__checkbox input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.form__alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-ko-soft);color:var(--color-ko);border:1px solid var(--color-ko);font-size:var(--font-size-sm);line-height:var(--line-height-base);display:flex}.form__alert-dot{background:var(--color-ko);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.form__alert p{margin:0}.card{gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);transition:border-color var(--transition-fast);flex-direction:column;display:flex}.card:hover{border-color:var(--color-border-hover)}.card:focus-within{border-color:var(--color-border-strong)}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;font-family:var(--font-sans);letter-spacing:var(--letter-spacing-base);background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.badge--success{background:var(--color-ok-soft);color:var(--color-ok);border-color:var(--color-ok)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}.badge--ko{background:var(--color-ko-soft);color:var(--color-ko);border-color:var(--color-ko)}.badge--info{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary)}.badge--neutral{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.badge--solid{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.badge--solid.badge--success{background:var(--color-ok);border-color:var(--color-ok)}.badge--solid.badge--warning{background:var(--color-warning);border-color:var(--color-warning)}.badge--solid.badge--ko{background:var(--color-ko);border-color:var(--color-ko)}.tabs{align-items:stretch;gap:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs__tab{padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;font-weight:500}.tabs__tab:hover{color:var(--color-text-strong)}.tabs__tab:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:calc(var(--focus-ring-offset) * -1);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tabs__tab--active{color:var(--color-text-strong);border-bottom-color:var(--color-primary)}.skeleton{background:var(--color-surface);border-radius:var(--radius-md);display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff0a 50%,#0000 100%) 0 0/200% 100%;animation:1.6s ease-in-out infinite skeleton-pulse;position:absolute;inset:0}.skeleton--text{width:100%;height:.875em}.skeleton--title{width:60%;height:1.5em}.skeleton--avatar{border-radius:var(--radius-full);width:40px;height:40px}.skeleton--cover{aspect-ratio:16/9;width:100%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.image-placeholder{background:var(--color-surface);border-radius:var(--radius-md);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative}.image-placeholder__label{z-index:1;font-size:var(--font-size-sm);text-align:center;padding:0 var(--space-3);position:relative}.image-placeholder--game .image-placeholder__label{font-size:var(--font-size-lg)}.image-placeholder--accent{background:color-mix(in srgb, var(--accent,var(--color-primary)) 14%, var(--color-surface));color:var(--color-text-strong)}.error-boundary{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;display:flex}.error-boundary__title{font-size:var(--font-size-xl);color:var(--color-text-strong)}.error-boundary__description{color:var(--color-text-muted);max-width:50ch}.empty-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);text-align:center;flex-direction:column;display:flex}.empty-state__icon{font-size:var(--font-size-3xl);color:var(--color-text-muted)}.empty-state__title{font-size:var(--font-size-lg);color:var(--color-text-strong);font-weight:600}.empty-state__description{color:var(--color-text-muted);max-width:50ch}.empty-state__action{margin-top:var(--space-3)}.star-rating{color:var(--color-warning);font-weight:600;font-size:var(--font-size-sm);letter-spacing:.02em;align-items:center;gap:4px;display:inline-flex}.star-rating__star{width:1em;height:1em;display:inline-block}.star-rating__star--empty{color:var(--color-text-subtle)}.star-rating--sm{font-size:var(--font-size-xs)}.star-rating--lg{font-size:var(--font-size-lg)}.carousel{width:100%;position:relative}.carousel__viewport{border-radius:var(--radius-lg);position:relative;overflow:hidden}.carousel__track{will-change:transform;transition:transform .48s cubic-bezier(.4,0,.2,1);display:flex}.carousel__slide{flex:0 0 100%;position:relative;overflow:hidden}.carousel__arrow{border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-bg-elevated);width:36px;height:36px;color:var(--color-text-strong);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:18px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel__arrow:hover{background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary)}.carousel__arrow--prev{left:var(--space-4)}.carousel__arrow--next{right:var(--space-4)}.carousel__dots{justify-content:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.carousel__dot{border-radius:var(--radius-full);background:var(--color-border-strong);cursor:pointer;width:8px;height:8px;transition:width var(--transition-fast), background var(--transition-fast);border:none;padding:0}.carousel__dot--active{background:var(--color-primary);width:24px}.search-input{align-items:center;width:100%;display:flex;position:relative}.search-input__icon{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;font-size:14px;position:absolute;top:50%;transform:translateY(-50%)}.search-input__field{width:100%;padding:0 var(--space-3) 0 calc(var(--space-3) + 18px + var(--space-2));background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);height:36px;color:var(--color-text-strong);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.search-input__field::placeholder{color:var(--color-text-subtle)}.search-input__field:hover:not(:focus){border-color:var(--color-border-hover)}.search-input__field:focus{border-color:var(--color-primary);box-shadow:var(--focus-halo);outline:none}.search-input--lg .search-input__field{height:44px;font-size:var(--font-size-base)}.search-input__results{top:calc(100% + var(--space-2));z-index:var(--z-overlay);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:70vh;position:absolute;left:0;right:0;overflow:hidden auto}.search-input__results-section{padding:var(--space-2) 0}.search-input__results-section+.search-input__results-section{border-top:1px solid var(--color-border)}.search-input__results-title{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:0;font-weight:600}.search-input__result{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text);transition:background var(--transition-fast);text-decoration:none;display:flex}.search-input__result:hover,.search-input__result--active{background:var(--color-surface-hover)}.search-input__result-thumb{border-radius:var(--radius-md);flex:none;width:32px;height:32px;overflow:hidden}.search-input__result-content{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.search-input__result-title{font-size:var(--font-size-sm);color:var(--color-text-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:500;overflow:hidden}.search-input__result-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.search-input__empty{padding:var(--space-6);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.modal-backdrop{z-index:var(--z-modal);padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out modal-backdrop-in;display:flex;position:fixed;inset:0}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:560px;max-height:calc(100vh - 2 * var(--space-4));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);flex-direction:column;animation:.22s cubic-bezier(.4,0,.2,1) modal-in;display:flex;position:relative;overflow:hidden}.modal--lg{max-width:720px}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.modal__title{font-size:var(--font-size-lg);color:var(--color-text-strong);margin:0;font-weight:600}.modal__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-strong)}.modal__body{padding:var(--space-6);flex:auto;overflow-y:auto}.modal__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex}.toast-region{top:calc(var(--space-6) + var(--safe-top));right:calc(var(--space-6) + var(--safe-right));z-index:var(--z-toast);gap:var(--space-3);pointer-events:none;flex-direction:column;max-width:380px;display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);color:var(--color-text);animation:.2s cubic-bezier(.4,0,.2,1) toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast--success{border-left-color:var(--color-ok)}.toast--warning{border-left-color:var(--color-warning)}.toast--error{border-left-color:var(--color-ko)}.toast--info{border-left-color:var(--color-primary)}.toast__icon{border-radius:var(--radius-full);background:var(--color-surface-hover);width:24px;height:24px;color:var(--color-text);flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.toast--success .toast__icon{background:var(--color-ok-soft);color:var(--color-ok)}.toast--warning .toast__icon{background:var(--color-warning-soft);color:var(--color-warning)}.toast--error .toast__icon{background:var(--color-ko-soft);color:var(--color-ko)}.toast--info .toast__icon{background:var(--color-primary-soft);color:var(--color-primary)}.toast__content{gap:var(--space-1);flex-direction:column;flex:auto;display:flex}.toast__title{font-size:var(--font-size-sm);color:var(--color-text-strong);margin:0;font-weight:600}.toast__message{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.toast__close{color:var(--color-text-muted);cursor:pointer;margin-left:var(--space-2);background:0 0;border:none;padding:0;font-size:16px}.app-header{z-index:var(--z-sticky);background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header__inner{max-width:var(--layout-max-width);padding:0 var(--layout-gutter);align-items:center;gap:var(--space-6);height:56px;margin:0 auto;display:flex}.app-header__brand{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);color:var(--color-text-strong);letter-spacing:var(--letter-spacing-wide);flex-shrink:0;font-weight:700;display:inline-flex}.app-header__logo{border-radius:var(--radius-md);object-fit:contain;width:28px;height:28px;display:block}.app-header__nav{flex:auto;justify-content:center;display:flex}.app-header__nav ul{align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.app-header__link{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:color var(--transition-fast), background var(--transition-fast);font-weight:500;position:relative}.app-header__link:hover{color:var(--color-text-strong);background:var(--color-surface-hover)}.app-header__link--active{color:var(--color-text-strong)}.app-header__actions{gap:var(--space-2);align-items:center;display:flex}.app-header__menu-toggle{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:none}.app-header__menu-toggle:hover{background:var(--color-surface-hover)}.app-drawer{width:min(86vw,360px);z-index:var(--z-modal);background:var(--color-bg);border-left:1px solid var(--color-border);visibility:hidden;overscroll-behavior:contain;padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.app-drawer--open{visibility:visible;transform:translate(0)}.app-drawer__backdrop{z-index:calc(var(--z-modal) - 1);opacity:0;visibility:hidden;background:#0009;transition:opacity .2s ease-out;position:fixed;inset:0}.app-drawer__backdrop--open{opacity:1;visibility:visible}.app-drawer__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0;height:56px;display:flex}.app-drawer__title{font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text);margin:0;font-weight:600}.app-drawer__close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.app-drawer__close:hover{background:var(--color-surface-hover);color:var(--color-text)}.app-drawer__body{gap:var(--space-2);padding:var(--space-4);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.app-drawer__nav-link,.app-drawer__action{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-base);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:1px solid #0000;font-weight:500;display:flex}.app-drawer__nav-link:hover,.app-drawer__action:hover{background:var(--color-surface-hover)}.app-drawer__nav-link--active{color:var(--color-primary);background:var(--color-primary-soft)}.app-drawer__section{gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.app-drawer__section-label{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:600}.app-drawer__footer{gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex}.app-drawer__user{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.app-drawer__user-avatar{border-radius:var(--radius-full);background:var(--color-surface-hover);width:32px;height:32px;color:var(--color-text-muted);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.app-drawer__user-name{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text);margin:0}.app-drawer__user-email{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.app-drawer__button{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;display:flex}.app-drawer__button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.app-drawer__button--primary{background:var(--color-primary);color:var(--color-on-primary)}.app-drawer__button--primary:hover{background:var(--color-primary-hover)}.app-drawer__button--secondary{color:var(--color-text-strong);border-color:var(--color-border-strong);background:0 0}.app-drawer__button--secondary:hover{background:var(--color-surface-hover)}.app-drawer__button--danger{color:var(--color-ko);border-color:var(--color-ko);background:0 0}.app-drawer__button--danger:hover{background:var(--color-ko-soft)}.app-header__search{border-top:1px solid var(--color-border);background:var(--color-bg);padding:var(--space-3) var(--layout-gutter)}@media (width<=960px){.app-header__menu-toggle{display:inline-flex}.app-header__inner{gap:var(--space-3);flex-wrap:wrap}.app-header__nav{display:none}}@media (width>=961px){.app-header__menu-toggle{display:none}}@media (width<=720px){.app-header__inner{gap:var(--space-3)}.app-header__brand-text{font-size:var(--font-size-base)}}@media (width<=480px){.app-header__user,.app-header__actions .button--ghost{display:none}}.home-hero{gap:var(--space-12);margin-bottom:var(--space-16);grid-template-columns:1fr 1fr;align-items:center;display:grid}.home-hero__carousel{aspect-ratio:4/3;border-radius:var(--radius-lg);border:1px solid var(--color-border);position:relative;overflow:hidden}.home-hero__search{gap:var(--space-5);flex-direction:column;display:flex}.home-hero__title{font-size:clamp(2.5rem, 5vw, var(--font-size-5xl));letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);margin:0;font-weight:700;line-height:1.05}.home-catalogue{margin-bottom:var(--space-16)}.home-catalogue__count{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3)}.home-catalogue__count strong{color:var(--color-text-strong);font-weight:600}.home-catalogue__empty{padding:var(--space-12) var(--space-6);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);color:var(--color-text-muted)}.hero-slide{width:100%;height:100%;color:var(--color-text-strong);text-decoration:none;display:block;position:relative;overflow:hidden}.hero-slide__image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-slide__overlay{background:linear-gradient(#0000 0%,#00000026 35%,#000000d9 100%);position:absolute;inset:0}.hero-slide__body{z-index:2;gap:var(--space-3);max-width:min(620px,80%);height:100%;padding:var(--space-8);flex-direction:column;justify-content:flex-end;display:flex;position:relative}.hero-slide__eyebrow{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text);background:#0009;border:1px solid;align-self:flex-start;align-items:center;font-weight:600;display:inline-flex}.hero-slide__title{letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1.05}.hero-slide__tagline{font-size:var(--font-size-base);color:#ffffffd1;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:56ch;margin:0;display:-webkit-box;overflow:hidden}.hero-slide__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.hero-slide__chip{padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);background:#00000080;align-items:center;font-weight:500;display:inline-flex}.hero-slide__meta{align-items:center;gap:var(--space-2);color:#ffffffb3;font-size:var(--font-size-sm);font-weight:500;display:flex}.card-grid{gap:var(--space-4);display:grid}.card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=960px){.card-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.card-grid--4{grid-template-columns:1fr}}.genre-chips{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.genre-chip{padding:var(--space-1) var(--space-3);background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;align-items:center;font-weight:500;display:inline-flex}.genre-chip:hover{color:var(--color-text-strong);border-color:var(--color-border-strong)}.genre-chip:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.genre-chip--active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.genre-chip--active:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.home-section__header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.home-section__title{font-size:clamp(1.5rem, 3vw, var(--font-size-4xl));letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);margin:0;font-weight:600}.home-section__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.home-section__link{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);transition:color var(--transition-fast);font-weight:500;display:inline-flex}.home-section__link:hover{color:var(--color-primary)}@media (width<=960px){.home-hero{gap:var(--space-8);grid-template-columns:1fr}.home-hero__title{font-size:clamp(2rem, 6vw, var(--font-size-5xl))}}@media (width<=720px){.home-hero{padding:var(--space-8) 0}.home-section__header{align-items:flex-start;gap:var(--space-1);flex-direction:column}}@media (width<=480px){.home-hero__search{gap:var(--space-4)}}.coach-card{gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--color-text);transition:border-color var(--transition-fast);grid-template-columns:64px 1fr;align-items:start;text-decoration:none;display:grid}.coach-card:hover{border-color:var(--color-border-hover)}.coach-card__avatar{border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border);object-fit:cover;flex-shrink:0;width:64px;height:64px}.coach-card__avatar--placeholder{font-weight:700;font-size:var(--font-size-xl);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.coach-card__name{margin:0 0 var(--space-1);font-size:var(--font-size-base);color:var(--color-text-strong);word-break:break-word;font-weight:600}.coach-card__meta{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.coach-card__rating{color:var(--color-warning);align-items:center;gap:2px;font-weight:500;display:inline-flex}.coach-card__languages{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-wide)}.coach-card__bio{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);-webkit-line-clamp:2;line-clamp:2;line-height:var(--line-height-base);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.coach-card__actions{margin-top:auto}@media (width<=720px){.coach-card{gap:var(--space-3);padding:var(--space-3);grid-template-columns:48px 1fr}.coach-card__avatar{width:48px;height:48px}}.game-card{gap:var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.game-card:hover{border-color:var(--color-border-hover)}.game-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.game-card__name{font-size:var(--font-size-lg);color:var(--color-text-strong);word-break:break-word;margin:0;font-weight:600}.game-card__meta{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;margin:0;display:flex}.game-card--covered{isolation:isolate;padding:0;position:relative}.game-card--covered .game-card__body{z-index:2;padding:var(--space-5);gap:var(--space-3);flex-direction:column;justify-content:flex-end;min-height:320px;display:flex;position:relative}.game-card__cover{background-color:var(--color-bg-elevated);z-index:0;background-position:50%;background-size:cover;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.game-card__cover:after{content:"";background:linear-gradient(#0000 0%,#00000026 35%,#000000d9 100%);position:absolute;inset:0}.game-card__cover-label{z-index:1;font-weight:700;font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:#ffffffd9;padding:var(--space-3);text-align:center;word-break:break-word;max-width:100%;position:relative}.game-card__name--on-cover{color:var(--color-text-strong);text-shadow:0 2px 12px #00000080;font-size:clamp(1.25rem, 2vw, var(--font-size-xl))}.game-card__tagline{color:#ffffffc7;font-size:var(--font-size-sm);-webkit-line-clamp:2;line-clamp:2;line-height:var(--line-height-base);text-shadow:0 1px 6px #0006;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.game-card__stats{align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-3);font-size:var(--font-size-xs);color:#ffffffd9;letter-spacing:var(--letter-spacing-wide);flex-wrap:wrap;display:flex}.game-card__stat{align-items:center;gap:4px;display:inline-flex}.game-card__stat-value{color:var(--color-text-strong);font-weight:700}.game-card__rating{top:var(--space-3);right:var(--space-3);z-index:3;align-items:center;gap:var(--space-1);padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-warning);letter-spacing:var(--letter-spacing-wide);border:1px solid var(--color-border-strong);background:#000000b3;font-weight:700;display:inline-flex;position:absolute}.game-card__rating:before{content:"★";color:var(--color-warning)}.game-card__year{bottom:var(--space-3);left:var(--space-3);z-index:3;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-2xs);color:#ffffffd9;letter-spacing:var(--letter-spacing-wide);border:1px solid var(--color-border);background:#000000b3;align-items:center;font-weight:700;display:inline-flex;position:absolute}.game-card__genres{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.game-card__genre-pill{padding:2px var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);align-items:center;font-weight:500;display:inline-flex}.game-card__cta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.game-card__pro-coach{align-items:center;gap:var(--space-2);padding:4px var(--space-3);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-primary);font-weight:600;display:inline-flex}.game-card__pro-coach:before{content:"";background:var(--color-primary);border-radius:50%;width:6px;height:6px}@media (width<=480px){.game-card--covered .game-card__body{padding:var(--space-4);min-height:240px}}.filters{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-6);flex-direction:column;display:flex}.filters__row{gap:var(--space-3);grid-template-columns:140px 1fr;align-items:center;display:grid}.filters__label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.filters__language-group{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.filters__language-group .form__input{flex:200px;min-width:0}.filters__actions{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.pagination{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.pagination__info{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.coach-profile__header{gap:var(--space-6);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border);grid-template-columns:140px 1fr;align-items:start;display:grid}.coach-profile__avatar{border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);object-fit:cover;width:140px;height:140px}.coach-profile__avatar--placeholder{font-weight:700;font-size:var(--font-size-3xl);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.coach-profile__name{margin:0 0 var(--space-1);letter-spacing:var(--letter-spacing-tight);font-weight:600;font-size:var(--font-size-3xl);color:var(--color-text-strong);word-break:break-word}.coach-profile__email{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);word-break:break-word}.coach-profile__meta{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--font-size-sm);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.coach-profile__section{margin-bottom:var(--space-8)}.coach-profile__section h2{margin:0 0 var(--space-3);font-size:var(--font-size-xl);color:var(--color-text-strong);font-weight:600}.stack{gap:var(--space-3);flex-direction:column;display:flex}@media (width<=960px){.filters{padding:var(--space-4)}.filters__row{gap:var(--space-1);grid-template-columns:1fr}.coach-profile__header{gap:var(--space-5);grid-template-columns:120px 1fr}.coach-profile__avatar{width:120px;height:120px}}@media (width<=640px){.coach-profile__header{text-align:center;grid-template-columns:1fr;justify-items:center}.coach-profile__meta{justify-content:center}.filters__language-group{flex-direction:column;align-items:stretch}.filters__actions{flex-direction:column-reverse;align-items:stretch}.filters__actions>*{width:100%}}@media (width<=480px){.coach-profile__avatar{width:96px;height:96px}}.page--auth{padding-top:var(--space-12);justify-content:center;align-items:flex-start;display:flex}.auth-card{gap:var(--space-5);width:100%;max-width:420px;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.auth-card__header{gap:var(--space-2);flex-direction:column;display:flex}.auth-card__eyebrow{align-self:flex-start;align-items:center;gap:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-strong);font-weight:600;display:inline-flex}.auth-card__title{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);margin:0;font-weight:600}.auth-card__subtitle{color:var(--color-text-muted);font-size:var(--font-size-base);margin:0}.auth-card__body{gap:var(--space-4);flex-direction:column;display:flex}.auth-card .form__input,.auth-card .form__select,.auth-card .form__textarea{background:var(--color-bg);border-color:var(--color-border-strong)}.auth-card .form__input:hover:not(:focus):not(:disabled),.auth-card .form__select:hover:not(:focus):not(:disabled),.auth-card .form__textarea:hover:not(:focus):not(:disabled){border-color:var(--color-text-subtle)}.auth-strength{align-items:center;gap:var(--space-3);display:flex}.auth-strength__bar{background:var(--color-surface-hover);border-radius:var(--radius-full);flex:auto;min-width:100px;height:4px;overflow:hidden}.auth-strength__fill{border-radius:var(--radius-full);background:var(--color-ko);width:0%;height:100%;transition:width var(--transition-base), background var(--transition-base)}.auth-strength--2 .auth-strength__fill{background:var(--color-warning);width:33%}.auth-strength--3 .auth-strength__fill{background:var(--color-primary);width:66%}.auth-strength--4 .auth-strength__fill{background:var(--color-ok);width:100%}.auth-strength__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);text-align:right;min-width:60px;font-weight:600}.auth-checks{gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-direction:column;display:flex}.auth-check{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-hover);border:1px solid var(--color-border);transition:color var(--transition-fast), background var(--transition-fast);display:inline-flex}.auth-check__dot{background:var(--color-border-strong);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-check--ok{color:var(--color-ok);background:var(--color-ok-soft);border-color:var(--color-ok)}.auth-check--ok .auth-check__dot{background:var(--color-ok)}@media (width<=640px){.page--auth{padding-top:var(--space-6)}.auth-card{padding:var(--space-6)}}@media (width<=480px){.auth-card{padding:var(--space-5);border-radius:var(--radius-md)}.auth-card__title{font-size:var(--font-size-2xl)}}.coach-hero{gap:var(--space-7);padding:var(--space-8);margin-bottom:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:140px 1fr;align-items:center;display:grid}.coach-hero__avatar{border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border);object-fit:cover;width:140px;height:140px}.coach-hero__avatar--placeholder{font-weight:700;font-size:var(--font-size-3xl);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.coach-hero__body{gap:var(--space-3);flex-direction:column;display:flex}.coach-hero__name{font-size:clamp(1.75rem, 3.5vw, var(--font-size-4xl));letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);margin:0;font-weight:600;line-height:1.1}.coach-hero__rating{align-items:center;gap:var(--space-2);display:flex}.coach-hero__tagline{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:64ch;margin:0}.coach-hero__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.coach-hero__chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);align-items:center;font-weight:500;display:inline-flex}.coach-hero__chip--accent{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.coach-hero__games{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.coach-hero__games-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-weight:600}.coach-hero__game-pill{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-xs);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.coach-hero__game-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.coach-section{padding:var(--space-7);margin-bottom:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.coach-section h2{margin:0 0 var(--space-3);font-size:var(--font-size-2xl);color:var(--color-text-strong);font-weight:600}.coach-section p{color:var(--color-text);line-height:var(--line-height-relaxed);margin:0}@media (width<=720px){.coach-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.coach-hero__body{align-items:center}.coach-hero__chips,.coach-hero__games{justify-content:center}}@media (width<=480px){.coach-hero{padding:var(--space-4)}.coach-hero__avatar{width:96px;height:96px}.coach-section{padding:var(--space-4)}}.game-hero{gap:var(--space-4);padding:var(--space-8);margin-bottom:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:360px;display:flex;position:relative;overflow:hidden}.game-hero__cover{background-color:var(--color-bg-elevated);z-index:-1;background-position:50%;background-size:cover;position:absolute;inset:0}.game-hero__cover:after{content:"";background:linear-gradient(#0000001a 0%,#00000073 60%,#000000d9 100%);position:absolute;inset:0}.game-hero__eyebrow{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-strong);align-self:flex-start;align-items:center;font-weight:600;display:inline-flex}.game-hero__title{font-size:clamp(1.75rem, 4vw, var(--font-size-5xl));letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);text-shadow:0 2px 12px #0006;margin:0;font-weight:700;line-height:1.05}.game-hero__tagline{color:#ffffffd9;font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);text-shadow:0 1px 6px #0006;max-width:64ch;margin:0}.game-hero__meta{gap:var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.game-hero__meta-item{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:2px;display:flex;position:relative;overflow:hidden}.game-hero__meta-item:before{content:"";background:var(--game-accent,var(--color-primary));opacity:.85;height:1px;position:absolute;inset:0 0 auto}.game-hero__meta-item dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-weight:600}.game-hero__meta-item dd{color:var(--color-text-strong);margin:0;font-weight:600}.game-hero__cta{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.game-hero__rating{top:var(--space-4);right:var(--space-4);align-items:center;gap:var(--space-1);padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-warning);border:1px solid var(--color-border-strong);z-index:2;background:#000000b3;font-weight:700;display:inline-flex;position:absolute}.game-hero__chips{bottom:var(--space-4);left:var(--space-4);gap:var(--space-2);z-index:2;flex-wrap:wrap;display:flex;position:absolute}.game-hero__chip{padding:2px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text);background:#0009;align-items:center;font-weight:500;display:inline-flex}@media (width<=720px){.game-hero{padding:var(--space-6);min-height:280px}.game-hero__meta{gap:var(--space-2)}}@media (width<=480px){.game-hero{padding:var(--space-4);min-height:240px}.game-hero__cta{flex-direction:column;align-items:stretch;width:100%}.game-hero__cta>*{width:100%}}.course-detail-hero{gap:var(--space-7);margin-bottom:var(--space-8);padding:var(--space-7);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);grid-template-columns:320px 1fr;align-items:start;display:grid}.course-detail-hero__cover{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);overflow:hidden}.course-detail-hero__cover .image-placeholder{border-radius:var(--radius-md);width:100%;height:100%}.course-detail-hero__body{gap:var(--space-3);flex-direction:column;display:flex}.course-detail-hero__eyebrow{align-items:center;gap:var(--space-2);padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;align-self:flex-start;font-weight:600;display:inline-flex}.course-detail-hero__title{font-size:clamp(1.5rem, 3vw, var(--font-size-3xl));letter-spacing:var(--letter-spacing-tight);color:var(--color-text-strong);margin:0;font-weight:600}.course-detail-hero__meta{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-base);flex-wrap:wrap;display:flex}.course-detail-hero__price{font-size:var(--font-size-2xl);color:var(--color-text-strong);font-weight:700}.course-detail-hero__sep{color:var(--color-border-strong)}.course-detail-hero__actions{margin-top:var(--space-3);gap:var(--space-3);flex-wrap:wrap;display:flex}.course-detail__section{margin-bottom:var(--space-8)}.course-detail__section h2{margin:0 0 var(--space-3);font-size:var(--font-size-xl);color:var(--color-text-strong);font-weight:600}.course-detail__section p{color:var(--color-text);line-height:var(--line-height-relaxed);margin:0}.lesson-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lesson-list__item{gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:1fr auto;align-items:start;display:grid}.lesson-list__section{margin:0 0 var(--space-1);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);font-weight:600}.lesson-list__title{font-size:var(--font-size-base);color:var(--color-text-strong);align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;font-weight:600;display:flex}.lesson-list__badge{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-ok-soft);color:var(--color-ok);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;align-items:center;font-weight:600;display:inline-flex}.lesson-list__description{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.lesson-list__meta{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;font-weight:500}.course-detail__timestamps{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:right}@media (width<=960px){.course-detail-hero{gap:var(--space-5);grid-template-columns:240px 1fr}}@media (width<=720px){.course-detail-hero,.lesson-list__item{grid-template-columns:1fr}.lesson-list__meta{align-self:flex-start}}@media (width<=480px){.course-detail-hero{padding:var(--space-4)}.course-detail-hero__title,.course-detail-hero__price{font-size:var(--font-size-xl)}.lesson-list__item{padding:var(--space-3)}}.booking-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.booking-list__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);overflow:hidden}.booking-list__item:hover{border-color:var(--color-border-hover)}.booking-list__link{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);color:inherit;text-decoration:none;display:flex}.booking-list__main{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.booking-list__date{font-weight:600;font-size:var(--font-size-base);color:var(--color-text-strong);margin:0}.booking-list__meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.booking-list__notes{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0;text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.booking-detail__grid{gap:var(--space-4);margin:var(--space-5) 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.booking-detail__grid>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.booking-detail__grid dt{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.booking-detail__grid dd{margin:0;font-weight:600}.booking-detail__notes{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.booking-detail__notes h2{font-size:var(--font-size-base);margin:0 0 var(--space-2)}.booking-detail__actions{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.form__summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-2) 0}.form__summary-title{margin:0 0 var(--space-3);font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.form__summary-list{margin:0 0 var(--space-3);gap:var(--space-2);grid-template-columns:1fr;display:grid}.form__summary-list>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.form__summary-list>div:last-child{border-bottom:0}.form__summary-list dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.form__summary-list dd{color:var(--color-text);margin:0;font-weight:600}.form__actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=640px){.form__actions{flex-direction:column-reverse;align-items:stretch}.form__actions>*{width:100%}.form__summary-list>div{gap:var(--space-1);flex-direction:column}}@media (width<=720px){.booking-list__link{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-direction:column}.booking-list__notes{white-space:normal}.booking-detail__grid{gap:var(--space-3);grid-template-columns:1fr}.booking-detail__actions{flex-direction:column;align-items:stretch}.booking-detail__actions>*{width:100%}}@media (width<=480px){.booking-detail__notes{padding:var(--space-3)}}.course-card{gap:var(--space-3);color:var(--color-text);transition:border-color var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.course-detail__cover{border-radius:var(--radius-lg);width:100%;max-width:720px;height:auto;margin:var(--space-4) 0;object-fit:cover;border:1px solid var(--color-border);display:block}.course-detail__meta{color:var(--color-text-muted);margin:var(--space-2) 0 0}.course-detail__section{margin-top:var(--space-5)}.progress-summary{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.progress-summary__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.progress-summary__value{color:var(--color-text-strong);letter-spacing:var(--letter-spacing-tight);font-size:2rem;font-weight:700}.progress-summary__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.progress-entries{margin-top:var(--space-5)}.progress-entry-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.progress-entry{justify-content:space-between;align-items:flex-start;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);transition:border-color var(--transition-fast);display:flex}.progress-entry:hover{border-color:var(--color-border-hover)}.progress-entry__main{flex:auto;min-width:0}.progress-entry__header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.progress-entry__date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.progress-entry__title{font-size:var(--font-size-base);margin:0 0 var(--space-1);color:var(--color-text-strong);font-weight:600}.progress-entry__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0}.progress-entry__actions{gap:var(--space-1);flex-direction:column;flex:none;display:flex}.button--danger-text{color:var(--color-ko);border-color:var(--color-ko)}.button--danger-text:hover{background:var(--color-ko-soft)}.form--inline{margin-top:var(--space-4)}.form--inline .form__row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.form--inline .form__group--grow{grid-column:span 2}@media (width<=960px){.progress-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (width<=720px){.course-card{align-items:flex-start;gap:var(--space-1);flex-direction:column}.lesson-list__item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);flex-direction:column}.progress-entry{gap:var(--space-3);flex-direction:column;align-items:stretch}.progress-entry__actions{flex-flow:wrap}.form--inline .form__group--grow{grid-column:span 1}}@media (width<=480px){.progress-summary,.form--inline .form__row{grid-template-columns:1fr}.progress-entry{padding:var(--space-3)}}.page__actions{gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.lesson-manager{margin-top:var(--space-6);padding:var(--space-6)}.lesson-manager__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.lesson-manager__header h2{margin:0 0 var(--space-1);font-size:var(--font-size-xl);color:var(--color-text-strong);font-weight:600}.lesson-manager__header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.lesson-manager__empty{padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-md);border:1px dashed var(--color-border);text-align:center}.lesson-manager__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lesson-row{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);grid-template-columns:32px 1fr auto;align-items:center;display:grid}.lesson-row:hover{border-color:var(--color-border-hover)}.lesson-row--busy{opacity:.6;pointer-events:none}.lesson-row__num{color:var(--color-text-muted);font-weight:700}.lesson-row__body{min-width:0}.lesson-row__title{color:var(--color-text-strong);margin:0;font-weight:600}.lesson-row__meta{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.lesson-row__actions{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.course-edit-form{padding:var(--space-6);margin-bottom:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.course-edit-form__row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.course-edit-form__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.services-list{gap:var(--space-3);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.services-list__item{gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:1fr auto;align-items:center;display:grid}.services-list__title{margin:0 0 var(--space-1);font-size:var(--font-size-lg);color:var(--color-text-strong);font-weight:600}.services-list__meta{margin:0 0 var(--space-2);color:var(--color-primary);font-weight:600;font-size:var(--font-size-sm)}.services-list__desc{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.services-list__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=640px){.services-list__item{grid-template-columns:1fr}.services-list__actions{justify-content:flex-start}}@media (width<=480px){.lesson-manager{padding:var(--space-4)}.lesson-manager__header{flex-direction:column;align-items:stretch}.lesson-manager__header .button{width:100%}.lesson-row,.services-list__item{padding:var(--space-3)}.wizard-intro__actions{flex-direction:column;align-items:stretch;width:100%}.wizard-intro__actions>*{width:100%}.wizard-step{padding:var(--space-2);flex:30%}.wizard-step__label{display:none}.course-edit-form{padding:var(--space-4)}.course-edit-form__actions{flex-direction:column;align-items:stretch}.course-edit-form__actions>*{width:100%}}.wizard-steps{align-items:center;gap:var(--space-3);margin:0 0 var(--space-6);padding:0;list-style:none;display:flex}.wizard-step{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);display:inline-flex}.wizard-step__num{border-radius:var(--radius-full);background:var(--color-surface-hover);width:24px;height:24px;color:var(--color-text-muted);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.wizard-step--active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-text-strong)}.wizard-step--active .wizard-step__num{background:var(--color-primary);color:var(--color-on-primary)}.wizard-step--done{color:var(--color-ok);border-color:var(--color-ok)}.wizard-step--done .wizard-step__num{background:var(--color-ok);color:var(--color-on-primary)}.wizard-intro__list{padding-left:var(--space-5);color:var(--color-text);gap:var(--space-2);margin:0 0 var(--space-4);flex-direction:column;list-style:outside;display:flex}.wizard-intro__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.wizard-games{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.wizard-game{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);--game-accent:var(--color-primary);grid-template-columns:32px 1fr;align-items:center;display:grid}.wizard-game:hover{border-color:var(--color-primary)}.wizard-game--selected{border-color:var(--game-accent,var(--color-primary));background:color-mix(in srgb, var(--game-accent,var(--color-primary)) 14%, var(--color-surface))}.wizard-game__check{border-radius:var(--radius-full);background:var(--color-surface-hover);width:28px;height:28px;color:var(--color-text-muted);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.wizard-game--selected .wizard-game__check{background:var(--game-accent,var(--color-primary));color:var(--color-on-primary)}.wizard-game__body{flex-direction:column;display:flex}.wizard-game__name{color:var(--color-text-strong);font-weight:600}.wizard-game__genre{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.search-page__input{max-width:600px;margin-bottom:var(--space-4)}.search-results{gap:var(--space-8);flex-direction:column;display:flex}.search-results__title{margin:0 0 var(--space-3);font-size:var(--font-size-lg);color:var(--color-text-strong);font-weight:600}.search-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.search-card{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);transition:border-color var(--transition-fast);grid-template-columns:56px 1fr;text-decoration:none;display:grid}.search-card:hover{border-color:var(--color-border-hover)}.search-card__thumb{border-radius:var(--radius-md);background:var(--color-bg-elevated);justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.search-card__thumb img{object-fit:cover;width:100%;height:100%}.search-card__placeholder{color:var(--color-text-muted);font-weight:700;font-size:var(--font-size-lg)}.search-card__thumb--course{background:var(--color-primary);color:var(--color-on-primary)}.search-card__body{min-width:0}.search-card__title{color:var(--color-text-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.search-card__subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.form__textarea{resize:vertical;min-height:80px;font-family:var(--font-sans)}.popup{z-index:var(--z-overlay);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);color:var(--color-text);position:fixed}.popup__arrow{background:var(--color-surface);border:1px solid var(--color-border);width:8px;height:8px;position:absolute;transform:rotate(45deg)}@media (width<=960px){.page{padding:var(--space-8) var(--layout-gutter)}}@media (width<=720px){.page{padding:var(--space-6) var(--space-4)}}@media (width<=480px){.page{padding:var(--space-5) var(--space-4)}}.table{border-collapse:collapse;width:100%}@media (width<=720px){.table-wrap{overflow-x:auto}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-layout{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.app-layout__main{flex-direction:column;flex:auto;display:flex}.page{padding:var(--space-12) var(--layout-gutter);flex:auto}.page__container{max-width:var(--layout-max-width);margin:0 auto}.page__container--narrow{max-width:var(--layout-narrow-width)}.page__lede{color:var(--color-text-muted);font-size:var(--font-size-lg);max-width:60ch;margin-top:var(--space-3)}.app-footer{border-top:1px solid var(--color-border);background:var(--color-bg);padding:var(--space-6) var(--layout-gutter)}.app-footer__inner{max-width:var(--layout-max-width);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0 auto;display:flex}
