.navbar{z-index:1000;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0}.navbar--scrolled{background:var(--panel)}.navbar__container{align-items:center;gap:14px;max-width:1240px;height:56px;margin:0 auto;padding:0 22px;display:flex}.navbar__logo{font-family:var(--font-display);font-size:var(--fs-header);letter-spacing:-.01em;white-space:nowrap;align-items:baseline;font-weight:600;text-decoration:none;display:flex}.navbar__logo-syn{color:var(--color-text-primary)}.navbar__logo-dojo{color:var(--color-accent)}.navbar__logo-arena{color:var(--text-3);font-weight:400}.navbar__links{flex:auto;align-items:center;gap:2px;margin-left:8px;display:flex}.navbar__link{color:var(--text-3);font-weight:500;font-size:var(--fs-label);border-radius:var(--r-input);white-space:nowrap;padding:7px 11px;transition:background .2s,color .2s}.navbar__link:hover{background:var(--surface-hover);color:var(--text-2)}.navbar__link--active{color:var(--accent);background:var(--accent-soft)}.navbar__btn{border-radius:var(--r-input);padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.navbar__btn--outline{border:1px solid var(--color-text-primary);color:var(--color-text-primary);background:0 0;margin-left:auto}.navbar__btn--outline:hover{background:var(--color-text-primary);color:var(--color-bg-primary)}.navbar__btn--primary{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-bg-primary)}.navbar__btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.navbar__user-menu{align-items:center;gap:16px;margin-left:auto;display:flex}.navbar__user{color:var(--text-2);border-radius:var(--r-input);align-items:center;gap:9px;padding:5px 9px;text-decoration:none;transition:background .2s;display:flex}.navbar__user:hover{background:var(--surface-hover)}.navbar__user-avatar{border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent-line);width:26px;height:26px;color:var(--accent);font-weight:600;font-size:var(--fs-label);flex:none;justify-content:center;align-items:center;display:flex}.navbar__user-name{font-weight:500;font-size:var(--fs-label);color:var(--text-2)}.navbar__user-caret{color:var(--text-3);opacity:.7;margin-left:4px;transition:transform .2s}.navbar__user-dropdown{position:relative}.navbar__user-trigger{background:var(--surface);border:1px solid var(--line);cursor:pointer;font:inherit}.navbar__dropdown-menu{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-panel);box-shadow:var(--sh-2);opacity:0;visibility:hidden;z-index:100;min-width:214px;margin-top:8px;padding:6px;transition:all .2s;position:absolute;top:100%;right:0;transform:translateY(-8px)}.navbar__user-dropdown:hover .navbar__dropdown-menu,.navbar__user-dropdown:focus-within .navbar__dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.navbar__user-dropdown:hover .navbar__user-caret{transform:rotate(180deg)}.navbar__dropdown-item{text-align:left;width:100%;color:var(--text-2);font-size:var(--fs-label);border-radius:var(--r-input);cursor:pointer;background:0 0;border:none;padding:8px 11px;text-decoration:none;transition:background .15s;display:block}.navbar__dropdown-item:hover{background:var(--surface-hover);color:var(--text)}.navbar__dropdown-item--danger{color:var(--error)}.navbar__dropdown-item--danger:hover{background:var(--surface-hover)}.navbar__dropdown-item--admin{color:var(--text-2)}.navbar__dropdown-divider{background:var(--line);height:1px;margin:6px 4px}.navbar__badge{border-radius:var(--r-input);text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;font-size:.7rem;font-weight:700}.navbar__badge--admin{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--warning)}.navbar__badge--group{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--color-accent)}.navbar__mobile-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.navbar__mobile-toggle span{background:var(--color-text-primary);width:24px;height:2px;transition:all .3s;display:block}.navbar__mobile-toggle--open span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar__mobile-toggle--open span:nth-child(2){opacity:0}.navbar__mobile-toggle--open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=900px){.navbar__mobile-toggle{display:flex}.navbar__links{background:var(--color-bg-primary);border-left:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:8px;width:280px;height:100vh;padding:80px 24px 24px;transition:right .3s;position:fixed;top:0;right:-100%}.navbar__links--open{right:0}.navbar__link{width:100%;font-size:var(--fs-body);padding:12px 0}.navbar__user-menu{border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin-top:16px;padding-top:16px}.navbar__user{padding:8px 0}.navbar__btn{text-align:center;width:100%}}@media (width<=768px){.navbar__logo-arena{display:none}}.footer{background-color:var(--panel);border-top:1px solid var(--line);margin-top:auto;padding:24px 0 16px}.footer__container{flex-wrap:wrap;align-items:center;gap:14px;max-width:1280px;margin:0 auto;padding:0 24px;display:flex}.footer__brand{align-items:center;gap:8px;display:flex}.footer__powered{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.footer__logo{font-family:var(--font-display);font-size:14px;font-weight:700}.footer__logo-sensor{color:var(--color-text-primary)}.footer__logo-ops{color:var(--color-accent)}.footer__links{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.footer__link{color:var(--color-text-secondary);font-size:13px;transition:color .2s}.footer__link:hover{color:var(--color-accent)}.footer__separator{color:var(--text);font-size:12px}.footer__copyright{font-size:var(--fs-data);color:var(--text-3)}.footer__version{font-size:var(--fs-micro);color:var(--text-3);font-family:var(--mono);font-variant-numeric:tabular-nums}@media (width<=640px){.footer__container{text-align:center;flex-direction:column}.footer__links{justify-content:center;margin-left:0}}.v2-home{min-height:100vh}.v2-hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.v2-hero__bg{z-index:0;position:absolute;inset:0}.v2-hero__bg-grid{opacity:.5;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 62% at 50% 34%,#000,#0000 72%);mask-image:radial-gradient(70% 62% at 50% 34%,#000,#0000 72%)}.v2-hero__bg-glow{display:none}.v2-hero__content{max-width:1240px;padding-inline:var(--gutter,22px);text-align:start;z-index:1;margin:0 auto;padding-block:78px 60px;position:relative}.v2-hero__badge{background:color-mix(in srgb, var(--accent) 15%, transparent);border:1px solid var(--accent-line);border-radius:var(--r-pill);color:var(--color-accent);align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:.8rem;font-weight:500;display:inline-flex}.v2-hero__badge-dot{background:var(--color-accent);border-radius:var(--r-pill);width:6px;height:6px;animation:2s infinite v2-pulse}@keyframes v2-pulse{0%,to{opacity:1}50%{opacity:.4}}.v2-hero__title{letter-spacing:-.03em;margin-top:20px;margin-bottom:0;font-size:clamp(34px,6vw,60px);font-weight:600;line-height:1.04}.v2-hero__title-accent{color:var(--color-accent)}.v2-hero__subtitle{font-size:var(--fs-header);color:var(--text-3);max-width:56ch;margin:18px 0 0;line-height:1.6}.v2-hero__actions{flex-wrap:wrap;justify-content:flex-start;gap:11px;margin-top:26px;margin-bottom:0;display:flex}.v2-btn{border-radius:var(--r-panel);cursor:pointer;border:2px solid #0000;align-items:center;gap:8px;padding:16px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.v2-btn--primary{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.v2-btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-bg-primary);transform:translateY(-2px)}.v2-btn--outline{color:var(--color-text-primary);border-color:var(--color-border);background:0 0}.v2-btn--outline:hover{border-color:var(--color-text-primary);background:var(--wash-04);color:var(--color-text-primary)}.v2-hero__stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;max-width:620px;margin-top:48px;display:grid;overflow:hidden}.v2-hero__stat{background:var(--surface);text-align:left;padding:16px 18px}.v2-hero__stat-value{font-family:var(--mono);font-size:calc(30px * var(--scale));color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;display:block}.v2-hero__stat-label{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;margin-top:7px;font-weight:600;display:block}.v2-section-container{max-width:1280px;margin:0 auto}.v2-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;display:flex}.v2-section-title{font-size:2rem;font-weight:700}.v2-section-link{color:var(--color-accent);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.v2-competitions{background:var(--color-bg-secondary);padding:100px 24px}.v2-competitions__grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;display:grid}.v2-comp-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);color:inherit;flex-direction:column;padding:28px;text-decoration:none;transition:all .3s;display:flex}.v2-comp-card:hover{border-color:var(--color-accent);box-shadow:var(--sh-2);color:inherit;transform:translateY(-4px)}.v2-comp-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.v2-comp-card__title{color:var(--color-text-primary);font-size:1.25rem;font-weight:600}.v2-comp-card__badge{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--color-accent);border-radius:var(--r-input);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:4px 10px;font-size:.7rem;font-weight:600}.v2-comp-card__badge--live{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error)}.v2-comp-card__desc{color:var(--color-text-secondary);flex:1;margin-bottom:20px;font-size:.9rem;line-height:1.6}.v2-comp-card__countdown{margin-bottom:20px}.v2-comp-card__countdown-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.7rem}.v2-countdown{gap:8px;display:flex}.v2-countdown__unit{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--r-panel);text-align:center;min-width:50px;padding:8px 12px}.v2-countdown__value{font-family:var(--font-display);color:var(--color-accent);font-size:1.4rem;font-weight:700;display:block}.v2-countdown__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6rem}.v2-comp-card__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.v2-comp-card__meta{color:var(--color-text-muted);gap:16px;font-size:.85rem;display:flex}.v2-comp-card__meta-item{align-items:center;gap:6px;display:flex}.v2-comp-card__action{color:var(--color-accent);font-size:.85rem;font-weight:600}.v2-leaderboard{background:var(--color-bg-primary);padding:100px 24px}.v2-leaderboard__container{max-width:800px;margin:0 auto}.v2-leaderboard__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);overflow:hidden}.v2-leaderboard__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.v2-leaderboard__title{font-size:1.25rem;font-weight:600}.v2-leaderboard__live{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error);border-radius:var(--r-pill);letter-spacing:.5px;align-items:center;gap:8px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex}.v2-leaderboard__live-dot{background:var(--error);border-radius:var(--r-pill);width:6px;height:6px;animation:1.5s infinite v2-pulse}.v2-leaderboard__list{padding:12px 0}.v2-leaderboard__empty{text-align:center;color:var(--color-text-muted);padding:40px 24px}.v2-leaderboard__item{align-items:center;gap:20px;padding:16px 28px;transition:background .2s;display:flex}.v2-leaderboard__item:hover{background:var(--color-bg-card-hover)}.v2-leaderboard__rank{border-radius:var(--r-panel);width:44px;height:44px;font-family:var(--font-display);background:var(--color-bg-secondary);color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.v2-leaderboard__rank--1{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text)}.v2-leaderboard__rank--2{background:var(--line-strong);color:var(--text)}.v2-leaderboard__rank--3{background:color-mix(in srgb, var(--text-3) 14%, transparent);color:var(--text)}.v2-leaderboard__pilot{flex:1}.v2-leaderboard__callsign{color:var(--color-text-primary);font-size:1rem;font-weight:600;display:block}.v2-leaderboard__score{font-family:var(--font-display);color:var(--color-text-primary);text-align:right;font-size:1.1rem;font-weight:600}.v2-leaderboard__score span{color:var(--color-text-muted);font-size:.8rem;font-weight:400}.v2-leaderboard__trend{text-align:center;width:24px;font-size:1rem}.v2-leaderboard__trend--up{color:var(--success)}.v2-leaderboard__trend--down{color:var(--error)}.v2-leaderboard__footer{border-top:1px solid var(--color-border);text-align:center;padding:20px 28px}.v2-leaderboard__view-all{background:var(--color-accent);color:var(--color-bg-primary);border-radius:var(--r-panel);padding:12px 32px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-block}.v2-leaderboard__view-all:hover{background:var(--color-accent-hover);color:var(--color-bg-primary);transform:translateY(-2px)}.v2-features{background:var(--color-bg-secondary);padding:100px 24px}.v2-features__header{text-align:center;margin-bottom:60px}.v2-features__title{margin-bottom:16px;font-size:2.5rem}.v2-features__title span{color:var(--color-accent)}.v2-features__subtitle{color:var(--color-text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}.v2-features__grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.v2-feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);text-align:center;padding:32px 24px;transition:all .3s}.v2-feature-card:hover{border-color:var(--color-accent);transform:translateY(-4px)}.v2-feature-card__icon{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:var(--r-panel);justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;display:flex}.v2-feature-card__icon svg{width:28px;height:28px;stroke:var(--color-accent);fill:none;stroke-width:2px}.v2-feature-card__title{margin-bottom:12px;font-size:1.1rem;font-weight:600}.v2-feature-card__desc{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6}@media (width<=1024px){.v2-features__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.v2-features__grid{grid-template-columns:1fr}}.v2-syndojo-callout{background:color-mix(in srgb, var(--accent) 8%, transparent);border-top:1px solid var(--accent-line);border-bottom:1px solid var(--accent-line);padding:80px 24px}.v2-syndojo-callout__container{align-items:center;gap:40px;max-width:1000px;margin:0 auto;display:flex}.v2-syndojo-callout__icon{background:color-mix(in srgb, var(--accent) 15%, transparent);border:1px solid var(--accent-line);border-radius:var(--r-panel);flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.v2-syndojo-callout__icon svg{width:40px;height:40px;stroke:var(--color-accent);fill:none;stroke-width:1.5px}.v2-syndojo-callout__content{flex:1}.v2-syndojo-callout__title{margin-bottom:8px;font-size:1.75rem;font-weight:700}.v2-syndojo-callout__desc{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.7}.v2-syndojo-callout__btn{background:var(--color-accent);color:var(--color-bg-primary);border-radius:var(--r-panel);flex-shrink:0;padding:16px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s}.v2-syndojo-callout__btn:hover{background:var(--color-accent-hover);color:var(--color-bg-primary);transform:translate(4px)}@media (width<=768px){.v2-syndojo-callout__container{text-align:center;flex-direction:column}.v2-syndojo-callout__btn{text-align:center;width:100%}}.v2-host-section{background:var(--color-bg-primary);padding:100px 24px}.v2-host-section__container{text-align:center;max-width:700px;margin:0 auto}.v2-host-section__title{margin-bottom:16px;font-size:2.5rem}.v2-host-section__subtitle{color:var(--color-text-secondary);margin-bottom:40px;font-size:1.1rem;line-height:1.7}.v2-host-form{flex-direction:column;gap:16px;display:flex}.v2-host-form__row{gap:16px;display:flex}.v2-host-form__input,.v2-host-form__textarea{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);font-size:1rem;font-family:var(--font-body);color:var(--color-text-primary);flex:1;padding:16px 20px;transition:border-color .2s}.v2-host-form__input::placeholder,.v2-host-form__textarea::placeholder{color:var(--color-text-muted)}.v2-host-form__input:focus,.v2-host-form__textarea:focus{border-color:var(--color-accent);outline:none}.v2-host-form__textarea{resize:vertical;min-height:120px}.v2-host-form__submit{background:var(--color-accent);color:var(--color-bg-primary);border-radius:var(--r-panel);font-size:1rem;font-weight:600;font-family:var(--font-body);cursor:pointer;border:none;padding:16px 32px;transition:all .2s}.v2-host-form__submit:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px)}.v2-host-form__submit:disabled{opacity:.6;cursor:not-allowed}.v2-host-form__error{background:color-mix(in srgb, var(--error) 15%, transparent);border:1px solid color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);border-radius:var(--r-panel);text-align:left;padding:14px 20px;font-size:.95rem}.v2-host-form__success{text-align:center;background:var(--color-bg-card);border:1px solid color-mix(in srgb, var(--success) 45%, transparent);border-radius:var(--r-panel);padding:40px}.v2-host-form__success-icon{border-radius:var(--r-pill);background:color-mix(in srgb, var(--success) 20%, transparent);width:60px;height:60px;color:var(--success);justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.v2-host-form__success-icon svg{width:24px;height:24px}.v2-host-form__success h3{color:var(--success);margin-bottom:12px;font-size:1.5rem}.v2-host-form__success p{color:var(--color-text-secondary);margin:0}@media (width<=600px){.v2-host-form__row{flex-direction:column}}@media (width<=1023px){.v2-hero__content{padding-inline:16px}}@media (width<=860px){.v2-hero__content{padding-block:52px 44px}}@media (width<=520px){.v2-hero__content{padding-inline:14px}}@media (width<=768px){.v2-hero__actions{flex-direction:column;align-items:stretch}.v2-btn{justify-content:center;width:100%}.v2-competitions__grid{grid-template-columns:1fr}.v2-section-title{font-size:1.5rem}.v2-features__title,.v2-host-section__title{font-size:1.75rem}}.difficulty-badge{border-radius:var(--r-pill);background:var(--surface);color:var(--text-3);border:1px solid var(--line);white-space:nowrap;align-items:center;gap:.375rem;padding:.25rem .625rem;font-weight:500;display:inline-flex}.difficulty-badge--sm{padding:.125rem .5rem;font-size:.75rem}.difficulty-badge--md{font-size:.875rem}.difficulty-badge--lg{padding:.375rem .875rem;font-size:1rem}.difficulty-badge__score{opacity:.7;font-variant-numeric:tabular-nums;font-size:.85em}.difficulty-badge__dots{gap:3px;display:inline-flex}.difficulty-badge__dot{border-radius:var(--r-pill);background:currentColor;width:5px;height:5px;display:inline-block}.difficulty-badge__dot--hollow{border-radius:var(--r-pill);background:0 0;border:1px solid;width:5px;height:5px;display:inline-block}.difficulty-badge--unrated{border-color:var(--line);color:var(--text-3);font-weight:500}.difficulty-badge--beginner{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));color:var(--text-2);font-weight:500}.difficulty-badge--intermediate{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--text-2);font-weight:600}.difficulty-badge--advanced{border-color:color-mix(in srgb, var(--accent) 75%, transparent);color:var(--text);font-weight:600}.difficulty-badge--expert{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:600}.difficulty-badge--elite{border-color:var(--accent);background:var(--surface-hover);color:var(--text);font-weight:700}.difficulty-stars{gap:.25rem;display:inline-flex}.difficulty-star{border-radius:var(--r-pill);border:1px solid var(--text-dim);width:9px;height:9px;display:inline-block}.difficulty-star--filled{border-color:var(--accent);background:var(--surface-hover)}.difficulty-selector{font-size:.875rem}.leaderboard{min-height:calc(100vh - 80px)}.leaderboard .page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.leaderboard .page-head h1{font-size:var(--fs-display);margin:0;font-weight:700}.leaderboard .page-head p{font-size:var(--fs-label);color:var(--text-3);max-width:74ch;margin:5px 0 0}.leaderboard .head-act{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.leaderboard .lb-pill{font-family:var(--mono);font-size:var(--fs-data);letter-spacing:.08em;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-raised);color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.leaderboard .lb-pill.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.leaderboard .dot{border-radius:var(--r-pill);background:var(--text-dim);flex:none;width:7px;height:7px}.leaderboard .lb-pill.on .dot{background:var(--accent)}.leaderboard .dot.pulse{animation:2.4s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.25}}.leaderboard .live{white-space:nowrap;font-family:var(--mono);font-size:var(--fs-data);color:var(--text-3);letter-spacing:.08em;align-items:center;gap:8px;display:flex}.leaderboard .live b{color:var(--accent);font-weight:500}.leaderboard .lb-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;display:flex}.leaderboard .lb-bar .filters{flex-wrap:wrap;flex:auto;gap:10px;display:flex}.leaderboard .lb-bar .leaderboard__select{flex:0 auto;width:auto;min-width:210px}.leaderboard .podium{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);margin-bottom:16px;display:none;overflow:hidden}@media (width>=1024px){.leaderboard .podium{grid-template-columns:repeat(3,1fr);display:grid}}.leaderboard .pod{cursor:pointer;border-left:1px solid var(--line);transition:background var(--t-glow,.18s) ease;align-items:baseline;gap:14px;min-width:0;padding:16px 18px;display:flex}.leaderboard .pod:first-child{border-left:0}.leaderboard .pod:hover{background:var(--surface-hover)}.leaderboard .pod-rank{font-family:var(--mono);font-size:var(--fs-display);color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:1.4em;font-weight:500}.leaderboard .pod:first-child .pod-rank{color:var(--accent)}.leaderboard .pod-name{font-size:var(--fs-header);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.leaderboard .pod-score{font-family:var(--mono);font-size:var(--fs-header);color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.leaderboard .pod:first-child .pod-score{color:var(--accent)}.row--highlighted{animation:2s highlight-row}@keyframes highlight-row{0%,to{background:0 0}25%,75%{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.leaderboard__table tbody tr.row--me{background:var(--accent-soft)}.leaderboard__container{max-width:1280px;margin:0 auto;padding:28px 24px 60px}.leaderboard__select{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-input);color:var(--text-2);font-size:var(--fs-label);cursor:pointer;min-width:140px;padding:9px 12px;font-family:inherit}.leaderboard__select:focus{border-color:var(--accent-line);box-shadow:var(--sh-focus);outline:none}.leaderboard__table-wrapper{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);margin-bottom:24px}.leaderboard__table{border-collapse:collapse;width:100%}.leaderboard__table thead th:first-child{border-top-left-radius:var(--r-panel)}.leaderboard__table thead th:last-child{border-top-right-radius:var(--r-panel)}.leaderboard__table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--r-panel)}.leaderboard__table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--r-panel)}.leaderboard__table th{text-align:left;font-weight:600;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);z-index:10;padding:10px 18px;position:sticky;top:0}.leaderboard__table td{height:var(--row-h);border-bottom:1px solid var(--line-strong);vertical-align:middle;padding:0 18px;font-size:.95rem}.leaderboard__table tbody tr .td--rank{border-left:3px solid #0000}.leaderboard__table .row--gold .td--rank{border-left-color:var(--accent)}.leaderboard__table .row--silver .td--rank{border-left-color:color-mix(in srgb, var(--accent) 50%, transparent)}.leaderboard__table .row--bronze .td--rank{border-left-color:color-mix(in srgb, var(--accent) 22%, transparent)}.leaderboard__table tr:last-child td{border-bottom:none}.leaderboard__table tbody tr{transition:background .2s}.leaderboard__table tbody tr:hover{background:var(--color-bg-card-hover)}.row--top3{background:color-mix(in srgb, var(--accent) 6%, transparent)}.th--rank{width:80px}.th--trend{text-align:center;width:100px}.td--rank{text-align:center}.rank{font-family:var(--mono);font-size:var(--fs-rank);color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.rank--gold,.rank--silver,.rank--bronze,.rank--gold{color:var(--text)}.pilot{flex-direction:column;gap:3px;min-width:0;display:flex}.pilot b{font-size:var(--fs-name);color:var(--text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.15;overflow:hidden}.pilot small{font-size:var(--fs-label);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scen{font-size:var(--fs-label);color:var(--text-3)}.th--score{text-align:right}.td--score{font-family:var(--mono);font-size:var(--fs-score);text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.row--gold .td--score{color:var(--text)}.th--time{text-align:right;width:12ch}.td--time{font-family:var(--mono);font-size:var(--fs-header);text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums;font-weight:500}.th--mission,.th--scenario{width:150px}.th--events{text-align:center;width:80px}.td--events{text-align:center;color:var(--text-2);font-weight:500}.td--mission,.td--scenario{white-space:nowrap}.th--attempts{text-align:right;width:10ch}.td--attempts{font-family:var(--mono);font-size:var(--fs-label);text-align:right;color:var(--text-3);font-variant-numeric:tabular-nums}.th--telemetry{text-align:center;width:11ch}.td--telemetry{text-align:center}.td--winrate{color:var(--success);font-weight:500}.td--trend{text-align:center}.trend{border-radius:var(--r-pill);justify-content:center;align-items:center;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.trend--up{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.trend--down{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error)}.trend--same{background:var(--color-bg-secondary);color:var(--color-text-muted)}.leaderboard__pagination{justify-content:center;align-items:center;gap:16px;display:flex}.pagination__btn{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);color:var(--color-text-primary);padding:10px 20px;font-weight:500;transition:all .2s}.pagination__btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pagination__pages{align-items:center;gap:8px;display:flex}.pagination__page{border:1px solid var(--color-border);border-radius:var(--r-panel);width:40px;height:40px;color:var(--color-text-secondary);background:0 0;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:flex}.pagination__page:hover{border-color:var(--color-accent);color:var(--color-accent)}.pagination__page--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.pagination__ellipsis{color:var(--color-text-muted);padding:0 8px}@media (width<=1023px){.leaderboard{--fs-rank:calc(30px * var(--scale,1));--fs-score:calc(28px * var(--scale,1));--fs-name:calc(18px * var(--scale,1))}.leaderboard__table thead{display:none}.leaderboard__table,.leaderboard__table tbody,.leaderboard__table tr,.leaderboard__table td{width:100%;display:block}.leaderboard__table tbody tr{border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 14px;padding:12px 14px;display:grid}.leaderboard__table tbody tr:last-child{border-bottom:0}.leaderboard__table td{border:0;height:auto;padding:0}.leaderboard__table .td--rank{text-align:left;grid-area:1/1/span 2;padding-left:10px}.leaderboard__table .td--name{grid-area:1/2}.leaderboard__table .td--mission,.leaderboard__table .td--events,.leaderboard__table .td--scenario{grid-area:2/2}.leaderboard__table .td--attempts,.leaderboard__table .td--telemetry{display:none}.leaderboard__table .td--score{text-align:right;grid-area:1/3/span 2}.leaderboard__table .td--time{display:none}.leaderboard__table .td--compare{grid-area:3/1/auto/-1;justify-content:flex-end;padding-top:6px;display:flex}.leaderboard__table .td--actions{text-align:right;grid-area:4/1/auto/-1;padding-top:6px}}@media (width<=768px){.leaderboard__container{padding:20px 16px 48px}.leaderboard .lb-bar .leaderboard__select{flex:100%;width:100%;min-width:0}.leaderboard .lb-bar>.compare-trigger__btn{width:100%}.leaderboard__pagination{flex-wrap:wrap}}.td--empty{padding:0}.leaderboard .empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.leaderboard .empty b{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}.leaderboard .keyrow{font-size:var(--fs-label);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:18px;margin-top:13px;display:flex}.leaderboard .key{align-items:center;gap:7px;display:flex}.leaderboard .note{font-size:var(--fs-label);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;display:flex}.leaderboard .sec{margin-top:30px;display:block}.leaderboard .sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.leaderboard .sec-head h2{font-size:var(--fs-title);margin:0;font-weight:600}.leaderboard .recent{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-1);overflow:hidden}.leaderboard .recent .ri{border-bottom:1px solid var(--line);font-size:var(--fs-label);align-items:center;gap:14px;padding:11px 16px;display:flex}.leaderboard .recent .ri:last-child{border-bottom:0}.leaderboard .recent .ri--clickable{cursor:pointer}.leaderboard .recent .ri--clickable:hover{background:var(--surface-hover)}.leaderboard .recent .ri .nm{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.leaderboard .recent .ri .sc{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto}.leaderboard .recent .ri .dur{font-family:var(--mono);color:var(--text-3);font-variant-numeric:tabular-nums}.leaderboard .recent .ri .ago{color:var(--text-dim);font-size:var(--fs-micro);text-align:right;min-width:8ch}.leaderboard .recent .ri .ago--range{min-width:0;margin-left:auto}.th--actions{width:60px}.td--actions{text-align:center}.btn-delete{background:color-mix(in srgb, var(--error) 15%, transparent);width:32px;height:32px;color:var(--error);border-radius:var(--r-input);cursor:pointer;border:none;font-size:1rem;font-weight:600;transition:all .2s}.btn-delete:hover:not(:disabled){background:var(--error);color:var(--text)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.compare-trigger__btn{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-input);color:var(--text);font-family:inherit;font-size:var(--fs-label);cursor:pointer;white-space:nowrap;transition:background var(--t-quick,.12s) ease;padding:9px 14px;font-weight:600}.compare-trigger__btn:hover{background:color-mix(in srgb, var(--accent) 25%, transparent);border-color:var(--accent-line)}.leaderboard__compare-bar{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-panel);justify-content:space-between;align-items:center;margin:0 0 14px;padding:11px 15px;animation:.2s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.compare-bar__count{color:var(--text);font-size:.9rem;font-weight:500}.compare-bar__actions{gap:10px;display:flex}.compare-bar__btn{border-radius:var(--r-input);font-family:inherit;font-size:var(--fs-label);cursor:pointer;padding:8px 14px;font-weight:600;transition:all .2s}.compare-bar__btn--clear{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0}.compare-bar__btn--clear:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.compare-bar__btn--compare{background:var(--accent);color:var(--text);border:none}.compare-bar__btn--compare:hover:not(:disabled){background:var(--accent)}.compare-bar__btn--compare:disabled{opacity:.5;cursor:not-allowed}.th--compare,.td--compare{text-align:center;width:40px;min-width:40px;padding:8px 6px!important}.compare-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--accent-line)}.compare-checkbox:disabled{cursor:not-allowed;opacity:.3}.tlm{border-radius:var(--r-pill);border:1px solid var(--line-strong);width:10px;height:10px;display:inline-block}.tlm.on{border-color:var(--accent-line);background:var(--accent-soft)}@media (width<=600px){.leaderboard__compare-bar{flex-direction:column;gap:12px;margin:0 0 12px;padding:12px 16px}.compare-bar__actions{justify-content:stretch;width:100%}.compare-bar__btn{flex:1}}.auth{min-height:calc(100vh - 80px);padding:26px var(--gutter) 56px}.auth__container{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);width:100%;max-width:460px;box-shadow:var(--sh-1);margin:0 auto;padding:26px}.auth__header{text-align:center}.auth__title{font-size:var(--fs-display);font-weight:600}.auth__subtitle{color:var(--text-3);font-size:var(--fs-label);margin-top:8px}.auth__form{margin-top:22px}.auth__error{gap:13px;margin-bottom:16px;line-height:1.6;display:flex}.auth__error-key{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;flex:none}.auth__forgot{text-align:right;margin-top:10px}.auth__forgot a{color:var(--text-3);font-size:var(--fs-label);text-decoration:none}.auth__forgot a:hover{color:var(--accent);text-decoration:underline}.auth__submit{justify-content:center;width:100%;margin-top:16px}.auth__switch{border-top:1px solid var(--line);text-align:center;color:var(--text-3);font-size:var(--fs-label);margin-top:18px;padding-top:16px}.auth__switch button{color:var(--accent);font-size:var(--fs-label);cursor:pointer;background:0 0;border:none;padding:0 0 0 5px;font-weight:500}.auth__switch button:hover{text-decoration:underline}@media (width<=480px){.auth__container{padding:22px 18px}}.image-upload{flex-direction:column;align-items:center;gap:8px;display:inline-flex;position:relative}.image-upload-preview{width:var(--size,128px);height:var(--size,128px);border-radius:var(--r-panel);cursor:pointer;background:color-mix(in srgb, var(--bg) 30%, transparent);border:2px dashed #fff3;transition:border-color .2s,transform .2s;position:relative;overflow:hidden}.image-upload-preview:hover:not(.disabled):not(.uploading){border-color:var(--accent-line);transform:scale(1.02)}.image-upload-preview.disabled{cursor:not-allowed;opacity:.7}.image-upload-preview.uploading{cursor:wait}.image-upload-preview img{object-fit:cover;width:100%;height:100%;transition:opacity .2s}.image-upload-preview img.default-image{opacity:.5}.image-upload-preview:hover:not(.disabled):not(.uploading) img{opacity:.6}.upload-overlay{background:color-mix(in srgb, var(--bg) 60%, transparent);opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.image-upload-preview:hover:not(.disabled):not(.uploading) .upload-overlay{opacity:1}.upload-icon{color:#ffffffe6;margin-bottom:4px}.upload-text{color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.upload-progress{background:color-mix(in srgb, var(--bg) 70%, transparent);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-bar{background:var(--accent);height:4px;transition:width .3s;position:absolute;bottom:0;left:0}.progress-text{color:var(--accent);font-size:14px;font-weight:600}.btn-remove-image{border-radius:var(--r-pill);border:2px solid var(--line);background:var(--error);color:#fff;cursor:pointer;z-index:10;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:flex;position:absolute;top:-8px;right:-8px}.btn-remove-image:hover{background:var(--error);transform:scale(1.1)}.image-upload-error{color:var(--error);text-align:center;max-width:var(--size,128px);word-wrap:break-word;font-size:12px}.image-upload-hint{color:#fff6;text-align:center;font-size:11px}.scenario-image{border-radius:var(--r-panel);background:color-mix(in srgb, var(--bg) 30%, transparent)}.admin-dashboard{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 100%);min-height:100vh;padding:2rem}.admin-container{max-width:1400px;margin:0 auto}.admin-header{margin-bottom:2rem}.admin-header h1{color:#fff;margin:0;font-size:2rem;font-weight:700}.admin-header p{color:#888;margin:.5rem 0 0}.admin-tabs{background:#ffffff08;border-radius:12px;gap:.5rem;margin-bottom:2rem;padding:.5rem;display:flex;overflow-x:auto}.tab-button{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;transition:all .2s;display:flex}.tab-button:hover{color:#fff;background:#ffffff0d}.tab-button.active{color:#fff;background:linear-gradient(135deg,#00d4ff 0%,#09f 100%);font-weight:600}.tab-icon{font-size:1.1rem}.tab-badge{color:#fff;text-align:center;background:#f44;border-radius:10px;min-width:20px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.tab-button.active .tab-badge{background:#ffffff4d}.admin-content{background:#ffffff08;border-radius:16px;padding:1.5rem}.admin-loading,.admin-empty{text-align:center;color:#666;padding:3rem}.admin-error{color:#f66;background:#ff44441a;border:1px solid #ff44444d;border-radius:8px;margin-bottom:1rem;padding:1rem}.admin-overview{padding:1rem 0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stat-card{text-align:center;background:#ffffff0d;border-radius:12px;padding:1.5rem;transition:transform .2s,background .2s}.stat-card:hover{background:#ffffff14;transform:translateY(-2px)}.stat-card.highlight{background:linear-gradient(135deg,#00d4ff1a 0%,#0099ff1a 100%);border:1px solid #00d4ff33}.stat-value{color:#fff;margin-bottom:.25rem;font-size:2rem;font-weight:700}.stat-card.highlight .stat-value{color:#00d4ff}.stat-label{color:#888;font-size:.85rem}.admin-section{padding:.5rem 0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.section-header h2{color:#fff;margin:0;font-size:1.25rem}.filter-group{align-items:center;gap:.5rem;display:flex}.filter-group select,.search-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.5rem 1rem;font-size:.9rem}.filter-group select:focus,.search-input:focus{border-color:#00d4ff;outline:none}.search-input{min-width:200px}.btn-refresh{color:#888;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.5rem 1rem;transition:all .2s}.btn-refresh:hover{color:#fff;background:#ffffff1a}.table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;table-layout:fixed;width:100%}.admin-table th,.admin-table td{text-align:left;word-wrap:break-word;overflow-wrap:break-word;border-bottom:1px solid #ffffff0d;padding:.75rem .5rem}.admin-table th{color:#888;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-size:.7rem;font-weight:600}.admin-table td{color:#ddd}.admin-table th:first-child,.admin-table td:first-child{text-align:center;width:50px}.admin-table th:nth-child(2),.admin-table td:nth-child(2),.admin-table th:nth-child(3),.admin-table td:nth-child(3){width:180px;max-width:180px}.admin-table th:nth-child(4),.admin-table td:nth-child(4),.admin-table th:nth-child(5),.admin-table td:nth-child(5),.admin-table th:nth-child(6),.admin-table td:nth-child(6){text-align:center;width:70px}.admin-table th:nth-child(7),.admin-table td:nth-child(7){text-align:center;width:90px}.admin-table th:nth-child(8),.admin-table td:nth-child(8){text-align:center;width:110px}.admin-table tbody tr:hover{background:#ffffff08}.admin-table .row-deleted{opacity:.5}.badge{text-transform:capitalize;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success,.badge-approved{color:#00c864;background:#00c86433}.badge-warning{color:#fa0;background:#fa03}.badge-neutral,.badge-denied,.badge-rejected{color:#888;background:#ffffff1a}.badge-pending{color:#00d4ff;background:#00d4ff33}.badge-reviewed{color:#fa0;background:#fa03}.badge-info{color:#0af;background:#0af3}.action-buttons{gap:.5rem;display:flex}.btn-approve,.btn-deny,.btn-view,.btn-delete,.btn-restore,.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-approve{color:#fff;background:linear-gradient(135deg,#00c864 0%,#00a050 100%)}.btn-approve:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00c8644d}.btn-deny{color:#fff;background:linear-gradient(135deg,#f44 0%,#c00 100%)}.btn-deny:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff44444d}.btn-view{color:#ddd;background:#ffffff1a;border:1px solid #ffffff1a}.btn-view:hover{background:#ffffff26}.btn-primary{color:#fff;background:linear-gradient(135deg,#00d4ff 0%,#09f 100%)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.btn-secondary{color:#ddd;background:#ffffff1a}.btn-delete{color:#f66;background:#f443;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.btn-delete:hover:not(:disabled){background:#ff44444d}.btn-restore{color:#00c864;background:#00c86433;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.btn-restore:hover:not(:disabled){background:#00c8644d}.btn-promote{color:#fff;background:linear-gradient(135deg,#9c27b0 0%,#7b1fa2 100%);font-weight:600}.btn-promote:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #9c27b066}.btn-promote{color:#81c784;background:#4caf5033}.btn-promote:hover:not(:disabled){background:#4caf504d}.btn-demote{color:#ffb74d;background:#ff980033}.btn-demote:hover:not(:disabled){background:#ff98004d}.btn-verify{color:#64b5f6;background:#2196f333}.btn-verify:hover:not(:disabled){background:#2196f34d}.section-description{color:#888;margin-bottom:1.5rem;font-size:.9rem}button:disabled{opacity:.5;cursor:not-allowed}.create-form{background:#ffffff08;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.create-form h3{color:#fff;margin:0 0 1rem;font-size:1rem}@media (width<=600px){.form-row{grid-template-columns:1fr}}.form-group label{color:#888;margin-bottom:.5rem;font-size:.85rem;display:block}.form-group input,.form-group textarea,.form-group select{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;width:100%;padding:.75rem;font-size:.9rem}.form-group select option{color:#fff;background:#1a1a1a}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#00d4ff;outline:none}.form-group textarea{resize:vertical}.modal-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#1a1a2e;border-radius:16px;width:100%;max-width:480px;padding:1.5rem}.modal-content.modal-large{max-width:700px;max-height:90vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h3{color:#fff;margin:0}.modal-close{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:#fff}.modal-body{margin-bottom:1.5rem}.modal-content p{color:#ddd;margin:0 0 .5rem}.modal-note{font-size:.9rem;color:#888!important}.modal-footer{justify-content:flex-end;gap:.75rem;display:flex}.detail-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-item label{color:#666;text-transform:uppercase;font-size:.8rem}.detail-item span{color:#fff}.detail-description{margin-bottom:1.5rem}.detail-description label{color:#666;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;display:block}.description-text{color:#ddd;white-space:pre-wrap;background:#ffffff08;border-radius:8px;max-height:200px;padding:1rem;line-height:1.6;overflow-y:auto}.detail-notes label{color:#666;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;display:block}.detail-notes textarea{color:#fff;resize:vertical;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;width:100%;padding:.75rem;font-size:.9rem}.detail-notes textarea:focus{border-color:#00d4ff;outline:none}@media (width<=768px){.admin-dashboard{padding:1rem}.admin-tabs{padding:.25rem}.tab-button{padding:.5rem .75rem;font-size:.8rem}.tab-label{display:none}.tab-icon{font-size:1.2rem}.section-header{flex-direction:column;align-items:flex-start}.filter-group{width:100%}.filter-group select,.search-input{flex:1}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}}.section-description{color:#888;margin-top:.25rem;font-size:.9rem}.test-harness-form{background:#ffffff08;border-radius:12px;margin-top:1rem;padding:1.5rem}.form-group label{color:#ccc;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.form-row{gap:1rem;margin-bottom:1rem;display:flex}.mode-buttons{gap:.5rem;display:flex}.mode-btn{color:#aaa;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;transition:all .2s}.mode-btn:hover{background:#ffffff14;border-color:#fff3}.mode-btn.active{color:#0096ff;background:#0096ff26;border-color:#0096ff}.test-harness-form select,.test-harness-form input[type=number],.test-harness-form input[type=text]{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;width:100%;padding:.75rem 1rem;font-size:.95rem}.test-harness-form select:focus,.test-harness-form input:focus{border-color:#0096ff;outline:none}.checkbox-group label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-group input[type=checkbox]{accent-color:#0096ff;width:18px;height:18px}.test-harness-form .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0096ff 0%,#06c 100%);border:none;border-radius:8px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.test-harness-form .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0096ff4d}.test-harness-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.test-harness-results{background:#ffffff08;border-radius:12px;margin-top:2rem;padding:1.5rem}.test-harness-results h3{color:#fff;margin:0 0 1rem;font-size:1.1rem}.results-summary{background:#0096ff0d;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:grid}.results-summary code{background:#ffffff1a;border-radius:4px;padding:.2rem .4rem;font-size:.8rem}.admin-success{color:#00c853;background:#00c8531a;border:1px solid #00c8534d;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.scenario-title-cell{align-items:center;gap:.75rem;display:flex}.scenario-thumbnail{object-fit:cover;border:1px solid #ffffff1a;border-radius:6px;width:40px;height:40px}.description-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.form-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.form-header h3{margin:0}.file-selected,.file-info,.form-hint{color:#fff9;margin-top:.5rem;font-size:.85rem;display:block}.file-selected{color:#00c853}.form-hint{color:#fff6;font-style:italic}.label-hint{color:#ffffff80;font-size:.85em;font-weight:400}.modal-warning{color:#ff9800;background:#ff98001a;border:1px solid #ff98004d;border-radius:8px;margin:1rem 0;padding:.75rem 1rem}.btn-edit{color:#0096ff;cursor:pointer;background:#0096ff1a;border:1px solid #0096ff4d;border-radius:6px;padding:.4rem .6rem;font-size:.9rem;transition:all .2s}.btn-edit:hover{background:#0096ff33;border-color:#0096ff80}.flex-1{flex:1}.flex-2{flex:2}.scenarios-tab .section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.scenarios-tab .section-header h2{margin:0}.scenarios-list{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.scenario-row{border-bottom:1px solid var(--color-border);background:var(--color-bg-card);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.scenario-row.row-deleted{opacity:.5;background:var(--color-bg-muted)}.scenario-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.scenario-title{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.scenario-meta{color:var(--color-text-muted);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.scenario-duration,.scenario-usage{color:var(--color-text-muted)}.scenario-actions{flex-shrink:0;gap:.5rem;display:flex}.status-deleted{color:#9ca3af;background:#9ca3af26}.modal-wide{max-width:700px!important}.modal-hint{color:var(--color-text-muted);margin-bottom:1rem}.modal-warning{color:#f59e0b;background:#f59e0b1a;border-radius:4px;margin:.5rem 0;padding:.75rem}.modal-note{color:var(--color-text-muted);margin-top:.5rem;font-size:.9rem}.upload-step-1{min-height:150px}@media (width<=600px){.edit-scenario-layout{flex-direction:column;align-items:center}.edit-scenario-form{width:100%}.scenario-row{flex-wrap:wrap}.scenario-actions{justify-content:flex-end;width:100%}}.competition-title-cell{flex-direction:column;gap:.25rem;display:flex}.competition-name{color:#fff;font-weight:500}.competition-meta-small{color:#888;font-size:.8rem}.creator-cell{flex-direction:column;gap:.25rem;display:flex}.email-small{color:#888;font-size:.8rem}.dates-cell{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.date-separator{color:#666}.cancellation-reason{color:#ff9800;font-size:.85rem;font-style:italic}.text-muted{color:#666}.detail-section h4{color:#fff;border-bottom:1px solid #ffffff1a;margin:0 0 .75rem;padding-bottom:.5rem;font-size:1rem}.detail-cancellation{background:#ff44441a;border:1px solid #ff44444d;border-radius:8px;margin-top:1rem;padding:1rem}.detail-cancellation label{color:#f66;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;display:block}.cancellation-text{color:#ddd;margin-bottom:.5rem;line-height:1.6}.cancellation-meta{color:#888;margin-top:.5rem;font-size:.8rem;display:block}.detail-list{flex-direction:column;gap:.5rem;display:flex}.detail-list-item{background:#ffffff08;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.list-item-name{color:#fff;font-weight:500}.list-item-meta{color:#888;font-size:.85rem}.char-count{text-align:right;color:#666;margin-top:.25rem;font-size:.8rem;display:block}.btn-danger{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f44 0%,#c00 100%);border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff44444d}.rank-cell{text-align:center;width:50px}.rank-badge{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:inline-flex}.rank-1{color:#000;background:linear-gradient(135deg,gold 0%,#ffb800 100%);box-shadow:0 2px 8px #ffd70066}.rank-2{color:#000;background:linear-gradient(135deg,silver 0%,#a0a0a0 100%);box-shadow:0 2px 8px #c0c0c066}.rank-3{color:#fff;background:linear-gradient(135deg,#cd7f32 0%,#a56428 100%);box-shadow:0 2px 8px #cd7f3266}.rank-other{color:#888;background:#ffffff1a}.contact-info{color:#ffc107;background:#ffc10726;border:1px solid #ffc1074d;border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:.85rem;display:inline-block}.score-cell{font-variant-numeric:tabular-nums}.score-cell strong{color:#00d4ff;font-size:1.05rem}.event-name{color:#aaf;background:#6464ff26;border-radius:4px;padding:.2rem .5rem;font-size:.85rem;display:inline-block}.pagination-controls{border-top:1px solid #ffffff1a;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.pagination-info{color:#888;font-size:.9rem}.groups{min-height:calc(100vh - 80px);padding:100px 24px 40px}.groups__container{max-width:1000px;margin:0 auto}.groups__header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.groups__header-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.groups__title{margin-bottom:8px;font-size:2rem;font-weight:700}.groups__subtitle{color:var(--color-text-secondary);font-size:1rem}.groups__loading{text-align:center;color:var(--color-text-muted);padding:60px;font-size:1.1rem}.groups__create-btn{background:var(--color-accent);border-radius:var(--r-input);color:var(--color-bg-primary);cursor:pointer;border:none;padding:12px 24px;font-size:.95rem;font-weight:600;transition:background .2s}.groups__create-btn:hover{background:var(--color-accent-hover)}.groups__empty-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.groups__empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);max-width:46ch;margin:0 auto;padding:36px 18px}.groups__empty b{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}.groups__grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.groups__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);flex-direction:column;padding:16px 18px;text-decoration:none;transition:border-color .2s;display:flex}.groups__card:hover{border-color:var(--color-accent)}.groups__card-name{color:var(--color-text-primary);font-size:1.2rem;font-weight:600}.groups__card-name a{color:inherit;text-decoration:none}.groups__card-name a:hover{color:var(--accent)}.groups__card-role{border-radius:var(--r-input);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;padding:4px 10px;font-size:.75rem;font-weight:600}.groups__card-role--group_admin{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}.groups__card-role--pilot{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent)}.groups__card-role--observer{border:1px solid var(--line-strong);color:var(--text-3);background:0 0}.groups__card-description{color:var(--color-text-secondary);font-size:var(--fs-label);text-overflow:ellipsis;white-space:nowrap;min-height:1.55em;margin-top:8px;line-height:1.55;overflow:hidden}.groups__card-meta{font-size:var(--fs-label);color:var(--text-3);flex-wrap:wrap;gap:16px;margin-top:13px;display:flex}.groups__card-meta b{font-family:var(--mono);color:var(--text-2);font-variant-numeric:tabular-nums;font-weight:500}.groups__card-footer{flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;display:flex}.groups__card-open{border-radius:var(--r-input);border:1px solid var(--line-strong);color:var(--text-3);font-size:var(--fs-label);background:0 0;padding:8px 14px;line-height:1.4;text-decoration:none;transition:all .2s}.groups__card-open:hover{background:var(--surface-hover);color:var(--text-2)}.groups__card-inactive{color:var(--error);font-weight:500}.groups__card-leave{border:1px solid color-mix(in srgb, var(--error) 45%, transparent);border-radius:var(--r-input);color:var(--error);font-size:var(--fs-label);cursor:pointer;background:0 0;padding:8px 14px;font-weight:500;line-height:1.4;transition:all .2s}.groups__card-leave:hover:not(:disabled){background:color-mix(in srgb, var(--error) 15%, transparent);border-color:color-mix(in srgb, var(--error) 45%, transparent)}.groups__card-leave:disabled{opacity:.6;cursor:not-allowed}.groups__modal-overlay{background:color-mix(in srgb, var(--bg) 75%, transparent);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.groups__modal{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-panel);width:100%;max-width:420px;padding:20px 22px}.groups__modal-title{margin-bottom:8px;font-size:1.25rem;font-weight:600}.groups__modal-field input.groups__modal-code{text-align:center;letter-spacing:.42em;font-family:var(--mono);text-transform:uppercase;padding:12px 10px;font-size:1.25rem}.groups__modal-error{background:color-mix(in srgb, var(--error) 15%, transparent);border:1px solid color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);border-radius:var(--r-panel);margin-bottom:20px;padding:12px 16px;font-size:.9rem}.groups__modal-field{margin-bottom:20px}.groups__modal-field label{color:var(--color-text-secondary);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.groups__modal-field input,.groups__modal-field textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--r-input);width:100%;color:var(--color-text-primary);padding:14px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s}.groups__modal-field input:focus,.groups__modal-field textarea:focus{border-color:var(--color-accent);outline:none}.groups__modal-field input::placeholder,.groups__modal-field textarea::placeholder{color:var(--color-text-muted)}.groups__modal-field textarea{resize:vertical;min-height:80px}.groups__modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.groups__modal-cancel{border:1px solid var(--color-border);border-radius:var(--r-input);color:var(--color-text-primary);cursor:pointer;background:0 0;padding:12px 24px;font-weight:500;transition:all .2s}.groups__modal-cancel:hover{background:var(--color-bg-secondary)}.groups__modal-submit{background:var(--color-accent);border-radius:var(--r-input);color:var(--color-bg-primary);cursor:pointer;border:none;padding:12px 24px;font-weight:600;transition:background .2s}.groups__modal-submit:hover:not(:disabled){background:var(--color-accent-hover)}.groups__modal-submit:disabled{opacity:.6;cursor:not-allowed}.groups__section{margin-top:30px}.groups__section:first-of-type{margin-top:0}.groups__section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.groups__section-title{color:var(--color-text-primary);font-size:1.25rem;font-weight:600}.groups__invites-list,.groups__pending-list{flex-direction:column;gap:12px;display:flex}.groups__invite-card,.groups__pending-card{border-radius:var(--r-panel);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.groups__invite-card{border:1px solid var(--accent-line);background:var(--accent-soft)}.groups__pending-card{border:1px solid var(--line-strong);background:var(--color-bg-card)}.groups__invite-info h3,.groups__pending-info h3{margin-bottom:4px;font-size:1.1rem;font-weight:600}.groups__invite-desc{color:var(--color-text-secondary);margin-bottom:4px;font-size:.9rem}.groups__invite-meta,.groups__pending-meta{color:var(--color-text-muted);font-size:.85rem}.groups__invite-actions{flex-shrink:0;gap:8px;display:flex}.groups__btn{border-radius:var(--r-input);cursor:pointer;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.groups__btn--accept{background:var(--color-accent);color:var(--color-bg-primary);border:none}.groups__btn--accept:hover:not(:disabled){background:var(--color-accent-hover)}.groups__btn--decline{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.groups__btn--decline:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-text-muted)}.groups__btn--cancel{border:1px solid color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);background:0 0}.groups__btn--cancel:hover:not(:disabled){background:color-mix(in srgb, var(--error) 10%, transparent);border-color:color-mix(in srgb, var(--error) 45%, transparent)}.groups__btn:disabled{opacity:.6;cursor:not-allowed}.groups__card-competitions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;margin-top:13px;padding-top:12px;display:flex}.groups__card-competitions-label{width:100%;font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-weight:600}.groups__card-comp-stat{border-radius:var(--r-input);border:1px solid var(--line-strong);color:var(--text-3);font-family:var(--mono);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.groups__card-comp-stat--upcoming{border-color:color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}.groups__card-comp-stat--active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.groups__card-comp-stat--completed{background:0 0}.groups__modal-desc{color:var(--color-text-secondary);margin-bottom:20px;font-size:.95rem}@media (width<=640px){.groups__header{flex-direction:column;gap:16px}.groups__create-btn{width:100%}.groups__grid{grid-template-columns:1fr}.groups__invite-card,.groups__pending-card{flex-direction:column;align-items:flex-start}.groups__invite-actions{width:100%}.groups__invite-actions .groups__btn{flex:1}}.group-detail{min-height:calc(100vh - 80px);padding:100px 24px 40px}.group-detail__container{max-width:1000px;margin:0 auto}.group-detail__loading,.group-detail__error{text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);padding:60px}.group-detail__error h2{color:var(--error);margin-bottom:12px}.group-detail__error p{color:var(--color-text-secondary);margin-bottom:24px}.group-detail__back-btn{background:var(--color-accent);border-radius:var(--r-input);color:var(--color-bg-primary);padding:12px 24px;font-weight:600;text-decoration:none;display:inline-block}.group-detail__crumb{font-size:var(--fs-label);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.group-detail__breadcrumb{color:inherit;text-decoration:none}.group-detail__breadcrumb:hover{color:var(--accent)}.group-detail__header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.group-detail__title{margin-bottom:8px;font-size:2rem;font-weight:700}.group-detail__description{color:var(--color-text-secondary);max-width:500px;font-size:1rem}.group-detail__header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.group-detail__stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(2,minmax(96px,1fr));gap:1px;display:grid;overflow:hidden}.group-detail__leave-btn{border:1px solid color-mix(in srgb, var(--error) 45%, transparent);border-radius:var(--r-input);color:var(--error);cursor:pointer;background:0 0;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.group-detail__leave-btn:hover:not(:disabled){background:var(--error);color:var(--text)}.group-detail__leave-btn:disabled{opacity:.6;cursor:not-allowed}.group-detail__stat{background:var(--surface);padding:14px 16px}.group-detail__stat-value{color:var(--text);font-size:1.75rem;line-height:1.1;font-family:var(--mono);font-variant-numeric:tabular-nums;display:block}.group-detail__stat-label{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-top:5px;font-weight:600;display:block}.group-detail__tabs{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:24px;display:flex}.group-detail__tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:all .2s}.group-detail__tab:hover{color:var(--color-text-primary)}.group-detail__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.group-detail__tab-count{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-dim);margin-left:6px}.group-detail__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.group-detail__members-list{flex-direction:column;display:flex}.group-detail__member{border-bottom:1px solid var(--line);font-size:var(--fs-label);align-items:center;gap:13px;padding:11px 16px;display:flex}.group-detail__member:last-child{border-bottom:0}.group-detail__member-avatar{border-radius:var(--r-pill);border:1px solid var(--accent-line);background:var(--accent-soft);width:22px;height:22px;color:var(--accent);font-weight:600;font-size:var(--fs-micro);flex:none;justify-content:center;align-items:center;display:flex}.group-detail__member-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.group-detail__member-tags{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.group-detail__member-you{font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--r-input);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);padding:2px 7px}.group-detail__member-role{font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.group-detail__member-role--group_admin{color:var(--accent);font-weight:600}.group-detail__empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);max-width:46ch;margin:0 auto;padding:36px 18px}.group-detail__empty b{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}.group-detail__comp-section{margin-top:30px}.group-detail__comp-section:first-of-type{margin-top:0}.group-detail__section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.group-detail__section-title{color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:600}.group-detail__comp-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.group-detail__comp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:16px 18px;text-decoration:none;transition:border-color .2s;display:block}.group-detail__comp-card:hover{border-color:var(--color-accent)}.group-detail__comp-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.group-detail__comp-name{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.group-detail__comp-badge{border-radius:var(--r-input);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;padding:4px 10px;font-size:.7rem;font-weight:600}.group-detail__comp-badge--active{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent)}.group-detail__comp-badge--upcoming{border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}.group-detail__comp-badge--ended{border:1px solid var(--line-strong);color:var(--text-3);background:0 0}.group-detail__comp-badge--cancelled{border:1px solid color-mix(in srgb, var(--error) 45%, transparent);background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}.group-detail__comp-description{color:var(--color-text-secondary);margin:0 0 12px;font-size:.9rem;line-height:1.5}.group-detail__comp-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.group-detail__comp-meta-sep{color:var(--text-dim)}@media (width<=640px){.group-detail__header{flex-direction:column;align-items:stretch}.group-detail__stats{width:100%}.group-detail__tabs{overflow-x:auto}.group-detail__tab{white-space:nowrap;padding:12px 16px}.group-detail__comp-meta{gap:8px}}.competitions{background:var(--bg);min-height:calc(100vh - 80px);padding:2rem 1rem 4rem}.competitions__container{max-width:1280px;margin:0 auto}.competitions__header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:20px;padding-bottom:16px;display:flex}.competitions__hero{text-align:left;min-width:0;padding:0}.competitions__title{font-size:var(--fs-display,2rem);color:var(--text);letter-spacing:-.02em;margin:0;font-weight:600}.competitions__subtitle{color:var(--text-3);font-size:var(--fs-label,.875rem);max-width:74ch;margin:5px 0 0;line-height:1.6}.competitions__filters{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:flex-start;gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.competitions__filter{color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:10px 15px;font-size:.85rem;font-weight:500;transition:color .18s,border-color .18s;display:flex}.competitions__filter:hover{color:var(--text-2)}.competitions__filter--active{border-bottom-color:var(--accent);color:var(--accent);background:0 0;font-weight:600}.competitions__filter--active:hover{color:var(--accent)}.competitions__filter-dot{border-radius:var(--r-pill);background:var(--accent);flex:none;width:7px;height:7px}.competitions__filter-dot--active{animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.competitions__grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.competitions__title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.competitions__meta-row{align-items:center;gap:1.5rem;display:flex}.competitions__card-action{border-top:1px solid var(--line);color:var(--accent);justify-content:center;align-items:center;margin-top:auto;padding:.875rem 1rem;font-size:.875rem;font-weight:500;transition:background .18s;display:flex}.competitions__card:hover .competitions__card-action{color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.competitions__footer{border-top:1px solid var(--line);justify-content:center;margin-top:2.5rem;padding-top:2rem;display:flex}.competitions__browse-link{border:1px solid var(--accent-line);border-radius:var(--r-input);color:var(--accent);background:0 0;align-items:center;gap:.5rem;padding:.875rem 2rem;font-weight:500;text-decoration:none;transition:background .18s;display:inline-flex}.competitions__browse-link:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.competitions__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);color:inherit;box-shadow:var(--sh-1);flex-direction:column;text-decoration:none;transition:border-color .18s,background .18s;display:flex;overflow:hidden}.competitions__card:hover{border-color:var(--line-strong);background:var(--surface-hover)}.competitions__card-image-wrapper{border-bottom:1px solid var(--line);background-color:var(--surface-raised);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:26px 26px;align-items:flex-end;gap:9px;width:100%;height:112px;padding:11px 13px;display:flex;position:relative;overflow:hidden}.competitions__card-ph{font-family:var(--mono);font-size:var(--fs-micro);color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.competitions__card-badges{flex-wrap:wrap;gap:7px;display:flex;position:absolute;top:11px;left:13px}.competitions__card-badges--right{left:auto;right:13px}.competitions__badge{border:1px solid var(--line-strong);border-radius:var(--r-pill);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;align-items:center;gap:6px;padding:4px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.competitions__badge--active{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.competitions__badge--upcoming{border-color:var(--line-strong);color:var(--text-3);background:0 0}.competitions__badge--ended,.competitions__badge--draft{color:var(--text-dim);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.competitions__badge--cancelled{border-color:color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent)}.competitions__badge--private{border-color:var(--line-strong);color:var(--text-3);background:0 0}.competitions__badge-icon{align-items:center;display:inline-flex}.competitions__live-dot{border-radius:var(--r-pill);background:var(--accent);width:7px;height:7px;animation:2.4s ease-in-out infinite pulse}.competitions__countdown{background:color-mix(in srgb, var(--bg) 55%, transparent)}.competitions__card-content{flex-direction:column;flex-grow:1;padding:1.25rem;display:flex}.competitions__card-header{flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:1rem 1rem 0;display:flex}.competitions__card-content .competitions__card-header{margin-bottom:.5rem;padding:0}.competitions__user-badge{border-radius:var(--r-pill);text-transform:uppercase;flex-shrink:0;padding:.2rem .6rem;font-size:.65rem;font-weight:600}.competitions__user-badge--registered{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.competitions__user-badge--invited{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--warning)}.competitions__card-title{color:var(--text);flex-grow:1;margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.competitions__card-description{color:var(--text-3);flex-grow:1;margin:0 0 1rem;font-size:.875rem;line-height:1.5}.competitions__card-meta{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.competitions__meta-item{color:var(--text-3);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.competitions__meta-icon{align-items:center;display:inline-flex}.competitions__card-stats{border-top:1px solid var(--line);gap:0;margin-top:auto;display:flex}.competitions__stat{border-right:1px solid var(--line);flex-direction:column;flex:1 1 0;align-items:flex-start;min-width:0;padding:12px 16px;display:flex}.competitions__stat:last-child{border-right:0}.competitions__stat-value{font-family:var(--mono);font-size:var(--fs-title,1.125rem);color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.competitions__stat-label{font-size:var(--fs-micro,.7rem);color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;margin-top:5px;font-weight:600}.competitions__stat-divider{display:none}.competitions__loading{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;padding:6rem 2rem;display:flex}.competitions__spinner{border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:var(--r-pill);width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.competitions__empty-panel{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-1)}.competitions__empty{text-align:center;color:var(--text-3);font-size:var(--fs-label,.875rem);padding:36px 18px}.competitions__empty h3{color:var(--text-2);font-size:var(--fs-header,1rem);margin:0 0 6px;font-weight:600}.competitions__empty p{max-width:60ch;margin:0 auto;line-height:1.6}.competitions__empty-actions{text-align:center;padding:0 18px 22px}.competitions__empty-btn{background:var(--accent);border-radius:var(--r-input);color:var(--bg);cursor:pointer;border:none;padding:.875rem 2rem;font-weight:600;transition:background .18s}.competitions__empty-btn:hover{background:color-mix(in srgb, var(--accent) 82%, white)}.competitions__error{text-align:center;background:color-mix(in srgb, var(--error) 10%, transparent);border:1px solid color-mix(in srgb, var(--error) 45%, transparent);border-radius:var(--r-panel);color:var(--error);padding:3rem 2rem}.competitions__error button{background:var(--error);border-radius:var(--r-input);color:var(--text);cursor:pointer;border:none;margin-top:1rem;padding:.625rem 1.25rem;font-weight:500;transition:background .2s}.competitions__error button:hover{background:var(--error)}@media (width<=768px){.competitions{padding:1.5rem 1rem 3rem}.competitions__filters{gap:.375rem;padding:0 .5rem}.competitions__filter{padding:.5rem 1rem;font-size:.85rem}}@media (width<=640px){.competitions__grid{grid-template-columns:1fr}.competitions__meta-row{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (width<=480px){.competitions__filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.5rem;overflow-x:auto}.competitions__filters::-webkit-scrollbar{display:none}.competitions__filter{flex-shrink:0}}.competition-detail{background:var(--bg);min-height:calc(100vh - 80px)}.competition-detail__hero{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-1);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:22px;margin-bottom:22px;padding:20px 22px;display:grid}.competition-detail__hero-main{min-width:0}.competition-detail__hero-side{border-left:1px solid var(--line);min-width:0;padding-left:22px}.competition-detail__entry-note{font-size:var(--fs-label,.875rem);color:var(--text-2);margin-top:6px}.competition-detail__breadcrumb{font-size:var(--fs-label,.875rem);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.competition-detail__breadcrumb a{color:var(--accent);text-decoration:none;transition:color .2s}.competition-detail__breadcrumb a:hover{color:var(--accent)}.competition-detail__breadcrumb-sep{color:var(--text-dim)}.competition-detail__breadcrumb span:last-child{color:var(--text-3)}.competition-detail__title-row{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.competition-detail__title-row .competition-detail__title{margin:0}.competition-detail__title-row .competition-detail__badge{flex-shrink:0}.competition-detail__badge{border:1px solid var(--line-strong);border-radius:var(--r-pill);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);background:0 0;align-items:center;gap:6px;padding:4px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.competition-detail__badge--active{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.competition-detail__badge--upcoming{border-color:var(--line-strong);color:var(--text-3);background:0 0}.competition-detail__badge--ended,.competition-detail__badge--draft{color:var(--text-dim);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.competition-detail__badge--cancelled{border-color:color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent)}.competition-detail__badge--private{border-color:var(--line-strong);color:var(--text-3);background:0 0}.competition-detail__badge svg{flex:none}.competition-detail__title{font-size:var(--fs-display,2rem);color:var(--text);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.15}.competition-detail__description{color:var(--text-3);font-size:var(--fs-label,.875rem);max-width:74ch;margin:12px 0 0;line-height:1.65}.competition-detail__meta-label{font-size:var(--fs-micro,.7rem);color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:5px;font-weight:600}.competition-detail__meta-label--spaced{margin-top:16px}.competition-detail__meta-value{color:var(--text-2);font-family:var(--mono);font-size:var(--fs-label,.875rem)}.competition-detail__meta-value+.competition-detail__meta-value{margin-top:4px}.competition-detail__register-btn{background:var(--accent);border-radius:var(--r-input);color:var(--bg);cursor:pointer;border:none;margin-top:8px;padding:.6rem 1.25rem;font-size:1rem;font-weight:600;transition:background .18s}.competition-detail__register-btn:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 82%, white)}.competition-detail__register-btn:disabled{opacity:.7;cursor:not-allowed}.competition-detail__invite-notice{color:var(--text-3);font-size:var(--fs-label,.875rem);margin-top:9px;display:block}.competition-detail__container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.competition-detail__tabs{border-bottom:1px solid var(--line);align-items:center;gap:2px;margin-bottom:2rem;padding-bottom:0;display:flex}.competition-detail__tabs-live{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-pill);align-items:center;gap:6px;margin-left:auto;padding:4px 9px;font-size:.7rem;display:inline-flex}.competition-detail__tab{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:10px 15px;font-size:.9rem;font-weight:500;transition:color .18s,border-color .18s;display:flex}.competition-detail__tab:hover{color:var(--text-2)}.competition-detail__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.competition-detail__tab-count{font-family:var(--mono);color:var(--text-dim);background:0 0;border-radius:0;padding:0;font-size:.75rem;font-weight:600}.competition-detail__tab--active .competition-detail__tab-count{color:var(--accent)}.competition-detail__events-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.competition-detail__event-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);color:inherit;box-shadow:var(--sh-1);flex-direction:column;text-decoration:none;transition:border-color .18s,background .18s;display:flex;position:relative;overflow:hidden}.competition-detail__event-card:hover{border-color:var(--line-strong);background:var(--surface-hover)}.competition-detail__event-status{border:1px solid var(--line-strong);border-radius:var(--r-pill);font-family:var(--mono);font-size:var(--fs-micro,.7rem);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);background:0 0;align-items:center;gap:6px;padding:4px 9px;font-weight:600;display:inline-flex}.competition-detail__event-status--active{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.competition-detail__event-status--upcoming{border-color:var(--line-strong);color:var(--text-3)}.competition-detail__event-status--ended{color:var(--text-dim);background:0 0;border-color:#0000}.competition-detail__dot{border-radius:var(--r-pill);background:var(--accent);flex:none;width:7px;height:7px}.competition-detail__dot--pulse{animation:2.4s ease-in-out infinite competition-detail__pulse}.competition-detail__event-content{flex-direction:column;flex:1;align-items:flex-start;padding:15px 17px;display:flex}.competition-detail__event-title{font-size:var(--fs-header,1rem);color:var(--text);margin:10px 0 0;font-weight:600;line-height:1.3}.competition-detail__event-description{color:var(--text-3);font-size:var(--fs-label,.875rem);margin:8px 0 0;line-height:1.55}.competition-detail__event-meta{border-top:1px solid var(--line);color:var(--text-3);font-size:var(--fs-label,.875rem);flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto;padding:12px 17px;display:flex}.competition-detail__event-meta-item{align-items:center;gap:.25rem;display:flex}.competition-detail__event-meta-item b{font-family:var(--mono);color:var(--text-2);font-weight:500}.competition-detail__event-leaderboard-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:.8rem;font-weight:500}.competition-detail__event-leaderboard-link:hover{text-decoration:underline}.competition-detail__event-arrow{display:none}.competition-detail__empty{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:4rem 2rem}.competition-detail__empty h3,.competition-detail__empty h4{color:var(--text);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.competition-detail__empty p{color:var(--text-3);max-width:400px;margin:0 auto}.competition-detail__podium{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:2rem;display:grid;overflow:hidden}.competition-detail__podium-place{border-left:1px solid var(--line);align-items:baseline;gap:14px;padding:16px 18px;display:flex}.competition-detail__podium-place:first-child{border-left:0}.competition-detail__podium-rank{font-family:var(--mono);color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:1.4em;font-size:1.5rem;font-weight:500}.competition-detail__podium-place:first-child .competition-detail__podium-rank{color:var(--accent)}.competition-detail__podium-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.competition-detail__podium-score{font-family:var(--mono);color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:1rem}.competition-detail__podium-place:first-child .competition-detail__podium-score{color:var(--accent)}.competition-detail__leaderboard-table-wrapper{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow-x:auto}.competition-detail__leaderboard-table{border-collapse:collapse;width:100%;font-size:.9rem}.competition-detail__leaderboard-table th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--line);background:var(--surface-raised);padding:10px 18px;font-size:.7rem;font-weight:600}.competition-detail__leaderboard-table td{color:var(--text);border-bottom:1px solid var(--line-strong);padding:1rem 1.25rem}.competition-detail__leaderboard-table tbody tr:last-child td{border-bottom:none}.competition-detail__leaderboard-table tbody tr:hover{background:var(--surface-hover)}.competition-detail__th--rank,.competition-detail__td--rank{text-align:center;width:70px}.competition-detail__th--name,.competition-detail__td--name{text-align:left}.competition-detail__th--events,.competition-detail__td--events{text-align:left;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.85rem;overflow:hidden}.competition-detail__th--score,.competition-detail__td--score{text-align:center;font-weight:600;font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums}.competition-detail__th--time,.competition-detail__td--time{text-align:center;font-family:var(--mono);color:var(--text-3);font-variant-numeric:tabular-nums}.competition-detail__th--runs,.competition-detail__td--runs{text-align:center;color:var(--text-3)}.competition-detail__rank{font-family:var(--mono);color:var(--text-3);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:500}.competition-detail__leaderboard-table tbody tr td:first-child,.competition-detail__modal-table-wrapper table tbody tr td:first-child{border-left:3px solid #0000}.competition-detail__row--p1 td:first-child{border-left-color:var(--accent)}.competition-detail__row--p2 td:first-child{border-left-color:color-mix(in srgb, var(--accent) 50%, transparent)}.competition-detail__row--p3 td:first-child{border-left-color:color-mix(in srgb, var(--accent) 22%, transparent)}.competition-detail__row--p1 .competition-detail__rank,.competition-detail__row--p2 .competition-detail__rank,.competition-detail__row--p3 .competition-detail__rank{color:var(--text)}.competition-detail__row--p1 .competition-detail__rank,.competition-detail__row--p1 .competition-detail__td--score{color:var(--accent)}.competition-detail__pilot{flex-direction:column;gap:2px;min-width:0;display:flex}.competition-detail__pilot b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.competition-detail__pilot small{font-family:var(--mono);font-size:var(--fs-data,.7rem);color:var(--text-dim)}.competition-detail__leaderboard-note{color:var(--text-3);font-size:var(--fs-label,.8rem);flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;padding:0;display:flex}.competition-detail__loading{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;padding:8rem 2rem;display:flex}.competition-detail__loading--inline{padding:4rem 2rem}.competition-detail__spinner{border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:var(--r-pill);width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.competition-detail__error{text-align:center;padding:6rem 2rem}.competition-detail__error h2{color:var(--error);margin:0 0 .5rem;font-size:1.5rem}.competition-detail__error p{color:var(--text-3);margin:0 0 2rem}.competition-detail__back-btn{border:1px solid var(--accent-line);border-radius:var(--r-input);color:var(--accent);background:0 0;padding:.875rem 2rem;font-weight:500;text-decoration:none;transition:background .18s;display:inline-block}.competition-detail__back-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}@media (width<=1023px){.competition-detail__hero{grid-template-columns:minmax(0,1fr)}.competition-detail__hero-side{border-left:0;border-top:1px solid var(--line);padding-top:18px;padding-left:0}}@media (width<=768px){.competition-detail__title-row{align-items:flex-start;gap:.5rem}.competition-detail__container{padding:0 1rem 3rem}.competition-detail__tabs{gap:0;overflow-x:auto}.competition-detail__tab{white-space:nowrap;padding:.875rem 1rem;font-size:.85rem}.competition-detail__events-grid,.competition-detail__podium{grid-template-columns:1fr}.competition-detail__podium-place{border-left:0;border-top:1px solid var(--line)}.competition-detail__podium-place:first-child{border-top:0}.competition-detail__leaderboard-table th,.competition-detail__leaderboard-table td{padding:.75rem}.competition-detail__th--events,.competition-detail__td--events{display:none}}@media (width<=480px){.competition-detail__hero{padding:16px 14px}.competition-detail__register-btn{text-align:center;width:100%}}.competition-detail__modal-overlay{background:color-mix(in srgb, var(--bg) 80%, transparent);z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.competition-detail__modal{background:var(--surface-raised);border-radius:var(--r-panel);border:1px solid var(--line-strong);width:100%;max-width:600px;max-height:80vh;box-shadow:var(--sh-2);padding:20px 22px;position:relative;overflow-y:auto}.competition-detail__modal-head{align-items:baseline;gap:12px;display:flex}.competition-detail__modal-close{border-radius:var(--r-input);border:1px solid var(--line-strong);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;flex:none;margin-left:auto;padding:4px 11px;font-size:1.1rem;line-height:1.2;transition:background .18s}.competition-detail__modal-close:hover{background:var(--surface-hover)}.competition-detail__modal-title{font-size:var(--fs-title,1.125rem);color:var(--text);min-width:0;margin:0;font-weight:600}.competition-detail__modal-table-wrapper{margin-top:16px;overflow-x:auto}.competition-detail__modal-actions{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.competition-detail__modal-btn{border-radius:var(--r-input);border:1px solid var(--line-strong);color:var(--text-2);cursor:pointer;background:0 0;padding:.5rem 1.5rem;transition:background .18s}.competition-detail__modal-btn:hover{background:var(--surface-hover)}.competition-detail__td--rank{text-align:center;font-size:1rem}.competition-detail__lead-by-event{margin-top:2rem}.competition-detail__events-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.competition-detail__event-column{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden}.competition-detail__event-column-header{background:var(--surface-raised);border-bottom:1px solid var(--line);padding:10px 18px}.competition-detail__event-column-header--clickable{cursor:pointer;transition:background .18s}.competition-detail__event-column-header--clickable:hover{background:var(--surface-hover)}.competition-detail__event-column-header h3{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.competition-detail__event-column-link{color:var(--accent);opacity:.7;margin-top:4px;font-size:.75rem;transition:opacity .2s;display:block}.competition-detail__event-column-header--clickable:hover .competition-detail__event-column-link{opacity:1}.competition-detail__event-column-empty{text-align:center;color:var(--text-dim);padding:2rem 1rem;font-size:.875rem}.competition-detail__event-column-entries{flex-direction:column;display:flex}.competition-detail__event-entry{border-bottom:1px solid var(--line);font-size:var(--fs-label,.875rem);border-left:3px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 15px;transition:background .18s;display:grid}.competition-detail__event-entry:last-child{border-bottom:0}.competition-detail__event-entry:hover{background:var(--surface-hover)}.competition-detail__event-entry--p1{border-left-color:var(--accent)}.competition-detail__event-entry--p2{border-left-color:color-mix(in srgb, var(--accent) 50%, transparent)}.competition-detail__event-entry--p3{border-left-color:color-mix(in srgb, var(--accent) 22%, transparent)}.competition-detail__event-entry-rank{font-family:var(--mono);color:var(--text-dim);font-variant-numeric:tabular-nums}.competition-detail__event-entry--p1 .competition-detail__event-entry-rank{color:var(--accent)}.competition-detail__event-entry-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.competition-detail__event-entry-stats{font-size:var(--fs-data,.75rem);color:var(--text-3);font-family:var(--mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=768px){.competition-detail__events-columns{grid-template-columns:1fr}}.competition-detail__live-indicator{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);align-items:center;gap:.4rem;margin-right:1rem;font-size:.7rem;display:inline-flex}.competition-detail__live-dot{border-radius:var(--r-pill);background:var(--accent);width:7px;height:7px;animation:2.4s ease-in-out infinite competition-detail__pulse}@keyframes competition-detail__pulse{0%,to{opacity:1}50%{opacity:.25}}.competition-event{background:var(--bg);min-height:calc(100vh - 80px);padding:26px 0 56px}.competition-event__container{max-width:1280px;padding:0 var(--gutter);margin:0 auto}.competition-event__breadcrumb{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.9rem;display:flex}.competition-event__breadcrumb a{color:var(--text);text-decoration:none;transition:color .2s}.competition-event__breadcrumb a:hover{color:var(--text)}.competition-event__breadcrumb-sep{color:var(--text-dim)}.competition-event__breadcrumb span:last-child{color:var(--text-3)}.competition-event__header{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:16px}.competition-event__header-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.competition-event__badge{border-radius:var(--r-input);text-transform:uppercase;letter-spacing:.5px;padding:.3rem .75rem;font-size:.75rem;font-weight:600}.competition-event__badge--active{background:color-mix(in srgb, var(--success) 20%, transparent);color:var(--success);animation:2s infinite pulse}.competition-event__badge--upcoming{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--text)}.competition-event__badge--ended{background:color-mix(in srgb, var(--line-strong) 20%, transparent);color:var(--text-3)}.competition-event__badge--registered{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--text)}.competition-event__title{color:var(--text);margin:0 0 1rem;font-size:2.5rem;font-weight:700;line-height:1.2}.competition-event__description{color:var(--text-3);margin:0 0 1.5rem;font-size:1.1rem;line-height:1.6}.competition-event__stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;display:grid;overflow:hidden}.competition-event__stat{background:var(--surface);min-width:0;padding:14px 16px}.competition-event__stat-label{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}.competition-event__stat-value{font-family:var(--mono);font-size:var(--fs-display);font-variant-numeric:tabular-nums;color:var(--text);margin-top:7px;line-height:1.1}.competition-event__stat-value--date{font-family:inherit;font-size:var(--fs-label);color:var(--text-2);line-height:1.4}.competition-event__join-btn{background:var(--accent);border-radius:var(--r-panel);color:var(--text);cursor:pointer;border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.competition-event__join-btn:hover:not(:disabled){box-shadow:var(--sh-2);transform:translateY(-2px)}.competition-event__join-btn:disabled{opacity:.7;cursor:not-allowed}.competition-event__joined-notice{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid var(--line-strong);border-radius:var(--r-panel);color:var(--text);padding:1rem;font-weight:500}.competition-event__section{margin-top:30px}.competition-event__sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.competition-event__section-title{font-size:var(--fs-title);color:var(--text);margin:0;font-weight:600}.competition-event__facts{flex-direction:column;display:flex}.competition-event__fact{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px 18px;padding:11px 0;display:grid}.competition-event__fact:last-child{border-bottom:0}.competition-event__fact-label{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}.competition-event__fact-value{font-family:var(--mono);font-size:var(--fs-data);font-variant-numeric:tabular-nums;color:var(--text);text-align:right;overflow-wrap:anywhere;min-width:0}.competition-event__facts--nested{border-left:1px solid var(--line-strong);text-align:left;margin-top:6px;padding-left:14px}.competition-event__facts--nested .competition-event__fact{padding:7px 0}.competition-event__fact-prose{font-size:var(--fs-body);color:var(--text-2);margin:0;line-height:1.55}.competition-event__scenarios-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.competition-event__scenario-card{background:var(--surface-hover);border:1px solid var(--line-strong);border-radius:var(--r-panel);padding:1.25rem;transition:border-color .2s}.competition-event__scenario-card:hover{border-color:var(--line-strong)}.competition-event__scenario-card--competition{border-color:var(--accent-line)}.competition-event__scenario-badge{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:var(--r-input);color:var(--text);text-transform:uppercase;margin-bottom:.75rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.competition-event__scenario-title{color:var(--text);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.competition-event__scenario-description{color:var(--text-3);margin:0 0 .75rem;font-size:.85rem;line-height:1.4}.competition-event__scenario-filename{color:var(--text-3);margin:0 0 .75rem;font-family:monospace;font-size:.8rem}.competition-event__scenario-meta{color:var(--text-3);flex-wrap:wrap;gap:.75rem;font-size:.8rem;display:flex}.competition-event__scenario-available{background:color-mix(in srgb, var(--success) 10%, transparent);border-radius:var(--r-input);color:var(--success);padding:.5rem;font-size:.8rem}.competition-event__scenario-locked{background:color-mix(in srgb, var(--warning) 10%, transparent);border-radius:var(--r-input);color:var(--warning);padding:.5rem;font-size:.8rem}.competition-event__no-scenarios,.competition-event__no-entries{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.competition-event__no-entries-title{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}.competition-event__badge--difficulty{color:var(--text)}.competition-event__badge--tier1{border:1px solid var(--line-strong);color:var(--text-3);background:0 0;font-weight:500}.competition-event__badge--tier2{border:1px solid var(--accent-line);color:var(--accent);background:0 0;font-weight:500}.competition-event__badge--tier3{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);font-weight:600}.competition-event__badge--tier4{background:var(--accent);border:1px solid var(--accent);color:var(--bg);font-weight:600}.competition-event__scenario-meta-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.competition-event__meta-card{background:var(--surface-hover);border:1px solid var(--line-strong);border-radius:var(--r-panel);align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;transition:border-color .2s;display:flex}.competition-event__meta-card:hover{border-color:var(--line-strong)}.competition-event__meta-card--full{grid-column:1/-1}.competition-event__meta-card-icon{flex-shrink:0;font-size:1.5rem}.competition-event__meta-card-content{min-width:0}.competition-event__meta-card-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.7rem}.competition-event__meta-card-value{color:var(--text);word-break:break-word;font-size:.95rem;line-height:1.4}.competition-event__meta-card-tags{flex-wrap:wrap;gap:.5rem;display:flex}.competition-event__tag{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid var(--line-strong);border-radius:var(--r-input);color:var(--text);padding:.25rem .625rem;font-size:.8rem;font-weight:500;display:inline-block}.competition-event__briefing{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);margin-top:14px;padding:16px 18px}.competition-event__briefing-title{color:var(--text);margin:0 0 .75rem;font-size:1rem;font-weight:600}.competition-event__briefing-text{color:var(--text-3);margin:0;font-size:.95rem;line-height:1.6}.competition-event__scoring,.competition-event__restrictions{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);margin-top:14px;padding:16px 18px}.competition-event__scoring-title,.competition-event__restrictions-title{color:var(--text);margin:0 0 .75rem;font-size:1rem;font-weight:600}.competition-event__scoring-content,.competition-event__restrictions-content{color:var(--text-3);font-size:.9rem;line-height:1.6}.competition-event__scoring-content p,.competition-event__restrictions-content p{margin:0}.competition-event__loading{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;padding:6rem 2rem;display:flex}.competition-event__spinner{border:3px solid var(--line-strong);border-top-color:var(--accent-line);border-radius:var(--r-pill);width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.competition-event__error{text-align:center;padding:4rem 2rem}.competition-event__error h2{color:var(--error);margin:0 0 1rem}.competition-event__error p{color:var(--text-3);margin:0 0 2rem}.competition-event__back-btn{border:1px solid var(--line-strong);border-radius:var(--r-panel);color:var(--text);background:0 0;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:inline-block}.competition-event__back-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.competition-event__section-toggle{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.competition-event__section-title--toggle{border-bottom:none;margin-bottom:0;padding-bottom:0}.competition-event__toggle-icon{color:var(--text);font-size:.875rem}.competition-event__leaderboard-note{color:var(--text-3);font-size:var(--fs-label);margin:0 0 12px}.competition-event__leaderboard-table-wrapper{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow-x:auto}.competition-event__leaderboard-table{border-collapse:collapse;width:100%;font-size:.9rem}.competition-event__leaderboard-table th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line-strong);padding:.75rem 1rem;font-size:.75rem;font-weight:500}.competition-event__leaderboard-table td{color:var(--text);border-bottom:1px solid color-mix(in srgb, var(--line-strong) 50%, transparent);padding:.875rem 1rem}.competition-event__leaderboard-table tbody tr:last-child td{border-bottom:none}.competition-event__th--rank,.competition-event__td--rank{text-align:center;width:60px}.competition-event__th--score,.competition-event__td--score{text-align:right;font-weight:600}.competition-event__th--time,.competition-event__td--time{text-align:right;color:var(--text-3);font-family:SF Mono,Fira Code,monospace}.competition-event__th--attempts,.competition-event__td--attempts{text-align:center;color:var(--text-3)}.competition-event__rank{border-radius:var(--r-pill);justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex}.competition-event__rank--gold{color:var(--accent);background:0 0;font-weight:600}.competition-event__rank--silver,.competition-event__rank--bronze{color:var(--text);background:0 0;font-weight:600}.competition-event__leaderboard-table tbody td:first-child{border-left:3px solid #0000}.competition-event__row--p1 td:first-child{border-left-color:var(--accent)}.competition-event__row--p2 td:first-child{border-left-color:color-mix(in srgb, var(--accent) 50%, transparent)}.competition-event__row--p3 td:first-child{border-left-color:color-mix(in srgb, var(--accent) 22%, transparent)}.competition-event__td--name{font-weight:600}.competition-event__leaderboard-table tbody tr:hover{background:var(--wash-02)}.competition-event__row--me,.competition-event__leaderboard-table tbody tr.competition-event__row--me:hover{background:var(--accent-soft)}@media (width<=768px){.competition-event__title{font-size:1.75rem}.competition-event__scenarios-grid,.competition-event__scenario-meta-grid{grid-template-columns:1fr}.competition-event__leaderboard-table th,.competition-event__leaderboard-table td{padding:.625rem .5rem}.competition-event__leaderboard-table{min-width:520px}}.profile{min-height:calc(100vh - 80px);padding:100px 24px 40px}.profile__container{max-width:800px;margin:0 auto}.profile__loading{text-align:center;color:var(--color-text-muted);padding:60px;font-size:1.1rem}.profile__header{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:20px;padding:20px 22px;display:flex}.profile__avatar-wrapper{flex-shrink:0}.profile__info{min-width:0}.profile__avatar{border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid var(--accent-line);width:64px;height:64px;color:var(--accent);font-size:var(--fs-display);justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.profile__avatar img{object-fit:cover;width:100%;height:100%}.profile__actions{flex-wrap:wrap;gap:9px;margin-left:auto;display:flex}.profile__action{font:inherit;font-size:var(--fs-label);border-radius:var(--r-input);border:1px solid var(--line-strong);color:var(--text-3);cursor:pointer;white-space:nowrap;transition:background var(--t-quick) var(--ease), color var(--t-quick) var(--ease);background:0 0;padding:8px 14px}.profile__action:hover:not(:disabled){background:var(--surface-hover);color:var(--text-2)}.profile__action:disabled{opacity:.42;cursor:not-allowed}.profile__file-input{display:none}.profile__name{font-size:var(--fs-display);font-weight:700}.profile__username-edit{align-items:center;gap:8px;margin-bottom:4px;display:flex}.profile__username-input{border:2px solid var(--color-border);border-radius:var(--r-panel);background:var(--color-bg-secondary);color:var(--color-text-primary);width:200px;padding:4px 8px;font-size:1.5rem;font-weight:700;transition:border-color .2s}.profile__username-input:focus{border-color:var(--color-accent);outline:none}.profile__username-actions{gap:4px;display:flex}.profile__username-btn{cursor:pointer;border-radius:var(--r-input);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:background .2s,color .2s;display:flex}.profile__username-btn svg{width:18px;height:18px}.profile__username-btn--save{color:var(--success)}.profile__username-btn--save:hover{background:color-mix(in srgb, var(--success) 15%, transparent)}.profile__username-btn--cancel{color:var(--error)}.profile__username-btn--cancel:hover{background:color-mix(in srgb, var(--error) 15%, transparent)}.profile__username-btn:disabled{opacity:.5;cursor:not-allowed}.profile__username-btn--save:disabled svg{animation:1s linear infinite spin}.profile__error{color:var(--error);margin-bottom:8px;font-size:.85rem}.profile__email{color:var(--text-3);font-size:var(--fs-label);margin-top:4px}.profile__badges{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.profile__badge{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;padding:4px 9px;line-height:1.5;display:inline-flex}.profile__badge--admin{border-color:color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}.profile__badge--pilot{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.profile__badge--linked{border-color:color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.profile__stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;margin-bottom:10px;display:grid;overflow:hidden}.profile__stat{background:var(--surface);text-align:left;padding:14px 16px}.profile__stat-value{font-family:var(--mono);font-size:var(--fs-display);color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1;display:block}.profile__stat-value--accent{color:var(--accent)}.profile__stat-label{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;margin-top:5px;font-weight:600;display:block}.profile__section{margin-top:30px;display:block}.profile__section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.profile__section-header h2{font-size:var(--fs-title);font-weight:600}.profile__section-header a{font-size:var(--fs-label);color:var(--accent)}.profile__section-header a:hover{text-decoration:underline}.profile__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);padding:16px 18px}.profile__muted{color:var(--text-3);font-size:var(--fs-label)}.profile__muted a{color:var(--accent)}.profile__list{padding:0}.profile__li{border-bottom:1px solid var(--line);font-size:var(--fs-label);transition:background var(--t-quick) var(--ease);align-items:center;gap:13px;padding:11px 16px;text-decoration:none;display:flex}.profile__li:last-child{border-bottom:0}a.profile__li:hover{background:var(--wash-06)}.profile__li-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile__li-role{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin-left:auto}.profile__li-date{font-family:var(--mono);font-size:var(--fs-data);color:var(--text-dim);white-space:nowrap;margin-left:auto}.profile__li-score{font-family:var(--mono);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.profile__kv{font-size:var(--fs-label);grid-template-columns:auto 1fr;gap:6px 18px;margin-top:13px;display:grid}.profile__kv dt{color:var(--text-3);white-space:nowrap}.profile__kv dd{color:var(--text-2);margin:0}.profile__syndojo-cta{background:var(--accent);color:var(--bg);border-radius:var(--r-input);font-size:var(--fs-label);margin-top:13px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-block}.profile__syndojo-cta:hover{background:color-mix(in srgb, var(--accent) 82%, white)}@media (width<=860px){.profile__actions{width:100%;margin-left:0}}.get-syndojo{min-height:calc(100vh - 80px);padding:26px var(--gutter) 56px}.syndojo-container{max-width:720px;margin:0 auto}.syndojo-header{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:16px}.syndojo-header h1{font-size:var(--fs-display);color:var(--text)}.syndojo-header .subtitle{color:var(--text-3);font-size:var(--fs-label);max-width:74ch;margin-top:5px}.military-notice{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-panel);font-size:var(--fs-label);gap:13px;padding:14px 16px;line-height:1.6;display:flex}.military-notice .notice-label{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);flex:none;padding-top:2px}.military-notice p{color:var(--text-2);margin:0}.military-notice strong{color:var(--text);font-weight:600}.syndojo-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);margin-top:20px;padding:16px 18px}.syndojo-form .form-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.syndojo-form .btn-primary{justify-content:center;width:100%}.syndojo-result{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);padding:38px 26px}.syndojo-badge{border-radius:var(--r-pill);border:1px solid var(--line-strong);font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;margin-bottom:14px;padding:4px 9px;line-height:1.5;display:inline-flex}.syndojo-badge--ok{border-color:color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.syndojo-badge--wait{border-color:color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}.syndojo-result h1{font-size:var(--fs-display);color:var(--text)}.syndojo-result__message{color:var(--text-3);font-size:var(--fs-label);margin-top:11px;line-height:1.65}.syndojo-result__note{color:var(--text-dim);font-size:var(--fs-label);margin-top:9px}.syndojo-result__again{margin-top:20px}.supported-domains{margin-top:30px}.syndojo__section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.syndojo__section-head h2{font-size:var(--fs-title)}.domain-list{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}.domain-list__row{border-bottom:1px solid var(--line);font-size:var(--fs-label);align-items:center;gap:14px;padding:11px 16px;display:flex}.domain-list__row:last-child{border-bottom:0}.domain-list__row code{font-family:var(--mono);color:var(--accent);min-width:13ch}.domain-list__row span{color:var(--text-3)}.non-military-note{color:var(--text-3);font-size:var(--fs-label);margin:13px 0 0;line-height:1.65}.download-page{min-height:calc(100vh - 80px);padding:26px var(--gutter) 56px}.download-container{max-width:720px;margin:0 auto}.download-header{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:16px}.download-header h1{font-size:var(--fs-display);color:var(--text)}.download-status{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);text-align:center;padding:34px 26px}.download-badge{border-radius:var(--r-pill);border:1px solid var(--line-strong);font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;margin-bottom:13px;padding:4px 9px;line-height:1.5;display:inline-flex}.download-badge--ok{border-color:color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.download-badge--err{border-color:color-mix(in srgb, var(--error) 45%, transparent);background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}.download-status h2{font-size:var(--fs-title);color:var(--text)}.download-status__line{color:var(--text-3);font-size:var(--fs-label);margin-top:10px}.download-status__hint{color:var(--text-dim);font-size:var(--fs-label);margin-top:8px}.download-status__hint a{color:var(--accent)}.download-status__hint a:hover{text-decoration:underline}.download-status__error{text-align:left;margin-top:12px;display:inline-block}.download-status__cta{margin-top:18px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:var(--r-pill);width:40px;height:40px;margin:0 auto 1.5rem;animation:1s linear infinite spin}.download-next{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);margin-top:16px;padding:16px 18px}.download-next h3{font-size:var(--fs-header)}.download-steps{counter-reset:step;margin:12px 0 0;padding:0;list-style:none}.download-steps li{counter-increment:step;border-bottom:1px solid var(--line);font-size:var(--fs-label);color:var(--text-2);gap:13px;padding:11px 0;display:flex}.download-steps li:last-child{border-bottom:0}.download-steps li:before{content:counter(step);border-radius:var(--r-pill);border:1px solid var(--accent-line);background:var(--accent-soft);width:21px;height:21px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-data);flex:none;justify-content:center;align-items:center;display:flex}.download-next__cta,.download-status__cta{box-sizing:border-box;justify-content:center;align-items:center;display:inline-flex}.download-next__cta{width:100%;margin-top:16px}.download-note{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-panel);font-size:var(--fs-label);color:var(--text-2);gap:13px;margin-top:16px;padding:14px 16px;line-height:1.6;display:flex}.download-note__key{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);flex:none;padding-top:2px}.download-note a{color:var(--accent)}.download-note a:hover{text-decoration:underline}.create-competition{background:var(--surface-hover);min-height:calc(100vh - 60px);padding:40px 20px}.competition-container{background:var(--surface);border-radius:var(--r-panel);border:1px solid var(--line);max-width:720px;margin:0 auto;padding:40px}.competition-header{text-align:center;margin-bottom:32px}.competition-header h1{font-size:var(--fs-display);color:var(--text);margin-bottom:12px}.competition-header .subtitle{color:var(--text-3);font-size:var(--fs-header);max-width:600px;margin:0 auto;line-height:1.6}.info-notice{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-panel);margin-bottom:32px;padding:20px}.info-notice .notice-label{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-weight:600;display:block}.info-notice p{color:var(--text-2);margin:0;line-height:1.6}.competition-form{margin-bottom:32px}@media (width<=600px){.form-row{grid-template-columns:1fr}}.form-group label .required{color:var(--error)}.char-count{text-align:right;font-size:var(--fs-micro);color:var(--text-dim);margin-top:6px}.char-count.near-limit{color:var(--warning)}.request-result{text-align:center;padding:40px 20px}.request-result .result-icon{background:color-mix(in srgb, var(--success) 12%, transparent);border:1px solid color-mix(in srgb, var(--success) 45%, transparent);border-radius:var(--r-pill);width:64px;height:64px;color:var(--success);justify-content:center;align-items:center;margin:0 auto 24px;display:flex}.request-result h2{color:var(--text);font-size:var(--fs-title);margin-bottom:16px}.request-result p{color:var(--text-2);font-size:var(--fs-header);margin-bottom:12px;line-height:1.6}.request-result .email-note{color:var(--text-3);font-size:var(--fs-label);margin-bottom:28px}.create-competition .btn-primary{width:100%;font-size:var(--fs-body);padding:12px 24px}.captcha-notice{text-align:center;font-size:var(--fs-micro);color:var(--text-dim);margin-top:16px;line-height:1.5}.captcha-notice a{color:var(--text-3);text-decoration:underline}.captcha-notice a:hover{color:var(--text-2)}.what-happens-next{border-top:1px solid var(--line);padding-top:32px}.what-happens-next h3{color:var(--text);font-size:var(--fs-header);margin-bottom:20px}.what-happens-next ol{counter-reset:step;margin:0;padding:0;list-style:none}.what-happens-next li{color:var(--text-3);counter-increment:step;padding-bottom:20px;padding-left:48px;line-height:1.5;position:relative}.what-happens-next li:last-child{padding-bottom:0}.what-happens-next li:before{content:counter(step);background:var(--surface-hover);border-radius:var(--r-pill);width:30px;height:30px;font-weight:600;font-size:var(--fs-label);font-family:var(--mono);color:var(--bg);justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.what-happens-next li strong{color:var(--text)}@media (width<=600px){.competition-container{padding:24px 20px}.competition-header h1{font-size:var(--fs-title)}.competition-header .subtitle{font-size:var(--fs-body)}.info-notice{text-align:center}}.link-syndojo{min-height:calc(100vh - 80px);padding:26px var(--gutter) 56px}.link-syndojo__container{max-width:460px;margin:0 auto}.link-syndojo__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);padding:26px}.link-syndojo__card--center{text-align:center}.link-syndojo__title{font-size:var(--fs-display);text-align:center;color:var(--text)}.link-syndojo__loading{text-align:center;color:var(--text-3);padding:2rem 0}.link-syndojo__badge-row{text-align:center;margin-top:12px}.link-syndojo__instructions{color:var(--text-2);font-size:var(--fs-label);margin:14px 0 1.5rem;line-height:1.65}.link-syndojo__code-input{margin-bottom:1.75rem;position:relative}.link-syndojo__input{width:100%;font-size:1.75rem;font-family:var(--mono);letter-spacing:.5rem;text-align:center;text-transform:uppercase;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-input);color:var(--text);box-sizing:border-box;padding:1.25rem;transition:border-color .2s}.link-syndojo__input:focus{border-color:var(--accent-line);outline:none}.link-syndojo__input::placeholder{color:var(--text-dim);letter-spacing:.3rem}.link-syndojo__code-count{font-size:var(--fs-micro);color:var(--text-dim);font-family:var(--mono);position:absolute;bottom:-20px;right:12px}.link-syndojo__btn{justify-content:center;width:100%;margin-top:1rem}.link-syndojo__actions{gap:1rem;margin-top:1.5rem;display:flex}.link-syndojo__actions .link-syndojo__btn{flex:1;width:auto;margin-top:0}.link-syndojo__kv{font-size:var(--fs-label);grid-template-columns:auto 1fr;gap:6px 18px;margin:22px 0 0;display:grid}.link-syndojo__kv dt{color:var(--text-3);white-space:nowrap}.link-syndojo__kv dd{color:var(--text-2);margin:0}.link-syndojo__help{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);margin-top:16px;padding:16px 18px}.link-syndojo__help h3{color:var(--text);font-size:var(--fs-header)}.link-syndojo__steps{counter-reset:step;margin:12px 0 0;padding:0;list-style:none}.link-syndojo__steps li{counter-increment:step;border-bottom:1px solid var(--line);font-size:var(--fs-label);color:var(--text-2);gap:13px;padding:11px 0;display:flex}.link-syndojo__steps li:last-child{border-bottom:0}.link-syndojo__steps li:before{content:counter(step);border-radius:var(--r-pill);border:1px solid var(--accent-line);background:var(--accent-soft);width:21px;height:21px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-data);flex:none;justify-content:center;align-items:center;display:flex}.link-syndojo__spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:var(--r-pill);width:40px;height:40px;margin:0 auto 1.5rem;animation:1s linear infinite spin}.link-syndojo__conflicts{background:color-mix(in srgb, var(--warning) 10%, transparent);border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);border-radius:var(--r-panel);margin-top:1.5rem;padding:1.25rem}.link-syndojo__conflicts h3{color:var(--warning);font-size:var(--fs-header);margin-bottom:1rem}.link-syndojo__conflict{margin-bottom:1rem}.link-syndojo__conflict:last-child{margin-bottom:0}.link-syndojo__conflict-message{color:var(--warning);font-size:var(--fs-label);margin-bottom:.5rem}.link-syndojo__conflict-detail{color:var(--text-3);font-size:var(--fs-label)}.link-syndojo__conflict-warning{color:var(--warning);font-weight:500;font-size:var(--fs-label);border-top:1px solid color-mix(in srgb, var(--warning) 45%, transparent);margin-top:1rem;padding-top:1rem}.link-syndojo__error{text-align:left;margin-top:1.25rem;display:block}.link-syndojo__success-note{color:var(--text-3);font-size:var(--fs-label);margin-top:.5rem}.link-syndojo__status-badge{border-radius:var(--r-pill);border:1px solid var(--line-strong);font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:4px 9px;line-height:1.5;display:inline-block}.link-syndojo__status-badge--active{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.link-syndojo__status-badge--failed{background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error);border-color:color-mix(in srgb, var(--error) 45%, transparent)}.link-syndojo__current-info{color:var(--text-3);font-size:var(--fs-label);margin-top:18px;line-height:1.65}.link-syndojo__current-info strong{color:var(--text-2)}.link-syndojo__unlink-btn{justify-content:center;width:100%;margin-top:18px}@media (width<=640px){.link-syndojo__card{padding:22px 18px}.link-syndojo__title{font-size:var(--fs-title)}.link-syndojo__input{letter-spacing:.3rem;padding:1rem;font-size:1.4rem}.link-syndojo__actions{flex-direction:column}}.submit-score{background:var(--bg);justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem;display:flex}.submit-score__loading{color:var(--text-3);font-size:var(--fs-header)}.submit-score__container{text-align:center;width:100%;max-width:600px}.submit-score__icon{color:var(--accent);justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.submit-score__title{font-size:var(--fs-display);color:var(--text);margin-bottom:1rem;font-weight:600}.submit-score__description{font-size:var(--fs-header);color:var(--text-3);margin-bottom:2.5rem;line-height:1.6}.submit-score__description strong{color:var(--text);font-weight:600}.submit-score__steps{text-align:left;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;display:flex}.submit-score__step{background:var(--surface);border-radius:var(--r-panel);border:1px solid var(--line);align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.submit-score__step-number{background:var(--accent);width:2rem;height:2rem;color:var(--bg);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-label);font-family:var(--mono);flex-shrink:0;justify-content:center;align-items:center;display:flex}.submit-score__step-content h3{font-size:var(--fs-body);color:var(--text);margin-bottom:.25rem;font-weight:600}.submit-score__step-content p{font-size:var(--fs-label);color:var(--text-3);margin:0;line-height:1.5}.submit-score__actions{justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.submit-score__btn{text-decoration:none;display:inline-block}.submit-score__note{font-size:var(--fs-label);color:var(--text-3);line-height:1.5}.submit-score__note a{color:var(--accent);text-decoration:none}.submit-score__note a:hover{text-decoration:underline}@media (width<=640px){.submit-score{padding:1.5rem}.submit-score__title{font-size:var(--fs-title)}.submit-score__description{font-size:var(--fs-body)}.submit-score__actions{flex-direction:column}.submit-score__btn{text-align:center;width:100%}}.host-dashboard{max-width:1200px;margin:0 auto;padding:2rem}.host-header{margin-bottom:2rem}.host-header h1{color:var(--color-primary);margin-bottom:.5rem;font-size:2rem}.host-header .subtitle{color:var(--color-text-muted);font-size:1rem}.host-tabs{border-bottom:2px solid var(--color-border);gap:.5rem;margin-bottom:2rem;display:flex}.host-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s;display:flex}.host-tab:hover{color:var(--color-text)}.host-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-count{background:var(--color-bg-muted);border-radius:1rem;padding:.125rem .5rem;font-size:.75rem}.host-tab.active .tab-count{background:var(--color-primary);color:#fff}.host-loading{text-align:center;color:var(--color-text-muted);padding:3rem}.empty-state{text-align:center;background:var(--color-bg-muted);border-radius:8px;padding:3rem}.empty-state p{color:var(--color-text-muted);margin-bottom:1rem}.empty-message{color:var(--color-text-muted);padding:1rem 0;font-style:italic}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--color-bg-muted);text-align:center;border-radius:8px;padding:1.5rem}.stat-card.highlight{background:var(--color-primary);color:#fff}.stat-value{font-size:2.5rem;font-weight:700;line-height:1}.stat-label{color:var(--color-text-muted);margin-top:.5rem;font-size:.875rem}.stat-card.highlight .stat-label{color:#fffc}.tab-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.tab-header h2{color:var(--color-text);flex:1;font-size:1.5rem}.tab-header .btn-primary{flex:none;align-self:center;width:auto;max-width:fit-content}.groups-list,.competitions-list{gap:1rem;display:grid}.group-card,.competition-card{background:var(--color-bg-card);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:1.25rem;transition:all .2s}.group-card:hover,.competition-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.group-info h3,.comp-header h3{margin-bottom:.25rem;font-size:1.125rem}.group-info p{color:var(--color-text-muted);margin:.5rem 0;font-size:.875rem}.group-meta,.comp-stats{color:var(--color-text-muted);gap:1rem;margin-top:.5rem;font-size:.875rem;display:flex}.comp-header{justify-content:space-between;align-items:flex-start;display:flex}.comp-badges{gap:.5rem;display:flex}.comp-dates{color:var(--color-text-muted);margin:.5rem 0;font-size:.875rem}.comp-actions,.group-actions{border-top:1px solid var(--color-border);gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.status-badges{align-items:center;gap:.5rem;display:flex}.status-badge{text-transform:uppercase;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.status-draft{color:#4a5568;background:#e3e8ef}.status-active{color:#22543d;background:#c6f6d5}.status-cancelled{color:#742a2a;background:#fed7d7}.phase-badge{text-transform:uppercase;border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.phase-upcoming{color:#92400e;background:#fef3c7}.phase-live{color:#97266d;background:#fed7e2}.phase-closed{color:#4a5568;background:#e2e8f0}.status-upcoming{color:#92400e;background:#fef3c7}.status-live{color:#97266d;background:#fed7e2}.status-ended,.status-closed{color:#4a5568;background:#e2e8f0}.visibility-badge{border-radius:1rem;padding:.25rem .75rem;font-size:.75rem}.visibility-badge.public{color:#234e52;background:#e6fffa}.visibility-badge.private{color:#553c9a;background:#faf5ff}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-card);border-radius:12px;width:90%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto}.modal-content.modal-wide{max-width:700px}.edit-scenario-layout{gap:2rem;margin-top:1rem;display:flex}.edit-scenario-image{flex-direction:column;flex-shrink:0;align-items:center;gap:.75rem;display:flex}.edit-scenario-image label{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.edit-scenario-form{flex:1;min-width:0}@media (width<=600px){.edit-scenario-layout{flex-direction:column;align-items:center}.edit-scenario-form{width:100%}}.edit-competition-layout{gap:2rem;margin-top:1rem;display:flex}.edit-competition-image{flex-direction:column;flex-shrink:0;align-items:center;gap:.75rem;display:flex}.edit-competition-image label{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.edit-competition-form{flex:1;min-width:0}@media (width<=600px){.edit-competition-layout{flex-direction:column;align-items:center}.edit-competition-form{width:100%}}.modal-content h3{margin-bottom:.5rem}.modal-step-indicator{color:var(--color-text-muted,#6b7280);margin-bottom:1rem;font-size:.875rem}.modal-hint{color:var(--color-text-muted,#6b7280);margin-bottom:1.5rem;font-size:.9rem}.modal-hint strong{color:var(--color-text,#e5e7eb)}.event-image-hint{color:var(--color-text-muted,#6b7280);margin:.25rem 0 .75rem;font-size:.8rem;font-style:italic}.scenario-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.scenario-tab{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.scenario-tab:hover{border-color:var(--color-primary);color:var(--color-text)}.scenario-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.scenario-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.scenario-card{background:var(--color-bg-muted);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:1rem;transition:all .2s}.scenario-card:hover{border-color:var(--color-primary);background:var(--color-bg-card)}.scenario-card-title{color:var(--color-text);margin-bottom:.25rem;font-weight:600}.scenario-card-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.empty-state.small{padding:1.5rem}.empty-state.small p{margin-bottom:.5rem}.empty-state.small .hint{color:var(--color-text-muted);font-size:.85rem}.form-group{margin-bottom:1.25rem}.form-group label{margin-bottom:.5rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=date],.form-group textarea,.form-group select{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);border-radius:6px;padding:.75rem;font-size:1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb), .2);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.form-error{color:#742a2a;background:#fed7d7;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-label input[type=checkbox]{width:auto}.btn-primary{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;transition:background .2s}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary.btn-compact{padding:.5rem 1rem;font-size:.875rem}.btn-secondary{background:var(--color-bg-muted);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem}.btn-secondary:hover{background:var(--color-border)}.btn-small{padding:.375rem .75rem;font-size:.875rem}.btn-danger{color:#fff;background:#e53e3e;border:none}.btn-danger:hover{background:#c53030}.btn-back{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:0;font-size:1rem}.btn-back:hover{text-decoration:underline}.detail-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.detail-header-left{flex:1;align-items:center;gap:.75rem;display:flex}.detail-header-actions{gap:.5rem;display:flex}.detail-header h2{margin:0;font-size:1.75rem}.description{color:var(--color-text-muted);margin-bottom:1rem}.detail-meta{color:var(--color-text-muted);gap:1.5rem;margin-bottom:1.5rem;font-size:.875rem;display:flex}.detail-nav{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1.5rem;display:flex}.detail-nav button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem}.detail-nav button:hover{color:var(--color-text)}.detail-nav button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.detail-section{margin-bottom:2rem}.detail-section h3{margin-bottom:1rem;font-size:1.25rem}.overview-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-box{background:var(--color-bg-muted);text-align:center;border-radius:6px;padding:1rem}.stat-box .stat-value{font-size:1.5rem}.stat-box .stat-label{font-size:.75rem}.member-search,.pilot-search{gap:.5rem;margin-bottom:1rem;display:flex}.member-search input,.pilot-search input{border:1px solid var(--color-border);border-radius:6px;flex:1;padding:.5rem .75rem}.search-results{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:6px;margin-bottom:1rem}.search-result{border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.search-result:last-child{border-bottom:none}.search-result .email{color:var(--color-text-muted);flex:1;font-size:.875rem}.members-list,.pilots-list,.groups-list.compact{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.member-row,.pilot-row,.group-row{border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.member-row:last-child,.pilot-row:last-child,.group-row:last-child{border-bottom:none}.member-name,.pilot-name,.group-name{min-width:150px;font-weight:500}.member-email,.pilot-email{color:var(--color-text-muted);flex:1;font-size:.875rem}.member-role,.pilot-status{background:var(--color-bg-muted);border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem}.badge-accepted{color:#22543d;background:#c6f6d5}.badge-invited{color:#92400e;background:#fef3c7}.badge-declined,.badge-removed{color:#742a2a;background:#fed7d7}.add-group-section{background:var(--color-bg-muted);border-radius:6px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.add-group-section>label{margin-bottom:.25rem;font-weight:500}.add-group-section select{border:1px solid var(--color-border);border-radius:4px;flex:1;padding:.5rem}.group-select-list{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;flex-direction:column;gap:.5rem;max-height:200px;padding:.5rem;display:flex;overflow-y:auto}.group-checkbox-label{cursor:pointer;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.group-checkbox-label:hover{color:var(--color-primary)}.group-checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.scenarios-list{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.scenario-row{border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.scenario-row:last-child{border-bottom:none}.scenario-title{flex:1;align-items:center;gap:.5rem;font-weight:500;display:flex}.scenario-file{color:var(--color-text-muted);font-size:.875rem}.system-badge{color:#234e52;background:#e6fffa;border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem}.locked-badge{color:#d69e2e}.scenario-actions{margin-bottom:1rem}.scenario-row .scenario-actions{gap:.5rem;margin-bottom:0;display:flex}.events-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.event-row{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.event-row .event-image{flex-shrink:0}.event-row:hover{border-color:var(--color-primary)}.event-info{flex-direction:column;flex:1;gap:.375rem;display:flex}.event-title{color:var(--color-text);font-size:1rem;font-weight:600}.event-scenario,.event-dates{color:var(--color-text-muted);font-size:.875rem}.event-actions{flex-shrink:0;gap:.5rem;display:flex}.system-scenarios-panel{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.system-scenarios-panel h4{margin-bottom:.5rem}.help-text{color:var(--color-text-muted);margin-bottom:1rem;font-size:.875rem}.system-scenarios-list{gap:1rem;display:grid}.system-scenario-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;justify-content:space-between;align-items:flex-start;padding:1rem;display:flex}.ss-info h5{margin:0 0 .25rem}.ss-info p{color:var(--color-text-muted);margin:.25rem 0;font-size:.875rem}.ss-meta{gap:.5rem;margin-top:.5rem;display:flex}.difficulty-badge{border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.difficulty-badge.beginner{color:#22543d;background:#c6f6d5}.difficulty-badge.intermediate{color:#92400e;background:#fef3c7}.difficulty-badge.advanced{color:#742a2a;background:#fed7d7}.difficulty-badge.expert{color:#553c9a;background:#e9d8fd}.difficulty-badge.elite{color:#f7fafc;background:#1a202c}.sub-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.sub-tabs button{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;transition:all .2s}.sub-tabs button:hover{background:var(--color-bg-muted);color:var(--color-text)}.sub-tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.system-scenarios-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.scenario-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem}.scenario-card h4{margin:0 0 .5rem}.scenario-card p{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.875rem}.scenario-meta{align-items:center;gap:.75rem;display:flex}.duration{color:var(--color-text-muted);font-size:.75rem}.tags{flex-wrap:wrap;gap:.25rem;margin-top:.5rem;display:flex}.tag{background:var(--color-bg-muted);border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem}.info-notice{color:#2c5282;background:#ebf8ff;border-radius:6px;margin-bottom:1rem;padding:1rem}.warning-notice{color:#92400e;background:#fef3c7;border-radius:6px;margin-top:1rem;padding:.75rem 1rem}.score-distribution{background:var(--color-bg-muted);border-radius:6px;margin:1.5rem 0;padding:1rem}.score-distribution h4{margin:0 0 .75rem}.distribution-stats{gap:2rem;display:flex}.leaderboard-preview{margin-top:1.5rem}.leaderboard-preview h4{margin-bottom:.75rem}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table th,.leaderboard-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem}.leaderboard-table th{background:var(--color-bg-muted);font-weight:500}.leaderboard-table .rank-cell{text-align:center;font-size:1.1rem}.leaderboard-table tr.rank-1{background:linear-gradient(90deg,#ffd70026 0%,#0000 50%)}.leaderboard-table tr.rank-2{background:linear-gradient(90deg,#c0c0c026 0%,#0000 50%)}.leaderboard-table tr.rank-3{background:linear-gradient(90deg,#cd7f3226 0%,#0000 50%)}.recent-activity{margin-top:2rem}.recent-activity h3{margin-bottom:1rem}.activity-list{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.activity-item{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.activity-item:last-child{border-bottom:none}.activity-user{font-weight:500}.activity-action{color:var(--color-text-muted)}.activity-comp{color:var(--color-primary)}.activity-time{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}@media (width<=768px){.host-dashboard{padding:1rem}.host-tabs{flex-wrap:wrap}.host-tab{padding:.5rem 1rem;font-size:.875rem}.stats-grid,.overview-stats{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.detail-nav,.member-row,.pilot-row,.group-row,.scenario-row{flex-wrap:wrap}.modal-content{width:95%;padding:1.5rem}}.join-code-section{background:var(--color-bg-muted);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.join-code-section h3{margin-bottom:.75rem;font-size:1rem}.join-code-box{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.join-code-display{align-items:center;gap:.5rem;display:flex}.join-code{letter-spacing:2px;background:var(--color-bg-card);border:2px dashed var(--color-primary);border-radius:6px;padding:.5rem 1rem;font-family:monospace;font-size:1.5rem;font-weight:700}.join-code.disabled{opacity:.5;border-style:solid;border-color:var(--color-border)}.join-code-actions{align-items:center;gap:1rem;display:flex}.toggle-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.toggle-label input{width:18px;height:18px}.btn-icon{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem;font-size:1rem;transition:background .2s}.btn-icon:hover:not(:disabled){background:var(--color-bg-muted)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.help-text{color:var(--color-text-muted);margin-top:.75rem;font-size:.8rem}.detail-tabs{border-bottom:2px solid var(--color-border);gap:.5rem;margin-bottom:1.5rem;display:flex}.detail-tabs .tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.25rem;font-size:.95rem;transition:all .2s;display:flex}.detail-tabs .tab:hover{color:var(--color-text)}.detail-tabs .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.detail-tabs .badge{background:var(--color-primary);color:#fff;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.requests-group{margin-bottom:1rem}.requests-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.requests-header h4{color:var(--color-text-muted);font-size:1rem}.requests-list{flex-direction:column;gap:.5rem;display:flex}.request-row{background:var(--color-bg-muted);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.request-info{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.request-actions{flex-shrink:0;gap:.5rem;display:flex}.invited-by{color:var(--color-text-muted);font-size:.8rem}.flight-history{min-height:calc(100vh - 80px);padding:100px 24px 40px}.flight-history__container{max-width:1200px;margin:0 auto}.flight-history__loading{text-align:center;color:var(--color-text-muted);padding:60px;font-size:1.1rem}.flight-history__header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.flight-history__title-section h1{font-size:var(--fs-display);font-weight:700}.flight-history__subtitle{color:var(--text-3);font-size:var(--fs-label);margin-top:5px}.flight-history__export-btn{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);color:var(--color-text-primary);cursor:pointer;padding:10px 20px;font-weight:500;transition:all .2s}.flight-history__export-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.flight-history__export-btn:disabled{opacity:.5;cursor:not-allowed}.flight-history__stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;margin-bottom:24px;display:grid;overflow:hidden}.flight-history__stat{background:var(--surface);text-align:left;padding:14px 16px}.flight-history__stat-value{font-size:var(--fs-display);color:var(--text);line-height:1.1;font-family:var(--mono);font-variant-numeric:tabular-nums;display:block}.flight-history__stat-value--accent{color:var(--accent)}.flight-history__stat-label{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;margin-top:5px;font-weight:600;display:block}.flight-history__filters{margin-bottom:24px}.flight-history__filter-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.flight-history__filter-group{flex-direction:column;flex:0 200px;gap:6px;min-width:150px;display:flex}.flight-history__filter-group--clear{flex:none;min-width:auto}.flight-history__filter-group label{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.flight-history__filter-group select,.flight-history__filter-group input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-input);color:var(--text-2);font-size:var(--fs-label);min-width:0;padding:8px 12px}.flight-history__filter-group select:focus,.flight-history__filter-group input:focus{border-color:var(--accent);outline:none}.flight-history__sort-pair{gap:8px;min-width:0;display:flex}.flight-history__sort-pair select{flex:auto}.flight-history__sort-order{border:1px solid var(--line-strong);border-radius:var(--r-input);color:var(--text-3);font-size:var(--fs-label);cursor:pointer;transition:background var(--t-quick) var(--ease), color var(--t-quick) var(--ease);background:0 0;flex:none;padding:8px 14px}.flight-history__sort-order:hover{background:var(--surface-hover);color:var(--text-2)}.flight-history__clear-filters{border:1px solid var(--line-strong);border-radius:var(--r-input);color:var(--text-3);font-size:var(--fs-label);cursor:pointer;white-space:nowrap;transition:background var(--t-quick) var(--ease), color var(--t-quick) var(--ease);background:0 0;padding:8px 14px}.flight-history__clear-filters:hover{background:var(--surface-hover);color:var(--text-2)}.flight-history__list{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);margin-bottom:24px;overflow:hidden}.flight-history__table-header{display:none}.flight-history__empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.flight-history__empty b{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}.flight-history__flight{border-bottom:1px solid var(--color-border);color:inherit;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 20px;text-decoration:none;transition:background .2s;display:grid}.flight-history__flight:last-child{border-bottom:none}.flight-history__flight:hover{background:var(--color-bg-secondary)}.flight-history__col--date{color:var(--color-text-muted);font-size:.85rem;font-family:var(--mono);font-variant-numeric:tabular-nums}.flight-history__col--scenario{grid-column:1;font-weight:600}.flight-history__col--score{text-align:right;grid-area:1/2/3;align-self:center}.flight-history__score-cell{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.flight-history__score-value{color:var(--color-accent);font-size:1.25rem;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1.1}.flight-history__max-score{color:var(--text-dim);font-weight:400;font-size:var(--fs-micro);font-family:var(--mono);white-space:nowrap}.flight-history__no-tlm-mark{color:var(--text-dim);font-family:var(--mono)}.flight-history__col--duration,.flight-history__col--event{display:none}.flight-history__col--duration{font-family:var(--mono);font-variant-numeric:tabular-nums}.flight-history__col--badges{grid-column:2;justify-content:flex-end;align-items:center;gap:8px;display:flex}.flight-history__badge{border-radius:var(--r-input);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;font-size:.7rem;font-weight:600}.flight-history__badge--pb{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent)}.flight-history__tlm{border-radius:var(--r-pill);border:1px solid var(--line-strong);flex-shrink:0;width:10px;height:10px;display:inline-block}.flight-history__tlm--on{border-color:var(--accent-line);background:var(--accent-soft)}.flight-history__flight--pb{border-left:3px solid var(--accent)}@media (width>=768px){.flight-history__flight--pb{padding-left:17px}}.flight-history__pagination{justify-content:center;align-items:center;gap:16px;margin-bottom:32px;display:flex}.flight-history__page-btn{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);color:var(--color-text-primary);cursor:pointer;padding:10px 20px;font-weight:500;transition:all .2s}.flight-history__page-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.flight-history__page-btn:disabled{opacity:.5;cursor:not-allowed}.flight-history__page-info{color:var(--color-text-muted);font-size:.9rem}.flight-history__personal-bests{margin-top:32px}.flight-history__section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.flight-history__personal-bests h2{font-size:var(--fs-title)}.flight-history__pb-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.flight-history__pb-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--accent);border-radius:var(--r-panel);flex-direction:column;gap:4px;padding:16px;display:flex}.flight-history__pb-scenario{font-size:.9rem;font-weight:600}.flight-history__pb-score{color:var(--color-accent);font-size:1.5rem;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums}.flight-history__pb-attempts{color:var(--color-text-muted);font-size:.8rem}@media (width>=768px){.flight-history__table-header{background:var(--surface-raised);border-bottom:1px solid var(--line);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);grid-template-columns:180px 1fr 120px 100px 150px 80px;gap:12px;padding:10px 20px;font-weight:600;display:grid}.flight-history__flight{grid-template-rows:auto;grid-template-columns:180px 1fr 120px 100px 150px 80px;align-items:center;gap:12px;display:grid}.flight-history__table-header--compare,.flight-history__flight--selectable{grid-template-columns:40px 180px 1fr 120px 100px 150px 80px}.flight-history__col--date{font-size:.9rem}.flight-history__col--score,.flight-history__col--duration{text-align:right;grid-area:auto}.flight-history__score-value{font-size:var(--fs-header)}.flight-history__col--duration,.flight-history__col--event{color:var(--color-text-muted);font-size:.9rem;display:block}.flight-history__col--badges{grid-column:auto;justify-content:flex-start}}@media (width<=640px){.flight-history{padding:80px 16px 24px}.flight-history__header{flex-direction:column}.flight-history__filter-group{min-width:100%}.flight-history__pb-grid{grid-template-columns:1fr}}.flight-history__actions{align-items:center;gap:.75rem;display:flex}.flight-history__selection-count{color:var(--color-accent,var(--accent));font-size:.875rem;font-weight:600}.flight-history__compare-mode-btn,.flight-history__compare-btn{background:var(--color-accent,var(--accent));color:var(--color-bg-primary,var(--line-strong));border-radius:var(--r-panel);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.flight-history__compare-mode-btn:hover:not(:disabled),.flight-history__compare-btn:hover:not(:disabled){box-shadow:var(--sh-2);transform:translateY(-1px)}.flight-history__compare-mode-btn:disabled,.flight-history__compare-btn:disabled{opacity:.5;cursor:not-allowed}.flight-history__cancel-btn{color:var(--color-text-muted,var(--text-3));border:1px solid var(--color-border,var(--line-strong));border-radius:var(--r-panel);cursor:pointer;background:0 0;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.flight-history__cancel-btn:hover{color:var(--color-text-primary,var(--accent));border-color:var(--color-text-muted,var(--text-dim))}.flight-history__col--select{flex-shrink:0;justify-content:center;align-items:center;width:40px;display:flex}.flight-history__col--select input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent,var(--accent-line));cursor:pointer}.flight-history__flight--selectable{cursor:pointer;-webkit-user-select:none;user-select:none}.flight-history__flight--selectable:hover{background:var(--color-bg-secondary,var(--surface-raised))}.flight-history__flight--selected{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:var(--color-accent,var(--accent-line))}.flight-history__flight--no-telemetry{opacity:.5;cursor:not-allowed}@media (width<=768px){.flight-history__actions{flex-wrap:wrap;gap:.5rem}.flight-history__col--select{width:32px}}.scenarios-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.scenarios-page .page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.scenarios-page .page-head h1{font-size:var(--fs-display);color:var(--text);margin:0}.scenarios-page .page-head p{font-size:var(--fs-label);color:var(--text-3);max-width:74ch;margin:5px 0 0}.scenarios-page .dstrip{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);flex-wrap:wrap;gap:1px;margin-bottom:18px;display:flex;overflow:hidden}.scenarios-page .dtile{background:var(--surface);cursor:pointer;text-align:left;font:inherit;transition:background var(--t-quick) var(--ease);border:0;flex:130px;padding:12px 14px}.scenarios-page .dtile:hover{background:var(--surface-hover)}.scenarios-page .dtile.on{background:var(--accent-soft)}.scenarios-page .dtile .c{font-family:var(--mono);font-size:var(--fs-title);color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.scenarios-page .dtile.on .c{color:var(--accent)}.scenarios-page .dtile .d{margin-top:7px}.scenarios-page .filtrow{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.scenarios-page .filtrow .f{flex-direction:column;flex:0 200px;gap:.35rem;min-width:150px;display:flex}.scenarios-page .filtrow .fld{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.scenarios-page .filtrow select{border-radius:var(--r-input);border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text);font-size:var(--fs-label);cursor:pointer;padding:.55rem .75rem}.scenarios-page .filtrow select:focus{border-color:var(--accent-line);outline:none}.scenarios-page .scenarios-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.scenarios-page .card{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-1)}.scenarios-page .scn{transition:border-color var(--t-quick) var(--ease), box-shadow var(--t-quick) var(--ease);flex-direction:column;padding:16px 18px;display:flex}.scenarios-page .scn:hover{border-color:var(--line-strong);box-shadow:var(--sh-2)}.scenarios-page .scn .st{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.scenarios-page .scn h3{font-size:var(--fs-header);color:var(--text);margin:0;line-height:1.3}.scenarios-page .scn__diff{margin-top:9px}.scenarios-page .scn .ds{font-size:var(--fs-label);color:var(--text-3);margin:10px 0 0;line-height:1.55}.scenarios-page .scn .sg{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;margin-top:14px;padding-top:13px;display:grid}.scenarios-page .scn .sg .k{font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:600}.scenarios-page .scn .sg .v{font-family:var(--mono);font-size:var(--fs-header);color:var(--text-2);font-variant-numeric:tabular-nums;margin-top:3px}.scenarios-page .scn .rec{font-size:var(--fs-label);color:var(--text-3);margin-top:13px}.scenarios-page .scn .rec b{color:var(--text-2);font-weight:500}.scenarios-page .empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.scenarios-page .empty b{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}.scenarios-loading,.scenarios-error{text-align:center;color:var(--text-3);padding:4rem 2rem}.scenarios-error{color:var(--error)}.scenarios-page .difficulty-badge{font-weight:500}.scenarios-page .difficulty-badge--unrated{color:var(--text-3)!important;border-color:var(--line)!important;background:0 0!important}.scenarios-page .difficulty-badge--beginner{color:var(--text-2)!important;border-color:var(--line-strong)!important;background:0 0!important}.scenarios-page .difficulty-badge--intermediate{color:var(--accent)!important;border-color:color-mix(in srgb, var(--accent) 45%, transparent)!important;background:0 0!important}.scenarios-page .difficulty-badge--advanced{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent-line)!important}.scenarios-page .difficulty-badge--expert,.scenarios-page .difficulty-badge--elite{font-weight:600;background:var(--surface-hover)!important;color:var(--bg)!important;border-color:var(--accent)!important}@media (width<=640px){.scenarios-page{padding:1rem}.scenarios-page .page-head h1{font-size:var(--fs-title)}.scenarios-page .filtrow .f{flex:100%}.scenarios-page .scenarios-grid{grid-template-columns:1fr}}@media (width<=520px){.scenarios-page .scn .sg{grid-template-columns:minmax(0,1fr)}}.achievements-page{max-width:1400px;margin:0 auto;padding:2rem 1rem}.achievements-page .page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.achievements-page .page-head h1{font-size:var(--fs-display);color:var(--text);margin:0;font-weight:600}.achievements-page .page-head p{font-size:var(--fs-label);color:var(--text-3);max-width:74ch;margin:5px 0 0}.achievements-page .stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;display:grid;overflow:hidden}.achievements-page .stat{background:var(--surface);padding:14px 16px}.achievements-page .stat .v{font-family:var(--mono);font-size:var(--fs-display);color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}.achievements-page .stat .v.acc{color:var(--accent)}.achievements-page .stat .k{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-top:5px;font-weight:600}.achievements-page .acgrid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:22px;margin-top:22px;display:grid}.achievements-page .achievements-main{min-width:0}.achievements-page .tabs{border-bottom:1px solid var(--line);gap:2px;margin-bottom:20px;display:flex;overflow-x:auto}.achievements-page .tab{font:inherit;font-size:var(--fs-label);color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 15px}.achievements-page .tab:hover{color:var(--text-2)}.achievements-page .tab.on{color:var(--accent);border-bottom-color:var(--accent)}.achievements-page .filtrow{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.achievements-page .filtrow .f{flex-direction:column;flex:0 200px;gap:.35rem;min-width:150px;display:flex}.achievements-page .filtrow .fld{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.achievements-page .filtrow select{border-radius:var(--r-input);border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text);font-size:var(--fs-label);cursor:pointer;padding:.55rem .75rem}.achievements-page .filtrow select:focus{border-color:var(--accent-line);outline:none}.achievements-page .achievements-list{flex-direction:column;display:flex}.achievements-page .rgroup{margin-top:24px}.achievements-page .rgroup:first-child{margin-top:0}.achievements-page .rgh{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.achievements-page .rgh h2{font-size:var(--fs-header);color:var(--text-2);margin:0;font-weight:600}.achievements-page .rgh .ct{font-family:var(--mono);font-size:var(--fs-data);color:var(--text-dim)}.achievements-page .achievements-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.achievements-page .card{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-1)}.achievements-page .ach{align-items:flex-start;gap:13px;padding:14px 16px;display:flex}.achievements-page .ach.locked{opacity:.52}.achievements-page .ach .ai{border-radius:var(--r-input);border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--mono);font-size:var(--fs-label);color:var(--text-3);background:var(--surface-raised);flex:none;justify-content:center;align-items:center;display:flex}.achievements-page .ach.unlocked .ai{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.achievements-page .ach.locked .ai svg{width:15px;height:15px}.achievements-page .ach .ab{flex:auto;min-width:0}.achievements-page .ach h4{font-size:var(--fs-body);color:var(--text);margin:0;font-weight:600}.achievements-page .ach p{font-size:var(--fs-label);color:var(--text-3);margin:5px 0 0;line-height:1.5}.achievements-page .pb-bar{border-radius:var(--r-pill);background:var(--surface-hover);border:1px solid var(--line);height:5px;margin-top:9px;overflow:hidden}.achievements-page .pb-bar i{background:var(--accent);height:100%;display:block}.achievements-page .ach .am{font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.achievements-page .ach .am .pts{font-family:var(--mono);color:var(--text-3);letter-spacing:0;text-transform:none}.achievements-page .ach .am .ud{letter-spacing:0;text-transform:none;color:var(--text-3)}.achievements-page .ach .am .mono{font-family:var(--mono)}.achievements-page .achievements-sidebar{flex-direction:column;gap:13px;display:flex}.achievements-page .sidebar-card{padding:16px 18px}.achievements-page .sidebar-card h3{font-size:var(--fs-header);color:var(--text);margin:0}.achievements-page .sidebar-empty{color:var(--text-3);font-size:var(--fs-label);text-align:center;margin:0;padding:1rem 0}.achievements-page .lst{margin-top:11px}.achievements-page .lst .li{border-bottom:1px solid var(--line);font-size:var(--fs-label);align-items:center;gap:13px;padding:11px 0;display:flex}.achievements-page .lst .li:last-child{border-bottom:0}.achievements-page .lst .li .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.achievements-page .lst .li .dim{color:var(--text-dim)}.achievements-page .lst .li .n{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.achievements-page .lst .li .s{font-family:var(--mono);color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:auto}.achievements-page .btn-check-achievements{width:100%;font:inherit;font-size:var(--fs-label);border:1px solid var(--line-strong);border-radius:var(--r-input);color:var(--text-3);cursor:pointer;transition:background var(--t-quick) var(--ease), color var(--t-quick) var(--ease);background:0 0;padding:.7rem 1rem}.achievements-page .btn-check-achievements:hover{background:var(--surface-hover);color:var(--text-2)}.achievements-page .empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.achievements-page .empty b{color:var(--text-2);font-size:var(--fs-header);font-weight:600;display:block}.achievements-loading,.achievements-error{text-align:center;color:var(--text-3);padding:4rem 2rem}.achievements-error{color:var(--error)}@media (width<=860px){.achievements-page .acgrid{grid-template-columns:minmax(0,1fr)}.achievements-page .achievements-sidebar{order:-1}}@media (width<=640px){.achievements-page{padding:1rem}.achievements-page .page-head h1{font-size:var(--fs-title)}.achievements-page .filtrow .f{flex:100%}.achievements-page .achievements-grid{grid-template-columns:1fr}}.progression-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.progression-page .page-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.progression-page .page-head h1{font-size:var(--fs-display);color:var(--text);margin:0;font-weight:600}.progression-page .page-head p{font-size:var(--fs-label);color:var(--text-3);max-width:74ch;margin:5px 0 0}.progression-page .head-act{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.progression-page .badge{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-3);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.progression-page .badge i{color:var(--text-dim);font-style:normal}.progression-page .badge--on{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}.progression-page .badge--on i{color:var(--accent);opacity:.6}.progression-page .card{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);box-shadow:var(--sh-1)}.progression-page .sec{margin-top:30px}.progression-page .sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.progression-page .sec-head h2{font-size:var(--fs-title);color:var(--text);margin:0}.progression-page .sec-head .muted{font-size:var(--fs-label);color:var(--text-3)}.progression-page .eyebrow{font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-weight:600}.progression-page .xpbox{padding:18px 20px}.progression-page .xph{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.progression-page .xph .cur{font-family:var(--mono);font-size:var(--fs-score);color:var(--accent);font-variant-numeric:tabular-nums;margin-top:6px;line-height:1}.progression-page .xph .cur i{font-style:normal;font-size:var(--fs-title);color:var(--text-dim);margin-left:6px}.progression-page .xph__next{text-align:right}.progression-page .xph__next .nx{font-family:var(--mono);font-size:var(--fs-header);color:var(--text-2);margin-top:6px}.progression-page .xpbar{border-radius:var(--r-pill);background:var(--surface-hover);border:1px solid var(--line);height:7px;margin-top:16px;overflow:hidden}.progression-page .xpbar i{background:var(--accent);height:100%;display:block}.progression-page .xpm{font-size:var(--fs-label);color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:9px;display:flex}.progression-page .xpm b{font-family:var(--mono);color:var(--text-2);font-weight:500}.progression-page .login-prompt{text-align:center;color:var(--text-3);padding:3rem 2rem}.progression-page .login-prompt p{margin:0}.progression-page .lst .li{border-bottom:1px solid var(--line);font-size:var(--fs-label);align-items:center;gap:13px;padding:11px 16px;display:flex}.progression-page .lst .li:last-child{border-bottom:0}.progression-page .lst .li .r{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;min-width:11ch}.progression-page .lst .li .n{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.progression-page .lst .li .s{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto}.progression-page .lst .li .s.negative{color:var(--error)}.progression-page .ranks{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:1px;display:grid;overflow:hidden}.progression-page .rk{background:var(--surface);border-left:3px solid #0000;padding:13px 14px}.progression-page .rk--achieved{border-left-color:color-mix(in srgb, var(--accent) 26%, transparent)}.progression-page .rk--current{border-left-color:var(--accent);background:var(--surface-raised)}.progression-page .rk .t{font-family:var(--mono);font-size:var(--fs-micro);color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase}.progression-page .rk .n{font-size:var(--fs-body);color:var(--text-3);margin-top:6px;font-weight:600}.progression-page .rk--achieved .n,.progression-page .rk--current .n{color:var(--text)}.progression-page .rk--current .n{color:var(--accent)}.progression-page .rk .x{font-family:var(--mono);font-size:var(--fs-data);color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:5px}.progression-page .rk__badge{margin-top:8px}.progression-page .tablebox{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);overflow-x:auto}.progression-page table{border-collapse:collapse;width:100%}.progression-page thead th{background:var(--surface-raised);text-align:left;font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 16px;font-weight:600}.progression-page tbody td{border-bottom:1px solid var(--line-strong);vertical-align:middle;font-size:var(--fs-label);border-left:0;padding:12px 16px}.progression-page tbody tr:last-child td{border-bottom:0}.progression-page tbody tr:hover{background:var(--surface-hover)}.progression-page th.num,.progression-page td.num{text-align:right}.progression-page th.c-rank,.progression-page td.c-rank{width:6ch}.progression-page th.c-xp,.progression-page td.c-xp{width:12ch}.progression-page th.c-tier,.progression-page td.c-tier{width:16ch}.progression-page th.c-stats,.progression-page td.c-stats{width:18ch}.progression-page td.c-rank .rank{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.progression-page .pilot{flex-direction:column;gap:2px;min-width:0;display:flex}.progression-page .pilot b{color:var(--text);font-weight:600}.progression-page .pilot small{font-size:var(--fs-micro);color:var(--text-3)}.progression-page .score{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.progression-page td .mono{font-family:var(--mono);font-size:var(--fs-data)}.progression-page td .dim{color:var(--text-dim)}.progression-page tbody tr.p1 td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.progression-page tbody tr.p2 td:first-child{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 50%, transparent)}.progression-page tbody tr.p3 td:first-child{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 22%, transparent)}.progression-page tbody tr.p1 .rank{color:var(--accent)}.progression-page tbody tr.me{background:var(--accent-soft)}.progression-page .earn-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.progression-page .earn{padding:14px 16px}.progression-page .earn .n{font-size:var(--fs-body);color:var(--text);font-weight:600}.progression-page .earn .d{font-size:var(--fs-label);color:var(--text-3);margin-top:6px}.progression-page .empty{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.progression-page .empty b{color:var(--text-2);font-size:var(--fs-header);font-weight:600;display:block}@media (width<=768px){.progression-page{padding:1rem}.progression-page .page-head h1{font-size:var(--fs-title)}.progression-page th.c-tier,.progression-page td.c-tier,.progression-page th.c-stats,.progression-page td.c-stats{display:none}.progression-page .xph__next{text-align:left}}.flight-viewer-3d{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-panel);overflow:hidden}.flight-viewer-3d__legend{background:color-mix(in srgb, var(--accent) 6%, transparent);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:16px;padding:16px 20px;display:flex}.flight-viewer-3d__legend-item{align-items:center;gap:10px;display:flex}.flight-viewer-3d__legend-color{border-radius:var(--r-pill);background:var(--flight-color,var(--accent));flex-shrink:0;width:12px;height:12px}.flight-viewer-3d__legend-info{flex-direction:column;gap:2px;display:flex}.flight-viewer-3d__legend-name{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.flight-viewer-3d__legend-score,.flight-viewer-3d__legend-time{color:var(--color-text-muted);font-size:.8rem}.flight-viewer-3d__legend-error{color:var(--error);font-size:.8rem}.flight-viewer-3d__legend-crashes{color:var(--error);font-variant-numeric:tabular-nums;font-size:.8rem}.flight-viewer-3d__viewer{position:relative}.flight-viewer-3d__canvas{width:100%;height:450px}.flight-viewer-3d__view-controls{background:color-mix(in srgb, var(--bg) 60%, transparent);border-radius:var(--r-panel);gap:4px;padding:4px;display:flex;position:absolute;top:16px;left:16px}.flight-viewer-3d__view-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--r-panel);background:0 0;border:none;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.flight-viewer-3d__view-btn:hover{color:var(--color-text-primary)}.flight-viewer-3d__view-btn.active{background:var(--accent);color:var(--bg)}.flight-viewer-3d__playback{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);align-items:center;gap:12px;padding:16px 20px;display:flex}.flight-viewer-3d__play-btn{border-radius:var(--r-pill);background:var(--accent);width:40px;height:40px;color:var(--bg);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:transform .15s;display:flex}.flight-viewer-3d__play-btn:hover{transform:scale(1.05)}.flight-viewer-3d__time{color:var(--color-text-muted);min-width:45px;font-family:monospace;font-size:.85rem}.flight-viewer-3d__timeline{appearance:none;background:var(--color-border);cursor:pointer;border-radius:3px;flex:1;height:6px}.flight-viewer-3d__timeline::-webkit-slider-thumb{-webkit-appearance:none;border-radius:var(--r-pill);background:var(--color-accent);cursor:pointer;width:14px;height:14px}.flight-viewer-3d__timeline::-moz-range-thumb{border-radius:var(--r-pill);background:var(--color-accent);cursor:pointer;border:none;width:14px;height:14px}.flight-viewer-3d__speed{flex-shrink:0;gap:4px;display:flex}.flight-viewer-3d__speed-btn{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--r-input);cursor:pointer;background:0 0;padding:4px 8px;font-size:.75rem;transition:all .15s}.flight-viewer-3d__speed-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.flight-viewer-3d__speed-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.flight-viewer-3d__simple-legend{background:var(--color-bg-card);border-top:1px solid var(--color-border);justify-content:center;gap:24px;padding:12px;display:flex}.flight-viewer-3d__simple-legend-item{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.flight-viewer-3d__simple-legend-dot{border-radius:var(--r-pill);background:currentColor;flex-shrink:0;width:8px;height:8px}.flight-viewer-3d__simple-legend-item--start{color:var(--success)}.flight-viewer-3d__simple-legend-item--current{color:var(--accent)}.flight-viewer-3d__simple-legend-item--end{color:var(--error)}.flight-viewer-3d__inputs{background:var(--color-bg-card);border-top:1px solid var(--color-border);padding:16px 20px}.flight-viewer-3d__inputs-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.flight-viewer-3d__inputs-header h3{color:var(--color-text-primary);margin:0;font-size:.9rem;font-weight:600}.flight-viewer-3d__toggle-inputs{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--r-input);cursor:pointer;background:0 0;padding:4px 10px;font-size:.75rem;transition:all .15s}.flight-viewer-3d__toggle-inputs:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.flight-viewer-3d__inputs-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.flight-viewer-3d__input-chart{flex-direction:column;gap:4px;display:flex}.flight-viewer-3d__input-label{color:var(--color-text-muted);text-transform:capitalize;font-size:.75rem;font-weight:600}.flight-viewer-3d__input-canvas{border-radius:var(--r-panel);background:var(--surface);width:100%;height:60px}@media (width<=640px){.flight-viewer-3d__canvas{height:320px}.flight-viewer-3d__playback{flex-wrap:wrap;gap:10px;padding:12px 16px}.flight-viewer-3d__timeline{flex:none;order:10;width:100%}.flight-viewer-3d__speed{margin-left:auto}.flight-viewer-3d__legend{flex-direction:column;gap:12px}.flight-viewer-3d__inputs-grid{grid-template-columns:1fr}}.flight-detail{min-height:calc(100vh - 80px);padding:100px 24px 40px}.flight-detail__container{max-width:900px;margin:0 auto}.flight-detail__loading,.flight-detail__error{text-align:center;color:var(--color-text-muted);padding:60px 20px}.flight-detail__error h2{color:var(--color-text-primary);margin-bottom:16px}.flight-detail__error a{color:var(--color-accent);text-decoration:none}.flight-detail__error a:hover{text-decoration:underline}.flight-detail__crumb{font-size:var(--fs-label);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.flight-detail__back{color:var(--color-accent);font-size:var(--fs-label);margin-bottom:24px;text-decoration:none;display:inline-block}.flight-detail__crumb a{color:var(--text-3);text-decoration:none}.flight-detail__crumb a:hover,.flight-detail__back:hover{color:var(--accent);text-decoration:underline}.flight-detail__header{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding:18px 22px;display:flex}.flight-detail__title-section{flex:300px;min-width:0}.flight-detail__title-section h1{font-size:var(--fs-display);font-weight:700}.flight-detail__date{color:var(--text-3);font-size:var(--fs-label);margin-top:5px}.flight-detail__badges{flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px;display:flex}.flight-detail__badge{border-radius:var(--r-panel);padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none}.flight-detail__badge--pb{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.flight-detail__badge--event{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.flight-detail__badge--event:hover{background:color-mix(in srgb, var(--accent) 25%, transparent)}.flight-detail__score-section{flex:220px;min-width:170px}.flight-detail__score-row{align-items:baseline;gap:9px;display:flex}.flight-detail__score{font-size:var(--fs-score);color:var(--accent);font-weight:500;line-height:1;font-family:var(--mono);font-variant-numeric:tabular-nums}.flight-detail__max-score{color:var(--text-dim);font-size:var(--fs-title);font-family:var(--mono);font-variant-numeric:tabular-nums}.flight-detail__score-bar{background:var(--surface-hover);border:1px solid var(--line);border-radius:var(--r-pill);width:100%;height:5px;margin-top:9px;overflow:hidden}.flight-detail__score-fill{background:var(--accent);height:100%;transition:width .5s;display:block}.flight-detail__stats-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;margin-bottom:30px;display:grid;overflow:hidden}.flight-detail__stat{background:var(--surface);text-align:left;padding:14px 16px}.flight-detail__stat-label{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;font-weight:600;display:block}.flight-detail__stat-value{font-size:var(--fs-display);color:var(--text);line-height:1.1;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:7px;display:block}.flight-detail__stat-value--accent{color:var(--accent)}.flight-detail__stat-context{font-size:var(--fs-label);color:var(--text-dim);margin-left:7px;font-weight:400}.flight-detail__section{margin-top:30px;display:block}.flight-detail__section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.flight-detail__section h2{font-size:var(--fs-title);color:var(--text);font-weight:600}.flight-detail__scenario-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);padding:16px 18px}.flight-detail__scenario-desc{color:var(--text-3);font-size:var(--fs-label);line-height:1.65}.flight-detail__no-telemetry{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-1);text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:36px 18px}.flight-detail__no-telemetry b{color:var(--text-2);font-size:var(--fs-header);margin-bottom:6px;font-weight:600;display:block}@media (width<=640px){.flight-detail{padding:80px 16px 24px}.flight-detail__header{padding:16px 18px}.flight-detail__score-section{flex:100%;min-width:0}}.flight-compare{min-height:calc(100vh - 80px);padding:100px 24px 40px}.flight-compare__container{max-width:1100px;margin:0 auto}.flight-compare__loading,.flight-compare__error{text-align:center;color:var(--color-text-muted);padding:60px 20px}.flight-compare__error h2{color:var(--color-text-primary);margin-bottom:16px}.flight-compare__error p{margin-bottom:24px}.flight-compare__error a{color:var(--color-accent);text-decoration:none}.flight-compare__error a:hover{text-decoration:underline}.flight-compare__header{margin-bottom:24px}.flight-compare__back{color:var(--color-accent);margin-bottom:16px;font-size:.9rem;text-decoration:none;display:inline-block}.flight-compare__back:hover{text-decoration:underline}.flight-compare__header h1{margin-bottom:8px;font-size:1.75rem;font-weight:700}.flight-compare__subtitle{color:var(--color-text-muted);font-size:1rem}.flight-compare__subtitle strong{color:var(--color-text-primary)}.flight-compare__inputs-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--r-input);margin-top:24px;padding:20px}.flight-compare__inputs-section h3{color:var(--color-text-secondary);margin-bottom:8px;font-size:1rem;font-weight:600}.flight-compare__inputs-hint{color:var(--color-text-muted);font-size:.9rem}@media (width<=640px){.flight-compare{padding:80px 16px 24px}.flight-compare__header h1{font-size:1.5rem}}.account-settings{max-width:800px;margin:0 auto;padding:2rem}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:var(--fs-display);margin:0 0 .5rem}.settings-subtitle{color:var(--text-3);margin:0}.settings-content{flex-direction:column;gap:2rem;display:flex}.settings-section{background:var(--surface-hover);border:1px solid var(--line);border-radius:var(--r-panel);padding:1.5rem}.settings-section h2{font-size:var(--fs-header);border-bottom:1px solid var(--line);margin:0 0 1rem;padding-bottom:.75rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.info-item{flex-direction:column;gap:.25rem;display:flex}.info-item label{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}.info-item span{font-size:var(--fs-body);color:var(--text)}.password-form{flex-direction:column;gap:4px;max-width:400px;display:flex}.error-message,.success-message{font-size:var(--fs-label)}.become-host-section{border-color:var(--accent-line)}.become-host-section h2{color:var(--accent);border-bottom-color:var(--accent-line)}.become-host-content{flex-direction:column;gap:1rem;display:flex}.become-host-info p{color:var(--text-2);font-size:var(--fs-label);margin:0;line-height:1.6}.info-message{background:var(--accent-soft);color:var(--accent);border-radius:var(--r-input);font-size:var(--fs-label);border:1px solid var(--accent-line);padding:.75rem 1rem}.danger-zone{border-color:color-mix(in srgb, var(--error) 45%, transparent)}.danger-zone h2{color:var(--error);border-bottom-color:color-mix(in srgb, var(--error) 45%, transparent)}.danger-content{justify-content:space-between;align-items:center;gap:2rem;display:flex}.danger-info h3{font-size:var(--fs-body);margin:0 0 .5rem;font-weight:600}.danger-info p{color:var(--text-3);font-size:var(--fs-label);margin:0}.modal-overlay{background:color-mix(in srgb, var(--bg) 75%, transparent);z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto}.modal-content h2{font-size:var(--fs-title);margin:0 0 1rem}.modal-warning{background:color-mix(in srgb, var(--error) 12%, transparent);border:1px solid color-mix(in srgb, var(--error) 45%, transparent);border-radius:var(--r-input);margin-bottom:1.5rem;padding:1rem}.modal-warning p{color:var(--error);margin:0 0 .75rem}.modal-warning ul{color:var(--error);font-size:var(--fs-label);margin:0;padding-left:1.25rem}.modal-warning li{margin:.25rem 0}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.loading{min-height:200px;color:var(--text-3);justify-content:center;align-items:center;display:flex}@media (width<=600px){.account-settings{padding:1rem}.danger-content{flex-direction:column;align-items:flex-start}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.legal-page{background-color:var(--color-bg-primary);min-height:calc(100vh - 80px);padding:48px 24px}.legal-page__container{max-width:800px;margin:0 auto}.legal-page__header{text-align:center;margin-bottom:40px}.legal-page__draft-badge{color:#ffc107;letter-spacing:.1em;background-color:#ffc10726;border-radius:4px;margin-bottom:16px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-block}.legal-page__title{color:var(--color-text-primary);margin-bottom:8px;font-size:36px;font-weight:700}.legal-page__subtitle{color:var(--color-text-secondary);font-size:18px}.legal-page__effective{color:var(--color-text-muted);font-size:14px}.legal-page__content{color:var(--color-text-secondary);line-height:1.7}.legal-page__section{margin-bottom:32px}.legal-page__section h2{color:var(--color-text-primary);margin-bottom:12px;font-size:20px;font-weight:600}.legal-page__section h3{color:var(--color-text-primary);margin-top:16px;margin-bottom:8px;font-size:16px;font-weight:600}.legal-page__section p{margin-bottom:12px}.legal-page__section ul{margin:12px 0;padding-left:24px}.legal-page__section li{margin-bottom:8px}.contact-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.contact-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:24px;transition:border-color .2s,background-color .2s}.contact-card:hover{border-color:var(--color-accent);background-color:var(--color-bg-card-hover)}.contact-card__icon{width:40px;height:40px;color:var(--color-accent);margin-bottom:16px}.contact-card__icon svg{width:100%;height:100%}.contact-card__title{color:var(--color-text-primary);margin-bottom:8px;font-size:18px;font-weight:600}.contact-card__description{color:var(--color-text-secondary);margin-bottom:16px;font-size:14px;line-height:1.5}.contact-card__link{color:var(--color-accent);font-size:14px;font-weight:500;transition:color .2s}.contact-card__link:hover{color:var(--color-accent-hover)}@media (width<=640px){.legal-page{padding:32px 16px}.legal-page__title{font-size:28px}.contact-grid{grid-template-columns:1fr}}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;padding-top:56px}:root{--bg:#05080f;--surface:#080d13;--surface-raised:#0d131f;--surface-hover:#171b26;--panel:#05080ff2;--line:#1c2432;--line-strong:#2a3648;--text:#fffffff7;--text-2:#d6e0ef;--text-3:#93a1b7;--text-dim:#5d6b82;--accent:#2ed9f2;--accent-soft:#2ed9f224;--accent-line:#2ed9f259;--error:#e64040;--success:#33c759;--warning:#f28c26;--r-input:6px;--r-panel:10px;--r-lg:14px;--r-pill:999px;--scale:1;--fs-micro:calc(10px * var(--scale));--fs-data:calc(11px * var(--scale));--fs-label:calc(12px * var(--scale));--fs-body:calc(14px * var(--scale));--fs-header:calc(16px * var(--scale));--fs-title:calc(18px * var(--scale));--fs-display:calc(22px * var(--scale));--fs-name:calc(26px * var(--scale));--fs-score:calc(42px * var(--scale));--fs-rank:calc(46px * var(--scale));--rim:inset 0 1px 0 #ffffff0f;--rim-raised:inset 0 1px 0 #ffffff14;--rim-left:inset -1px 0 0 #ffffff0d;--lift-sm:0 8px 24px #0006;--lift:0 12px 34px #00000080;--lift-lg:0 18px 50px #0009;--sh-1:var(--rim), var(--lift-sm);--sh-2:var(--rim), var(--lift);--sh-float:var(--rim-raised), var(--lift-lg);--sh-chip:0 2px 10px #00000059;--sh-focus:0 0 0 1px var(--accent-line);--t-instant:80ms;--t-quick:.12s;--t-glow:.18s;--t-enter:.22s;--ease:ease;--ease-sheen:cubic-bezier(.25, .6, .3, 1);--wash-02:#ffffff05;--wash-04:#ffffff0a;--wash-06:color-mix(in srgb, var(--accent) 6%, transparent);--wash-12:color-mix(in srgb, var(--accent) 12%, transparent);--wash-15:color-mix(in srgb, var(--accent) 15%, transparent);--wash-18:color-mix(in srgb, var(--accent) 18%, transparent);--wash-35:color-mix(in srgb, var(--accent) 35%, transparent);--wash-60:color-mix(in srgb, var(--accent) 60%, transparent);--glow-dot:0 0 6px color-mix(in srgb, var(--accent) 70%, transparent);--glow-ring:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);--p:0;--glow:1;--sheen:.175;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter:22px;--row-h:calc(64px * var(--scale));--color-bg-primary:var(--bg);--color-bg-secondary:var(--surface);--color-bg-card:var(--surface-raised);--color-bg-card-hover:var(--surface-hover);--color-accent:var(--accent);--color-accent-hover:var(--accent);--color-text-primary:var(--text);--color-text-secondary:var(--text-2);--color-text-muted:var(--text-3);--color-border:var(--line);--color-gold:var(--accent);--color-silver:var(--text-2);--color-bronze:var(--text-3);--font-display:var(--sans);--font-body:var(--sans);--font-mono:var(--mono)}@media (prefers-reduced-motion:reduce){:root{--t-instant:0s;--t-quick:0s;--t-glow:0s;--t-enter:0s}}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-2);font-family:var(--sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--sans);color:var(--text);letter-spacing:-.01em;font-weight:600;line-height:1.2}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-title)}h3{font-size:var(--fs-header)}h4,h5,h6{font-size:var(--fs-body)}a{color:var(--accent);transition:color var(--t-quick) var(--ease);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section-label,.eyebrow{font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-weight:600}.num,.mono,[class*=__score],[class*=__value],[class*=-score],[class*=-value]{font-variant-numeric:tabular-nums}.container{max-width:1280px;padding:0 var(--gutter);margin:0 auto}button{font-family:var(--sans);cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.45;cursor:not-allowed}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=date],input[type=datetime-local],input[type=time],select,textarea{font-family:var(--sans);font-size:var(--fs-body);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-input);padding:8px 11px;transition:border-color .18s}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}.btn-primary,.btn-secondary,.btn-ghost,.btn-cancel,.btn-danger,.btn-delete{font-family:var(--sans);font-size:var(--fs-label);border-radius:var(--r-input);cursor:pointer;white-space:nowrap;transition:transform var(--t-instant) var(--ease), background var(--t-quick) var(--ease), color var(--t-quick) var(--ease), border-color var(--t-quick) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:9px 16px;display:inline-flex}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-cancel:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-delete:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-cancel:disabled,.btn-danger:disabled,.btn-delete:disabled{filter:none;transform:none}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--bg);font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn-secondary{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent);font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--wash-18)}.btn-ghost,.btn-cancel{border-color:var(--line-strong);color:var(--text-3);background:0 0}.btn-ghost:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger,.btn-delete{border-color:color-mix(in srgb, var(--error) 45%, transparent);background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}.btn-danger:hover:not(:disabled),.btn-delete:hover:not(:disabled){background:color-mix(in srgb, var(--error) 22%, transparent)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group>label{font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}.form-group>input,.form-group>select,.form-group>textarea{width:100%}.stat-card,.empty-state,.modal-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.stat-card{box-shadow:var(--sh-1);padding:16px 18px}.empty-state{text-align:center;color:var(--text-3);font-size:var(--fs-label);padding:34px 22px}.modal-content{background:var(--panel);box-shadow:var(--sh-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.success-message,.error-message{font-size:var(--fs-label);border-radius:var(--r-input);border:1px solid;padding:10px 13px}.success-message{border-color:color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.error-message{border-color:color-mix(in srgb, var(--error) 45%, transparent);background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}table{border-collapse:collapse;width:100%}thead th{text-align:left;font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);background:var(--surface-raised);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 16px;font-weight:600}tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px}tbody tr:last-child td{border-bottom:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-input)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.fx-surface,.card,.stat-card,.v2-feature-card,.v2-comp-card,.profile__card,.profile__header,.flight-history__pb-card,.flight-detail__header,.groups__card,.groups__pending-card,.groups__invite-card,.competitions__card,.competitions__hero,.competition-detail__event-card,.competition-detail__hero,.competition-event__meta-card,.competition-event__scenario-card,.competition-event__section,.competition-event__briefing,.competition-event__scoring,.competition-event__restrictions,.leaderboard__table-wrapper,.podium,.tablebox,.ranks,.detail-section,.modal-content{isolation:isolate;position:relative}.fx-surface:after,.card:after,.stat-card:after,.v2-feature-card:after,.v2-comp-card:after,.profile__card:after,.profile__header:after,.flight-history__pb-card:after,.flight-detail__header:after,.groups__card:after,.groups__pending-card:after,.groups__invite-card:after,.competitions__card:after,.competitions__hero:after,.competition-detail__event-card:after,.competition-detail__hero:after,.competition-event__meta-card:after,.competition-event__scenario-card:after,.competition-event__section:after,.competition-event__briefing:after,.competition-event__scoring:after,.competition-event__restrictions:after,.leaderboard__table-wrapper:after,.podium:after,.tablebox:after,.ranks:after,.detail-section:after,.modal-content:after{content:"";border-radius:inherit;background:radial-gradient(280px 240px at var(--mx,50%) var(--my,50%), var(--wash-15), transparent 60%);opacity:calc(var(--p,0) * var(--sheen,.175));transition:opacity var(--t-glow) var(--ease);pointer-events:none;z-index:-1;position:absolute;inset:0}.fx-surface:before,.card:before,.stat-card:before,.v2-feature-card:before,.v2-comp-card:before,.profile__card:before,.flight-history__pb-card:before,.groups__card:before,.groups__pending-card:before,.groups__invite-card:before,.competitions__card:before,.competitions__hero:before,.competition-detail__event-card:before,.competition-detail__hero:before,.competition-event__meta-card:before,.competition-event__scenario-card:before,.competition-event__section:before,.leaderboard__table-wrapper:before,.podium:before,.tablebox:before,.ranks:before,.modal-content:before{content:"";border-radius:inherit;background:radial-gradient(140px 140px at var(--mx,50%) var(--my,50%), var(--accent), transparent 70%);-webkit-mask-composite:xor;opacity:calc(var(--p,0) * var(--glow,1));transition:opacity var(--t-glow) var(--ease);pointer-events:none;z-index:6;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.fx-surface,.card,.stat-card,.v2-feature-card,.v2-comp-card,.profile__card,.flight-history__pb-card,.groups__card,.groups__invite-card,.competitions__card,.competition-detail__event-card,.competition-event__meta-card,.competition-event__scenario-card{transition:border-color var(--t-quick) var(--ease), transform var(--t-quick) var(--ease)}.fx-surface:hover,.card:hover,.stat-card:hover,.v2-feature-card:hover,.v2-comp-card:hover,.profile__card:hover,.flight-history__pb-card:hover,.groups__card:hover,.groups__invite-card:hover,.competitions__card:hover,.competition-detail__event-card:hover,.competition-event__meta-card:hover,.competition-event__scenario-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}tbody tr{transition:background var(--t-quick) var(--ease)}tbody tr:hover{background:var(--wash-02)}tbody tr.is-clickable:hover,tbody tr[role=button]:hover{background:var(--wash-06)}.row-affordance{color:var(--accent);font-size:var(--fs-data);opacity:0;transition:opacity var(--t-quick) var(--ease)}tr:hover .row-affordance,.fx-surface:hover .row-affordance{opacity:1}.status-dot--live,.dot--live,.is-live .status-dot,.is-live .dot{background:var(--accent);box-shadow:var(--glow-dot)}.tab-button{transition:color var(--t-quick) var(--ease), border-color var(--t-quick) var(--ease)}.tab-button:hover{color:var(--text-2)}.ambient{z-index:0;pointer-events:none;background:radial-gradient(40% 40% at 50% 50%, var(--wash-06), transparent 70%);will-change:transform;animation:48s ease-in-out infinite alternate drift;position:fixed;inset:-20%}@keyframes drift{0%{transform:translate(-6%,-4%)}to{transform:translate(6%,4%)}}@media (prefers-reduced-motion:reduce){.ambient{animation:none}.fx-surface,.card,.stat-card,.v2-feature-card,.v2-comp-card,.profile__card,.flight-history__pb-card,.groups__card,.groups__invite-card,.competitions__card,.competition-detail__event-card,.competition-event__meta-card,.competition-event__scenario-card{transition:border-color var(--t-quick) var(--ease)}.fx-surface:hover,.card:hover,.stat-card:hover,.v2-feature-card:hover,.v2-comp-card:hover,.profile__card:hover,.flight-history__pb-card:hover,.groups__card:hover,.groups__invite-card:hover,.competitions__card:hover,.competition-detail__event-card:hover,.competition-event__meta-card:hover,.competition-event__scenario-card:hover{transform:none}}:root{--ink-1:#ffffff08;--ink-2:#ffffff0e;--ink-3:#ffffff16;--fog-1:#ffffff07;--fog-2:#ffffff0c;--deep-1:#00000073;--deep-2:#0000009e;--deep-3:#000000bf;--pool-r:420px;--pool-i:.85}.bgf,.bgp,.bga,.bgx{z-index:0;pointer-events:none;position:fixed;inset:0}.bgp>i,.bga>i,.bgx>i{display:block;position:absolute;inset:0}.app{z-index:1;position:relative}.bgf{background-image:linear-gradient(180deg, var(--fog-2), transparent 30%), radial-gradient(92% 60% at 50% 40%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 66%), linear-gradient(0deg, var(--deep-3), transparent 44%), radial-gradient(120% 95% at 50% 40%, transparent 42%, var(--deep-2) 100%)}.bgp>i,.bgx>i{background-image:radial-gradient(circle at 50% 50%, var(--ink-2) .9px, transparent 1.1px), radial-gradient(circle at 50% 50%, var(--ink-1) .8px, transparent 1px);background-position:0 0,7px 7px;background-size:14px 14px,28px 28px}.bga>i{background-color:color-mix(in srgb, var(--accent) 34%, transparent);-webkit-mask-image:radial-gradient(circle,#000 1.1px,#0000 1.4px);mask-image:radial-gradient(circle,#000 1.1px,#0000 1.4px);-webkit-mask-size:84px 84px;mask-size:84px 84px}.bgp,.bga{-webkit-mask-image:radial-gradient(110% 92% at 50% 24%,#000 16%,#0000001f 96%);mask-image:radial-gradient(110% 92% at 50% 24%,#000 16%,#0000001f 96%)}.bgx{opacity:var(--pool-i,.85);-webkit-mask-image:radial-gradient(var(--pool-r,420px) var(--pool-r,420px) at var(--px,-2000px) var(--py,-2000px), #000 0%, #0000009e 34%, #0000002e 68%, transparent 100%);-webkit-mask-image:radial-gradient(var(--pool-r,420px) var(--pool-r,420px) at var(--px,-2000px) var(--py,-2000px), #000 0%, #0000009e 34%, #0000002e 68%, transparent 100%);mask-image:radial-gradient(var(--pool-r,420px) var(--pool-r,420px) at var(--px,-2000px) var(--py,-2000px), #000 0%, #0000009e 34%, #0000002e 68%, transparent 100%)}h1,h2,[class$=__title],[class$=__subtitle],[class*=section-title],[class*=section-header]{text-shadow:0 1px 3px var(--bg), 0 0 7px var(--bg)}.app .competitions,.app .competition-detail,.app .competition-event,.app .download-page,.app .get-syndojo,.app .create-competition,.app .submit-score,.app .legal-page,.app .link-syndojo,.app .v2-competitions,.app .v2-leaderboard,.app .v2-features,.app .v2-host-section{background:0 0}@media (prefers-reduced-motion:reduce){.bgx{display:none!important}}*{box-sizing:border-box;margin:0;padding:0}
