.notification-bell{position:relative}.notification-bell__button{background:transparent;border:1px solid var(--color-border);color:var(--color-text);padding:.375rem .5rem;cursor:pointer;font-family:var(--font-mono);font-size:var(--font-size-sm);display:flex;align-items:center;gap:.25rem;transition:all .15s ease}.notification-bell__button:hover{border-color:var(--color-primary);color:var(--color-primary)}.notification-bell__button:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-glow)}.notification-bell__icon{font-size:var(--font-size-base)}.notification-bell__badge{position:absolute;top:-4px;right:-4px;background:var(--color-error);color:var(--color-bg);font-size:.625rem;font-weight:700;padding:.125rem .25rem;min-width:16px;text-align:center;line-height:1;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.notification-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:360px;max-height:450px;background:var(--color-bg-secondary);border:1px solid var(--color-border);z-index:1000;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080}.notification-dropdown__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary)}.notification-dropdown__title{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:700}.notification-dropdown__mark-all{background:transparent;border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:.25rem .5rem;cursor:pointer;transition:all .15s ease}.notification-dropdown__mark-all:hover:not(:disabled){border-color:var(--color-secondary);color:var(--color-secondary)}.notification-dropdown__mark-all:disabled{opacity:.5;cursor:not-allowed}.notification-list{flex:1;overflow-y:auto;max-height:320px}.notification-list__empty,.notification-list__loading{padding:2rem;text-align:center;color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-sm)}.notification-list__error{padding:1rem;text-align:center;color:var(--color-error);font-family:var(--font-mono);font-size:var(--font-size-sm)}.notification-item{display:flex;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--color-border-dim);cursor:pointer;transition:background .15s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#ffffff08}.notification-item--unread{background:#00ff8808}.notification-item--unread:hover{background:#00ff880f}.notification-item__icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-text-dim)}.notification-item--unread .notification-item__icon{color:var(--color-primary)}.notification-item__content{flex:1;min-width:0}.notification-item__title{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.3;margin-bottom:.125rem}.notification-item--unread .notification-item__title{color:var(--color-text-bright);font-weight:700}.notification-item__body{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.notification-item__time{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted)}.notification-item__indicator{flex-shrink:0;display:flex;align-items:flex-start;padding-top:.25rem}.notification-item__unread-dot{width:6px;height:6px;background:var(--color-primary);border-radius:50%}.notification-dropdown__footer{padding:.75rem;border-top:1px solid var(--color-border);background:var(--color-bg-tertiary);text-align:center}.notification-dropdown__view-all{background:transparent;border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:.375rem 1rem;cursor:pointer;transition:all .15s ease;width:100%}.notification-dropdown__view-all:hover{border-color:var(--color-primary);color:var(--color-primary)}.notification-item__icon--challenge_received{color:var(--color-warning)}.notification-item__icon--challenge_accepted{color:var(--color-success)}.notification-item__icon--challenge_declined{color:var(--color-error)}.notification-item__icon--challenge_expired{color:var(--color-text-muted)}.notification-item__icon--friend_request{color:var(--color-secondary)}.notification-item__icon--friend_accepted{color:var(--color-success)}.notification-item__icon--race_starting{color:var(--color-warning)}.notification-item__icon--race_completed{color:var(--color-primary)}.notification-item__icon--achievement_unlocked{color:gold}.notification-item__icon--level_up{color:var(--color-info)}.notification-item__icon--daily_bonus{color:gold}.notification-item__icon--credit_received{color:var(--color-success)}.notification-item__icon--system{color:var(--color-text-dim)}@media (max-width: 480px){.notification-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-height:60vh;border-radius:0}}.connection-status{position:fixed;left:50%;transform:translate(-50%);z-index:1000;padding:.5rem 1rem;background-color:var(--color-bg-secondary, #1a1a2e);border:1px solid var(--color-border, #333);border-radius:4px;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.875rem;animation:slideIn .3s ease-out}.connection-status--top{top:1rem}.connection-status--bottom{bottom:1rem}.connection-status__content{display:flex;align-items:center;gap:.5rem}.connection-status__icon{font-size:.75rem}.connection-status__icon--connected{color:var(--color-success, #00ff88)}.connection-status__icon--reconnecting{color:var(--color-warning, #ffaa00);animation:pulse 1s ease-in-out infinite}.connection-status__icon--disconnected{color:var(--color-error, #ff4444)}.connection-status__text{color:var(--color-text, #e0e0e0)}.connection-status--connected{border-color:var(--color-success, #00ff88)}.connection-status--reconnecting{border-color:var(--color-warning, #ffaa00)}.connection-status--disconnected{border-color:var(--color-error, #ff4444)}.connection-status__error{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border, #333);font-size:.75rem}.connection-status__error-icon{color:var(--color-error, #ff4444)}.connection-status__error-text{color:var(--color-text-muted, #888)}.connection-indicator{display:inline-block;font-size:.625rem;line-height:1}.connection-indicator--connected{color:var(--color-success, #00ff88)}.connection-indicator--disconnected{color:var(--color-error, #ff4444);animation:blink 1s step-end infinite}@keyframes slideIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes blink{50%{opacity:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:modal-fade-in .15s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-container{width:100%;max-height:90vh;animation:modal-slide-in .15s ease-out}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-container--sm{max-width:400px}.modal-container--md{max-width:600px}.modal-container--lg{max-width:800px}.modal-panel{display:flex;flex-direction:column;max-height:90vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--terminal-border, #333)}.modal-title{margin:0;font-size:1rem;font-weight:600;color:var(--terminal-accent, #0ff);font-family:var(--font-mono)}.modal-close{flex-shrink:0}.modal-content{flex:1;overflow-y:auto;padding:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem;border-top:1px solid var(--terminal-border, #333)}.achievement-toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;pointer-events:none}.achievement-toast-container>*{pointer-events:auto}.achievement-toast{position:relative;background:var(--color-bg);border:2px solid;padding:1.5rem;min-width:350px;max-width:450px;overflow:hidden;font-family:var(--font-mono);box-shadow:0 4px 24px #00000080}.achievement-toast__glow{position:absolute;top:0;left:0;right:0;height:3px;animation:glow-pulse 1s infinite}@keyframes glow-pulse{0%,to{opacity:.5;filter:blur(0px)}50%{opacity:1;filter:blur(2px);box-shadow:0 0 20px currentColor}}.achievement-toast__content{position:relative}.achievement-toast__header{text-align:center;font-size:var(--font-size-sm);color:var(--color-primary);margin-bottom:1rem;letter-spacing:2px;font-weight:700}.achievement-toast__info{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.achievement-toast__icon{font-size:3rem;line-height:1;display:flex;align-items:center;justify-content:center;min-width:64px}.achievement-toast__details{flex:1;min-width:0}.achievement-toast__name{font-size:var(--font-size-lg);font-weight:700;margin-bottom:.25rem;line-height:var(--line-height-tight)}.achievement-toast__description{color:var(--color-text-dim);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.achievement-toast__rewards{display:flex;flex-wrap:wrap;gap:1rem;padding-top:.75rem;border-top:1px dashed var(--color-border)}.achievement-toast__reward{display:flex;align-items:center;gap:.5rem;color:var(--color-primary)}.achievement-toast__reward--xp{color:var(--color-secondary)}.achievement-toast__reward--title{color:var(--color-warning)}.achievement-toast__reward-icon{font-size:var(--font-size-lg);font-weight:700}.achievement-toast__reward-value{font-weight:700;font-size:var(--font-size-base)}.achievement-toast__rarity-badge{position:absolute;top:-.5rem;right:.5rem;padding:.125rem .5rem;font-size:var(--font-size-xs);font-weight:700;color:var(--color-bg);letter-spacing:1px}.achievement-toast__dismiss{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--color-text-dim);font-size:var(--font-size-xl);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s;font-family:var(--font-mono)}.achievement-toast__dismiss:hover{color:var(--color-text)}.typewriter__cursor{opacity:0}.typewriter__cursor--blink{animation:cursor-blink .7s infinite}.race-data-view{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-mono)}.race-data-view__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-4);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.race-data-view__header-left,.race-data-view__header-center,.race-data-view__header-right{display:flex;align-items:center;gap:var(--spacing-2)}.race-data-view__track-name{color:var(--color-primary);font-weight:700}.race-data-view__track-type{color:var(--color-text-dim);font-size:var(--font-size-sm)}.race-data-view__lap{color:var(--color-text-bright);font-size:var(--font-size-lg);font-weight:700}.race-data-view__time{color:var(--color-secondary);font-size:var(--font-size-lg);font-variant-numeric:tabular-nums}.race-data-view__weather{color:var(--color-warning)}.race-data-view__phase{color:var(--color-text-dim);font-size:var(--font-size-sm)}.race-data-view__grid{display:grid;flex:1;min-height:0;gap:var(--spacing-2);padding:var(--spacing-2);grid-template-columns:minmax(250px,1fr) minmax(200px,1fr) minmax(200px,1fr);grid-template-rows:1fr 1fr minmax(150px,.6fr);grid-template-areas:"track-map standings telemetry" "track-map sectors head-to-head" "decisions speed-trace speed-trace"}.race-data-view__track-map{grid-area:track-map;min-height:0}.race-data-view__standings{grid-area:standings;min-height:0}.race-data-view__telemetry{grid-area:telemetry;min-height:0}.race-data-view__sectors{grid-area:sectors;min-height:0}.race-data-view__head-to-head{grid-area:head-to-head;min-height:0}.race-data-view__decisions{grid-area:decisions;min-height:0}.race-data-view__speed-trace{grid-area:speed-trace;min-height:0}.race-data-view__grid>div{display:flex;flex-direction:column}.race-data-view__grid>div>.panel{flex:1;min-height:0;display:flex;flex-direction:column}.race-data-view__grid>div>.panel .panel__body{flex:1;min-height:0;overflow:hidden}.race-data-view__grid>div>.panel .panel__content{height:100%;overflow:auto}@media (max-width: 1200px){.race-data-view__grid{grid-template-columns:minmax(200px,1fr) 1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"track-map standings" "track-map telemetry" "decisions sectors" "speed-trace head-to-head"}}@media (max-width: 768px){.race-data-view__grid{grid-template-columns:1fr;grid-template-rows:repeat(7,auto);grid-template-areas:"track-map" "standings" "telemetry" "decisions" "sectors" "head-to-head" "speed-trace"}.race-data-view__header{flex-direction:column;gap:var(--spacing-1)}}.data-panel-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-4)}.data-panel-placeholder__icon{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-2);opacity:.5}.data-panel-placeholder__text{opacity:.7}.data-panel-content{font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.data-panel-content__row{display:flex;justify-content:space-between;padding:var(--spacing-1) 0;border-bottom:1px solid var(--color-border-dim)}.data-panel-content__row:last-child{border-bottom:none}.data-panel-content__label{color:var(--color-text-dim)}.data-panel-content__value{color:var(--color-text);font-variant-numeric:tabular-nums}.data-panel-content__value--highlight{color:var(--color-primary)}.data-panel-content__value--warning{color:var(--color-warning)}.data-panel-content__value--error{color:var(--color-error)}.track-map{position:relative;width:100%;height:100%;background-color:var(--color-bg-secondary);border-radius:4px;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none}.track-map--dragging{cursor:grabbing}.track-map--loading{display:flex;align-items:center;justify-content:center;cursor:default}.track-map__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-text-dim);font-family:var(--font-mono)}.track-map__placeholder-icon{font-size:var(--font-size-2xl);color:var(--color-primary-dim);animation:pulse 2s ease-in-out infinite}.track-map__placeholder-text{font-size:var(--font-size-sm)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.track-map__svg{display:block;width:100%;height:100%}.track-path__glow{opacity:.5}.track-path__outline{transition:stroke-width .2s ease}.track-path__centerline{opacity:.4}.car-marker{transition:transform .05s linear;cursor:pointer}.car-marker:hover .car-marker__body{filter:brightness(1.2)}.car-marker:focus{outline:none}.car-marker:focus .car-marker__body{stroke:var(--color-secondary);stroke-width:2}.car-marker--followed .car-marker__body{filter:drop-shadow(0 0 4px var(--color-secondary))}.car-marker__label{-webkit-user-select:none;user-select:none}.track-map__controls{position:absolute;bottom:var(--spacing-2);right:var(--spacing-2);display:flex;gap:2px;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:2px;z-index:10}.track-map__control-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:24px;padding:0 var(--spacing-1);background-color:transparent;border:none;color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.track-map__control-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text)}.track-map__control-btn:active:not(:disabled){background-color:var(--color-primary-dim);color:var(--color-primary)}.track-map__control-btn:disabled{opacity:.3;cursor:not-allowed}.track-map__control-btn--center{margin-left:4px;border-left:1px solid var(--color-border-dim);padding-left:6px}.track-map__info{position:absolute;top:var(--spacing-2);left:var(--spacing-2);display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim);text-shadow:0 1px 2px var(--color-bg);pointer-events:none;z-index:10}.track-map__track-name{color:var(--color-text)}.track-map__car-count{color:var(--color-text-muted)}@media (max-width: 768px){.track-map__controls{bottom:var(--spacing-1);right:var(--spacing-1)}.track-map__control-btn{min-width:28px;height:20px;font-size:10px}.track-map__info{top:var(--spacing-1);left:var(--spacing-1);font-size:10px}}.standings-panel{display:flex;flex-direction:column;height:100%;font-family:var(--font-mono);font-size:var(--font-size-sm)}.standings-panel--empty{align-items:center;justify-content:center}.standings-panel__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-text-dim)}.standings-panel__placeholder-icon{font-size:var(--font-size-xl);color:var(--color-primary-dim)}.standings-panel__placeholder-text{font-size:var(--font-size-sm)}.standings-panel__header{display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);color:var(--color-text-dim);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.standings-panel__list{flex:1;overflow-y:auto;overflow-x:hidden}.standings-panel__row{display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);cursor:pointer;transition:background-color var(--transition-fast);border-left:2px solid transparent}.standings-panel__row:hover{background-color:var(--color-bg-tertiary)}.standings-panel__row:focus{outline:none;background-color:var(--color-bg-tertiary)}.standings-panel__row:focus-visible{box-shadow:inset 0 0 0 1px var(--color-primary)}.standings-panel__row--player{background-color:#00ff8814}.standings-panel__row--player:hover{background-color:#00ff8826}.standings-panel__row--followed{border-left-color:var(--color-secondary);background-color:#00aaff14}.standings-panel__row--followed:hover{background-color:#00aaff26}.standings-panel__row--finished{border-left-color:var(--color-success);opacity:.85}.standings-panel__row--dnf{opacity:.5}.standings-panel__row--dnf .standings-panel__driver-name{text-decoration:line-through}.standings-panel__row--pit{opacity:.7}.standings-panel__row--up{animation:flash-up .5s ease-out}.standings-panel__row--down{animation:flash-down .5s ease-out}@keyframes flash-up{0%{background-color:#00ff884d}to{background-color:transparent}}@keyframes flash-down{0%{background-color:#ff55554d}to{background-color:transparent}}.standings-panel__col{font-variant-numeric:tabular-nums;white-space:nowrap}.standings-panel__col--pos{width:1.5em;color:var(--color-warning);font-weight:600;text-align:center}.standings-panel__col--change{width:1.2em;text-align:center;font-size:var(--font-size-xs)}.standings-panel__col--name{flex:1;display:flex;align-items:center;gap:var(--spacing-1);overflow:hidden;min-width:0}.standings-panel__col--gap{width:4.5em;text-align:right;color:var(--color-text-dim)}.standings-panel__col--last{width:6em;text-align:right}.standings-panel__driver-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standings-panel__player-marker{color:var(--color-success);font-size:var(--font-size-xs);flex-shrink:0}.standings-panel__bot-marker{color:var(--color-text-muted);font-size:.65em;flex-shrink:0}.standings-panel__change-up{color:var(--color-success);animation:bounce-up .3s ease-out}.standings-panel__change-down{color:var(--color-error);animation:bounce-down .3s ease-out}@keyframes bounce-up{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.standings-panel__status{font-size:var(--font-size-xs);font-weight:600}.standings-panel__status--pit{color:var(--color-warning)}.standings-panel__status--dnf{color:var(--color-error)}.standings-panel__status--finished{color:var(--color-success)}@media (max-width: 768px){.standings-panel{font-size:var(--font-size-xs)}.standings-panel__col--gap{width:4em}.standings-panel__col--last{width:5em}.standings-panel__bot-marker{display:none}}.telemetry-panel{display:flex;flex-direction:column;height:100%;padding:var(--spacing-2);gap:var(--spacing-2);font-family:var(--font-mono)}.telemetry-panel--empty{align-items:center;justify-content:center;padding:0}.telemetry-panel__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-text-dim)}.telemetry-panel__placeholder-icon{font-size:var(--font-size-xl);color:var(--color-primary-dim);animation:telemetry-pulse 2s ease-in-out infinite}.telemetry-panel__placeholder-text{font-size:var(--font-size-sm)}@keyframes telemetry-pulse{0%,to{opacity:.5}50%{opacity:1}}.telemetry-panel__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-1);border-bottom:1px solid var(--color-border-dim)}.telemetry-panel__car-name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.telemetry-panel__max-speed{font-size:var(--font-size-xs);color:var(--color-text-muted)}.telemetry-panel__bars{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1}.telemetry-bar{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm)}.telemetry-bar__icon{width:1em;text-align:center;color:var(--color-text-dim);font-size:var(--font-size-xs)}.telemetry-bar__label{width:5em;color:var(--color-text-dim);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.telemetry-bar__bar{flex:1;letter-spacing:-.05em;transition:color var(--transition-fast)}.telemetry-bar__value{width:5.5em;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--font-size-xs);color:var(--color-text)}.telemetry-bar--default .telemetry-bar__bar{color:var(--color-primary)}.telemetry-bar--success .telemetry-bar__bar{color:var(--color-success)}.telemetry-bar--warning .telemetry-bar__bar{color:var(--color-warning)}.telemetry-bar--error .telemetry-bar__bar{color:var(--color-error);animation:bar-pulse-error 1s ease-in-out infinite}.telemetry-bar--throttle .telemetry-bar__bar{color:var(--color-success)}.telemetry-bar--brake .telemetry-bar__bar{color:var(--color-error)}@keyframes bar-pulse-error{0%,to{opacity:1}50%{opacity:.7}}.telemetry-bar--warning .telemetry-bar__label,.telemetry-bar--warning .telemetry-bar__value{color:var(--color-warning)}.telemetry-bar--error .telemetry-bar__label,.telemetry-bar--error .telemetry-bar__value{color:var(--color-error)}.telemetry-panel__speed-gauge{margin-top:auto;padding-top:var(--spacing-2);border-top:1px solid var(--color-border-dim)}.speed-gauge{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs)}.speed-gauge__label{width:2.5em;color:var(--color-text-dim);text-transform:uppercase}.speed-gauge__bar{flex:1;letter-spacing:-.02em;transition:color var(--transition-fast)}.speed-gauge__value{width:3em;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--font-size-sm)}.speed-gauge--low .speed-gauge__bar,.speed-gauge--low .speed-gauge__value{color:var(--color-text-dim)}.speed-gauge--mid .speed-gauge__bar,.speed-gauge--mid .speed-gauge__value{color:var(--color-primary)}.speed-gauge--high .speed-gauge__bar,.speed-gauge--high .speed-gauge__value{color:var(--color-success)}@media (max-width: 768px){.telemetry-panel{padding:var(--spacing-1);gap:var(--spacing-1)}.telemetry-bar{font-size:var(--font-size-xs)}.telemetry-bar__label{width:4em;font-size:10px}.telemetry-bar__value{width:4.5em}.telemetry-bar__icon{display:none}}.decision-feed{display:flex;flex-direction:column;height:100%;font-family:var(--font-mono);font-size:var(--font-size-sm);position:relative}.decision-feed--empty{align-items:center;justify-content:center}.decision-feed__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-text-dim)}.decision-feed__placeholder-icon{font-size:var(--font-size-xl);color:var(--color-primary-dim)}.decision-feed__placeholder-text{font-size:var(--font-size-sm)}.decision-feed__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-1) var(--spacing-2);border-bottom:1px solid var(--color-border);flex-shrink:0}.decision-feed__car-name{font-size:var(--font-size-xs);color:var(--color-text)}.decision-feed__label{color:var(--color-text-dim)}.decision-feed__status{font-size:var(--font-size-xs)}.decision-feed__status-live{color:var(--color-success);animation:pulse-live 2s ease-in-out infinite}.decision-feed__status-paused{color:var(--color-warning)}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.5}}.decision-feed__list{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.decision-feed__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-1);padding:var(--spacing-4);color:var(--color-text-muted)}.decision-feed__empty-icon{font-size:var(--font-size-lg);animation:pulse-empty 2s ease-in-out infinite}.decision-feed__empty-text{font-style:italic;font-size:var(--font-size-xs)}@keyframes pulse-empty{0%,to{opacity:.3}50%{opacity:.7}}.decision-entry{display:flex;align-items:flex-start;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border-bottom:1px solid var(--color-border-dim);transition:background-color var(--transition-fast)}.decision-entry:hover{background-color:var(--color-bg-tertiary)}.decision-entry--latest{animation:highlight-new 1s ease-out}@keyframes highlight-new{0%{background-color:#0f83}to{background-color:transparent}}.decision-entry__tick{color:var(--color-secondary);font-size:var(--font-size-xs);flex-shrink:0;font-variant-numeric:tabular-nums}.decision-entry__icon{flex-shrink:0;width:1em;text-align:center;font-size:var(--font-size-xs)}.decision-entry__text{flex:1;color:var(--color-text);word-break:break-word}.decision-entry--default .decision-entry__icon,.decision-entry--default .decision-entry__text{color:var(--color-text)}.decision-entry--throttle .decision-entry__icon{color:var(--color-success)}.decision-entry--brake .decision-entry__icon,.decision-entry--brake .decision-entry__text{color:var(--color-warning)}.decision-entry--steer .decision-entry__icon{color:var(--color-primary)}.decision-entry--overtake .decision-entry__icon,.decision-entry--overtake .decision-entry__text{color:var(--color-secondary)}.decision-entry--overtake{background-color:#00aaff0d}.decision-entry--pit .decision-entry__icon{color:var(--color-primary)}.decision-entry--pit{background-color:#00ff880d}.decision-entry--weather .decision-entry__icon{color:var(--color-text-dim)}.decision-entry--warning .decision-entry__icon,.decision-entry--warning .decision-entry__text{color:var(--color-error)}.decision-entry--warning{background-color:#ff555514}.decision-feed__jump-button{position:absolute;bottom:var(--spacing-2);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-bg);border:1px solid var(--color-secondary);border-radius:4px;color:var(--color-secondary);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);z-index:10;box-shadow:0 2px 8px #0000004d;animation:bounce-in .3s ease-out}.decision-feed__jump-button:hover{background-color:var(--color-secondary);color:var(--color-bg)}.decision-feed__jump-button:active{transform:translate(-50%) scale(.95)}@keyframes bounce-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.decision-feed{font-size:var(--font-size-xs)}.decision-entry{padding:var(--spacing-1)}.decision-entry__tick{font-size:10px}.decision-feed__jump-button{padding:var(--spacing-1) var(--spacing-2);font-size:10px}}.sector-panel{display:flex;flex-direction:column;height:100%;padding:var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-sm)}.sector-panel--empty{align-items:center;justify-content:center}.sector-panel__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-text-dim)}.sector-panel__placeholder-icon{font-size:var(--font-size-xl);color:var(--color-primary-dim)}.sector-panel__placeholder-text{font-size:var(--font-size-sm)}.sector-panel__content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}.sector-panel__row{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) 0}.sector-panel__row--current{background-color:#00aaff14;margin:0 calc(var(--spacing-2) * -1);padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.sector-panel__row--completed{opacity:1}.sector-panel__row--pending{opacity:.5}.sector-panel__label{color:var(--color-text-dim);width:3em;font-weight:600}.sector-panel__time{color:var(--color-text);font-variant-numeric:tabular-nums;flex:1}.sector-panel__progress{display:flex;align-items:center;gap:var(--spacing-1);position:relative;height:16px;background-color:var(--color-bg-tertiary);border-radius:2px;overflow:hidden}.sector-panel__progress-bar{position:absolute;left:0;top:0;height:100%;background-color:var(--color-secondary);opacity:.6;transition:width .1s linear}.sector-panel__progress-text{position:relative;z-index:1;padding:0 var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text)}.sector-panel__delta{display:flex;align-items:center;gap:var(--spacing-1);margin-left:auto;font-size:var(--font-size-xs)}.sector-panel__delta--faster{color:var(--color-success)}.sector-panel__delta--slower{color:var(--color-error)}.sector-panel__delta--neutral{color:var(--color-text-dim)}.sector-panel__delta-icon{font-size:.8em}.sector-panel__divider{color:var(--color-border);font-size:var(--font-size-xs);overflow:hidden;text-align:center;margin:var(--spacing-1) 0}.sector-panel__total{display:flex;gap:var(--spacing-2);padding:var(--spacing-1) 0;font-weight:600}.sector-panel__lap-info{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;padding-top:var(--spacing-2);border-top:1px solid var(--color-border-dim);margin-top:auto}@media (max-width: 768px){.sector-panel{padding:var(--spacing-1);font-size:var(--font-size-xs)}.sector-panel__delta{font-size:10px}}.h2h-panel{display:flex;flex-direction:column;height:100%;padding:var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-sm)}.h2h-panel--empty{align-items:center;justify-content:center}.h2h-panel__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-text-dim)}.h2h-panel__placeholder-icon{font-size:var(--font-size-xl);color:var(--color-primary-dim)}.h2h-panel__placeholder-text{font-size:var(--font-size-sm)}.h2h-panel__header{display:flex;justify-content:center;align-items:center;gap:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-2)}.h2h-panel__player-name{color:var(--color-primary);font-weight:600}.h2h-panel__vs{color:var(--color-text-muted);font-size:var(--font-size-xs)}.h2h-panel__opponent-name{color:var(--color-warning);font-weight:600;max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h2h-panel__gap{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-dim);padding-bottom:var(--spacing-2);margin-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border-dim)}.h2h-panel__gap-value{color:var(--color-error);font-weight:600}.h2h-panel__gap--leader .h2h-panel__gap-value{color:var(--color-success)}.h2h-panel__stats{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}.h2h-panel__row{display:flex;align-items:center;gap:var(--spacing-1)}.h2h-panel__label{color:var(--color-text-dim);font-size:var(--font-size-xs);width:6em;text-transform:uppercase}.h2h-panel__value{font-variant-numeric:tabular-nums;width:5em;text-align:right}.h2h-panel__value--player{color:var(--color-text)}.h2h-panel__value--opponent{color:var(--color-text-dim)}.h2h-panel__value--better{color:var(--color-success);font-weight:600}.h2h-panel__value--worse{color:var(--color-error)}.h2h-panel__value--tied{color:var(--color-secondary)}.h2h-panel__divider{color:var(--color-border);font-size:var(--font-size-xs)}.h2h-panel__summary{text-align:center;padding-top:var(--spacing-2);border-top:1px solid var(--color-border-dim);margin-top:auto}.h2h-panel__score{font-size:var(--font-size-xs);color:var(--color-text-dim)}.h2h-panel__score--ahead{color:var(--color-success)}@media (max-width: 768px){.h2h-panel{padding:var(--spacing-1);font-size:var(--font-size-xs)}.h2h-panel__label{width:5em;font-size:10px}.h2h-panel__value{width:4em}}.speed-trace{display:flex;flex-direction:column;height:100%;padding:var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-sm);gap:var(--spacing-1)}.speed-trace__stats{display:flex;align-items:center;gap:var(--spacing-3);padding-bottom:var(--spacing-1);border-bottom:1px solid var(--color-border-dim)}.speed-trace__stat{display:flex;align-items:baseline;gap:var(--spacing-1)}.speed-trace__stat-label{font-size:var(--font-size-xs);color:var(--color-text-dim)}.speed-trace__stat-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text)}.speed-trace__stat-value--current{color:var(--color-secondary);font-size:var(--font-size-md)}.speed-trace__stat-value--max{color:var(--color-success)}.speed-trace__unit{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-muted)}.speed-trace__graph-container{flex:1;min-height:0;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-dim);border-radius:2px;overflow:hidden}.speed-trace__svg{display:block;width:100%;height:100%}.speed-trace__grid-line{stroke:var(--color-border-dim);stroke-width:1;stroke-dasharray:2,4}.speed-trace__grid-label{fill:var(--color-text-muted);font-size:8px;font-family:var(--font-mono)}.speed-trace__line{stroke:var(--color-secondary);stroke-width:2;filter:drop-shadow(0 0 2px var(--color-secondary))}.speed-trace__area{fill:var(--color-secondary);opacity:.15}.speed-trace__x-axis{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-muted);padding-top:var(--spacing-1)}.speed-trace__x-axis-now{color:var(--color-text-dim)}.speed-trace__inputs{display:flex;justify-content:center;gap:var(--spacing-3);padding-top:var(--spacing-1);border-top:1px solid var(--color-border-dim)}.speed-trace__input{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;padding:2px var(--spacing-1);border-radius:2px;background-color:var(--color-bg-secondary)}.speed-trace__input--throttle{color:var(--color-text-dim)}.speed-trace__input--throttle.speed-trace__input--active{color:var(--color-success);background-color:#00ff881a}.speed-trace__input--brake{color:var(--color-text-dim)}.speed-trace__input--brake.speed-trace__input--active{color:var(--color-error);background-color:#ff55551a}@media (max-width: 768px){.speed-trace{padding:var(--spacing-1)}.speed-trace__stats{gap:var(--spacing-2)}.speed-trace__stat-value--current{font-size:var(--font-size-sm)}.speed-trace__inputs{gap:var(--spacing-2)}}.profile-avatar-wrapper{position:relative;flex-shrink:0}.profile-tier-badge{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;border:2px solid var(--color-bg-primary);box-shadow:0 0 8px #00000080}.profile-name-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.profile-name-row h1{margin:0;font-size:var(--font-size-2xl)}.profile-meta{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-xs)}.profile-rating{font-weight:700;text-shadow:0 0 8px currentColor}.profile-level{color:var(--color-primary);font-size:var(--font-size-sm)}.profile-xp{margin-top:var(--spacing-sm);max-width:300px}.profile-xp-text{font-size:var(--font-size-xs);color:var(--color-text-dim);display:block;margin-top:var(--spacing-xs)}.profile-earnings{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);margin-top:var(--spacing-md)}.earnings-label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.earnings-value{color:var(--color-warning);font-size:var(--font-size-lg);font-weight:700;text-shadow:var(--glow-warning)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.section-header h2{margin:0}.featured-replay-placeholder{padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);text-align:center}.no-featured-replay p{margin:0;color:var(--color-text-dim)}.no-featured-replay .hint{font-size:var(--font-size-xs);margin-top:var(--spacing-xs);font-style:italic}.featured-replay-link{display:inline-block;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-tertiary);border:1px solid var(--color-primary);color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast)}.featured-replay-link:hover{background-color:var(--color-primary);color:var(--color-bg-primary);box-shadow:var(--shadow-glow-primary)}.replay-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);max-height:400px;overflow-y:auto;padding:var(--spacing-xs)}.replay-picker-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;text-align:left;transition:all var(--transition-fast);position:relative;font-family:inherit;color:inherit}.replay-picker-item:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-glow-primary)}.replay-picker-item:disabled{opacity:.7;cursor:not-allowed}.replay-picker-item--selected{border-color:var(--color-success);background-color:#00ff881a}.replay-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.replay-track{font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replay-item-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm)}.replay-position{color:var(--color-primary);font-weight:700}.replay-type{color:var(--color-text-dim)}.replay-item-date{font-size:var(--font-size-xs);color:var(--color-text-dim)}.replay-item-selected-badge{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);padding:2px var(--spacing-xs);background-color:var(--color-success);color:var(--color-bg-primary);font-size:var(--font-size-xs);font-weight:700}.empty-state{text-align:center;padding:var(--spacing-xl)}.empty-state p{margin:0;color:var(--color-text-dim)}.empty-state .hint{font-size:var(--font-size-sm);margin-top:var(--spacing-sm);font-style:italic}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.achievement-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);transition:all var(--transition-fast)}.achievement-card--unlocked{border-color:var(--color-success)}.achievement-card--unlocked .achievement-icon{color:var(--color-success);text-shadow:var(--glow-success)}.achievement-card--locked{opacity:.7}.achievement-card--locked .achievement-name{color:var(--color-text-dim)}.achievement-card:hover{border-color:var(--color-primary)}.achievement-icon{font-size:var(--font-size-2xl);flex-shrink:0;width:40px;text-align:center}.achievement-content{flex:1;min-width:0}.achievement-name{font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-xs)}.achievement-description{font-size:var(--font-size-sm);color:var(--color-text-dim);margin-bottom:var(--spacing-xs)}.achievement-progress{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.achievement-progress-text{font-size:var(--font-size-xs);color:var(--color-text-dim);white-space:nowrap}.achievement-unlocked-date{font-size:var(--font-size-xs);color:var(--color-success);margin-top:var(--spacing-xs)}.achievement-rewards{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);flex-shrink:0}.reward-credits{font-size:var(--font-size-sm);color:var(--color-warning);font-weight:700}.reward-title{font-size:var(--font-size-xs);color:var(--color-secondary);font-style:italic}.no-achievements{color:var(--color-text-dim);text-align:center;padding:var(--spacing-lg);grid-column:1 / -1}.achievements-overall-progress{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.achievements-overall-progress .progress-bar{flex:1}.achievements-progress-text{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:700;white-space:nowrap}.achievements-filters{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.achievements-category-filter{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.category-filter-btn{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.category-filter-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.category-filter-btn--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-primary)}.achievements-locked-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-dim);cursor:pointer}.achievements-locked-toggle input[type=checkbox]{accent-color:var(--color-primary)}.achievement-card{position:relative;border-left:3px solid var(--rarity-color, var(--color-border))}.achievement-card--unlocked{border-left-color:var(--rarity-color, var(--color-success))}.achievement-rarity-badge{position:absolute;top:0;right:0;padding:2px var(--spacing-xs);font-size:9px;font-weight:700;color:var(--color-bg-primary);letter-spacing:.5px}.reward-xp{font-size:var(--font-size-sm);color:var(--color-secondary);font-weight:700}.achievement-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);width:280px;padding:var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border);box-shadow:0 4px 16px #00000080;opacity:0;visibility:hidden;pointer-events:none;transition:all var(--transition-fast);z-index:100}.achievement-card:hover .achievement-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.tooltip-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.tooltip-icon{font-size:var(--font-size-xl)}.tooltip-name{font-weight:700;font-size:var(--font-size-base);color:var(--color-text)}.tooltip-description{font-size:var(--font-size-sm);color:var(--color-text-dim);margin-bottom:var(--spacing-sm);line-height:1.4}.tooltip-meta{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px dashed var(--color-border)}.tooltip-category{font-size:var(--font-size-xs);color:var(--color-text-dim)}.tooltip-rarity{font-size:var(--font-size-xs);font-weight:700}.tooltip-rewards{margin-bottom:var(--spacing-sm)}.tooltip-rewards-header{font-size:var(--font-size-xs);color:var(--color-text-dim);margin-bottom:var(--spacing-xs);display:block}.tooltip-reward{font-size:var(--font-size-sm);margin-bottom:2px}.tooltip-progress,.tooltip-unlocked{font-size:var(--font-size-xs);color:var(--color-text-dim);padding-top:var(--spacing-sm);border-top:1px dashed var(--color-border)}.tooltip-unlocked{color:var(--color-success)}.account-info{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.account-row{display:flex;align-items:center;gap:var(--spacing-md)}.account-label{color:var(--color-text-dim);min-width:120px}.account-value{color:var(--color-text);flex:1}.account-expires{font-size:var(--font-size-xs);color:var(--color-text-dim)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.error-message{color:var(--color-error)}@media (max-width: 768px){.profile-header{flex-direction:column;text-align:center}.profile-actions{margin-left:0;margin-top:var(--spacing-md)}.profile-meta{justify-content:center}.profile-xp{max-width:100%}.profile-stats{flex-wrap:wrap}.stat{flex:1 1 calc(33.333% - var(--spacing-md));min-width:80px}.achievements-grid{grid-template-columns:1fr}.achievements-filters{flex-direction:column;align-items:stretch}.achievements-category-filter,.achievements-locked-toggle{justify-content:center}.achievements-overall-progress{flex-direction:column;text-align:center}.achievement-tooltip{left:0;transform:translate(0) translateY(-8px)}.achievement-card:hover .achievement-tooltip{transform:translate(0) translateY(-4px)}.account-row{flex-wrap:wrap}.account-label{min-width:100%;margin-bottom:var(--spacing-xs)}}.quick-practice-modal{display:flex;flex-direction:column;gap:1rem}.qpm-section{padding:.75rem;background:var(--terminal-bg-dim, rgba(0, 0, 0, .3));border:1px solid var(--terminal-border, #333)}.qpm-label{font-size:.75rem;color:var(--terminal-dim, #666);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.qpm-playbook-info{border-color:var(--terminal-accent, #0ff)}.qpm-playbook-name{font-size:1rem;font-weight:600;color:var(--terminal-accent, #0ff);font-family:var(--font-mono)}.qpm-warning{margin-top:.5rem;padding:.5rem;background:#ffaa001a;border:1px solid var(--terminal-warning, #fa0)}.qpm-warning-text{font-size:.8rem;color:var(--terminal-warning, #fa0)}.qpm-warning-text--compiling{color:var(--terminal-info, #0af)}.qpm-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.qpm-toggle-section{background:#00ff000d;border-color:var(--terminal-success, #0f0)}.qpm-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-mono);font-size:.9rem;color:var(--terminal-text, #fff)}.qpm-checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--terminal-success, #0f0);cursor:pointer}.qpm-hint{margin:.25rem 0 0 1.5rem;font-size:.75rem;color:var(--terminal-dim, #666)}.qpm-car-info{display:flex;align-items:center;gap:.5rem}.qpm-car-name{font-family:var(--font-mono);color:var(--terminal-text, #fff)}.qpm-loading{color:var(--terminal-dim, #666);font-style:italic}.qpm-error{color:var(--terminal-error, #f00)}.qpm-info{display:flex;flex-direction:column;gap:.25rem}.qpm-info-row{display:flex;justify-content:space-between;font-size:.85rem;font-family:var(--font-mono)}.qpm-info-row span:first-child{color:var(--terminal-dim, #666)}.qpm-free{color:var(--terminal-success, #0f0);font-weight:600}.qpm-muted{color:var(--terminal-dim, #666)}@media (max-width: 500px){.qpm-settings-grid{grid-template-columns:1fr}}.race-generating-view{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--spacing-xl);background:var(--color-bg)}.generating-container{max-width:500px;width:100%;text-align:center}.generating-header{margin-bottom:var(--spacing-lg)}.generating-title{font-size:var(--font-size-2xl);color:var(--color-primary);text-shadow:0 0 10px var(--color-primary-glow);margin:0 0 var(--spacing-xs) 0;animation:pulse-glow 2s ease-in-out infinite}.generating-track{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.generating-panel{margin-bottom:var(--spacing-lg)}.generating-content{padding:var(--spacing-lg)}.generating-icon{margin-bottom:var(--spacing-md)}.ascii-car{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-secondary);line-height:1.2;margin:0;animation:car-bounce 1.5s ease-in-out infinite}@keyframes car-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.generating-progress{margin-bottom:var(--spacing-lg)}.progress-bar-container{width:100%;height:8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary-dim),var(--color-primary));box-shadow:0 0 10px var(--color-primary-glow);transition:width .3s ease-out}.progress-text{font-size:var(--font-size-md);color:var(--color-text);margin:0}.loading-spinner-large{width:48px;height:48px;border:3px solid var(--color-bg-tertiary);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--spacing-md) auto;animation:spin 1s linear infinite}@keyframes pulse-glow{0%,to{text-shadow:0 0 10px var(--color-primary-glow)}50%{text-shadow:0 0 20px var(--color-primary-glow),0 0 30px var(--color-primary-glow)}}.generating-info{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.generating-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0}.generating-info .lap-info{color:var(--color-secondary)}.generating-status{display:flex;justify-content:center;gap:var(--spacing-lg)}.status-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot--active{background:var(--color-primary);box-shadow:0 0 8px var(--color-primary-glow);animation:pulse-dot 1.5s ease-in-out infinite}.status-dot--pending{background:var(--color-warning-dim)}.status-dot--complete{background:var(--color-secondary);box-shadow:0 0 8px var(--color-secondary-glow)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.tournament-card{position:relative;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,transform .2s ease}.tournament-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px)}.tournament-card--registered{border-left:3px solid var(--color-success)}.tournament-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.tournament-card__name{margin:0;font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.3;flex:1}.tournament-card__details{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);padding:var(--space-sm) 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.tournament-card__detail{display:flex;flex-direction:column;gap:2px;text-align:center}.tournament-card__detail-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.tournament-card__detail-value{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.tournament-card__detail-value--fee{color:var(--color-warning)}.tournament-card__detail-value--prize{color:var(--color-success)}.tournament-card__settings{display:flex;gap:var(--space-md)}.tournament-card__setting{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-sm)}.tournament-card__setting-icon{color:var(--color-primary)}.tournament-card__setting-value{color:var(--color-text-secondary);text-transform:capitalize}.tournament-card__progress{display:flex;flex-direction:column;gap:var(--space-xs)}.tournament-card__progress-header{display:flex;justify-content:space-between;align-items:center}.tournament-card__progress-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.tournament-card__progress-count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tournament-card__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm)}.tournament-card__countdown{display:flex;flex-direction:column;gap:2px}.tournament-card__countdown-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.tournament-card__countdown-value{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-primary)}.tournament-card__actions{display:flex;gap:var(--space-sm)}.tournament-card__warning{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:rgba(var(--color-warning-rgb),.1);border-left:2px solid var(--color-warning);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.tournament-card__warning-icon{color:var(--color-warning);font-weight:700}.tournament-card__warning-text{color:var(--color-warning)}.tournament-card__registered-badge{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:rgba(var(--color-success-rgb),.15);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.tournament-card__registered-icon{color:var(--color-success)}.tournament-card__registered-text{color:var(--color-success);font-family:var(--font-mono);font-weight:var(--font-weight-bold)}@media (max-width: 480px){.tournament-card__details{grid-template-columns:repeat(2,1fr)}.tournament-card__settings{flex-wrap:wrap}.tournament-card__footer{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.tournament-card__countdown{flex-direction:row;justify-content:space-between;align-items:center}.tournament-card__actions{justify-content:stretch}.tournament-card__actions .btn{flex:1}}.bracket-visualization{display:flex;flex-direction:column;gap:var(--space-lg)}.bracket-container{display:flex;gap:var(--space-xl);overflow-x:auto;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.bracket-round{display:flex;flex-direction:column;gap:var(--space-md);min-width:200px}.bracket-round--current{border-left:3px solid var(--color-primary);padding-left:var(--space-md)}.bracket-round__header{display:flex;align-items:center;gap:var(--space-sm)}.bracket-round__name{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase}.bracket-round__current-badge{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);padding:2px 6px;border-radius:var(--radius-sm)}.bracket-round__matches{display:flex;flex-direction:column;gap:var(--space-lg);justify-content:space-around;flex:1}.bracket-round__match-wrapper{position:relative}.bracket-round__placeholder{display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.bracket-round__placeholder-text{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.bracket-legend{display:flex;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.bracket-legend__item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.bracket-legend__color{width:12px;height:12px;border-radius:2px}.bracket-legend__color--you{background:var(--color-primary)}.bracket-legend__color--winner{background:var(--color-success)}.bracket-legend__color--live{background:var(--color-error)}.bracket-match{position:relative;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:180px}.bracket-match--user{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.bracket-match--compact{min-width:140px;padding:var(--space-xs)}.bracket-match__live-badge{position:absolute;top:-8px;right:var(--space-sm)}.bracket-match__slot{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-sm);background:var(--color-surface)}.bracket-match__slot--winner{background:rgba(var(--color-success-rgb),.1)}.bracket-match__slot--you{border-left:2px solid var(--color-primary)}.bracket-match__seed{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.bracket-match__name{flex:1;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-match__winner-mark{color:var(--color-success);font-weight:700}.bracket-match__tbd,.bracket-match__bye{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.bracket-match__vs{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.bracket-match__action{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:none;text-align:center;margin-top:var(--space-xs)}.bracket-match__action:hover{text-decoration:underline}.next-match-section{padding:var(--space-lg)}.next-match__header{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.next-match__round{display:flex}.next-match__vs{display:flex;align-items:center;gap:var(--space-md)}.next-match__vs-label{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-text-muted)}.next-match__opponent{display:flex;align-items:center;gap:var(--space-sm)}.next-match__opponent-name{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.next-match__opponent-seed{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}.next-match__opponent-tbd{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-text-muted)}.next-match__countdown{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.next-match__countdown--urgent{background:rgba(var(--color-error-rgb),.1)}.next-match__countdown--urgent .next-match__countdown-value{color:var(--color-error);animation:pulse 1s infinite}.next-match__countdown-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase}.next-match__countdown-value{font-family:var(--font-mono);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.next-match__details{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md)}.next-match__detail{display:flex;flex-direction:column;gap:var(--space-xs)}.next-match__detail-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.next-match__detail-value{font-family:var(--font-mono);color:var(--color-text-primary)}.next-match__loadout{display:flex;gap:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.next-match__loadout-item{display:flex;flex-direction:column;gap:var(--space-xs)}.next-match__loadout-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.next-match__loadout-value{font-family:var(--font-mono);color:var(--color-text-primary)}.next-match__actions{display:flex;gap:var(--space-md);flex-wrap:wrap}.match-history__list{display:flex;flex-direction:column;gap:var(--space-sm)}.match-history__item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-sm);border-left:3px solid transparent}.match-history__item--won{border-left-color:var(--color-success)}.match-history__item--lost{border-left-color:var(--color-error)}.match-history__round{min-width:100px}.match-history__round-name{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.match-history__matchup{flex:1;display:flex;align-items:center;gap:var(--space-sm)}.match-history__you{font-family:var(--font-mono);font-weight:var(--font-weight-bold);color:var(--color-primary)}.match-history__vs{font-size:var(--font-size-sm);color:var(--color-text-muted)}.match-history__opponent{display:flex;align-items:center;gap:var(--space-xs)}.match-history__opponent-name{font-family:var(--font-mono);color:var(--color-text-primary)}.match-history__bye{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}.match-history__result{min-width:60px}.match-history__replay-link{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}.match-history__replay-link:hover{text-decoration:underline}.match-history__empty{padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.bracket-container{padding:var(--space-sm)}.bracket-round{min-width:160px}.bracket-match{min-width:140px}.bracket-legend{flex-wrap:wrap;gap:var(--space-sm)}.next-match__details,.next-match__loadout{flex-direction:column;gap:var(--space-sm)}.next-match__actions{flex-direction:column}.next-match__actions .btn{width:100%}.match-history__item{flex-wrap:wrap}.match-history__round{min-width:auto;width:100%}}.tournaments-page{display:flex;flex-direction:column;gap:var(--space-xl);padding:var(--space-lg);max-width:1400px;margin:0 auto}.tournaments-page .page-header{display:flex;flex-direction:column;gap:var(--space-xs)}.tournaments-page .page-header h1{margin:0;font-family:var(--font-mono);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:.1em}.tournaments-page .page-header .subtitle{margin:0;font-family:var(--font-mono);font-size:var(--font-size-md);color:var(--color-text-muted)}.tournaments-section{display:flex;flex-direction:column;gap:var(--space-md)}.tournaments-section h2{margin:0;font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.tournaments-section .section-header{display:flex;align-items:center;gap:var(--space-md)}.my-tournaments{padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.my-tournaments h2{color:var(--color-success)}.tournament-filters{display:flex;flex-wrap:wrap;gap:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.filter-group{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.filter-label{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;white-space:nowrap}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.filter-btn{padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.active-filters{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-sm)}.active-filters-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.clear-filters-btn{padding:var(--space-xs);background:transparent;border:none;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-error);cursor:pointer;transition:color .2s ease}.clear-filters-btn:hover{color:var(--color-error-hover)}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.section-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-xl)}.section-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg)}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl);text-align:center}.placeholder-content p{margin:0;font-family:var(--font-mono);color:var(--color-text-secondary)}.placeholder-content .hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.load-more{display:flex;justify-content:center;padding:var(--space-lg) 0}@media (max-width: 768px){.tournaments-page{padding:var(--space-md);gap:var(--space-lg)}.tournaments-page .page-header h1{font-size:var(--font-size-2xl)}.tournament-filters{flex-direction:column;gap:var(--space-md)}.filter-group{flex-direction:column;align-items:flex-start;width:100%}.filter-buttons{width:100%}.tournaments-grid{grid-template-columns:1fr}.active-filters{flex-wrap:wrap}}@media (max-width: 480px){.tournaments-page .page-header h1{font-size:var(--font-size-xl)}.filter-btn{font-size:var(--font-size-xs);padding:var(--space-xs)}}.tournaments-page .alert{display:flex;justify-content:space-between;align-items:center}.alert-dismiss-btn{padding:var(--space-xs);background:transparent;border:none;font-family:var(--font-mono);font-size:var(--font-size-md);color:inherit;cursor:pointer;opacity:.7;transition:opacity .2s ease}.alert-dismiss-btn:hover{opacity:1}.tournament-detail-page{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);max-width:1400px;margin:0 auto}.tournament-detail__loading,.tournament-detail__error,.tournament-detail__not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:50vh;text-align:center}.tournament-header{display:flex;flex-direction:column;gap:var(--space-md)}.tournament-header__top{display:flex;justify-content:space-between;align-items:center}.tournament-header__back{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.tournament-header__back:hover{color:var(--color-primary)}.tournament-header__title{margin:0;font-family:var(--font-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.tournament-header__stats{display:flex;flex-wrap:wrap;gap:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tournament-header__stat{display:flex;flex-direction:column;gap:var(--space-xs)}.tournament-header__stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.tournament-header__stat-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.tournament-header__stat-value--prize{color:var(--color-success)}.user-status{padding:var(--space-md)}.user-status__content{display:flex;align-items:center;gap:var(--space-md)}.user-status__icon{font-size:var(--font-size-xl)}.user-status__text{font-family:var(--font-mono);font-size:var(--font-size-md)}.user-status--winner .user-status__text{color:var(--color-warning);font-weight:var(--font-weight-bold)}.user-status--eliminated .user-status__text{color:var(--color-error)}.user-status--active .user-status__text{color:var(--color-success)}.tournament-detail__actions{display:flex;gap:var(--space-md)}.section-title{margin:0 0 var(--space-md) 0;font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.tournament-detail__bracket-section{overflow-x:auto;padding-bottom:var(--space-md)}.participants-section__list{display:flex;flex-direction:column;gap:var(--space-xs)}.participants-section__item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-sm);text-decoration:none;transition:background .2s ease}.participants-section__item:hover{background:var(--color-surface-hover)}.participants-section__item--you{border-left:3px solid var(--color-primary)}.participants-section__seed{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);min-width:30px}.participants-section__name{flex:1;font-family:var(--font-mono);color:var(--color-text-primary)}.participants-section__rating{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.participants-section__empty{padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}.prize-structure__list{display:flex;flex-direction:column;gap:var(--space-sm)}.prize-structure__item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-sm)}.prize-structure__position{font-family:var(--font-mono);font-weight:var(--font-weight-bold);color:var(--color-text-primary);min-width:40px}.prize-structure__item:first-child .prize-structure__position{color:var(--color-warning)}.prize-structure__percentage{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);min-width:40px}.prize-structure__amount{font-family:var(--font-mono);font-weight:var(--font-weight-bold);color:var(--color-success)}.tournament-detail-page .alert-dismiss-btn{padding:var(--space-xs);background:transparent;border:none;font-family:var(--font-mono);font-size:var(--font-size-md);color:inherit;cursor:pointer;opacity:.7;transition:opacity .2s ease}.tournament-detail-page .alert-dismiss-btn:hover{opacity:1}@media (max-width: 768px){.tournament-detail-page{padding:var(--space-md)}.tournament-header__title{font-size:var(--font-size-xl)}.tournament-header__stats{flex-direction:column;gap:var(--space-sm)}.tournament-detail__actions{flex-direction:column}.tournament-detail__actions .btn{width:100%}}.leagues-page{padding:var(--spacing-md);max-width:1200px;margin:0 auto}.leagues-page .page-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.leagues-page .page-header h1{margin:0}.leagues-page .page-header .subtitle{flex:1;margin:0;color:var(--color-text-muted)}.league-filters{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.league-filter-select{min-width:160px}.league-filter-select .form-select{background:var(--color-bg-secondary)}.leagues-loading{display:flex;justify-content:center;padding:var(--spacing-xl)}.leagues-error{margin-bottom:var(--spacing-lg)}.leagues-list,.my-leagues-list{display:grid;gap:var(--spacing-md)}.my-leagues-section{margin-bottom:var(--spacing-xl)}.my-leagues-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.leagues-list{grid-template-columns:1fr}@media (min-width: 768px){.leagues-list{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}}.league-card{display:flex;flex-direction:column;gap:var(--spacing-sm)}.league-card__header{display:flex;align-items:center;gap:var(--spacing-sm)}.league-card__icon{color:var(--color-primary);font-weight:700}.league-card__title-section{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.league-card__name{margin:0;font-size:1.1rem}.league-card__details{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-sm) 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.league-card__detail{display:flex;gap:var(--spacing-xs)}.league-card__detail-label{color:var(--color-text-muted)}.league-card__detail-value{color:var(--color-primary);font-weight:700}.league-card__participants,.league-card__schedule{margin:var(--spacing-sm) 0}.league-card__schedule-header{font-weight:700;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.league-card__schedule-table{width:100%;border-collapse:collapse;font-size:.9rem}.league-card__schedule-table th,.league-card__schedule-table td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left}.league-card__schedule-table th{color:var(--color-text-muted);font-weight:400;border-bottom:1px solid var(--color-border)}.league-card__schedule-table td{border-bottom:1px dashed var(--color-border)}.league-card__more-races{color:var(--color-text-muted);font-size:.85rem;padding:var(--spacing-xs) var(--spacing-sm)}.league-card__rules{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.league-card__rules-label{color:var(--color-text-muted);font-weight:700}.league-card__next-race{display:flex;gap:var(--spacing-sm);color:var(--color-warning);font-size:.9rem}.league-card__next-race-label{color:var(--color-text-muted)}.league-card__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px dashed var(--color-border)}.my-league-card{display:flex;flex-direction:column;gap:var(--spacing-xs)}.my-league-card__header{display:flex;align-items:center;gap:var(--spacing-sm)}.my-league-card__icon{color:var(--color-primary);font-weight:700}.my-league-card__name{flex:1;margin:0;font-size:1rem}.my-league-card__info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.my-league-card__next-race,.my-league-card__completed{display:flex;gap:var(--spacing-sm);align-items:center}.my-league-card__label{color:var(--color-text-muted)}.my-league-card__value{font-weight:700}.my-league-card__time{color:var(--color-warning)}.my-league-card__stats{display:flex;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-xs) 0}.my-league-card__stat{display:flex;gap:var(--spacing-xs)}.my-league-card__stat-label{color:var(--color-text-muted);font-size:.9rem}.my-league-card__stat-value{color:var(--color-primary);font-weight:700;font-size:.9rem}.my-league-card__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.league-detail-page{padding:var(--spacing-md);max-width:1000px;margin:0 auto}.page-loading{display:flex;justify-content:center;padding:var(--spacing-xl)}.league-detail__header{margin-bottom:var(--spacing-lg)}.back-link{color:var(--color-text-muted);text-decoration:none}.header-main{display:flex;align-items:center;gap:var(--spacing-md)}.league-name{margin:0;font-size:1.5rem}.league-description{margin-top:var(--spacing-sm);color:var(--color-text-muted)}.league-detail__stats{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.stat-item--highlight{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-primary)}.stat-label{color:var(--color-text-muted);font-size:.85rem}.league-tab-bar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.league-tab{background:transparent;border:none;color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;font-family:inherit;font-size:inherit;position:relative}.league-tab:hover{color:var(--color-text)}.league-tab--active{color:var(--color-primary);font-weight:700}.league-tab--active:after{content:"";position:absolute;bottom:calc(-1 * var(--spacing-sm) - 1px);left:0;right:0;height:2px;background:var(--color-primary)}.league-tab__badge{margin-left:var(--spacing-xs);padding:0 4px;background:var(--color-danger);color:var(--color-text);font-size:.75rem;border-radius:2px}.league-detail__content{margin-bottom:var(--spacing-lg)}.league-chat-container{min-height:400px}.standings-tab__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.standings-tab__empty .hint{font-size:.9rem;margin-top:var(--spacing-sm)}.standings-table-wrapper{overflow-x:auto}.standings-table{width:100%;border-collapse:collapse;font-size:.95rem}.standings-table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-weight:400}.standings-table td{padding:var(--spacing-sm);border-bottom:1px dashed var(--color-border)}.standings-row--current{background:var(--color-bg-tertiary)}.standings-row--current td{border-color:var(--color-primary)}.col-position{width:80px}.position-number{display:inline-flex;align-items:center;gap:2px}.position-marker{color:var(--color-primary);font-size:.75rem}.position-change{font-size:.8rem;margin-left:var(--spacing-xs)}.position-up{color:var(--color-success)}.position-down{color:var(--color-danger)}.player-link{display:flex;align-items:center;gap:var(--spacing-sm);color:inherit;text-decoration:none}.player-link:hover .player-name{color:var(--color-primary)}.player-rating{color:var(--color-text-muted);font-size:.85rem}.col-points{color:var(--color-primary);font-weight:700}.col-gap{color:var(--color-text-muted)}.standings-legend{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);font-size:.85rem;color:var(--color-text-muted)}.schedule-tab__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.schedule-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.schedule-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.schedule-item--past{opacity:.7}.schedule-item--live{border-color:var(--color-warning)}.schedule-item__number{font-weight:700;color:var(--color-primary);white-space:nowrap}.schedule-item__details{flex:1}.schedule-item__track{margin-bottom:var(--spacing-xs)}.track-name{font-weight:700}.track-tba{color:var(--color-text-muted)}.track-hint{color:var(--color-text-muted);font-size:.85rem;margin-left:var(--spacing-sm)}.schedule-item__info{display:flex;gap:var(--spacing-md);flex-wrap:wrap;font-size:.9rem}.info-item{display:flex;gap:var(--spacing-xs)}.info-label{color:var(--color-text-muted)}.schedule-item__rules{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.schedule-item__status{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.schedule-item__countdown{color:var(--color-warning);font-size:.9rem}.replays-tab__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.replays-tab__empty .hint{font-size:.9rem;margin-top:var(--spacing-sm)}.replays-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.replay-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:var(--spacing-md)}.replay-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.replay-item__title{display:flex;align-items:center;gap:var(--spacing-sm)}.race-number{font-weight:700;color:var(--color-primary)}.race-track{color:var(--color-text)}.replay-item__date{color:var(--color-text-muted);font-size:.9rem}.replay-item__results{margin:var(--spacing-sm) 0;font-size:.9rem}.result-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px dashed var(--color-border)}.result-row--current{background:var(--color-bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);margin:0 calc(-1 * var(--spacing-sm))}.result-row--podium-1 .result-position{color:gold}.result-row--podium-2 .result-position{color:silver}.result-row--podium-3 .result-position{color:#cd7f32}.result-position{width:40px;font-weight:700}.result-name{flex:1}.result-time{color:var(--color-text-muted);font-family:monospace}.result-points{color:var(--color-primary);width:40px;text-align:right}.result-row--more{color:var(--color-text-muted);border:none;font-size:.85rem}.replay-item__actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-sm)}.next-race-section{margin-bottom:var(--spacing-lg)}.next-race__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.next-race__title{margin:0;font-size:1.1rem}.next-race__track-name{color:var(--color-text);font-weight:400}.next-race__date{color:var(--color-text-muted)}.next-race__countdown{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);margin-bottom:var(--spacing-md)}.next-race__countdown--urgent{background:var(--color-warning);color:var(--color-bg)}.next-race__countdown-label{color:var(--color-text-muted)}.next-race__countdown--urgent .next-race__countdown-label{color:inherit;opacity:.8}.next-race__countdown-value{font-size:1.5rem;font-weight:700;font-family:monospace}.next-race__info{margin-bottom:var(--spacing-md)}.next-race__info-grid{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.next-race__info-item{display:flex;gap:var(--spacing-xs)}.next-race__info-item .info-tba{color:var(--color-text-muted);font-style:italic}.next-race__rules{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.rules-label{color:var(--color-text-muted)}.next-race__loadout{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);margin-bottom:var(--spacing-md)}.loadout-label{color:var(--color-text-muted)}.loadout-value{color:var(--color-text)}.next-race__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.past-races-section{margin-bottom:var(--spacing-lg)}.past-races-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.past-race-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px dashed var(--color-border)}.past-race__info{flex:1;display:flex;align-items:center;gap:var(--spacing-sm)}.past-race__number{font-weight:700;color:var(--color-primary)}.past-race__track{color:var(--color-text)}.past-race__date{color:var(--color-text-muted);font-size:.9rem}.past-race__result{display:flex;align-items:center;gap:var(--spacing-xs)}.result-position{font-weight:700}.result-points{color:var(--color-success);font-size:.9rem}.past-races__more{text-align:center;padding:var(--spacing-sm)}.more-hint{color:var(--color-text-muted);font-size:.9rem}.league-detail__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}@media (max-width: 768px){.league-detail__stats{flex-direction:column;gap:var(--spacing-sm)}.schedule-item{flex-direction:column}.schedule-item__status{align-items:flex-start}.next-race__info-grid{flex-direction:column;gap:var(--spacing-sm)}.past-race-item{flex-direction:column;align-items:flex-start}.past-race__info{flex-wrap:wrap}}.seasons-page{padding:1rem;max-width:1200px;margin:0 auto}.seasons-page .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.seasons-page .page-header h1{font-family:var(--font-mono);font-size:1.5rem;color:var(--color-primary);margin:0;letter-spacing:.1em}.seasons-page .page-header .subtitle{color:var(--color-text-muted);font-size:.875rem;margin:0}.seasons-page .page-header .refresh-btn{margin-left:auto}.season-banner{border:2px solid var(--color-primary);padding:1.5rem;margin-bottom:1.5rem;position:relative;background:#00ff8808}.season-banner__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.season-banner__title-section{flex:1}.season-banner__name{font-family:var(--font-mono);font-size:1.5rem;color:var(--color-primary);margin:0;letter-spacing:.05em}.season-banner__theme{color:var(--color-text-muted);font-size:.875rem;margin-top:.25rem}.season-banner__status{padding:.25rem .75rem;font-family:var(--font-mono);font-size:.75rem;border:1px solid;letter-spacing:.05em}.season-banner__status--active{color:var(--color-success);border-color:var(--color-success);background:#00ff881a}.season-banner__status--upcoming{color:var(--color-warning);border-color:var(--color-warning);background:#ffce541a}.season-banner__status--ended{color:var(--color-text-muted);border-color:var(--color-border)}.season-banner__progress{margin-bottom:1rem}.season-banner__progress-bar{height:1.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);position:relative;overflow:hidden}.season-banner__progress-fill{height:100%;background:var(--color-primary);transition:width .5s ease}.season-banner__progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:.75rem;color:var(--color-bg);text-shadow:0 0 2px var(--color-primary);z-index:1}.season-banner__countdown{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-secondary)}.season-banner__countdown-time{color:var(--color-primary);font-weight:700}.user-progress{border:1px dashed var(--color-border);padding:1.5rem;margin-bottom:1.5rem}.user-progress__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.user-progress__title{font-family:var(--font-mono);font-size:1rem;color:var(--color-primary);margin:0}.user-progress__rank{font-family:var(--font-mono);font-size:1.25rem;color:var(--color-primary)}.user-progress__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1rem}.user-progress__stat{text-align:center;padding:.75rem;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.user-progress__stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.25rem}.user-progress__stat-value{font-family:var(--font-mono);font-size:1.25rem;color:var(--color-text)}.user-progress__stat-value--tier{font-weight:700}.user-progress__stat-value--bronze{color:#cd7f32}.user-progress__stat-value--silver{color:silver}.user-progress__stat-value--gold{color:gold}.user-progress__stat-value--platinum{color:#e5e4e2}.user-progress__stat-value--diamond{color:#b9f2ff}.user-progress__next-tier{border-top:1px solid var(--color-border);padding-top:1rem}.user-progress__next-tier-header{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.5rem}.user-progress__next-tier-label{color:var(--color-text-muted)}.user-progress__next-tier-target{color:var(--color-text-secondary)}.user-progress__next-tier-bar{height:.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.user-progress__next-tier-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.season-leaderboard{border:1px solid var(--color-border);margin-bottom:1.5rem}.season-leaderboard__header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.season-leaderboard__title{font-family:var(--font-mono);font-size:1rem;color:var(--color-primary);margin:0}.season-leaderboard__filters{display:flex;gap:.5rem;align-items:center}.season-leaderboard__search{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:.875rem;padding:.375rem .75rem;min-width:150px}.season-leaderboard__search::placeholder{color:var(--color-text-muted)}.season-leaderboard__table{width:100%;border-collapse:collapse}.season-leaderboard__table th{padding:.75rem;text-align:left;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.season-leaderboard__table td{padding:.75rem;border-bottom:1px solid var(--color-border);font-family:var(--font-mono);font-size:.875rem}.season-leaderboard__table tr:hover{background:#00ff8808}.season-leaderboard__table tr.current-user{background:#00ff881a;border-left:3px solid var(--color-primary)}.leaderboard-rank{font-weight:700;color:var(--color-text-secondary);width:60px}.leaderboard-rank--1{color:gold}.leaderboard-rank--2{color:silver}.leaderboard-rank--3{color:#cd7f32}.leaderboard-user{display:flex;align-items:center;gap:.5rem}.leaderboard-avatar{width:24px;height:24px;border-radius:50%;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.leaderboard-username{color:var(--color-text)}.leaderboard-tier{padding:.125rem .5rem;font-size:.75rem;border:1px solid;letter-spacing:.05em}.leaderboard-tier--bronze{color:#cd7f32;border-color:#cd7f32}.leaderboard-tier--silver{color:silver;border-color:silver}.leaderboard-tier--gold{color:gold;border-color:gold}.leaderboard-tier--platinum{color:#e5e4e2;border-color:#e5e4e2}.leaderboard-tier--diamond{color:#b9f2ff;border-color:#b9f2ff}.leaderboard-stat{color:var(--color-text-secondary);text-align:right}.leaderboard-stat--highlight{color:var(--color-primary)}.season-leaderboard__load-more{padding:1rem;text-align:center;border-top:1px solid var(--color-border)}.rewards-preview{border:1px dashed var(--color-border);padding:1.5rem}.rewards-preview__title{font-family:var(--font-mono);font-size:1rem;color:var(--color-primary);margin:0 0 1rem}.rewards-preview__tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.rewards-preview__tier{padding:1rem;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.rewards-preview__tier--current{border-color:var(--color-primary);background:#00ff880d}.rewards-preview__tier--next{border-style:dashed;opacity:.8}.rewards-preview__tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.rewards-preview__tier-name{font-family:var(--font-mono);font-weight:700;text-transform:uppercase}.rewards-preview__tier-name--bronze{color:#cd7f32}.rewards-preview__tier-name--silver{color:silver}.rewards-preview__tier-name--gold{color:gold}.rewards-preview__tier-name--platinum{color:#e5e4e2}.rewards-preview__tier-name--diamond{color:#b9f2ff}.rewards-preview__tier-badge{font-size:.625rem;padding:.125rem .375rem;border:1px solid var(--color-primary);color:var(--color-primary)}.rewards-preview__tier-rewards{font-size:.875rem}.rewards-preview__reward{display:flex;justify-content:space-between;padding:.25rem 0;color:var(--color-text-secondary)}.rewards-preview__reward-value{font-family:var(--font-mono);color:var(--color-text)}.section-header{display:flex;align-items:center;gap:.5rem;margin:1.5rem 0 1rem}.section-divider{color:var(--color-border);font-family:var(--font-mono);font-size:.75rem}.section-title{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.seasons-loading{padding:3rem;text-align:center}.seasons-error{margin-bottom:1.5rem}.seasons-empty{padding:3rem;text-align:center;border:1px dashed var(--color-border)}.seasons-empty__text{color:var(--color-text-muted);font-size:1rem;margin:0 0 .5rem}.seasons-empty__hint{color:var(--color-text-muted);font-size:.875rem;opacity:.7}@media (max-width: 768px){.seasons-page{padding:.75rem}.season-banner{padding:1rem}.season-banner__name{font-size:1.25rem}.user-progress__stats{grid-template-columns:repeat(2,1fr)}.season-leaderboard__header{flex-direction:column;gap:.75rem;align-items:stretch}.season-leaderboard__filters{justify-content:space-between}.season-leaderboard__search{flex:1}.rewards-preview__tiers{grid-template-columns:1fr}}@media (max-width: 480px){.user-progress__stats{grid-template-columns:1fr}.season-leaderboard__table th:nth-child(n+4),.season-leaderboard__table td:nth-child(n+4){display:none}}.season-results-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.season-results-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);min-height:50vh;color:var(--color-text-muted);font-family:var(--font-mono)}.season-results-page .error-panel{text-align:center;padding:var(--spacing-xl)}.season-results-page .error-panel h2{color:var(--color-error);margin-bottom:var(--spacing-md)}.season-results-banner{text-align:center;padding:var(--spacing-xl)!important;margin-bottom:var(--spacing-lg);border:2px solid var(--color-primary);animation:bannerGlow 2s ease-in-out infinite}@keyframes bannerGlow{0%,to{box-shadow:0 0 10px var(--color-primary-alpha)}50%{box-shadow:0 0 20px var(--color-primary-alpha)}}.banner-celebration{margin-bottom:var(--spacing-md)}.banner-celebration h1{font-family:var(--font-mono);font-size:2rem;color:var(--color-primary);text-transform:uppercase;letter-spacing:2px;margin:var(--spacing-sm) 0}.banner-stars{color:var(--color-warning);font-size:1.5rem;letter-spacing:.5rem}.banner-meta{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted)}.banner-theme{color:var(--color-primary)}.banner-stats{display:flex;justify-content:center;gap:var(--spacing-xl)}.banner-stats .stat-item{display:flex;flex-direction:column;align-items:center}.banner-stats .stat-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-text)}.banner-stats .stat-label{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase}.champion-spotlight{text-align:center;margin-bottom:var(--spacing-lg);border:1px solid var(--color-warning);background:linear-gradient(180deg,rgba(255,215,0,.05) 0%,transparent 100%)}.champion-spotlight h2{font-family:var(--font-mono);font-size:.875rem;color:var(--color-warning);margin-bottom:var(--spacing-md)}.champion-display{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.champion-trophy{font-size:2.5rem}.champion-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.champion-name{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--color-warning)}.champion-title{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase}.results-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media (max-width: 1024px){.results-content{grid-template-columns:1fr}}.results-left,.results-right{display:flex;flex-direction:column;gap:var(--spacing-lg)}.personal-results h2{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}@media (max-width: 768px){.results-grid{grid-template-columns:1fr}}.result-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px dashed var(--color-border);text-align:center}.result-label{font-family:var(--font-mono);font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-xs)}.result-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-text)}.result-value.rank-value{color:var(--color-primary)}.result-value.tier-value{font-size:1.25rem}.result-sub{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);margin-top:var(--spacing-xs)}.result-percentile{font-family:var(--font-mono);font-size:.75rem;color:var(--color-success);margin-top:var(--spacing-xs)}.results-stats{border-top:1px dashed var(--color-border);padding-top:var(--spacing-md)}.stat-row{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-family:var(--font-mono);font-size:.875rem}.stat-row .stat-name{color:var(--color-text-muted)}.stat-row .stat-value{color:var(--color-text);font-size:inherit}.results-comparison{border-top:1px dashed var(--color-border);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.results-comparison h3{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.comparison-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-family:var(--font-mono);font-size:.875rem}.comparison-label{color:var(--color-text-muted);flex:1}.comparison-value{color:var(--color-text)}.comparison-change{min-width:50px;text-align:right}.comparison-change.positive{color:var(--color-success)}.comparison-change.negative{color:var(--color-error)}.rewards-display{padding:var(--spacing-lg)}.rewards-display h2{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);text-align:center}.rewards-display.unclaimed{border:2px solid var(--color-primary);animation:rewardPulse 2s ease-in-out infinite}@keyframes rewardPulse{0%,to{box-shadow:0 0 5px var(--color-primary-alpha)}50%{box-shadow:0 0 15px var(--color-primary-alpha)}}.rewards-tier-badge{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.rewards-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.reward-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-elevated);border:1px dashed var(--color-border);font-family:var(--font-mono)}.reward-item.highlight{border-color:var(--color-warning);background:#ffd7000d}.reward-icon{font-size:1.25rem}.reward-value{flex:1;color:var(--color-text)}.claim-button{width:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}.rewards-display.claimed .claimed-celebration{text-align:center;margin-bottom:var(--spacing-md)}.claimed-celebration .claimed-icon{font-size:3rem;color:var(--color-success);margin-bottom:var(--spacing-sm)}.claimed-details{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.claimed-item{display:flex;flex-direction:column;align-items:center;font-family:var(--font-mono)}.claimed-item .item-value{font-size:1.25rem;font-weight:700;color:var(--color-success)}.claimed-item.title .item-value{color:var(--color-warning)}.claimed-item .item-label{font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase}.claimed-balances{text-align:center;font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted)}.rewards-display.already-claimed .rewards-claimed-info{text-align:center;margin-bottom:var(--spacing-md)}.claimed-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-success);color:var(--color-bg);font-family:var(--font-mono);font-size:.75rem;font-weight:700;margin-bottom:var(--spacing-xs)}.rewards-display.empty .rewards-empty{text-align:center;padding:var(--spacing-lg);color:var(--color-text-muted);font-family:var(--font-mono)}.rewards-hint{font-size:.75rem;margin-top:var(--spacing-sm)}.top-finishers h2{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.podium{display:flex;justify-content:center;align-items:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg)}.podium-place{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);min-width:120px}.podium-place.place-1{border-color:var(--color-warning);transform:scale(1.1);order:2}.podium-place.place-2{border-color:silver;order:1}.podium-place.place-3{border-color:#cd7f32;order:3}.podium-rank{font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.podium-name{font-family:var(--font-mono);font-size:.875rem;font-weight:700;color:var(--color-text);text-align:center}.podium-points{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.rankings-table-panel h2{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.rankings-table-wrapper{overflow-x:auto}.rankings-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.875rem}.rankings-table th{padding:var(--spacing-sm);text-align:left;color:var(--color-text-muted);font-size:.625rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--color-border)}.rankings-table td{padding:var(--spacing-sm);border-bottom:1px dashed var(--color-border)}.rankings-table tr:hover{background:var(--color-bg-elevated)}.rankings-table tr.current-user{background:#00ff881a;border-left:2px solid var(--color-primary)}.rankings-table tr.rank-1 td{color:var(--color-warning)}.rankings-table .col-rank{width:60px;text-align:center}.rankings-table .col-pilot{min-width:150px}.rankings-table .col-tier{width:100px}.rankings-table .col-points,.rankings-table .col-wins,.rankings-table .col-podiums,.rankings-table .col-races{width:80px;text-align:right}.pilot-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.pilot-name{color:var(--color-text)}.rank-medal{font-size:1.25rem}.view-all-link{display:block;text-align:right;margin-top:var(--spacing-md);font-family:var(--font-mono);font-size:.75rem;color:var(--color-primary);text-decoration:none}.view-all-link:hover{text-decoration:underline}.login-prompt{text-align:center;padding:var(--spacing-xl)}.login-prompt h2{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.login-prompt p{color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.results-navigation{padding:var(--spacing-md);text-align:center}.nav-link{font-family:var(--font-mono);font-size:.875rem;color:var(--color-primary);text-decoration:none}.nav-link:hover{text-decoration:underline}.team-card{display:flex;flex-direction:column;gap:var(--spacing-sm)}.team-card__header{display:flex;align-items:center;gap:var(--spacing-sm)}.team-card__tag{color:var(--color-primary);font-weight:700;font-size:1.1rem}.team-card__title-section{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.team-card__name{margin:0;font-size:1.1rem}.team-card__description{color:var(--color-text-muted);font-size:.9rem;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.team-card__details{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-sm) 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.team-card__detail{display:flex;gap:var(--spacing-xs)}.team-card__detail-label{color:var(--color-text-muted)}.team-card__detail-value{color:var(--color-primary);font-weight:700}.team-card__members{margin:var(--spacing-sm) 0}.team-card__members-label{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.team-card__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.my-team-card{display:flex;flex-direction:column;gap:var(--spacing-xs)}.my-team-card__header{display:flex;align-items:center;gap:var(--spacing-sm)}.my-team-card__tag{color:var(--color-primary);font-weight:700}.my-team-card__name{flex:1;margin:0;font-size:1rem}.my-team-card__stats{display:flex;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-xs) 0}.my-team-card__stat{display:flex;gap:var(--spacing-xs)}.my-team-card__stat-label{color:var(--color-text-muted);font-size:.9rem}.my-team-card__stat-value{color:var(--color-primary);font-weight:700;font-size:.9rem}.my-team-card__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.create-team-form{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:400px}.create-team-error{margin-bottom:var(--spacing-sm)}.create-team-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--color-border)}@media (max-width: 480px){.create-team-form{min-width:unset;width:100%}.form-row{flex-direction:column}}.member-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.member-list__header{display:flex;justify-content:space-between;align-items:center}.member-list__header h3{margin:0;font-size:1rem;color:var(--color-primary)}.member-list__members{display:flex;flex-direction:column;gap:var(--spacing-xs)}.member-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.member-row:hover{border-color:var(--color-primary)}.member-info{display:flex;align-items:center;gap:var(--spacing-sm);min-width:200px}.member-name{font-weight:700}.member-you{color:var(--color-text-muted);font-weight:400;margin-left:var(--spacing-xs)}.member-details{flex:1;display:flex;gap:var(--spacing-md);color:var(--color-text-muted);font-size:.9rem}.member-rating{color:var(--color-primary)}.member-actions{display:flex;gap:var(--spacing-xs)}.member-list__invites{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--color-border)}.member-list__invites h4{margin:0 0 var(--spacing-sm);font-size:.9rem;color:var(--color-text-muted)}.invite-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px dashed var(--color-border);margin-bottom:var(--spacing-xs)}.invite-info{display:flex;gap:var(--spacing-sm)}.invite-user{font-weight:700}.invite-by{color:var(--color-text-muted);font-size:.9rem}@media (max-width: 640px){.member-row{flex-direction:column;align-items:flex-start}.member-info{min-width:unset;width:100%}.member-details{flex-direction:column;gap:var(--spacing-xs)}.member-actions{width:100%;justify-content:flex-end;margin-top:var(--spacing-sm)}}.team-settings-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.team-settings-panel h3{margin:0;font-size:1rem;color:var(--color-primary)}.settings-error,.settings-success{margin-bottom:var(--spacing-sm)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}.settings-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px dashed var(--color-border)}.settings-danger-zone{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-error)}.settings-danger-zone h4{margin:0 0 var(--spacing-sm);color:var(--color-error)}.settings-danger-zone p{margin:0 0 var(--spacing-md);color:var(--color-text-muted);font-size:.9rem}@media (max-width: 480px){.form-row{flex-direction:column}}.invite-form{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:350px}.invite-error{margin-bottom:var(--spacing-sm)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{color:var(--color-text);font-weight:700;font-size:.9rem}.form-hint{font-size:.8rem;color:var(--color-text-muted)}.search-loading{display:flex;justify-content:center;padding:var(--spacing-md)}.search-results{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;overflow-y:auto}.search-result{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;color:var(--color-text)}.search-result:hover{border-color:var(--color-primary);background:var(--color-bg)}.result-name{font-weight:700}.result-rating{color:var(--color-primary);font-size:.9rem}.no-results{text-align:center;padding:var(--spacing-md);color:var(--color-text-muted)}.selected-user{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-primary)}.selected-label{color:var(--color-text-muted)}.selected-name{flex:1;font-weight:700;color:var(--color-primary)}.invite-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px dashed var(--color-border)}@media (max-width: 480px){.invite-form{min-width:unset;width:100%}}.team-stats-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.team-stats-section h3{margin:0;font-size:1rem;color:var(--color-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md)}.stat-box{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);text-align:center}.stat-box__label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.stat-box__value{font-size:1.5rem;font-weight:700;color:var(--color-text)}.stat-box__value--highlight{color:var(--color-primary)}.stats-info{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px dashed var(--color-border)}.info-item{display:flex;gap:var(--spacing-sm)}.info-item__label{color:var(--color-text-muted)}.info-item__value{color:var(--color-text);font-weight:700}.rating-breakdown{margin-top:var(--spacing-sm)}.rating-breakdown h4{margin:0 0 var(--spacing-sm);font-size:.9rem;color:var(--color-text-muted)}.rating-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.rating-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.rating-rank{color:var(--color-text-muted);width:30px}.rating-name{flex:1}.rating-value{color:var(--color-primary);font-weight:700}.team-leaderboard{display:flex;flex-direction:column;gap:var(--spacing-md)}.team-leaderboard__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.team-leaderboard__loading p{margin-top:var(--spacing-md);font-family:var(--font-mono)}.team-leaderboard__user-position{margin-bottom:var(--spacing-sm)}.user-team-position{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.user-team-position__rank{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-team-position__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em}.user-team-position__value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.team-leaderboard__filters{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap}.team-leaderboard__filter{min-width:150px}.team-leaderboard__actions{margin-left:auto}.team-leaderboard__summary{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-mono)}.team-leaderboard__total{color:var(--color-text-secondary)}.team-leaderboard__page-info{color:var(--color-text-muted)}.team-leaderboard__panel{overflow-x:auto}.team-leaderboard-rank{font-family:var(--font-mono);font-weight:700}.team-leaderboard-rank--gold{color:var(--color-warning);text-shadow:0 0 8px var(--color-warning)}.team-leaderboard-rank--silver{color:var(--color-text-secondary);text-shadow:0 0 6px var(--color-text-secondary)}.team-leaderboard-rank--bronze{color:#cd7f32;text-shadow:0 0 6px #cd7f32}.team-leaderboard-rank--user{color:var(--color-primary)}.team-leaderboard-tag{font-family:var(--font-mono);font-weight:700;color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.team-leaderboard-tag:hover{color:var(--color-primary-light);text-shadow:0 0 8px var(--color-primary)}.team-leaderboard-name{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--color-text);transition:color var(--transition-fast)}.team-leaderboard-name:hover{color:var(--color-primary)}.team-leaderboard-name__text{font-family:var(--font-mono)}.team-leaderboard-members{font-family:var(--font-mono);color:var(--color-text-secondary)}.team-leaderboard-rating{font-family:var(--font-mono);font-weight:700;color:var(--color-info)}.team-leaderboard-wins{font-family:var(--font-mono);font-weight:700;color:var(--color-success)}.team-leaderboard-winrate{font-family:var(--font-mono)}.team-leaderboard-winrate--high{color:var(--color-success)}.team-leaderboard-winrate--low{color:var(--color-error)}.team-leaderboard-captain{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.team-leaderboard__pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.team-leaderboard__pagination .pagination-info{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:0 var(--spacing-md)}.team-leaderboard__view-all{display:flex;justify-content:center;padding:var(--spacing-md) 0}@media (max-width: 768px){.team-leaderboard__filters{flex-direction:column;align-items:stretch}.team-leaderboard__actions{margin-left:0;margin-top:var(--spacing-sm)}.team-leaderboard__pagination{flex-wrap:wrap}}.teams-page{padding:var(--spacing-md);max-width:1200px;margin:0 auto}.teams-page .page-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.teams-page .page-header h1{margin:0}.teams-page .page-header .subtitle{flex:1;margin:0;color:var(--color-text-muted)}.team-filters{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.team-search-input{min-width:200px;max-width:300px}.filter-label{color:var(--color-primary);font-weight:700}.team-filter-select{min-width:140px}.team-filter-select .form-select{background:var(--color-bg-secondary)}.teams-loading{display:flex;justify-content:center;padding:var(--spacing-xl)}.teams-error{margin-bottom:var(--spacing-lg)}.section-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-primary)}.section-divider{color:var(--color-border)}.section-title{font-weight:700;white-space:nowrap}.teams-list,.my-teams-list{display:grid;gap:var(--spacing-md)}.my-teams-section{margin-bottom:var(--spacing-xl)}.my-teams-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.teams-list{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}@media (max-width: 480px){.teams-list,.my-teams-list{grid-template-columns:1fr}}.pending-invites-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-warning);margin-bottom:var(--spacing-lg)}.invite-icon{color:var(--color-warning);font-size:1.2rem}.invite-text{flex:1;color:var(--color-text)}.invite-text strong{color:var(--color-warning)}.placeholder-content{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.placeholder-content .hint{font-size:.9rem;margin-top:var(--spacing-sm)}.team-detail-page{padding:var(--spacing-md);max-width:1000px;margin:0 auto}.page-loading{display:flex;justify-content:center;align-items:center;min-height:300px}.team-detail__header{margin-bottom:var(--spacing-lg)}.header-top{margin-bottom:var(--spacing-sm)}.back-link{color:var(--color-text-muted);text-decoration:none;font-size:.9rem}.back-link:hover{color:var(--color-primary)}.header-main{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.team-tag{color:var(--color-primary);font-weight:700;font-size:1.2rem}.team-name{margin:0;font-size:1.5rem}.team-description{margin:var(--spacing-sm) 0 0;color:var(--color-text-muted);max-width:600px}.team-detail__stats{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.stat-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-label{color:var(--color-text-muted);font-size:.85rem;text-transform:uppercase}.stat-value{color:var(--color-primary);font-weight:700;font-size:1.1rem}.stat-item--highlight .stat-value{color:var(--color-success)}.team-detail__tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm);flex-wrap:wrap}.team-tab{background:none;border:none;color:var(--color-text-muted);font-family:inherit;font-size:.95rem;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:color .2s}.team-tab:hover{color:var(--color-text)}.team-tab--active{color:var(--color-primary);font-weight:700}.team-detail__content{margin-bottom:var(--spacing-lg);min-height:300px}.team-overview{display:flex;flex-direction:column;gap:var(--spacing-lg)}.team-motd{padding:var(--spacing-md);background:var(--color-bg-secondary);border-left:3px solid var(--color-warning)}.motd-header{color:var(--color-warning);font-weight:700;margin-bottom:var(--spacing-sm);font-size:.9rem}.motd-content{color:var(--color-text);white-space:pre-wrap}.team-info-section{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px dashed var(--color-border)}.team-info-section h3{margin:0 0 var(--spacing-sm);font-size:1rem;color:var(--color-primary)}.info-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.info-label{color:var(--color-text-muted);min-width:100px}.team-chat-container{border:1px solid var(--color-border)}.team-detail__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.team-action-error{margin-bottom:var(--spacing-md)}.team-leaderboards-page{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.team-leaderboards-page .page-header{margin-bottom:var(--spacing-lg)}.team-leaderboards-page .header-top{margin-bottom:var(--spacing-sm)}.team-leaderboards-page .back-link{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.team-leaderboards-page .back-link:hover{color:var(--color-primary)}.team-leaderboards-page h1{font-family:var(--font-mono);font-size:var(--font-size-2xl);margin:0;color:var(--color-text)}.team-leaderboards-page .subtitle{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--spacing-xs) 0 0 0}.track-preview{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono)}.track-preview__label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);letter-spacing:.1em;text-transform:uppercase}.track-preview__ascii{display:flex;flex-direction:column;align-items:center;color:var(--color-text-secondary);line-height:1.1}.track-preview__line{white-space:pre;font-size:var(--font-size-sm)}.track-preview__description{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.track-preview__regenerate{margin-top:var(--spacing-xs)}.track-preview--sm{padding:var(--spacing-xs);gap:var(--spacing-2xs)}.track-preview--sm .track-preview__label{font-size:10px}.track-preview--sm .track-preview__line{font-size:9px}.track-preview--sm .track-preview__description{display:none}.track-preview--lg{padding:var(--spacing-md);gap:var(--spacing-sm)}.track-preview--lg .track-preview__label{font-size:var(--font-size-sm)}.track-preview--lg .track-preview__line{font-size:var(--font-size-md)}.track-preview--lg .track-preview__description{font-size:var(--font-size-sm)}.challenge-modal{display:flex;flex-direction:column;gap:var(--space-lg)}.challenge-modal__opponent{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.challenge-modal__opponent-info{display:flex;flex-direction:column;gap:var(--space-xs)}.challenge-modal__opponent-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.challenge-modal__opponent-stats{display:flex;align-items:center;gap:var(--space-sm)}.challenge-modal__opponent-rating{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.challenge-modal__error{margin-bottom:var(--space-sm)}.challenge-modal__section{display:flex;flex-direction:column;gap:var(--space-md)}.challenge-modal__section-title{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0;padding-bottom:var(--space-xs);border-bottom:1px dashed var(--color-border)}.challenge-modal__balance{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm)}.challenge-modal__balance-value{font-weight:var(--font-weight-bold);color:var(--color-success)}.challenge-modal__wager-presets{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.challenge-modal__wager-presets .btn{min-width:60px}.challenge-modal__winnings{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-success);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm)}.challenge-modal__winnings-value{font-weight:var(--font-weight-bold);color:var(--color-success);display:flex;flex-direction:column;align-items:flex-end;gap:2px}.challenge-modal__winnings-note{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.challenge-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-sm)}@media (max-width: 480px){.challenge-modal__opponent{flex-direction:column;text-align:center}.challenge-modal__opponent-stats,.challenge-modal__wager-presets{justify-content:center}.challenge-modal__balance,.challenge-modal__winnings{flex-direction:column;gap:var(--space-xs);text-align:center}.challenge-modal__winnings-value{align-items:center}.challenge-modal__footer{flex-direction:column}.challenge-modal__footer .btn{width:100%}}.challenge-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease}.challenge-card:hover{border-color:var(--color-border-hover)}.challenge-card--incoming{border-left:3px solid var(--color-warning)}.challenge-card--outgoing{border-left:3px solid var(--color-info)}.challenge-card__header{display:flex;align-items:center;gap:var(--space-md)}.challenge-card__user-info{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.challenge-card__user-name{display:flex;align-items:center;gap:var(--space-sm)}.challenge-card__username{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.challenge-card__rating{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.challenge-card__direction{flex-shrink:0}.challenge-card__settings{display:flex;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-sm) 0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border)}.challenge-card__setting{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-sm)}.challenge-card__setting-icon{color:var(--color-primary)}.challenge-card__setting-value{color:var(--color-text-secondary)}.challenge-card__wager{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm);background:var(--color-surface-elevated);border-radius:var(--radius-sm)}.challenge-card__wager-amount,.challenge-card__wager-winnings{display:flex;flex-direction:column;gap:2px}.challenge-card__wager-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.challenge-card__wager-value{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.challenge-card__wager-value--win{color:var(--color-success)}.challenge-card__message{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-elevated);border-left:2px solid var(--color-primary);border-radius:var(--radius-sm);font-style:italic}.challenge-card__message-icon{color:var(--color-primary);font-family:var(--font-mono)}.challenge-card__message-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.challenge-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-sm)}.challenge-card__timer{display:flex;flex-direction:column;gap:2px}.challenge-card__timer-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.challenge-card__timer-value{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-warning)}.challenge-card__actions{display:flex;gap:var(--space-sm)}.challenge-card__track-preview{display:flex;justify-content:center;padding:var(--space-sm) 0}.challenge-card__warning{margin:0}.challenge-card--compact{padding:var(--space-sm);gap:var(--space-xs)}.challenge-card--compact .challenge-card__header{gap:var(--space-sm)}.challenge-card--compact .challenge-card__username{font-size:var(--font-size-md)}.challenge-card--compact .challenge-card__rating{font-size:var(--font-size-xs)}.challenge-card--compact .challenge-card__settings{gap:var(--space-sm);padding:var(--space-xs) 0}.challenge-card--compact .challenge-card__setting{font-size:var(--font-size-xs)}.challenge-card--compact .challenge-card__wager{padding:var(--space-xs)}.challenge-card--compact .challenge-card__wager-value{font-size:var(--font-size-sm)}.challenge-card--compact .challenge-card__message{padding:var(--space-xs)}.challenge-card--compact .challenge-card__message-text{font-size:var(--font-size-xs)}.challenge-card--compact .challenge-card__footer{padding-top:var(--space-xs)}@media (max-width: 480px){.challenge-card__header{flex-wrap:wrap}.challenge-card__direction{width:100%;margin-top:var(--space-xs)}.challenge-card__settings{justify-content:space-between}.challenge-card__wager{flex-direction:column;gap:var(--space-sm);text-align:center}.challenge-card__footer{flex-direction:column;gap:var(--space-sm)}.challenge-card__timer{text-align:center}.challenge-card__actions{width:100%}.challenge-card__actions .btn{flex:1}}.pending-challenges{margin-bottom:var(--space-lg)}.pending-challenges__title{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md) 0;font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-warning)}.pending-challenges__count{margin-left:var(--space-xs)}.pending-challenges__loading{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--color-text-secondary)}.pending-challenges__section{margin-top:var(--space-md)}.pending-challenges__section:first-child{margin-top:0}.pending-challenges__section-title{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase}.pending-challenges__list{display:flex;flex-direction:column;gap:var(--space-md)}.pending-challenges__empty{text-align:center;padding:var(--space-lg);color:var(--color-text-muted)}.cars-summary{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.cars-count{color:var(--color-primary);font-weight:700}.cars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.car-card{display:flex;flex-direction:column;gap:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);padding:var(--spacing-md)}.car-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow-primary)}.car-card--selected{border-color:var(--color-success);background-color:#00ff880d}.car-card--default{border-left:3px solid var(--color-success)}.car-card--locked{opacity:.6;cursor:not-allowed}.car-card--locked:hover{border-color:var(--color-border);box-shadow:none}.car-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.car-card-name{margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.car-card-preview{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-tertiary);border:1px dashed var(--color-border)}.car-ascii-art{text-align:center}.car-ascii{margin:0;font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.2;color:var(--color-primary)}.car-ascii.locked{color:var(--color-text-dim)}.car-ascii-art.large .car-ascii{font-size:var(--font-size-sm)}.car-livery-preview{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.car-livery-preview--default{color:var(--color-text-dim)}.livery-text{font-family:var(--font-mono)}.car-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-sm);border-top:1px dashed var(--color-border)}.car-selected-indicator{color:var(--color-success);font-size:var(--font-size-sm);font-weight:700}.unlock-hint{text-align:center;color:var(--color-text-dim);font-size:var(--font-size-sm);font-style:italic;margin:0}.car-stats-display{display:flex;flex-direction:column;gap:var(--spacing-xs)}.car-stats-display--compact{font-size:var(--font-size-xs)}.car-stat-row{display:flex;align-items:center;gap:var(--spacing-sm)}.car-stat-label{min-width:40px;color:var(--color-text-dim);font-weight:700;font-size:var(--font-size-xs)}.car-stats-display:not(.car-stats-display--compact) .car-stat-label{min-width:140px;font-size:var(--font-size-sm)}.car-stat-bar{flex:1}.car-stat-value{min-width:30px;text-align:right;color:var(--color-text);font-weight:700;font-size:var(--font-size-xs)}.car-detail{display:flex;flex-direction:column;gap:var(--spacing-lg)}.car-detail-preview{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.car-livery-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.livery-label{color:var(--color-text-dim)}.livery-name{color:var(--color-primary);font-weight:700}.livery-rarity{color:var(--color-text-dim);font-size:var(--font-size-xs)}.car-detail-stats{padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.car-detail-stats h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base);color:var(--color-text-dim)}.car-detail-meta{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.meta-row{display:flex;align-items:center;gap:var(--spacing-md)}.meta-label{color:var(--color-text-dim);min-width:100px}.meta-value{color:var(--color-text)}.car-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md)}.livery-selector{display:flex;flex-direction:column;gap:var(--spacing-md)}.livery-selector-hint{color:var(--color-text-dim);font-size:var(--font-size-sm);margin:0}.livery-selector-loading,.livery-selector-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:var(--spacing-md)}.livery-grid{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:400px;overflow-y:auto}.livery-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast)}.livery-item:hover{border-color:var(--color-primary);background-color:#00ff000d}.livery-item--selected{border-color:var(--color-success);background-color:#00ff881a}.livery-preview{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim)}.livery-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.livery-info .livery-name{font-weight:700;color:var(--color-text)}.livery-description{font-size:var(--font-size-xs);color:var(--color-text-dim)}.livery-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-dim)}.livery-empty p{margin:0}.livery-empty .hint{font-size:var(--font-size-sm);margin-top:var(--spacing-sm);font-style:italic}.cars-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.cars-error{text-align:center;padding:var(--spacing-xl)}.cars-empty{grid-column:1 / -1}@media (max-width: 768px){.cars-grid{grid-template-columns:1fr}.car-card-header{flex-wrap:wrap}.car-detail-actions{flex-direction:column;gap:var(--spacing-sm)}.car-detail-actions button{width:100%}.livery-item{flex-wrap:wrap}.livery-info{flex:none;width:calc(100% - 70px)}}:root{--color-bg: #0a0a0a;--color-bg-secondary: #111111;--color-bg-tertiary: #1a1a1a;--color-bg-elevated: #1e1e1e;--color-bg-overlay: rgba(0, 0, 0, .85);--color-primary: #00ff88;--color-primary-dim: #00cc6a;--color-primary-bright: #33ffaa;--color-primary-glow: rgba(0, 255, 136, .4);--color-secondary: #00ccff;--color-secondary-dim: #0099cc;--color-secondary-bright: #33ddff;--color-secondary-glow: rgba(0, 204, 255, .4);--color-warning: #ffaa00;--color-warning-dim: #cc8800;--color-warning-bright: #ffbb33;--color-warning-glow: rgba(255, 170, 0, .4);--color-error: #ff4444;--color-error-dim: #cc3333;--color-error-bright: #ff6666;--color-error-glow: rgba(255, 68, 68, .4);--color-success: #00ff00;--color-success-dim: #00cc00;--color-success-glow: rgba(0, 255, 0, .4);--color-info: #cc66ff;--color-info-dim: #aa44dd;--color-info-glow: rgba(204, 102, 255, .4);--color-text: #e0e0e0;--color-text-bright: #ffffff;--color-text-dim: #808080;--color-text-muted: #555555;--color-border: #333333;--color-border-dim: #222222;--color-border-bright: #444444;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", "Consolas", "Monaco", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 3rem;--font-size-5xl: 4rem;--font-size-display: 5rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.8;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--letter-spacing-widest: .25em;--spacing-px: 1px;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-8);--spacing-xl: var(--spacing-16);--glow-primary: 0 0 10px var(--color-primary-glow), 0 0 20px var(--color-primary-glow);--glow-secondary: 0 0 10px var(--color-secondary-glow), 0 0 20px var(--color-secondary-glow);--glow-warning: 0 0 10px var(--color-warning-glow), 0 0 20px var(--color-warning-glow);--glow-error: 0 0 10px var(--color-error-glow), 0 0 20px var(--color-error-glow);--glow-success: 0 0 10px var(--color-success-glow), 0 0 20px var(--color-success-glow);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow-primary: 0 0 20px var(--color-primary-glow);--shadow-glow-secondary: 0 0 20px var(--color-secondary-glow);--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-popover: 400;--z-tooltip: 500;--z-toast: 600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;width:100%}body{font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg)}::selection{background-color:var(--color-primary);color:var(--color-bg)}::-moz-selection{background-color:var(--color-primary);color:var(--color-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-bright)}:focus{outline:none}:focus-visible{outline:1px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-bright)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-4)}p:last-child{margin-bottom:0}a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary-bright);text-decoration:underline}strong,b{font-weight:700}code{font-family:var(--font-mono);background-color:var(--color-bg-tertiary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:.9em}pre{font-family:var(--font-mono);background-color:var(--color-bg-secondary);padding:var(--spacing-4);overflow-x:auto;border:1px solid var(--color-border)}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes text-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}95%{opacity:.9}96%{opacity:1}}@keyframes glow-pulse{0%,to{text-shadow:var(--glow-primary);opacity:1}50%{text-shadow:0 0 5px var(--color-primary-glow);opacity:.9}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes typing-cursor{0%,to{border-color:var(--color-primary)}50%{border-color:transparent}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-blink{animation:cursor-blink 1s infinite}.animate-flicker{animation:text-flicker 4s infinite}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}.animate-fade-in{animation:fade-in .3s ease-out}.animate-fade-in-up{animation:fade-in-up .3s ease-out}.animate-slide-in-right{animation:slide-in-right .3s ease-out}.text-glow-primary{text-shadow:var(--glow-primary)}.text-glow-secondary{text-shadow:var(--glow-secondary)}.text-glow-warning{text-shadow:var(--glow-warning)}.text-glow-error{text-shadow:var(--glow-error)}.text-glow-success{text-shadow:var(--glow-success)}.terminal-cursor:after{content:"█";animation:cursor-blink 1s infinite;margin-left:2px}.terminal-cursor-line:after{content:"";display:inline-block;width:8px;height:1.2em;background-color:var(--color-primary);animation:cursor-blink 1s infinite;margin-left:2px;vertical-align:text-bottom}.terminal-prompt:before{content:"> ";color:var(--color-primary)}.terminal-prompt-user:before{content:"$ ";color:var(--color-secondary)}.terminal-prompt-root:before{content:"# ";color:var(--color-error)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-info{color:var(--color-info)}.text-dim{color:var(--color-text-dim)}.text-muted{color:var(--color-text-muted)}.text-bright{color:var(--color-text-bright)}.bg-primary{background-color:var(--color-bg)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-elevated{background-color:var(--color-bg-elevated)}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-4{margin:var(--spacing-4)}.m-8{margin:var(--spacing-8)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-8{margin-top:var(--spacing-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-8{margin-bottom:var(--spacing-8)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-8{padding:var(--spacing-8)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-8{gap:var(--spacing-8)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.tracking-widest{letter-spacing:var(--letter-spacing-widest)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border:1px solid var(--color-border)}.border-0{border:none}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-primary{border-color:var(--color-primary)}.border-secondary{border-color:var(--color-secondary)}.border-warning{border-color:var(--color-warning)}.border-error{border-color:var(--color-error)}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-layout__body{display:flex;flex:1;overflow:hidden}.app-layout--with-sidebar .main-content{overflow-y:auto;height:calc(100vh - 56px)}.main-content{flex:1;padding:var(--spacing-lg)}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.header-logo .logo-text{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:700;letter-spacing:var(--letter-spacing-widest);text-shadow:var(--glow-primary)}.header-nav{display:flex;gap:var(--spacing-md)}.nav-link{color:var(--color-text-dim);background:none;border:none;font-family:inherit;font-size:inherit;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-primary);text-decoration:none}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.credits-display{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:2px;font-family:var(--font-mono);font-weight:700;color:var(--color-warning);transition:background-color .3s ease,border-color .3s ease}.credits-symbol{color:var(--color-text-dim);font-size:var(--font-size-sm)}.credits-amount{color:var(--color-warning);font-size:var(--font-size-base)}.credits-flash-gain{animation:credits-gain .5s ease-out}.credits-flash-spend{animation:credits-spend .5s ease-out}@keyframes credits-gain{0%{background-color:var(--color-success);border-color:var(--color-success)}to{background-color:var(--color-surface);border-color:var(--color-border)}}@keyframes credits-spend{0%{background-color:var(--color-error);border-color:var(--color-error)}to{background-color:var(--color-surface);border-color:var(--color-border)}}.page{max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.page-header h1{font-size:var(--font-size-3xl)}.subtitle{color:var(--color-text-dim);margin-top:var(--spacing-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.btn-primary:hover{background-color:transparent;color:var(--color-primary);box-shadow:var(--shadow-glow-primary)}.btn-secondary{border-color:var(--color-secondary);color:var(--color-secondary)}.btn-secondary:hover{background-color:var(--color-secondary);color:var(--color-bg);box-shadow:var(--shadow-glow-secondary)}.btn-warning{border-color:var(--color-warning);color:var(--color-warning)}.btn-warning:hover{background-color:var(--color-warning);color:var(--color-bg)}.btn-error{border-color:var(--color-error);color:var(--color-error)}.btn-error:hover{background-color:var(--color-error);color:var(--color-bg)}.btn-ghost{background-color:transparent;border-color:transparent}.btn-ghost:hover{background-color:var(--color-bg-tertiary);border-color:transparent}.btn-full{width:100%}.btn-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base)}.btn-social{flex:1}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;color:var(--color-primary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-base);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.form-help{color:var(--color-text-dim);font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:80vh}.auth-container{width:100%;max-width:400px;padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.auth-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-xs);color:var(--color-primary);text-shadow:var(--glow-primary)}.auth-subtitle{color:var(--color-text-dim);margin-bottom:var(--spacing-lg)}.auth-form{margin-bottom:var(--spacing-lg)}.auth-legal-notice{text-align:center;margin-top:var(--spacing-md)}.auth-legal-notice a{color:var(--color-primary);text-decoration:none}.auth-legal-notice a:hover{text-decoration:underline}.auth-links{text-align:center;margin-bottom:var(--spacing-lg)}.auth-links .divider{color:var(--color-text-dim);margin:0 var(--spacing-sm)}.auth-social{text-align:center}.auth-social p{color:var(--color-text-dim);margin-bottom:var(--spacing-md)}.social-buttons{display:flex;gap:var(--spacing-md);justify-content:center}.auth-message{text-align:center}.success-message{color:var(--color-success)}.avatar{display:inline-flex;border:2px solid transparent;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);line-height:0}.avatar--clickable{cursor:pointer}.avatar--clickable:hover{border-color:var(--color-text-dim)}.avatar--clickable:focus{outline:none;border-color:var(--color-primary)}.avatar--selected{border-color:var(--color-primary);box-shadow:0 0 8px var(--color-primary)}.avatar-selector{margin-top:var(--spacing-md)}.avatar-selector__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.avatar-selector__grid{display:grid;grid-template-columns:repeat(4,auto);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);justify-content:start}.avatar-selector__preview{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);justify-content:flex-start}.landing-page{text-align:center;padding:var(--spacing-xl) 0}.hero{margin-bottom:var(--spacing-xl)}.hero-title{font-size:var(--font-size-display);letter-spacing:var(--letter-spacing-widest);margin-bottom:var(--spacing-md);color:var(--color-primary);text-shadow:var(--glow-primary)}.hero-tagline{font-size:var(--font-size-xl);color:var(--color-secondary)}.hero-description{color:var(--color-text-dim)}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.how-it-works h2{color:var(--color-text-dim);margin-bottom:var(--spacing-lg)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);text-align:left}.step{padding:var(--spacing-md);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);transition:border-color var(--transition-normal)}.step:hover{border-color:var(--color-primary)}.step-number{color:var(--color-primary);font-size:var(--font-size-sm)}.step h3{color:var(--color-text);font-size:var(--font-size-xl);margin:var(--spacing-sm) 0}.step p{color:var(--color-text-dim);font-size:var(--font-size-sm);margin:0}.step-example{margin-top:var(--spacing-3);padding:var(--spacing-2);background-color:var(--color-bg);border-left:2px solid var(--color-primary-dim)}.live-race-preview{margin:var(--spacing-xl) auto;max-width:800px}.live-race-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.live-race-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);text-align:center}.ascii-car{margin-bottom:var(--spacing-md)}.ascii-art{color:var(--color-primary);font-size:var(--font-size-sm);line-height:1.2;text-shadow:var(--glow-primary)}.live-race-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);text-align:center}.live-race-stats .box{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.features{margin:var(--spacing-xl) 0;text-align:center}.features h2{margin-bottom:var(--spacing-lg)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);text-align:left}.feature-card{display:flex;flex-direction:column;gap:var(--spacing-2);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.feature-card:hover{transform:translateY(-2px)}.cta{margin:var(--spacing-xl) auto;max-width:600px;text-align:center}.cta .panel__content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.cta-actions{margin:var(--spacing-md) 0}.landing-footer{margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border-dim);text-align:center}.landing-footer a{color:var(--color-text-muted)}.landing-footer a:hover{color:var(--color-secondary)}.hero-terminal-line{margin-bottom:var(--spacing-md)}.hero-terminal-line--bottom{margin-top:var(--spacing-lg);margin-bottom:0}.dashboard-header{margin-bottom:var(--spacing-lg)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.dashboard-section{padding:var(--spacing-md);border:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.dashboard-section h2{color:var(--color-text-dim);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.mode-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mode-btn{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);text-decoration:none;transition:all var(--transition-normal)}.mode-btn:hover{border-color:var(--color-primary);text-decoration:none;box-shadow:var(--shadow-glow-primary)}.mode-icon{color:var(--color-primary);font-size:var(--font-size-xl)}.mode-name{font-weight:700}.mode-desc{color:var(--color-text-dim);font-size:var(--font-size-xs);margin-left:auto}.section-link{display:block;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}.section-link:hover{text-decoration:underline}.section-loading,.section-error{padding:var(--spacing-md);text-align:center;color:var(--color-text-dim)}.recent-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.recent-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);color:var(--color-text);text-decoration:none;border:1px solid transparent;transition:all var(--transition-fast)}.recent-item:hover{border-color:var(--color-border);background-color:var(--color-bg)}.recent-position{display:flex;align-items:baseline;gap:2px;min-width:50px}.position-value{font-weight:700}.position-value.position-1{color:var(--color-warning)}.position-value.position-2{color:var(--color-text-dim)}.position-value.position-3{color:#cd7f32}.position-total{font-size:var(--font-size-xs);color:var(--color-text-dim)}.recent-info{flex:1;display:flex;flex-direction:column;gap:2px}.recent-track{font-size:var(--font-size-sm)}.recent-date{font-size:var(--font-size-xs);color:var(--color-text-dim)}.recent-highlight{color:var(--color-warning)}.leaderboard-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.leaderboard-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.lb-rank{min-width:24px;font-weight:700;font-size:var(--font-size-sm)}.lb-rank-1{color:var(--color-warning)}.lb-rank-2{color:var(--color-text-dim)}.lb-rank-3{color:#cd7f32}.lb-name{flex:1;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-rating{font-size:var(--font-size-sm);color:var(--color-text-dim);font-family:var(--font-mono)}.live-races-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.live-race-card{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);text-decoration:none;transition:all var(--transition-fast);position:relative}.live-race-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow-primary)}.live-race-header{display:flex;align-items:center;gap:var(--spacing-sm)}.live-badge{padding:2px 6px;background-color:var(--color-error);color:#fff;font-size:var(--font-size-xs);font-weight:700;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.featured-badge{color:var(--color-warning)}.live-track{font-weight:700;flex:1}.live-race-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-dim)}.live-race-info .separator{opacity:.5}.live-race-meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm)}.live-drivers,.live-spectators{display:flex;align-items:center;gap:4px}.live-spectators{color:var(--color-text-dim)}.live-watch-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.friend-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);color:var(--color-text);text-decoration:none;border:1px solid transparent;transition:all var(--transition-fast)}.friend-item:hover{border-color:var(--color-border);background-color:var(--color-bg)}.friend-avatar{position:relative}.friend-status{position:absolute;bottom:0;right:0;width:8px;height:8px;border-radius:50%;border:2px solid var(--color-bg-secondary)}.friend-status--online{background-color:var(--color-success)}.friend-status--away{background-color:var(--color-warning)}.friend-status--offline{background-color:var(--color-text-dim)}.friend-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.friend-name{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-activity{font-size:var(--font-size-xs);color:var(--color-success)}.friend-join{flex-shrink:0}.friend-spectate{flex-shrink:0;text-decoration:none;display:inline-flex;align-items:center;font-size:var(--font-size-xs);padding:.25rem .5rem;color:var(--color-info);background:transparent;border:1px solid var(--color-info);border-radius:var(--radius-sm)}.friend-spectate:hover{background:var(--color-info);color:var(--color-bg)}.placeholder-content{padding:var(--spacing-lg);text-align:center;color:var(--color-text-dim)}.placeholder-content p{margin-bottom:var(--spacing-sm)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-text{color:var(--color-primary);animation:cursor-blink 1s infinite}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:80vh;text-align:center}.error-code{font-size:8rem;color:var(--color-error);line-height:1;text-shadow:var(--glow-error)}.error-message{font-size:var(--font-size-2xl);color:var(--color-text);margin:var(--spacing-md) 0}.error-description{color:var(--color-text-dim);margin-bottom:var(--spacing-lg)}.editor-page{display:flex;flex-direction:column;height:calc(100vh - 120px);padding:var(--spacing-md)}.editor-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.editor-header__left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.editor-header__right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.editor-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-lg);cursor:pointer;transition:all .15s ease}.editor-back:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary);color:var(--color-primary)}.editor-name-input{flex:1;min-width:0;font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono);background:transparent;border:none;border-bottom:1px solid transparent;color:var(--color-text);padding:var(--spacing-xs) var(--spacing-sm)}.editor-name-input:hover{border-bottom-color:var(--color-border)}.editor-name-input:focus{outline:none;border-bottom-color:var(--color-primary)}.editor-unsaved{color:var(--color-warning);font-size:var(--font-size-xl);font-weight:700}.editor-word-count{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.editor-word-count.near-limit{color:var(--color-warning);border-color:var(--color-warning)}.editor-word-count.over-limit{color:var(--color-error);border-color:var(--color-error);text-shadow:var(--glow-error)}.editor-body{display:flex;flex:1;gap:var(--spacing-md);min-height:0}.editor-main{flex:1;display:flex;flex-direction:column;min-width:0}.editor-textarea{width:100%;flex:1;resize:none;padding:var(--spacing-lg);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text)}.editor-textarea::placeholder{color:var(--color-text-dim);opacity:.6}.editor-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary-glow)}.editor-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);overflow-y:auto}.sidebar-section h3,.sidebar-section h4{color:var(--color-text-dim);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.sidebar-hint{font-size:var(--font-size-sm);color:var(--color-text-dim);margin-bottom:var(--spacing-sm)}.analysis-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.analysis-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-dim);background:var(--color-bg);border:1px solid transparent;transition:all .15s ease}.analysis-item--covered{color:var(--color-text)}.analysis-item__name{flex:1}.sidebar-tips{margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.sidebar-tips ul{list-style:none;padding:0;margin:0}.sidebar-tips li{font-size:var(--font-size-sm);color:var(--color-text-dim);padding:var(--spacing-xs) 0}.sidebar-tips li:before{content:"> ";color:var(--color-primary)}.editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--spacing-md);color:var(--color-text-dim)}.editor-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--spacing-md);text-align:center}.editor-error .error-icon{font-size:var(--font-size-3xl);color:var(--color-error)}.editor-error h2{color:var(--color-error);margin:0}.editor-error p{color:var(--color-text-dim);margin:0}.playbook-name-input{font-size:var(--font-size-2xl);font-weight:700;background:transparent;border:none;color:var(--color-text);padding:var(--spacing-xs)}.playbook-name-input:focus{outline:none;border-bottom:1px solid var(--color-primary)}.word-count{color:var(--color-text-dim);font-size:var(--font-size-sm)}.word-count.over-limit{color:var(--color-error);text-shadow:var(--glow-error)}.playbook-textarea{width:100%;height:100%;resize:none;padding:var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text)}.playbook-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary-glow)}.race-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.filter-select{padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text)}.filter-select:focus{outline:none;border-color:var(--color-primary)}.profile-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.avatar-placeholder{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);border:2px solid var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-glow-primary)}.profile-info h1{font-size:var(--font-size-2xl)}.username{color:var(--color-secondary)}.rating{color:var(--color-text-dim);font-size:var(--font-size-sm)}.profile-actions{margin-left:auto;display:flex;gap:var(--spacing-sm)}.profile-stats{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.stat{text-align:center;padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);flex:1;transition:border-color var(--transition-normal)}.stat:hover{border-color:var(--color-primary)}.stat-value{display:block;font-size:var(--font-size-3xl);color:var(--color-primary);text-shadow:var(--glow-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.profile-section{margin-bottom:var(--spacing-lg)}.profile-section h2{color:var(--color-text-dim);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.race-view-page{display:flex;gap:var(--spacing-md);height:calc(100vh - 120px);padding:0}.race-canvas-container{flex:1;position:relative;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);overflow:hidden}.race-canvas-element{width:100%;height:100%;display:block}.race-loading,.race-error{flex:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.race-loading .loading-content{text-align:center}.race-loading .loading-spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.race-loading .reconnecting-text{color:var(--color-warning);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.race-error .error-text{color:var(--color-error);margin-bottom:var(--spacing-lg)}.race-hud{position:absolute;left:0;right:0;padding:var(--spacing-md);pointer-events:none;z-index:10}.race-hud--top{top:0;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(to bottom,rgba(0,0,0,.8) 0%,transparent 100%)}.race-hud--bottom{bottom:0;display:flex;justify-content:center;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%)}.hud-section{display:flex;align-items:center;gap:var(--spacing-sm);pointer-events:auto}.hud-section--center{flex-direction:column;align-items:center}.lap-display{font-family:var(--font-mono);font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary);text-shadow:0 0 10px var(--color-primary)}.time-display{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-text)}.connection-status{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-success)}.spectator-count{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim)}.weather-icon{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-info)}.weather-label{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.weather-intensity{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim)}.camera-controls{display:flex;gap:var(--spacing-sm);pointer-events:auto}.zoom-controls{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-md)}.race-complete-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#000000d9;z-index:20}.race-complete-content{text-align:center}.race-complete-content h2{font-family:var(--font-mono);font-size:var(--font-size-2xl);color:var(--color-success);text-shadow:0 0 20px var(--color-success);margin:0 0 var(--spacing-md) 0;animation:pulse-glow 1s ease-in-out infinite}.race-complete-content p{color:var(--color-text-dim);font-size:var(--font-size-md)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.7}}.countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:25;pointer-events:none}.countdown-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0009,#000c)}.countdown-value{position:relative;font-family:var(--font-mono);font-size:12rem;font-weight:700;color:var(--color-primary);text-shadow:0 0 20px var(--color-primary-glow),0 0 40px var(--color-primary-glow),0 0 60px var(--color-primary-glow);animation:countdown-pop .5s cubic-bezier(.175,.885,.32,1.275);line-height:1}.countdown-value--go{color:var(--color-success);text-shadow:0 0 30px var(--color-success-glow),0 0 60px var(--color-success-glow),0 0 90px var(--color-success-glow);animation:countdown-go .6s cubic-bezier(.175,.885,.32,1.275)}.countdown-dots{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.countdown-dot{font-family:var(--font-mono);font-size:var(--font-size-3xl);color:var(--color-primary-dim);animation:countdown-dot-pulse 1s ease-in-out infinite}.countdown-dot:nth-child(2){animation-delay:.15s}.countdown-dot:nth-child(3){animation-delay:.3s}@keyframes countdown-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes countdown-go{0%{transform:scale(.5);opacity:0}40%{transform:scale(1.2)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes countdown-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.race-sidebar{width:320px;display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto}.race-panel{flex-shrink:0}.race-panel--positions{flex:1;min-height:200px;overflow-y:auto}.race-panel--events{max-height:200px;overflow-y:auto}.positions-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.position-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg);border:1px solid transparent;border-radius:2px;cursor:pointer;transition:all var(--transition-fast)}.position-item:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border)}.position-item--player{background-color:#00ff881a;border-color:var(--color-primary)}.position-item--followed{border-color:var(--color-info);box-shadow:0 0 5px var(--color-info)}.position-badge{min-width:32px;text-align:center}.driver-name{flex:1;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-indicator{color:var(--color-text-dim);font-size:var(--font-size-xs);margin-left:var(--spacing-xs)}.player-indicator{color:var(--color-primary);font-size:var(--font-size-xs);margin-left:var(--spacing-xs)}.gap-time{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);min-width:60px;text-align:right}.pit-indicator{color:var(--color-warning);font-size:var(--font-size-xs)}.dnf-indicator{color:var(--color-error);font-size:var(--font-size-xs)}.race-info-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.race-info-grid .info-row{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--font-size-sm)}.race-info-grid .info-label{color:var(--color-text-dim)}.race-info-grid .info-value{color:var(--color-text)}.event-feed{display:flex;flex-direction:column;gap:var(--spacing-xs)}.event-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.event-item:last-child{border-bottom:none}.event-icon{color:var(--color-info);flex-shrink:0}.event-text{color:var(--color-text);word-break:break-word}.race-panel--decisions{max-height:220px;overflow:hidden}.decision-feed{display:flex;flex-direction:column;height:100%}.decision-feed__header{display:flex;align-items:center;padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.decision-feed__car-name{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:600}.decision-feed__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:160px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.decision-feed__list::-webkit-scrollbar{width:4px}.decision-feed__list::-webkit-scrollbar-track{background:transparent}.decision-feed__list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.decision-feed__empty{color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-md) 0;font-style:italic}.decision-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--spacing-xs);background-color:var(--color-bg);border-radius:2px;border-left:2px solid var(--color-border);transition:border-color var(--transition-fast)}.decision-item:last-child{border-left-color:var(--color-primary);background-color:#00ff880d}.decision-time{color:var(--color-text-muted);flex-shrink:0;min-width:40px}.decision-icon{color:var(--color-info);flex-shrink:0}.decision-text{color:var(--color-text);word-break:break-word;line-height:1.3}.live-decision-log{display:flex;flex-direction:column;height:100%;gap:var(--spacing-sm)}.live-decision-log__telemetry{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:var(--spacing-sm)}.live-decision-log__car-name{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:600;margin-bottom:var(--spacing-xs);text-transform:uppercase}.live-decision-log__telemetry-grid{display:flex;flex-direction:column;gap:2px}.telemetry-row{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs)}.telemetry-row--drafting{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px dashed var(--color-border)}.telemetry-label{color:var(--color-text-muted);min-width:60px;flex-shrink:0}.telemetry-bar{color:var(--color-primary);font-family:var(--font-mono);letter-spacing:-1px}.telemetry-bar--brake{color:var(--color-error)}.telemetry-value{color:var(--color-text);min-width:45px;text-align:right}.telemetry-value--position{color:var(--color-warning);font-weight:600}.telemetry-value--drafting{color:var(--color-info)}.condition--good{color:var(--color-success)}.condition--warn{color:var(--color-warning)}.condition--critical{color:var(--color-error)}.live-decision-log__header{display:flex;align-items:center;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.live-decision-log__title{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.live-decision-log__list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.live-decision-log__list::-webkit-scrollbar{width:4px}.live-decision-log__list::-webkit-scrollbar-track{background:transparent}.live-decision-log__list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.live-decision-log__empty{color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-md) 0;font-style:italic}.live-decision-item{display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--spacing-xs);background-color:var(--color-bg);border-radius:2px;border-left:2px solid var(--color-border);transition:border-color var(--transition-fast)}.live-decision-item:last-child{border-left-color:var(--color-primary);background-color:#00ff880d}.live-decision-item__header{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.live-decision-item__time{color:var(--color-text-muted);flex-shrink:0;min-width:40px}.live-decision-item__icon{color:var(--color-info);flex-shrink:0}.live-decision-item__text{color:var(--color-text);word-break:break-word;line-height:1.3}.live-decision-item__state{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-left:calc(40px + var(--spacing-sm));opacity:.7}.live-decision-item__stat{color:var(--color-text-muted);font-size:10px}.live-decision-item__stat--drafting{color:var(--color-info)}.race-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:auto;padding-top:var(--spacing-md)}.race-panel .empty-text{color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-md)}.race-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;min-height:48px;gap:var(--spacing-md)}.race-view-header__left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.race-view-header__center{display:flex;align-items:center;justify-content:center}.race-view-header__right{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;justify-content:flex-end}.view-mode-toggle{display:flex;gap:2px;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:2px}.view-mode-toggle .btn{border-radius:2px}.view-mode-toggle .btn--secondary{border-color:transparent;background-color:transparent}.view-mode-toggle .btn--secondary:hover{background-color:var(--color-bg-tertiary)}.race-data-view-container{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background-color:var(--color-bg)}.race-view-page{display:flex;flex-direction:column}@media (max-width: 1024px){.race-view-page{flex-direction:column;height:auto}.race-canvas-container{height:50vh;min-height:300px}.race-sidebar{width:100%;flex-direction:row;flex-wrap:wrap}.race-panel{flex:1 1 300px}.race-panel--positions{min-height:150px;max-height:200px}}@media (max-width: 768px){.race-hud--top{flex-wrap:wrap;gap:var(--spacing-sm)}.hud-section--center{order:-1;width:100%;margin-bottom:var(--spacing-sm)}.camera-controls{flex-wrap:wrap;justify-content:center}.race-sidebar{flex-direction:column}.race-panel{flex:none}.race-view-header{flex-wrap:wrap;padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs)}.race-view-header__left{order:1;flex:1 1 50%}.race-view-header__center{order:0;flex:1 1 100%;justify-content:center;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-dim);margin-bottom:var(--spacing-xs)}.race-view-header__right{order:2;flex:1 1 50%;justify-content:flex-end}.view-mode-toggle .btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.replay-page{display:flex;flex-direction:column;height:calc(100vh - 120px)}.replay-canvas{flex:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.replay-controls{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);margin-top:var(--spacing-md)}.control-btn{padding:var(--spacing-sm);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.control-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.control-btn.active{background-color:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.timeline{flex:1;height:4px;background-color:var(--color-border);position:relative;cursor:pointer}.timeline:hover{height:6px}.timeline-bar{height:100%;width:0%;background-color:var(--color-primary);box-shadow:var(--glow-primary)}.time-display{color:var(--color-text-dim);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.panel{display:flex;flex-direction:column;background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.panel--full-height{height:100%}.panel--primary{border-color:var(--color-primary)}.panel--secondary{border-color:var(--color-secondary)}.panel--warning{border-color:var(--color-warning)}.panel--error{border-color:var(--color-error)}.panel--padding-none .panel__content{padding:0}.panel--padding-sm .panel__content{padding:var(--spacing-2)}.panel--padding-md .panel__content{padding:var(--spacing-4)}.panel--padding-lg .panel__content{padding:var(--spacing-8)}.panel__header{padding:var(--spacing-2) var(--spacing-4);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-tertiary)}.panel__title{color:var(--color-text-dim);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.panel--primary .panel__title{color:var(--color-primary)}.panel--secondary .panel__title{color:var(--color-secondary)}.panel--warning .panel__title{color:var(--color-warning)}.panel--error .panel__title{color:var(--color-error)}.panel__body{flex:1;display:flex}.panel__content{flex:1;padding:var(--spacing-4)}.panel--box-drawing{background:transparent;border:none}.panel__header--box-drawing{display:flex;background:transparent;border:none;padding:0;color:var(--color-border);font-family:var(--font-mono);line-height:1}.panel--primary .panel__header--box-drawing,.panel--primary .panel__body--box-drawing,.panel--primary .panel__footer--box-drawing{color:var(--color-primary)}.panel--secondary .panel__header--box-drawing,.panel--secondary .panel__body--box-drawing,.panel--secondary .panel__footer--box-drawing{color:var(--color-secondary)}.panel__title-bar{flex:1;overflow:hidden;white-space:nowrap;color:var(--color-text-dim)}.panel__corner{flex-shrink:0}.panel__body--box-drawing{display:flex;background-color:var(--color-bg-secondary)}.panel__border-left,.panel__border-right{color:var(--color-border);line-height:1}.panel__footer--box-drawing{display:flex;background:transparent;color:var(--color-border);font-family:var(--font-mono);line-height:1}.panel__border-bottom{flex:1;overflow:hidden}.box{display:block}.box--inline{display:inline-block}.box--centered{display:flex;align-items:center;justify-content:center}.box--border{border:1px solid var(--color-border)}.box--border-primary{border-color:var(--color-primary)}.box--border-secondary{border-color:var(--color-secondary)}.box--border-warning{border-color:var(--color-warning)}.box--border-error{border-color:var(--color-error)}.box--padding-none{padding:0}.box--padding-xs{padding:var(--spacing-1)}.box--padding-sm{padding:var(--spacing-2)}.box--padding-md{padding:var(--spacing-4)}.box--padding-lg{padding:var(--spacing-8)}.box--padding-xl{padding:var(--spacing-16)}.box--bg-primary{background-color:var(--color-bg)}.box--bg-secondary{background-color:var(--color-bg-secondary)}.box--bg-tertiary{background-color:var(--color-bg-tertiary)}.box--bg-elevated{background-color:var(--color-bg-elevated)}.box--glow.box--border-primary{box-shadow:var(--shadow-glow-primary)}.box--glow.box--border-secondary{box-shadow:var(--shadow-glow-secondary)}.box--glow.box--border-warning{box-shadow:0 0 20px var(--color-warning-glow)}.box--glow.box--border-error{box-shadow:0 0 20px var(--color-error-glow)}.border-line{display:block;color:var(--color-border);font-family:var(--font-mono);line-height:1;-webkit-user-select:none;user-select:none}.border-line--horizontal{width:100%;overflow:hidden}.border-line--horizontal .border-line__char{display:block;width:100%;overflow:hidden;white-space:nowrap}.border-line--horizontal .border-line__char:after{content:"────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"}.border-line--vertical{display:inline-block;writing-mode:vertical-lr}.border-line--primary{color:var(--color-primary)}.border-line--secondary{color:var(--color-secondary)}.border-line--warning{color:var(--color-warning)}.border-line--error{color:var(--color-error)}.border-line--dim{color:var(--color-text-muted)}.border-line--glow.border-line--primary{text-shadow:var(--glow-primary)}.border-line--glow.border-line--secondary{text-shadow:var(--glow-secondary)}.border-frame{display:flex;flex-direction:column;font-family:var(--font-mono);color:var(--color-border);line-height:1}.border-frame--primary{color:var(--color-primary)}.border-frame--secondary{color:var(--color-secondary)}.border-frame--warning{color:var(--color-warning)}.border-frame--error{color:var(--color-error)}.border-frame__top,.border-frame__bottom{display:flex}.border-frame__horizontal{flex:1;overflow:hidden}.border-frame__horizontal:after{content:"────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"}.border-frame__middle{display:flex}.border-frame__content{flex:1;padding:var(--spacing-2) var(--spacing-4);color:var(--color-text)}.status-indicator{display:flex;align-items:center;gap:var(--spacing-2)}.status-indicator--inline{display:inline-flex}.status-indicator__dot{flex-shrink:0;border-radius:50%}.status-indicator--sm .status-indicator__dot{width:6px;height:6px}.status-indicator--md .status-indicator__dot{width:8px;height:8px}.status-indicator--lg .status-indicator__dot{width:12px;height:12px}.status-indicator--online .status-indicator__dot{background-color:var(--color-success);box-shadow:0 0 6px var(--color-success-glow)}.status-indicator--offline .status-indicator__dot{background-color:var(--color-text-muted)}.status-indicator--busy .status-indicator__dot{background-color:var(--color-error);box-shadow:0 0 6px var(--color-error-glow)}.status-indicator--away .status-indicator__dot{background-color:var(--color-warning);box-shadow:0 0 6px var(--color-warning-glow)}.status-indicator--error .status-indicator__dot{background-color:var(--color-error);box-shadow:0 0 6px var(--color-error-glow)}.status-indicator--success .status-indicator__dot{background-color:var(--color-success);box-shadow:0 0 6px var(--color-success-glow)}.status-indicator--warning .status-indicator__dot{background-color:var(--color-warning);box-shadow:0 0 6px var(--color-warning-glow)}.status-indicator--info .status-indicator__dot{background-color:var(--color-info);box-shadow:0 0 6px var(--color-info-glow)}.status-indicator__label{font-size:var(--font-size-sm);color:var(--color-text-dim)}.status-indicator--pulse .status-indicator__dot{animation:status-pulse 2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.status-dot{display:inline-block;border-radius:50%}.status-dot--sm{width:6px;height:6px}.status-dot--md{width:8px;height:8px}.status-dot--lg{width:12px;height:12px}.status-dot--online{background-color:var(--color-success);box-shadow:0 0 6px var(--color-success-glow)}.status-dot--offline{background-color:var(--color-text-muted)}.status-dot--busy{background-color:var(--color-error);box-shadow:0 0 6px var(--color-error-glow)}.status-dot--away{background-color:var(--color-warning);box-shadow:0 0 6px var(--color-warning-glow)}.status-dot--error{background-color:var(--color-error);box-shadow:0 0 6px var(--color-error-glow)}.status-dot--success{background-color:var(--color-success);box-shadow:0 0 6px var(--color-success-glow)}.status-dot--warning{background-color:var(--color-warning);box-shadow:0 0 6px var(--color-warning-glow)}.status-dot--info{background-color:var(--color-info);box-shadow:0 0 6px var(--color-info-glow)}.status-dot--pulse{animation:status-pulse 2s ease-in-out infinite}.terminal-text,.terminal-text--mono{font-family:var(--font-mono)}.terminal-text--default{color:var(--color-text)}.terminal-text--primary{color:var(--color-primary)}.terminal-text--secondary{color:var(--color-secondary)}.terminal-text--warning{color:var(--color-warning)}.terminal-text--error{color:var(--color-error)}.terminal-text--success{color:var(--color-success)}.terminal-text--info{color:var(--color-info)}.terminal-text--dim{color:var(--color-text-dim)}.terminal-text--muted{color:var(--color-text-muted)}.terminal-text--glow.terminal-text--primary{text-shadow:var(--glow-primary)}.terminal-text--glow.terminal-text--secondary{text-shadow:var(--glow-secondary)}.terminal-text--glow.terminal-text--warning{text-shadow:var(--glow-warning)}.terminal-text--glow.terminal-text--error{text-shadow:var(--glow-error)}.terminal-text--glow.terminal-text--success{text-shadow:var(--glow-success)}.terminal-text--glow.terminal-text--default{text-shadow:0 0 10px rgba(224,224,224,.4)}.terminal-text--blink{animation:cursor-blink 1s infinite}.terminal-text--flicker{animation:text-flicker 4s infinite}.terminal-text--prompt:before{content:"> ";color:var(--color-primary)}.terminal-text--user-prompt:before{content:"$ ";color:var(--color-secondary)}.terminal-text--root-prompt:before{content:"# ";color:var(--color-error)}.terminal-text--cursor-block:after{content:"█";animation:cursor-blink 1s infinite;margin-left:2px}.terminal-text--cursor-line:after{content:"";display:inline-block;width:8px;height:1.2em;background-color:currentColor;animation:cursor-blink 1s infinite;margin-left:2px;vertical-align:text-bottom}.terminal-text--size-xs{font-size:var(--font-size-xs)}.terminal-text--size-sm{font-size:var(--font-size-sm)}.terminal-text--size-base{font-size:var(--font-size-base)}.terminal-text--size-lg{font-size:var(--font-size-lg)}.terminal-text--size-xl{font-size:var(--font-size-xl)}.terminal-text--size-2xl{font-size:var(--font-size-2xl)}.terminal-text--size-3xl{font-size:var(--font-size-3xl)}.terminal-text--weight-normal{font-weight:400}.terminal-text--weight-medium{font-weight:500}.terminal-text--weight-bold{font-weight:700}.terminal-text--uppercase{text-transform:uppercase}.terminal-text--lowercase{text-transform:lowercase}.terminal-text--capitalize{text-transform:capitalize}.terminal-text--spacing-wide{letter-spacing:var(--letter-spacing-wide)}.terminal-text--spacing-wider{letter-spacing:var(--letter-spacing-wider)}.terminal-text--spacing-widest{letter-spacing:var(--letter-spacing-widest)}.form-label{display:block;color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;margin-bottom:var(--spacing-xs)}.form-label__prompt{color:var(--color-text-dim)}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-base);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-glow)}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input--sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm)}.form-input--lg{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-lg)}.form-input--with-left-icon{padding-left:calc(var(--spacing-md) + 1.5rem)}.form-input--with-right-icon{padding-right:calc(var(--spacing-md) + 1.5rem)}.form-input__icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-dim);pointer-events:none}.form-input__icon--left{left:var(--spacing-sm)}.form-input__icon--right{right:var(--spacing-sm)}.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-base);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);line-height:1.5;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-glow)}.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea:disabled{opacity:.5;cursor:not-allowed}.form-select-wrapper{position:relative;display:flex;align-items:center}.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:calc(var(--spacing-md) + 1.5rem);font-family:var(--font-mono);font-size:var(--font-size-base);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-glow)}.form-select:disabled{opacity:.5;cursor:not-allowed}.form-select option{background-color:var(--color-bg-secondary);color:var(--color-text)}.form-select__arrow{position:absolute;right:var(--spacing-sm);color:var(--color-text-dim);font-size:var(--font-size-xs);pointer-events:none}.form-select--sm{padding:var(--spacing-1) var(--spacing-2);padding-right:calc(var(--spacing-2) + 1.5rem);font-size:var(--font-size-sm)}.form-select--lg{padding:var(--spacing-3) var(--spacing-4);padding-right:calc(var(--spacing-4) + 1.5rem);font-size:var(--font-size-lg)}.form-checkbox{display:inline-flex;flex-direction:column;gap:var(--spacing-1)}.form-checkbox__label{display:inline-flex;align-items:center;gap:var(--spacing-2);cursor:pointer;font-family:var(--font-mono)}.form-checkbox__input{position:absolute;opacity:0;width:0;height:0}.form-checkbox__box{font-family:var(--font-mono);color:var(--color-text-dim);transition:color var(--transition-fast)}.form-checkbox__input:checked+.form-checkbox__box{color:var(--color-primary)}.form-checkbox__input:focus+.form-checkbox__box{text-shadow:0 0 8px var(--color-primary-glow)}.form-checkbox__input:disabled+.form-checkbox__box{opacity:.5;cursor:not-allowed}.form-checkbox__text{color:var(--color-text)}.form-checkbox--sm{font-size:var(--font-size-sm)}.form-checkbox--lg{font-size:var(--font-size-lg)}.form-checkbox__box--native{width:1rem;height:1rem;border:1px solid var(--color-border);background-color:var(--color-bg);display:inline-flex;align-items:center;justify-content:center}.form-checkbox__input:checked+.form-checkbox__box--native{background-color:var(--color-primary);border-color:var(--color-primary)}.form-checkbox__input:checked+.form-checkbox__box--native:after{content:"✓";color:var(--color-bg);font-size:var(--font-size-xs)}.form-radio{display:inline-flex;flex-direction:column;gap:var(--spacing-1)}.form-radio__label{display:inline-flex;align-items:center;gap:var(--spacing-2);cursor:pointer;font-family:var(--font-mono)}.form-radio__input{position:absolute;opacity:0;width:0;height:0}.form-radio__box{font-family:var(--font-mono);color:var(--color-text-dim);transition:color var(--transition-fast)}.form-radio__input:checked+.form-radio__box{color:var(--color-primary)}.form-radio__input:focus+.form-radio__box{text-shadow:0 0 8px var(--color-primary-glow)}.form-radio__input:disabled+.form-radio__box{opacity:.5;cursor:not-allowed}.form-radio__text{color:var(--color-text)}.form-radio--sm{font-size:var(--font-size-sm)}.form-radio--lg{font-size:var(--font-size-lg)}.form-group--error .form-input,.form-group--error .form-textarea,.form-group--error .form-select{border-color:var(--color-error)}.form-group--error .form-input:focus,.form-group--error .form-textarea:focus,.form-group--error .form-select:focus{box-shadow:0 0 0 1px var(--color-error)}.form-group--success .form-input,.form-group--success .form-textarea,.form-group--success .form-select{border-color:var(--color-success)}.form-group--success .form-input:focus,.form-group--success .form-textarea:focus,.form-group--success .form-select:focus{box-shadow:0 0 0 1px var(--color-success)}.btn--loading{position:relative;color:transparent}.btn__spinner{position:absolute;left:50%;transform:translate(-50%);color:inherit;animation:blink 1s step-end infinite}.btn__icon{display:inline-flex;align-items:center}.btn__icon--left{margin-right:var(--spacing-1)}.btn__icon--right{margin-left:var(--spacing-1)}.terminal-table-wrapper{overflow-x:auto}.terminal-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--font-size-sm)}.terminal-table th,.terminal-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.terminal-table th{color:var(--color-primary);font-weight:500;text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide)}.terminal-table td{color:var(--color-text)}.terminal-table__row-number{color:var(--color-text-dim);width:3rem;text-align:right;padding-right:var(--spacing-md)}.terminal-table__empty{text-align:center;color:var(--color-text-muted);padding:var(--spacing-xl)}.terminal-table--bordered th,.terminal-table--bordered td{border:1px solid var(--color-border)}.terminal-table--striped tbody tr:nth-child(2n){background-color:var(--color-bg-secondary)}.terminal-table--compact th,.terminal-table--compact td{padding:var(--spacing-xs) var(--spacing-sm)}.terminal-table--hoverable tbody tr:hover{background-color:var(--color-bg-tertiary)}.terminal-table--clickable tbody tr{cursor:pointer}.terminal-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.terminal-table__th--sortable:hover{color:var(--color-text)}.terminal-table__sort-indicator{margin-left:var(--spacing-1);font-size:var(--font-size-xs)}.terminal-table__td--truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-table__td--numeric{font-variant-numeric:tabular-nums;text-align:right}.terminal-list{list-style:none;padding:0;margin:0;font-family:var(--font-mono)}.terminal-list__item{display:flex;align-items:flex-start;gap:var(--spacing-2);padding:var(--spacing-1) 0;color:var(--color-text)}.terminal-list__content{flex:1}.terminal-list--marker-dash .terminal-list__item:before{content:"-";color:var(--color-text-dim)}.terminal-list--marker-arrow .terminal-list__item:before{content:">";color:var(--color-primary)}.terminal-list--marker-bullet .terminal-list__item:before{content:"•";color:var(--color-text-dim)}.terminal-list--marker-number{counter-reset:list-counter}.terminal-list--marker-number .terminal-list__item{counter-increment:list-counter}.terminal-list--marker-number .terminal-list__item:before{content:counter(list-counter) ".";color:var(--color-text-dim);min-width:1.5rem}.terminal-list--marker-checkbox .terminal-list__item:before{content:none}.terminal-list__checkbox{color:var(--color-text-dim)}.terminal-list__item--checked .terminal-list__checkbox{color:var(--color-primary)}.terminal-list__item--disabled{opacity:.5}.terminal-list--compact .terminal-list__item{padding:0}.terminal-list--spaced .terminal-list__item{padding:var(--spacing-sm) 0}.terminal-dl{display:flex;flex-direction:column;gap:var(--spacing-sm);font-family:var(--font-mono)}.terminal-dl__item{display:flex;flex-direction:column;gap:var(--spacing-1)}.terminal-dl--horizontal .terminal-dl__item{flex-direction:row;gap:var(--spacing-md)}.terminal-dl__term{color:var(--color-primary);font-weight:500}.terminal-dl--horizontal .terminal-dl__term{min-width:120px}.terminal-dl__definition{color:var(--color-text);margin:0}.terminal-progress{display:flex;align-items:center;gap:var(--spacing-2);font-family:var(--font-mono)}.terminal-progress__track{flex:1;height:4px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);overflow:hidden}.terminal-progress__fill{height:100%;background-color:var(--color-primary);transition:width var(--transition-normal)}.terminal-progress__label{font-size:var(--font-size-xs);color:var(--color-text-dim);min-width:3rem;text-align:right}.terminal-progress--sm .terminal-progress__track{height:2px}.terminal-progress--lg .terminal-progress__track{height:8px}.terminal-progress--primary .terminal-progress__fill{background-color:var(--color-primary)}.terminal-progress--secondary .terminal-progress__fill{background-color:var(--color-secondary)}.terminal-progress--success .terminal-progress__fill{background-color:var(--color-success)}.terminal-progress--warning .terminal-progress__fill{background-color:var(--color-warning)}.terminal-progress--error .terminal-progress__fill{background-color:var(--color-error)}.terminal-progress--animated .terminal-progress__fill{animation:progress-pulse 1.5s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.7}}.terminal-progress--striped .terminal-progress__fill{background-image:linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.1) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.terminal-progress--ascii{font-size:var(--font-size-sm)}.terminal-progress__ascii{color:var(--color-primary);letter-spacing:0}.terminal-progress__blocks,.terminal-progress__dots{display:flex;gap:2px}.terminal-progress__block,.terminal-progress__dot{color:var(--color-text-dim)}.terminal-progress__block--filled,.terminal-progress__dot--filled{color:var(--color-primary)}.terminal-spinner{display:inline-flex;align-items:center;gap:var(--spacing-2);font-family:var(--font-mono)}.terminal-spinner__icon{display:inline-block;width:1em;height:1em}.terminal-spinner__icon:before{content:"⠋";animation:terminal-spin .8s steps(10) infinite}@keyframes terminal-spin{0%{content:"⠋"}10%{content:"⠙"}20%{content:"⠹"}30%{content:"⠸"}40%{content:"⠼"}50%{content:"⠴"}60%{content:"⠦"}70%{content:"⠧"}80%{content:"⠇"}90%{content:"⠏"}}.terminal-spinner__label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.terminal-spinner--sm{font-size:var(--font-size-sm)}.terminal-spinner--lg{font-size:var(--font-size-xl)}.terminal-spinner--primary .terminal-spinner__icon:before{color:var(--color-primary)}.terminal-spinner--secondary .terminal-spinner__icon:before{color:var(--color-secondary)}.terminal-spinner--success .terminal-spinner__icon:before{color:var(--color-success)}.terminal-spinner--warning .terminal-spinner__icon:before{color:var(--color-warning)}.terminal-spinner--error .terminal-spinner__icon:before{color:var(--color-error)}.terminal-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-1) var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border:1px solid transparent}.terminal-badge--sm{padding:0 var(--spacing-1);font-size:10px}.terminal-badge--lg{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.terminal-badge--default{background-color:var(--color-bg-tertiary);color:var(--color-text);border-color:var(--color-border)}.terminal-badge--primary{background-color:var(--color-primary);color:var(--color-bg)}.terminal-badge--secondary{background-color:var(--color-secondary);color:var(--color-bg)}.terminal-badge--success{background-color:var(--color-success);color:var(--color-bg)}.terminal-badge--warning{background-color:var(--color-warning);color:var(--color-bg)}.terminal-badge--error{background-color:var(--color-error);color:var(--color-bg)}.terminal-badge--info{background-color:var(--color-info);color:var(--color-bg)}.terminal-badge--outline{background-color:transparent}.terminal-badge--outline.terminal-badge--default{color:var(--color-text);border-color:var(--color-border)}.terminal-badge--outline.terminal-badge--primary{color:var(--color-primary);border-color:var(--color-primary)}.terminal-badge--outline.terminal-badge--secondary{color:var(--color-secondary);border-color:var(--color-secondary)}.terminal-badge--outline.terminal-badge--success{color:var(--color-success);border-color:var(--color-success)}.terminal-badge--outline.terminal-badge--warning{color:var(--color-warning);border-color:var(--color-warning)}.terminal-badge--outline.terminal-badge--error{color:var(--color-error);border-color:var(--color-error)}.terminal-badge--outline.terminal-badge--info{color:var(--color-info);border-color:var(--color-info)}.terminal-badge--pill{border-radius:9999px}.terminal-badge--pulse{animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.6}}.terminal-dot-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--color-text-dim)}.terminal-dot-badge--sm{width:6px;height:6px}.terminal-dot-badge--lg{width:12px;height:12px}.terminal-dot-badge--primary{background-color:var(--color-primary)}.terminal-dot-badge--secondary{background-color:var(--color-secondary)}.terminal-dot-badge--success{background-color:var(--color-success)}.terminal-dot-badge--warning{background-color:var(--color-warning)}.terminal-dot-badge--error{background-color:var(--color-error)}.terminal-dot-badge--info{background-color:var(--color-info)}.terminal-dot-badge--pulse{animation:dot-pulse 2s ease-in-out infinite}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.terminal-tag{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-xs);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text)}.terminal-tag--sm{padding:0 var(--spacing-1);font-size:10px}.terminal-tag--lg{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.terminal-tag--primary{border-color:var(--color-primary);color:var(--color-primary)}.terminal-tag--secondary{border-color:var(--color-secondary);color:var(--color-secondary)}.terminal-tag--success{border-color:var(--color-success);color:var(--color-success)}.terminal-tag--warning{border-color:var(--color-warning);color:var(--color-warning)}.terminal-tag--error{border-color:var(--color-error);color:var(--color-error)}.terminal-tag--info{border-color:var(--color-info);color:var(--color-info)}.terminal-tag--outline{background-color:transparent}.terminal-tag__icon{display:inline-flex;font-size:.85em}.terminal-tag__remove{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;margin-left:var(--spacing-1);border:none;background:none;color:inherit;cursor:pointer;opacity:.6;transition:opacity var(--transition-fast)}.terminal-tag__remove:hover{opacity:1}.terminal-tag-group{display:flex;align-items:center}.terminal-tag-group--gap-sm{gap:var(--spacing-1)}.terminal-tag-group--gap-md{gap:var(--spacing-2)}.terminal-tag-group--gap-lg{gap:var(--spacing-3)}.terminal-tag-group--wrap{flex-wrap:wrap}.terminal-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:var(--spacing-1) var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-xs);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-bottom-width:2px;color:var(--color-text)}.terminal-code{padding:var(--spacing-1) var(--spacing-2);font-family:var(--font-mono);font-size:.9em;background-color:var(--color-bg-tertiary);color:var(--color-text)}.terminal-code--primary{color:var(--color-primary)}.terminal-code--secondary{color:var(--color-secondary)}.sidebar{width:var(--sidebar-width, 240px);min-height:100%;background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:width var(--transition-normal)}.sidebar--collapsed{width:var(--sidebar-collapsed-width, 60px)}.sidebar__toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--spacing-sm);background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-lg);cursor:pointer;transition:color var(--transition-fast)}.sidebar__toggle:hover{color:var(--color-primary)}.sidebar__content{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.sidebar__footer{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border)}.sidebar-legal{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.sidebar-legal__link{color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);text-decoration:none;transition:color var(--transition-fast)}.sidebar-legal__link:hover{color:var(--color-primary)}.sidebar-legal__divider{color:var(--color-border);font-size:var(--font-size-xs)}.sidebar-version{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.sidebar-nav{display:flex;flex-direction:column}.sidebar-nav__item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-dim);text-decoration:none;transition:all var(--transition-fast)}.sidebar-nav__item:hover{color:var(--color-text);background-color:var(--color-bg-tertiary)}.sidebar-nav__item--active{color:var(--color-primary);background-color:var(--color-bg-tertiary);border-left:2px solid var(--color-primary)}.sidebar-nav__icon{display:flex;align-items:center;justify-content:center;width:1.5rem;font-size:var(--font-size-lg)}.sidebar-nav__label{flex:1;font-size:var(--font-size-sm)}.sidebar-nav__badge{padding:0 var(--spacing-1);background-color:var(--color-primary);color:var(--color-bg);font-size:var(--font-size-xs);font-weight:500}.sidebar-section{margin-bottom:var(--spacing-md)}.sidebar-section__title{padding:var(--spacing-xs) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.dashboard-layout{min-height:100vh;display:flex;flex-direction:column}.dashboard-layout__body{flex:1;display:flex}.dashboard-layout--with-sidebar .dashboard-layout__main{flex:1;min-width:0}.dashboard-layout__main{padding:var(--spacing-lg);overflow-y:auto}.layout-grid{display:grid;width:100%}.layout-grid--cols-1{grid-template-columns:repeat(1,1fr)}.layout-grid--cols-2{grid-template-columns:repeat(2,1fr)}.layout-grid--cols-3{grid-template-columns:repeat(3,1fr)}.layout-grid--cols-4{grid-template-columns:repeat(4,1fr)}.layout-grid--cols-5{grid-template-columns:repeat(5,1fr)}.layout-grid--cols-6{grid-template-columns:repeat(6,1fr)}.layout-grid--cols-12{grid-template-columns:repeat(12,1fr)}.layout-grid--cols-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.layout-grid--gap-none{gap:0}.layout-grid--gap-xs{gap:var(--spacing-xs)}.layout-grid--gap-sm{gap:var(--spacing-sm)}.layout-grid--gap-md{gap:var(--spacing-md)}.layout-grid--gap-lg{gap:var(--spacing-lg)}.layout-grid--gap-xl{gap:var(--spacing-xl)}.layout-grid--row-gap-none{row-gap:0}.layout-grid--row-gap-xs{row-gap:var(--spacing-xs)}.layout-grid--row-gap-sm{row-gap:var(--spacing-sm)}.layout-grid--row-gap-md{row-gap:var(--spacing-md)}.layout-grid--row-gap-lg{row-gap:var(--spacing-lg)}.layout-grid--row-gap-xl{row-gap:var(--spacing-xl)}.layout-grid--col-gap-none{column-gap:0}.layout-grid--col-gap-xs{column-gap:var(--spacing-xs)}.layout-grid--col-gap-sm{column-gap:var(--spacing-sm)}.layout-grid--col-gap-md{column-gap:var(--spacing-md)}.layout-grid--col-gap-lg{column-gap:var(--spacing-lg)}.layout-grid--col-gap-xl{column-gap:var(--spacing-xl)}.layout-grid--align-start{align-items:start}.layout-grid--align-center{align-items:center}.layout-grid--align-end{align-items:end}.layout-grid--align-stretch{align-items:stretch}.layout-grid--justify-start{justify-content:start}.layout-grid--justify-center{justify-content:center}.layout-grid--justify-end{justify-content:end}.layout-grid--justify-stretch{justify-content:stretch}.layout-grid--justify-between{justify-content:space-between}.layout-grid__item--span-1{grid-column:span 1}.layout-grid__item--span-2{grid-column:span 2}.layout-grid__item--span-3{grid-column:span 3}.layout-grid__item--span-4{grid-column:span 4}.layout-grid__item--span-5{grid-column:span 5}.layout-grid__item--span-6{grid-column:span 6}.layout-grid__item--span-12{grid-column:span 12}.layout-grid__item--row-span-2{grid-row:span 2}.layout-grid__item--row-span-3{grid-row:span 3}.layout-grid__item--row-span-4{grid-row:span 4}@media (min-width: 768px){.layout-grid--cols-md-1{grid-template-columns:repeat(1,1fr)}.layout-grid--cols-md-2{grid-template-columns:repeat(2,1fr)}.layout-grid--cols-md-3{grid-template-columns:repeat(3,1fr)}.layout-grid--cols-md-4{grid-template-columns:repeat(4,1fr)}.layout-grid--cols-md-6{grid-template-columns:repeat(6,1fr)}.layout-grid__item--span-md-1{grid-column:span 1}.layout-grid__item--span-md-2{grid-column:span 2}.layout-grid__item--span-md-3{grid-column:span 3}.layout-grid__item--span-md-4{grid-column:span 4}.layout-grid__item--span-md-6{grid-column:span 6}}@media (min-width: 1024px){.layout-grid--cols-lg-1{grid-template-columns:repeat(1,1fr)}.layout-grid--cols-lg-2{grid-template-columns:repeat(2,1fr)}.layout-grid--cols-lg-3{grid-template-columns:repeat(3,1fr)}.layout-grid--cols-lg-4{grid-template-columns:repeat(4,1fr)}.layout-grid--cols-lg-6{grid-template-columns:repeat(6,1fr)}.layout-grid--cols-lg-12{grid-template-columns:repeat(12,1fr)}.layout-grid__item--span-lg-1{grid-column:span 1}.layout-grid__item--span-lg-2{grid-column:span 2}.layout-grid__item--span-lg-3{grid-column:span 3}.layout-grid__item--span-lg-4{grid-column:span 4}.layout-grid__item--span-lg-6{grid-column:span 6}.layout-grid__item--span-lg-12{grid-column:span 12}}.layout-flex{display:flex}.layout-flex--row{flex-direction:row}.layout-flex--column{flex-direction:column}.layout-flex--wrap{flex-wrap:wrap}.layout-flex--gap-none{gap:0}.layout-flex--gap-xs{gap:var(--spacing-xs)}.layout-flex--gap-sm{gap:var(--spacing-sm)}.layout-flex--gap-md{gap:var(--spacing-md)}.layout-flex--gap-lg{gap:var(--spacing-lg)}.layout-flex--gap-xl{gap:var(--spacing-xl)}.layout-flex--align-start{align-items:flex-start}.layout-flex--align-center{align-items:center}.layout-flex--align-end{align-items:flex-end}.layout-flex--align-stretch{align-items:stretch}.layout-flex--align-baseline{align-items:baseline}.layout-flex--justify-start{justify-content:flex-start}.layout-flex--justify-center{justify-content:center}.layout-flex--justify-end{justify-content:flex-end}.layout-flex--justify-between{justify-content:space-between}.layout-flex--justify-around{justify-content:space-around}.layout-flex--justify-evenly{justify-content:space-evenly}.layout-container{width:100%}.layout-container--sm{max-width:640px}.layout-container--md{max-width:768px}.layout-container--lg{max-width:1024px}.layout-container--xl{max-width:1280px}.layout-container--full{max-width:100%}.layout-container--centered{margin-left:auto;margin-right:auto}.layout-container--padded{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media (min-width: 768px){.layout-container--padded{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}.layout-wrapper{width:100%}.layout-wrapper--bg-primary{background-color:var(--color-bg)}.layout-wrapper--bg-secondary{background-color:var(--color-bg-secondary)}.layout-wrapper--bg-tertiary{background-color:var(--color-bg-tertiary)}.layout-wrapper--full-height{min-height:100vh}.layout-main{flex:1;min-height:0}.layout-section{width:100%}.layout-section--padding-none{padding-top:0;padding-bottom:0}.layout-section--padding-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.layout-section--padding-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.layout-section--padding-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.layout-section--padding-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.layout-section--bordered{border-bottom:1px solid var(--color-border)}.layout-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.layout-page-header__content{flex:1}.layout-page-header__back{display:inline-block;margin-bottom:var(--spacing-sm);color:var(--color-text-dim);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.layout-page-header__back:hover{color:var(--color-primary)}.layout-page-header__title{margin:0;font-size:var(--font-size-3xl);color:var(--color-text)}.layout-page-header__subtitle{margin:var(--spacing-xs) 0 0;color:var(--color-text-dim);font-size:var(--font-size-base)}.layout-page-header__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.layout-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.layout-section-header__content{flex:1}.layout-section-header__title{margin:0;font-size:var(--font-size-xl);color:var(--color-primary)}.layout-section-header__description{margin:var(--spacing-xs) 0 0;color:var(--color-text-dim);font-size:var(--font-size-sm)}.layout-section-header__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.layout-divider{border:none;border-top:1px solid var(--color-border);margin:0}.layout-divider--dashed{border-top-style:dashed}.layout-divider--dotted{border-top-style:dotted}.layout-divider--terminal{border:none;height:1px;background:repeating-linear-gradient(90deg,var(--color-border) 0,var(--color-border) 4px,transparent 4px,transparent 8px)}.layout-divider--spacing-sm{margin:var(--spacing-sm) 0}.layout-divider--spacing-md{margin:var(--spacing-md) 0}.layout-divider--spacing-lg{margin:var(--spacing-lg) 0}.layout-divider--with-label{display:flex;align-items:center;gap:var(--spacing-md);border:none}.layout-divider__line{flex:1;height:1px;background-color:var(--color-border)}.layout-divider__label{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.layout-spacer--xs{height:var(--spacing-xs)}.layout-spacer--sm{height:var(--spacing-sm)}.layout-spacer--md{height:var(--spacing-md)}.layout-spacer--lg{height:var(--spacing-lg)}.layout-spacer--xl{height:var(--spacing-xl)}.layout-spacer--2xl{height:var(--spacing-2xl)}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px) and (max-width: 1023px){.hide-tablet{display:none!important}}@media (min-width: 1024px){.hide-desktop{display:none!important}}@media (min-width: 768px){.show-mobile-only{display:none!important}}@media (max-width: 767px),(min-width: 1024px){.show-tablet-only{display:none!important}}@media (max-width: 1023px){.show-desktop-only{display:none!important}}@media (max-width: 767px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:100;transform:translate(-100%);transition:transform var(--transition-normal)}.sidebar--open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:99;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.sidebar-overlay--visible{opacity:1;visibility:visible}}@media (max-width: 767px){.layout-grid--stack-mobile{grid-template-columns:1fr!important}.layout-grid__item--span-mobile-full{grid-column:1 / -1!important}}.toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);pointer-events:none;max-width:400px}.toast-container--top-right{top:0;right:0}.toast-container--top-left{top:0;left:0}.toast-container--bottom-right{bottom:0;right:0}.toast-container--bottom-left{bottom:0;left:0}.toast-container--top-center{top:0;left:50%;transform:translate(-50%)}.toast-container--bottom-center{bottom:0;left:50%;transform:translate(-50%)}.toast{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-sm);pointer-events:auto;animation:toast-enter .2s ease-out}@keyframes toast-enter{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast--exiting{animation:toast-exit .2s ease-in forwards}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.toast__icon{flex-shrink:0;font-size:var(--font-size-base)}.toast__content{flex:1;min-width:0}.toast__title{font-weight:500;margin-bottom:var(--spacing-1)}.toast__message{color:var(--color-text-dim)}.toast__dismiss{flex-shrink:0;padding:0;width:1.5rem;height:1.5rem;background:none;border:none;color:var(--color-text-dim);font-size:var(--font-size-lg);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast)}.toast__dismiss:hover{opacity:1}.toast--info{border-left:3px solid var(--color-info)}.toast--info .toast__icon{color:var(--color-info)}.toast--success{border-left:3px solid var(--color-success)}.toast--success .toast__icon{color:var(--color-success)}.toast--warning{border-left:3px solid var(--color-warning)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--error{border-left:3px solid var(--color-error)}.toast--error .toast__icon{color:var(--color-error)}.notification{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);font-family:var(--font-mono);background-color:var(--color-bg-secondary)}.notification--bordered{border:1px solid var(--color-border)}.notification__icon{flex-shrink:0;font-size:var(--font-size-sm)}.notification__body{flex:1;min-width:0}.notification__title{font-weight:500;margin-bottom:var(--spacing-xs)}.notification__content{font-size:var(--font-size-sm);color:var(--color-text-dim)}.notification__actions{margin-top:var(--spacing-sm);display:flex;gap:var(--spacing-sm)}.notification__dismiss{flex-shrink:0;align-self:flex-start;padding:0;width:1.5rem;height:1.5rem;background:none;border:none;color:var(--color-text-dim);font-size:var(--font-size-lg);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast)}.notification__dismiss:hover{opacity:1}.notification--info{border-left:3px solid var(--color-info)}.notification--info .notification__icon{color:var(--color-info)}.notification--success{border-left:3px solid var(--color-success)}.notification--success .notification__icon{color:var(--color-success)}.notification--warning{border-left:3px solid var(--color-warning)}.notification--warning .notification__icon{color:var(--color-warning)}.notification--error{border-left:3px solid var(--color-error)}.notification--error .notification__icon{color:var(--color-error)}.notification-inline{display:inline-flex;align-items:center;gap:var(--spacing-1);font-family:var(--font-mono);font-size:var(--font-size-sm)}.notification-inline__prefix{font-weight:500}.notification-inline--info .notification-inline__prefix{color:var(--color-info)}.notification-inline--success .notification-inline__prefix{color:var(--color-success)}.notification-inline--warning .notification-inline__prefix{color:var(--color-warning)}.notification-inline--error .notification-inline__prefix{color:var(--color-error)}.banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-sm)}.banner--full-width{width:100%}.banner__icon{flex-shrink:0}.banner__content{flex:1}.banner__dismiss{flex-shrink:0;padding:0;background:none;border:none;color:inherit;font-size:var(--font-size-lg);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast)}.banner__dismiss:hover{opacity:1}.banner--info{background-color:rgba(var(--color-info-rgb, 0, 255, 255),.1);color:var(--color-info)}.banner--success{background-color:rgba(var(--color-success-rgb, 0, 255, 0),.1);color:var(--color-success)}.banner--warning{background-color:rgba(var(--color-warning-rgb, 255, 165, 0),.1);color:var(--color-warning)}.banner--error{background-color:rgba(var(--color-error-rgb, 255, 0, 0),.1);color:var(--color-error)}.alert{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);font-family:var(--font-mono);background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.alert--compact{padding:var(--spacing-sm)}.alert__icon{flex-shrink:0}.alert__body{flex:1;min-width:0}.alert__title{font-weight:500;margin-bottom:var(--spacing-xs)}.alert__content{font-size:var(--font-size-sm);color:var(--color-text-dim)}.alert--info{border-color:var(--color-info)}.alert--info .alert__icon,.alert--info .alert__title{color:var(--color-info)}.alert--success{border-color:var(--color-success)}.alert--success .alert__icon,.alert--success .alert__title{color:var(--color-success)}.alert--warning{border-color:var(--color-warning)}.alert--warning .alert__icon,.alert--warning .alert__title{color:var(--color-warning)}.alert--error{border-color:var(--color-error)}.alert--error .alert__icon,.alert--error .alert__title{color:var(--color-error)}.alert--terminal{border-color:var(--color-primary);background-color:var(--color-bg)}.alert--terminal .alert__icon{color:var(--color-primary)}.system-message{display:flex;align-items:center;gap:var(--spacing-2);font-family:var(--font-mono);font-size:var(--font-size-sm);padding:var(--spacing-1) 0}.system-message__time{color:var(--color-text-muted)}.system-message__prefix{font-weight:500}.system-message__content{color:var(--color-text-dim)}.system-message--info .system-message__prefix{color:var(--color-info)}.system-message--success .system-message__prefix{color:var(--color-success)}.system-message--warning .system-message__prefix{color:var(--color-warning)}.system-message--error .system-message__prefix{color:var(--color-error)}.callout{padding:var(--spacing-md);font-family:var(--font-mono);background-color:var(--color-bg-secondary);border-left:3px solid var(--color-border)}.callout__title{font-weight:500;margin-bottom:var(--spacing-sm);text-transform:uppercase;font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide)}.callout__content{font-size:var(--font-size-sm);color:var(--color-text-dim)}.callout--info{border-left-color:var(--color-info)}.callout--info .callout__title{color:var(--color-info)}.callout--success{border-left-color:var(--color-success)}.callout--success .callout__title{color:var(--color-success)}.callout--warning{border-left-color:var(--color-warning)}.callout--warning .callout__title{color:var(--color-warning)}.callout--error{border-left-color:var(--color-error)}.callout--error .callout__title{color:var(--color-error)}.callout--terminal{border-left-color:var(--color-primary)}.callout--terminal .callout__title{color:var(--color-primary)}@media (max-width: 767px){.header{flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.header-logo .logo-text{font-size:var(--font-size-xl)}.header-nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-dim)}.nav-link{font-size:var(--font-size-sm);padding:var(--spacing-xs)}.header-actions{gap:var(--spacing-sm)}.main-content{padding:var(--spacing-md)}.page{padding:0 var(--spacing-sm)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.page-header h1{font-size:var(--font-size-2xl)}.layout-page-header{flex-direction:column;align-items:flex-start}.layout-page-header__title{font-size:var(--font-size-2xl)}.layout-page-header__actions{width:100%;flex-wrap:wrap}.layout-section-header{flex-direction:column;align-items:flex-start}.layout-section-header__actions{width:100%;flex-wrap:wrap}.toast-container{max-width:calc(100% - var(--spacing-md) * 2);left:var(--spacing-md);right:var(--spacing-md)}.toast-container--top-right,.toast-container--top-left,.toast-container--top-center,.toast-container--bottom-right,.toast-container--bottom-left,.toast-container--bottom-center{left:var(--spacing-md);right:var(--spacing-md);transform:none}.table-wrapper,.terminal-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.terminal-table{min-width:600px}.terminal-input,.terminal-select,.terminal-textarea{width:100%}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%;justify-content:center}.panel,.panel--padding-md{padding:var(--spacing-sm)}.panel--padding-lg{padding:var(--spacing-md)}.notification{padding:var(--spacing-sm)}.notification__actions{flex-direction:column;width:100%}.notification__actions .btn{width:100%}.banner{flex-wrap:wrap}.alert{padding:var(--spacing-sm)}.badge-group,.tag-group{flex-wrap:wrap}.terminal-list{padding-left:var(--spacing-md)}.terminal-list--nested .terminal-list{padding-left:var(--spacing-sm)}.definition-list dt{width:100%;margin-bottom:var(--spacing-xs)}.definition-list dd{padding-left:var(--spacing-md)}.progress-bar{min-width:100px}.dashboard-layout__main{padding:var(--spacing-sm)}.dashboard-layout__header{padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 479px){html{font-size:13px}.header-nav .nav-link{font-size:var(--font-size-xs)}.page-header h1,.layout-page-header__title{font-size:var(--font-size-xl)}.layout-section-header__title{font-size:var(--font-size-lg)}.btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn--lg{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.playbooks-page{max-width:1200px;margin:0 auto}.playbooks-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.playbooks-page .page-header__title{flex:1}.playbooks-page .page-header__title h1{margin:0;color:var(--color-primary)}.playbooks-page .page-header__title .subtitle{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-dim);font-size:var(--font-size-sm)}.playbooks-page .page-header__actions{display:flex;align-items:center;gap:var(--spacing-md)}.slot-counter{color:var(--color-secondary);font-size:var(--font-size-sm);font-weight:500}.slot-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg);background:var(--color-bg-tertiary);border:1px solid var(--color-warning-dim);border-left:3px solid var(--color-warning)}.slot-warning__icon{color:var(--color-warning);font-weight:700;font-size:var(--font-size-lg)}.slot-warning__text{color:var(--color-warning-bright);font-size:var(--font-size-sm)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-dim)}.loading-spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-lg);text-align:center}.empty-state__icon{font-size:var(--font-size-4xl);color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.empty-state h2{margin:0 0 var(--spacing-sm) 0;color:var(--color-text)}.empty-state p{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-dim)}.empty-state__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.playbook-name{color:var(--color-text-bright);font-weight:500}.playbook-stat{color:var(--color-text);font-variant-numeric:tabular-nums}.playbook-date{color:var(--color-text-dim);font-size:var(--font-size-sm)}.playbook-best{font-weight:500}.playbook-best--gold{color:gold;text-shadow:0 0 8px rgba(255,215,0,.5)}.playbook-best--silver{color:silver}.playbook-best--bronze{color:#cd7f32}.playbook-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.playbook-actions--confirm{align-items:center}.playbook-actions--confirm .confirm-text{color:var(--color-error);font-size:var(--font-size-sm);margin-right:var(--spacing-xs)}.playbook-rename-input{display:flex;align-items:center;gap:var(--spacing-xs)}.playbook-rename-input input{flex:1;min-width:150px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm)}.playbook-rename-input input:focus{outline:none;border-color:var(--color-primary)}@media (max-width: 768px){.playbooks-page .page-header{flex-direction:column;gap:var(--spacing-md)}.playbooks-page .page-header__actions{width:100%;justify-content:space-between}.playbook-actions{flex-wrap:wrap}}.race-lobby-page{max-width:1400px;margin:0 auto}.race-lobby-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.race-lobby-page .page-header__title{flex:1}.race-lobby-page .page-header__title h1{margin:0;color:var(--color-primary)}.race-lobby-page .page-header__title .subtitle{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-dim);font-size:var(--font-size-sm);font-family:var(--font-mono)}.race-lobby-page .page-header__status{display:flex;align-items:center;gap:var(--spacing-md)}.race-lobby-page .connection-label{font-size:var(--font-size-sm);color:var(--color-text-dim)}.race-lobby-page .countdown-display{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:700;color:var(--color-warning);animation:countdown-pulse 1s ease-in-out infinite}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.7}}.lobby-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.lobby-panel{min-height:180px}.lobby-panel--track{grid-column:1;grid-row:1}.lobby-panel--playbook{grid-column:2;grid-row:1}.lobby-panel--car{grid-column:3;grid-row:1}.lobby-panel--participants{grid-column:1 / 3;grid-row:2}.lobby-panel--chat{grid-column:3;grid-row:2}.track-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.track-info__row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.track-info__row:last-child{border-bottom:none}.track-info__label{color:var(--color-text-dim);font-size:var(--font-size-sm);text-transform:uppercase}.track-info__value{color:var(--color-text-bright);font-family:var(--font-mono)}.car-selector{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.car-preview{padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px dashed var(--color-border)}.car-ascii{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-primary);white-space:pre;line-height:1.2}.car-name{font-weight:700;color:var(--color-text-bright);margin:0}.participants-header{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.participants-count{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-secondary)}.participants-list{max-height:250px;overflow-y:auto}.participant-items{list-style:none;padding:0;margin:0}.participant-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xs);border-bottom:1px solid var(--color-border)}.participant-item:last-child{border-bottom:none}.participant-name{flex:1;color:var(--color-text-bright);font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs)}.bot-badge{font-size:var(--font-size-xs)}.participant-position{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);width:30px;text-align:center}.participant-ready{font-family:var(--font-mono);font-size:var(--font-size-sm);min-width:80px;text-align:right}.participant-item .participant-ready:has([READY]){color:var(--color-success)}.chat-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:150px;text-align:center}.coming-soon{color:var(--color-text-muted);font-style:italic;margin:0 0 var(--spacing-sm) 0}.spectator-notice{text-align:center;padding:var(--spacing-lg)}.spectator-notice p{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-dim)}.selection-info{margin:var(--spacing-sm) 0 0 0;color:var(--color-success);font-size:var(--font-size-sm)}.help-text{margin:var(--spacing-sm) 0 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.help-text a{color:var(--color-primary);text-decoration:none}.help-text a:hover{text-decoration:underline}.empty-text{color:var(--color-text-muted);text-align:center;padding:var(--spacing-lg);font-style:italic}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-3xl) var(--spacing-lg)}.error-text{color:var(--color-error);font-family:var(--font-mono)}.lobby-actions{display:flex;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.btn--ready{background:var(--color-success);border-color:var(--color-success);cursor:default}.btn--ready:hover{background:var(--color-success);border-color:var(--color-success)}.participant-item .participant-ready{color:var(--color-text-dim)}.participant-item:has(.status-dot--success) .participant-ready{color:var(--color-success)}@media (max-width: 1024px){.lobby-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.lobby-panel--track{grid-column:1;grid-row:1}.lobby-panel--playbook{grid-column:2;grid-row:1}.lobby-panel--car{grid-column:1;grid-row:2}.lobby-panel--participants{grid-column:2;grid-row:2}.lobby-panel--chat{grid-column:1 / 3;grid-row:3}}@media (max-width: 768px){.race-lobby-page .page-header{flex-direction:column;gap:var(--spacing-md)}.race-lobby-page .page-header__status{flex-wrap:wrap;gap:var(--spacing-sm)}.lobby-grid{grid-template-columns:1fr;grid-template-rows:auto}.lobby-panel--track,.lobby-panel--playbook,.lobby-panel--car,.lobby-panel--participants,.lobby-panel--chat{grid-column:1;grid-row:auto}.lobby-actions{flex-direction:column;gap:var(--spacing-md)}.lobby-actions .btn{width:100%}}.minimap{position:absolute;bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:100;display:flex;flex-direction:column;gap:var(--spacing-xs)}.minimap__canvas{border:1px solid var(--color-primary-dim);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast)}.minimap__canvas:hover{border-color:var(--color-primary)}.minimap__legend{display:flex;gap:var(--spacing-sm);justify-content:center;font-size:var(--font-size-xs);color:var(--color-text-dim)}.minimap__legend-item{display:flex;align-items:center;gap:var(--spacing-xs)}.minimap__legend-item--followed{color:var(--color-primary)}.minimap__legend-item--player{color:var(--color-secondary)}.car-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.car-selector__label{color:var(--color-text-dim);font-size:var(--font-size-sm);white-space:nowrap}.car-selector__dropdown{flex:1;min-width:120px;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.car-selector__dropdown:hover{border-color:var(--color-primary-dim)}.car-selector__dropdown:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.car-selector__dropdown option{background-color:var(--color-bg-secondary);color:var(--color-text);padding:var(--spacing-xs)}.camera-controls-row{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.camera-controls__section{display:flex;align-items:center;gap:var(--spacing-sm)}.camera-controls__section--selector{flex:1;min-width:150px}.minimap-toggle-btn{position:relative}.minimap-toggle-btn--active{color:var(--color-primary);border-color:var(--color-primary)}.keyboard-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}@media (max-width: 768px){.minimap{bottom:var(--spacing-md);right:var(--spacing-md)}.minimap__canvas{width:100px!important;height:100px!important}.minimap__legend{display:none}.camera-controls-row{flex-direction:column;align-items:stretch}.camera-controls__section--selector{order:-1;width:100%}}.races-page{max-width:1200px;margin:0 auto}.races-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);flex-wrap:wrap;gap:var(--spacing-md)}.race-filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:var(--spacing-xs)}.filter-label{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase}.filter-select{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer}.filter-select:hover{border-color:var(--color-primary-dim)}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.races-info{display:flex;gap:var(--spacing-lg);align-items:center}.races-count,.races-balance{font-size:var(--font-size-sm);color:var(--color-text-dim)}.balance-value{color:var(--color-primary);font-weight:700}.races-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ff44441a;border:1px solid var(--color-error-dim);color:var(--color-error);margin-bottom:var(--spacing-md)}.error-icon{font-size:var(--font-size-lg)}.races-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-dim)}.loading-spinner{font-size:var(--font-size-3xl);color:var(--color-primary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.races-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.empty-title{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--spacing-sm)}.empty-subtitle{font-size:var(--font-size-sm);color:var(--color-text-dim)}.race-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.race-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:var(--spacing-md);transition:border-color .2s,box-shadow .2s}.race-card:hover{border-color:var(--color-primary-dim);box-shadow:0 0 8px var(--color-primary-glow)}.race-card--joining{opacity:.7;pointer-events:none}.race-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-dim)}.race-card__track{display:flex;align-items:center;gap:var(--spacing-xs)}.race-card__track-icon{font-size:var(--font-size-lg);color:var(--color-secondary)}.race-card__track-label{font-size:var(--font-size-xs);color:var(--color-text);text-transform:uppercase}.race-card__weather{display:flex;align-items:center;gap:var(--spacing-xs)}.race-card__weather-icon{font-size:var(--font-size-base);color:var(--color-warning)}.race-card__weather-label,.race-card__laps{font-size:var(--font-size-xs);color:var(--color-text-dim)}.race-card__body{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.race-card__slots{display:flex;align-items:baseline;gap:2px}.race-card__slots-current{font-size:var(--font-size-2xl);color:var(--color-primary);font-weight:700}.race-card__slots-separator,.race-card__slots-max{font-size:var(--font-size-lg);color:var(--color-text-dim)}.race-card__slots-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs);text-transform:uppercase}.race-card__timer{text-align:right}.race-card__timer-value{font-size:var(--font-size-xl);color:var(--color-warning);font-variant-numeric:tabular-nums}.race-card__footer{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-dim)}.race-card__economy{display:flex;justify-content:space-between;align-items:center}.race-card__entry,.race-card__prize{display:flex;flex-direction:column}.race-card__entry-label,.race-card__prize-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.race-card__entry-value{font-size:var(--font-size-base);color:var(--color-text)}.race-card__entry-value--insufficient{color:var(--color-error)}.race-card__prize-value{font-size:var(--font-size-base);color:var(--color-success)}.race-card__rating{display:flex;justify-content:space-between;align-items:center}.race-card__rating-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.race-card__rating-value{font-size:var(--font-size-sm);color:var(--color-info)}.race-card__join-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);border:none;color:var(--color-bg);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;cursor:pointer;transition:background-color .2s,transform .1s}.race-card__join-btn:hover:not(:disabled){background:var(--color-primary-bright);transform:translateY(-1px)}.race-card__join-btn:active:not(:disabled){transform:translateY(0)}.race-card__join-btn--disabled{background:var(--color-bg-tertiary);color:var(--color-text-dim);cursor:not-allowed}@media (max-width: 768px){.races-toolbar{flex-direction:column;align-items:stretch}.race-filters{width:100%;justify-content:space-between}.races-info{justify-content:space-between}.race-grid{grid-template-columns:1fr}}.replay-page{display:flex;flex-direction:column;height:calc(100vh - 60px);padding:0;gap:0}.replay-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.replay-header__left,.replay-header__center,.replay-header__right{display:flex;align-items:center;gap:var(--spacing-sm)}.replay-header__left .track-name{font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text)}.replay-header__center .lap-display{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:700;color:var(--color-primary)}.replay-body{flex:1;display:flex;min-height:0;overflow:hidden}.replay-content{flex:1;min-height:0;overflow:auto}.replay-canvas-container{flex:1;position:relative;display:flex;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);overflow:hidden}.replay-canvas-element{flex:1;display:block;width:100%;height:100%}.replay-loading,.replay-error{flex:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.replay-loading .loading-content{text-align:center}.replay-hud{position:absolute;display:flex;align-items:center;padding:var(--spacing-sm);pointer-events:none}.replay-hud>*{pointer-events:auto}.replay-hud--top{top:0;left:0;right:0;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);padding:var(--spacing-md)}.replay-hud--camera{bottom:var(--spacing-md);left:50%;transform:translate(-50%);background-color:#0009;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm)}.replay-hud .hud-section{display:flex;align-items:center;gap:var(--spacing-sm)}.replay-hud .track-name{color:var(--color-text);font-size:var(--font-size-sm)}.replay-hud .lap-display{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.replay-hud .weather-icon{color:var(--color-info);font-size:var(--font-size-base)}.replay-hud .weather-label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.replay-hud .camera-controls{display:flex;gap:var(--spacing-xs);align-items:center}.replay-hud .zoom-controls{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-sm)}.replay-hud .camera-selection-controls{display:flex;align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-sm);padding-left:var(--spacing-sm);border-left:1px solid var(--color-border)}.replay-car-selector{flex-direction:row}.replay-car-selector .car-selector__label{display:none}.replay-car-selector .car-selector__dropdown{min-width:140px;max-width:180px;font-size:var(--font-size-sm)}.replay-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:linear-gradient(to left,#000c,#0009);border-left:1px solid var(--color-border);overflow-y:auto}.replay-panel{flex-shrink:0}.replay-panel--positions{max-height:220px;overflow:hidden}.replay-panel--positions .positions-list{max-height:180px;overflow-y:auto}.replay-panel--info .race-info-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.replay-panel--info .info-row{display:flex;justify-content:space-between}.replay-panel--info .info-label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.replay-panel--info .info-value{color:var(--color-text);font-size:var(--font-size-sm)}.replay-decision-log{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;max-height:250px;overflow:hidden}.replay-decision-log--minimized{max-height:auto}.replay-decision-log__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-tertiary)}.replay-decision-log__title{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary);letter-spacing:.5px}.replay-decision-log__filter{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-primary);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.replay-decision-log__filter:focus{outline:none;border-color:var(--color-primary)}.replay-decision-log__toggle{font-family:var(--font-mono);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;color:var(--color-text-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.replay-decision-log__toggle:hover{color:var(--color-text);border-color:var(--color-text-dim)}.replay-decision-log__content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.replay-decision-log__content::-webkit-scrollbar{width:4px}.replay-decision-log__content::-webkit-scrollbar-track{background:transparent}.replay-decision-log__content::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.replay-decision-log__list,.replay-decision-log__history{display:flex;flex-direction:column;gap:var(--spacing-xs)}.replay-decision-log__empty{color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-md) 0;font-style:italic}.replay-decision-item{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-primary);border-radius:var(--radius-sm);border-left:2px solid var(--color-primary)}.replay-decision-time{color:var(--color-text-dim);min-width:45px}.replay-decision-driver{color:var(--color-secondary);min-width:80px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-decision-icon{color:var(--color-warning);font-weight:600}.replay-decision-text{color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-panel .position-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:background-color .15s;border-radius:var(--radius-sm)}.replay-panel .position-item:hover{background-color:#ffffff0d}.replay-panel .position-item--followed{background-color:rgba(var(--color-primary-rgb),.2);border-left:2px solid var(--color-primary)}.replay-panel .position-badge{min-width:32px;text-align:center}.replay-panel .driver-name{flex:1;font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replay-panel .bot-indicator{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.replay-panel .pit-indicator,.replay-panel .dnf-indicator,.replay-panel .finish-indicator{font-size:var(--font-size-xs);padding:0 var(--spacing-xs);border-radius:var(--radius-sm)}.replay-panel .pit-indicator{color:var(--color-warning)}.replay-panel .dnf-indicator{color:var(--color-error)}.replay-panel .finish-indicator{color:var(--color-success)}.replay-actions{display:flex;gap:var(--spacing-sm);margin-top:auto}.replay-playback-bar{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-tertiary);border-top:1px solid var(--color-border)}.playback-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.playback-controls__transport{display:flex;align-items:center;gap:var(--spacing-xs)}.playback-controls .playback-btn{min-width:36px}.playback-controls .playback-btn--play{min-width:48px}.playback-controls__speed{display:flex;align-items:center;gap:var(--spacing-sm)}.playback-controls .speed-label{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase}.playback-controls .speed-buttons{display:flex;gap:var(--spacing-xs)}.playback-controls .speed-btn{min-width:40px;font-size:var(--font-size-xs)}.timeline{display:flex;align-items:center;gap:var(--spacing-sm)}.timeline--disabled{opacity:.5;pointer-events:none}.timeline__time{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-dim);min-width:50px}.timeline__time--current{text-align:right}.timeline__time--total{text-align:left}.timeline__track{flex:1;position:relative;height:20px;cursor:pointer;display:flex;align-items:center}.timeline__track--dragging{cursor:grabbing}.timeline__track-bg{position:absolute;left:0;right:0;height:4px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:2px}.timeline__track-fill{position:absolute;left:0;height:4px;background-color:var(--color-primary);border-radius:2px;pointer-events:none}.timeline__playhead{position:absolute;width:12px;height:12px;background-color:var(--color-primary);border:2px solid var(--color-bg);border-radius:50%;transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px #00000080}.timeline__hover-indicator{position:absolute;transform:translate(-50%);pointer-events:none}.timeline__hover-time{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text);white-space:nowrap}.timeline-markers{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:2}.timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;padding:0;border:none;border-radius:50%;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--font-size-xs);transition:transform .15s,box-shadow .15s}.timeline-marker:hover{transform:translate(-50%,-50%) scale(1.3);z-index:10}.timeline-marker:focus{outline:2px solid var(--color-secondary);outline-offset:2px}.timeline-marker__icon{font-size:10px;line-height:1}.timeline-marker--overtake{background-color:var(--color-success);color:var(--color-bg);box-shadow:0 0 8px var(--color-success-glow)}.timeline-marker--crash{background-color:var(--color-error);color:var(--color-bg);box-shadow:0 0 8px var(--color-error-glow)}.timeline-marker--pit{background-color:var(--color-secondary);color:var(--color-bg);box-shadow:0 0 8px var(--color-secondary-glow)}.timeline-marker--finish{background-color:var(--color-warning);color:var(--color-bg);box-shadow:0 0 8px var(--color-warning-glow)}.timeline-marker--lap{background-color:var(--color-info);color:var(--color-bg);box-shadow:0 0 8px var(--color-info-glow)}.timeline-marker--weather{background-color:#69c;color:var(--color-bg);box-shadow:0 0 8px #69c6}.timeline-marker--dnf{background-color:var(--color-error-dim);color:var(--color-text-bright);box-shadow:0 0 8px var(--color-error-glow)}.timeline-marker--default{background-color:var(--color-text-dim);color:var(--color-bg);box-shadow:0 0 4px #80808066}.key-moments-list{display:flex;flex-direction:column;max-height:200px;overflow:hidden}.key-moments-list--minimized{max-height:32px}.key-moments-list__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-bottom:1px solid var(--color-border-dim);flex-shrink:0}.key-moments-list__title{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary);text-transform:uppercase}.key-moments-list__count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim)}.key-moments-list__hint{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-sm);text-align:center;border-bottom:1px solid var(--color-border-dim)}.key-moments-list__filter{background:transparent;border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:2px var(--spacing-xs);cursor:pointer;border-radius:var(--radius-sm);margin-left:auto}.key-moments-list__filter:hover{border-color:var(--color-border-bright);color:var(--color-text)}.key-moments-list__filter--active{border-color:var(--color-primary);color:var(--color-primary)}.key-moments-list__toggle{background:transparent;border:1px solid var(--color-border);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-sm);width:24px;height:24px;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.key-moments-list__toggle:hover{border-color:var(--color-border-bright);color:var(--color-text)}.key-moments-list__content{flex:1;overflow-y:auto;padding:var(--spacing-xs) 0}.key-moments-list__content::-webkit-scrollbar{width:4px}.key-moments-list__content::-webkit-scrollbar-track{background:var(--color-bg-primary)}.key-moments-list__content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.key-moments-list__entries{display:flex;flex-direction:column;gap:2px}.key-moments-list__empty{color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-md) 0;font-style:italic}.key-moment-entry{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:background-color .15s;border-left:2px solid transparent}.key-moment-entry:hover{background-color:#ffffff0d}.key-moment-entry--current{background-color:rgba(var(--color-primary-rgb),.15);border-left-color:var(--color-primary)}.key-moment-entry--past{opacity:.6}.key-moment-entry--past.key-moment-entry--current{opacity:1}.key-moment-entry__index{color:var(--color-text-muted);min-width:16px;text-align:center}.key-moment-entry__icon{font-size:10px;min-width:14px;text-align:center}.key-moment-entry__icon--overtake{color:var(--color-success)}.key-moment-entry__icon--crash{color:var(--color-error)}.key-moment-entry__icon--pit{color:var(--color-secondary)}.key-moment-entry__icon--finish{color:var(--color-warning)}.key-moment-entry__icon--lap{color:var(--color-info)}.key-moment-entry__icon--weather{color:#69c}.key-moment-entry__icon--dnf{color:var(--color-error-dim)}.key-moment-entry__icon--default{color:var(--color-text-dim)}.key-moment-entry__time{color:var(--color-text-dim);min-width:40px}.key-moment-entry__text{color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1024px){.replay-sidebar{width:240px}}@media (max-width: 768px){.replay-page{height:auto;min-height:100vh}.replay-body{flex-direction:column}.replay-canvas-container{height:50vh;min-height:300px}.replay-sidebar{width:100%;height:auto;flex-direction:row;flex-wrap:wrap;background:var(--color-bg-secondary);border-left:none;border-top:1px solid var(--color-border);padding:var(--spacing-sm)}.replay-panel{flex:1 1 200px}.replay-hud--camera{bottom:auto;top:auto;position:relative;transform:none;margin:var(--spacing-sm) auto}.playback-controls{flex-wrap:wrap;justify-content:center}.playback-controls__speed{width:100%;justify-content:center;margin-top:var(--spacing-sm)}}.analytics-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.analytics-panel{min-height:200px}.analytics-panel--summary{grid-column:1;grid-row:1}.analytics-panel--metrics{grid-column:2;grid-row:1 / span 2}.analytics-panel--effectiveness{grid-column:1 / span 2;grid-row:3}.analytics-panel--chart{grid-column:1 / span 2;grid-row:4}.analytics-panel--insights{grid-column:1;grid-row:2}.race-summary{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-dim)}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.summary-value{color:var(--color-text-bright);font-weight:700}.summary-value.positive{color:var(--color-success)}.summary-value.negative{color:var(--color-error)}.performance-metrics{display:flex;flex-direction:column;gap:var(--spacing-md)}.metrics-header{display:flex;gap:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.metrics-column-header{flex:1}.metrics-column-header .column-label{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:700;text-transform:uppercase}.metrics-column-header.comparison .column-label{color:var(--color-secondary)}.metrics-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.metric-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--spacing-md);align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-dim)}.metric-row:last-child{border-bottom:none}.metric-label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.metric-value{color:var(--color-text-bright);font-weight:700;font-variant-numeric:tabular-nums;min-width:80px;text-align:right}.metric-delta{min-width:80px;text-align:right;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.metric-delta.better{color:var(--color-success)}.metric-delta.worse{color:var(--color-error)}.lap-time-chart{display:flex;flex-direction:column;gap:var(--spacing-md)}.lap-time-chart.empty{display:flex;align-items:center;justify-content:center;min-height:200px}.lap-time-chart .no-data{color:var(--color-text-muted);font-style:italic}.chart-svg{width:100%;height:auto;max-height:300px}.chart-svg .grid-line{stroke:var(--color-border-dim);stroke-width:1;stroke-dasharray:2 4}.chart-svg .axis-line{stroke:var(--color-border);stroke-width:1}.chart-svg .axis-label{fill:var(--color-text-dim);font-size:10px;font-family:var(--font-mono)}.chart-svg .y-label{text-anchor:end;dominant-baseline:middle}.chart-svg .x-label{text-anchor:middle;dominant-baseline:hanging}.chart-svg .bar{transition:opacity .15s}.chart-svg .bar:hover{opacity:.8}.chart-svg .user-bar{fill:var(--color-primary)}.chart-svg .user-bar.fastest{fill:var(--color-warning)}.chart-svg .comparison-bar{fill:var(--color-secondary);opacity:.7}.chart-svg .fastest-label{fill:var(--color-warning);font-size:8px;font-weight:700;text-anchor:middle;font-family:var(--font-mono)}.chart-legend{display:flex;gap:var(--spacing-lg);justify-content:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs)}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.user{background-color:var(--color-primary)}.legend-color.comparison{background-color:var(--color-secondary)}.legend-label{font-size:var(--font-size-sm);color:var(--color-text)}.legend-item.fastest-info{color:var(--color-warning)}.legend-item.fastest-info .legend-label{color:var(--color-warning);font-weight:700}.insights-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.insight-item{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:var(--spacing-xs);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.insight-icon{color:var(--color-primary);font-weight:700;flex-shrink:0}.insight-text{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.analytics-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.error-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.playbook-effectiveness{display:flex;flex-direction:column;gap:var(--spacing-md)}.effectiveness-summary{display:flex;gap:var(--spacing-lg);padding:var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);justify-content:space-around}.summary-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.summary-item .summary-label{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase}.summary-item .summary-value{font-size:var(--font-size-lg);font-weight:700;font-variant-numeric:tabular-nums}.effectiveness-table{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.effectiveness-header{display:grid;grid-template-columns:2fr 1fr .75fr 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase;font-weight:700}.effectiveness-body{display:flex;flex-direction:column}.effectiveness-row{display:grid;grid-template-columns:2fr 1fr .75fr 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);align-items:center;font-size:var(--font-size-sm)}.effectiveness-row.row-even{background:var(--color-bg-tertiary)}.effectiveness-row.row-odd{background:var(--color-bg-primary)}.effectiveness-row .rule-name{color:var(--color-text-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effectiveness-row .rule-category{color:var(--color-text-dim);font-size:var(--font-size-xs)}.effectiveness-row .rule-triggered{color:var(--color-text);text-align:center;font-variant-numeric:tabular-nums}.effectiveness-row .rule-impact{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.impact-positive{color:var(--color-success)}.impact-negative{color:var(--color-error)}.impact-neutral{color:var(--color-text-dim)}.effectiveness-footer{padding:var(--spacing-sm) var(--spacing-md);text-align:center;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.effectiveness-footer .more-rules{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.no-rules{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted);font-style:italic}.insights-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.insights-header{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.insights-header .insights-icon{color:var(--color-accent);font-weight:700}.insights-header .insights-title{flex:1;font-size:var(--font-size-sm);color:var(--color-text-dim);text-transform:uppercase}.insights-header .insights-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.insights-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.insight-card{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border-left:3px solid var(--color-border)}.insight-card.priority-high{border-left-color:var(--color-error)}.insight-card.priority-medium{border-left-color:var(--color-warning)}.insight-card.priority-low{border-left-color:var(--color-accent)}.insight-header{display:flex;align-items:center;gap:var(--spacing-sm)}.insight-header .insight-icon{color:var(--color-text-dim);font-family:var(--font-mono)}.insight-header .insight-title{flex:1;font-weight:700;color:var(--color-text-bright)}.insight-header .insight-priority{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;font-weight:700}.insight-header .insight-priority.priority-high{background:color-mix(in srgb,var(--color-error) 20%,transparent);color:var(--color-error)}.insight-header .insight-priority.priority-medium{background:color-mix(in srgb,var(--color-warning) 20%,transparent);color:var(--color-warning)}.insight-header .insight-priority.priority-low{background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent)}.insight-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.insight-body .insight-description{color:var(--color-text);line-height:1.5;margin:0}.insight-metrics{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.insight-metrics .metric-label{color:var(--color-text-dim)}.insight-metrics .metric-value{color:var(--color-text);font-weight:700}.insight-metrics .metric-arrow{color:var(--color-text-dim)}.insight-metrics .metric-target{color:var(--color-success);font-weight:700}.insight-category{display:flex;justify-content:flex-end}.insight-category .category-tag{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;padding:2px 6px;background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.insights-cta{display:flex;justify-content:center;padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--color-border)}@media (max-width: 1024px){.analytics-grid{grid-template-columns:1fr}.analytics-panel--summary,.analytics-panel--metrics,.analytics-panel--effectiveness,.analytics-panel--chart,.analytics-panel--insights{grid-column:1;grid-row:auto}}@media (max-width: 768px){.analytics-page{padding:var(--spacing-md)}.metric-row{grid-template-columns:1fr;gap:var(--spacing-xs)}.metric-value,.metric-delta{text-align:left;min-width:auto}.chart-legend{flex-direction:column;align-items:flex-start}}.shop-page{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.shop-balance{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.balance-label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.balance-amount{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:700}.shop-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md)}.shop-tab{min-width:140px}.shop-content{min-height:400px}.shop-loading,.shop-error,.shop-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md);color:var(--color-text-dim)}.shop-error{color:var(--color-error)}.cosmetics-tab{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cosmetics-filters{display:flex;gap:var(--spacing-md)}.cosmetics-filters select{min-width:160px}.cosmetics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md)}.cosmetic-card{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cosmetic-preview{display:flex;align-items:center;justify-content:center;height:100px;background:var(--color-bg-secondary);border:1px dashed var(--color-border);margin-bottom:var(--spacing-sm)}.cosmetic-icon{font-size:var(--font-size-2xl);color:var(--color-text-dim)}.cosmetic-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cosmetic-name{font-size:var(--font-size-base);color:var(--color-text-bright);margin:0}.cosmetic-description{font-size:var(--font-size-sm);color:var(--color-text-dim);margin:0}.cosmetic-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.cosmetic-price{color:var(--color-primary);font-weight:700}.credit-packs-tab{display:flex;flex-direction:column;gap:var(--spacing-lg)}.credit-packs-intro{color:var(--color-text-dim);margin-bottom:var(--spacing-md)}.credit-packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-lg)}.credit-pack-card{display:flex;flex-direction:column;gap:var(--spacing-md);position:relative}.credit-pack-card--best{border-color:var(--color-warning);box-shadow:0 0 10px var(--color-warning-glow)}.credit-pack-badge{position:absolute;top:calc(-1 * var(--spacing-sm));right:var(--spacing-md)}.credit-pack-header{text-align:center}.credit-pack-name{font-size:var(--font-size-lg);color:var(--color-text-bright);margin:0;text-transform:uppercase}.credit-pack-amount{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary)}.credit-pack-base{font-size:var(--font-size-3xl);color:var(--color-text-bright);font-weight:700}.credit-pack-bonus{font-size:var(--font-size-sm);color:var(--color-success);font-weight:700}.credit-pack-total{display:flex;justify-content:space-between;align-items:center}.credit-pack-total-label{color:var(--color-text-dim)}.credit-pack-total-amount{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:700}.credit-pack-savings{text-align:center}.credit-pack-percent{color:var(--color-success);font-size:var(--font-size-sm)}.credit-pack-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.credit-pack-price{font-size:var(--font-size-xl);color:var(--color-text-bright);font-weight:700}.credit-packs-footer{text-align:center}.credit-packs-note{color:var(--color-text-muted);font-size:var(--font-size-sm)}.pro-manager-tab{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:600px;margin:0 auto}.pro-manager-hero{text-align:center}.pro-manager-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.pro-manager-title{font-size:var(--font-size-2xl);color:var(--color-warning);margin:0}.pro-manager-price{font-size:var(--font-size-xl);color:var(--color-text-bright);font-weight:700}.pro-manager-notice{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-warning);color:var(--color-warning);margin-bottom:var(--spacing-md)}.pro-manager-tagline{color:var(--color-text-dim)}.pro-manager-benefits{width:100%}.benefits-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.benefit-item{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.benefit-icon{color:var(--color-success);font-weight:700;flex-shrink:0}.benefit-text{color:var(--color-text)}.pro-manager-actions{display:flex;justify-content:center}.pro-manager-footer{text-align:center}.pro-manager-note{color:var(--color-text-muted);font-size:var(--font-size-sm)}.earnings-breakdown{display:flex;flex-direction:column;gap:var(--spacing-sm)}.earnings-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.earnings-breakdown__row--net{padding:var(--spacing-sm) 0;margin-top:var(--spacing-xs)}.earnings-breakdown__row--highlight{background:var(--color-bg-secondary);padding:var(--spacing-sm);margin:0 calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.earnings-breakdown__label{color:var(--color-text-dim);font-size:var(--font-size-sm)}.earnings-breakdown__label--dim{color:var(--color-text-muted)}.earnings-breakdown__value{font-family:var(--font-mono);font-weight:700}.earnings-breakdown__value--positive{color:var(--color-success)}.earnings-breakdown__value--negative{color:var(--color-error)}.earnings-breakdown__value--large{font-size:var(--font-size-lg)}.earnings-breakdown__value--dim{color:var(--color-text-muted);font-weight:400}.earnings-breakdown__value--balance{color:var(--color-secondary)}.earnings-breakdown__value--animated{animation:balance-pulse 1s ease-out}@keyframes balance-pulse{0%{text-shadow:0 0 10px var(--color-secondary-glow)}to{text-shadow:none}}.earnings-breakdown__indicator{margin-left:var(--spacing-xs)}.earnings-breakdown__indicator.positive{color:var(--color-success)}.earnings-breakdown__indicator.negative{color:var(--color-error)}.earnings-breakdown__divider{color:var(--color-border);text-align:center;padding:var(--spacing-xs) 0}.earnings-breakdown__balance{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.earnings-bar{margin:var(--spacing-sm) 0}.earnings-bar__track{position:relative;height:12px;background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden}.earnings-bar__center{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--color-border-bright);transform:translate(-50%)}.earnings-bar__fill{position:absolute;top:0;bottom:0;transition:width .5s ease-out}.earnings-bar__fill--positive{background:linear-gradient(90deg,var(--color-success-dim) 0%,var(--color-success) 100%);box-shadow:0 0 8px var(--color-success-glow)}.earnings-bar__fill--negative{background:linear-gradient(90deg,var(--color-error) 0%,var(--color-error-dim) 100%);box-shadow:0 0 8px var(--color-error-glow)}.xp-progression-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.xp-progression-section__practice-notice{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-dim);font-size:var(--font-size-sm)}.xp-progression-section__practice-notice .practice-icon{color:var(--color-info)}.xp-breakdown{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.xp-breakdown__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.xp-breakdown__label{color:var(--color-text-dim);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.xp-breakdown__total{color:var(--color-secondary);font-size:var(--font-size-lg);font-weight:700}.xp-breakdown__total--practice{color:var(--color-text-dim)}.xp-breakdown__practice-note{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:400}.xp-breakdown__details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.xp-breakdown__row{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-dim);font-size:var(--font-size-sm)}.xp-breakdown__row--bonus .xp-breakdown__item-value{color:var(--color-success)}.xp-breakdown__row--multiplier .xp-breakdown__item-value{color:var(--color-warning)}.xp-breakdown__item-label{color:var(--color-text-dim)}.xp-breakdown__item-value{color:var(--color-text);font-family:var(--font-mono)}.xp-progress{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.xp-progress__labels{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.xp-progress__level{color:var(--color-text-dim);font-size:var(--font-size-sm)}.xp-progress__bar-container{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.xp-progress__bar{flex:1;height:20px;background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden}.xp-progress__fill{height:100%;background:linear-gradient(90deg,var(--color-secondary-dim) 0%,var(--color-secondary) 100%);box-shadow:0 0 10px var(--color-secondary-glow)}.xp-progress__percent{color:var(--color-secondary);font-size:var(--font-size-sm);font-weight:700;min-width:40px;text-align:right}.xp-progress__ascii{font-family:var(--font-mono);color:var(--color-secondary);font-size:var(--font-size-sm);letter-spacing:-.05em;text-align:center;margin-bottom:var(--spacing-xs)}.xp-progress__text{color:var(--color-text-dim);font-size:var(--font-size-sm);text-align:center}.level-up-celebration{padding:var(--spacing-lg);background:linear-gradient(135deg,#00ff881a,#00ccff1a);border:2px solid var(--color-primary);text-align:center;animation:level-up-glow 2s ease-in-out infinite}@keyframes level-up-glow{0%,to{box-shadow:0 0 10px var(--color-primary-glow)}50%{box-shadow:0 0 25px var(--color-primary-glow)}}.level-up-celebration__header{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.level-up-celebration__stars{color:var(--color-warning);font-size:var(--font-size-lg)}.level-up-celebration__title{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.level-up-celebration__message{color:var(--color-text-bright);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.level-up-celebration__level{color:var(--color-secondary);font-weight:700}.level-up-celebration__multi{color:var(--color-warning);font-size:var(--font-size-base)}.level-up-celebration__unlocks{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.level-up-celebration__unlock{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm)}.level-up-celebration__unlock-icon{color:var(--color-success);font-weight:700}.level-up-celebration__unlock-text{color:var(--color-text)}.level-up-celebration__unlock-value{color:var(--color-secondary)}.level-up-celebration__reward{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:#ffaa001a;border:1px solid var(--color-warning-dim)}.level-up-celebration__reward-label{color:var(--color-text-dim)}.level-up-celebration__reward-amount{color:var(--color-warning);font-size:var(--font-size-lg);font-weight:700}.level-up-celebration__border{color:var(--color-primary-dim);overflow:hidden;white-space:nowrap}@media (max-width: 768px){.shop-page{padding:var(--spacing-md)}.shop-tabs{flex-direction:column}.shop-tab{width:100%}.cosmetics-filters{flex-direction:column}.cosmetics-grid,.credit-packs-grid{grid-template-columns:1fr}}.tutorial-page{display:flex;flex-direction:column;min-height:calc(100vh - 120px);padding:var(--spacing-md)}.tutorial-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.tutorial-header-content{flex:1}.tutorial-step-indicator{display:flex;gap:var(--spacing-sm);align-items:center}.step-dot{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);transition:all .2s ease}.step-dot.active{color:var(--color-primary);text-shadow:var(--glow-primary)}.step-dot.completed{color:var(--color-success)}.tutorial-content{flex:1;display:flex;flex-direction:column;margin-top:var(--spacing-lg)}.tutorial-step-content{display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto auto 1fr auto;gap:var(--spacing-lg);flex:1}.tutorial-car-section{grid-column:1;grid-row:1 / 3}.tutorial-car-panel{height:100%}.tutorial-car-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg)}.tutorial-car-ascii{font-family:var(--font-mono);font-size:var(--font-size-base);line-height:1.2;color:var(--color-primary);white-space:pre;text-align:center}.tutorial-car-label{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.tutorial-message-section{grid-column:2;grid-row:1}.tutorial-message-panel{height:100%}.tutorial-message{padding:var(--spacing-md);line-height:var(--line-height-relaxed)}.tutorial-message p{margin-bottom:var(--spacing-sm)}.tutorial-message p:last-child{margin-bottom:0}.tutorial-editor-section{grid-column:2;grid-row:2 / 4}.tutorial-editor-panel{height:100%;display:flex;flex-direction:column}.tutorial-editor{display:flex;flex-direction:column;flex:1;min-height:200px}.tutorial-textarea{width:100%;flex:1;min-height:150px;resize:none;padding:var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.tutorial-textarea::placeholder{color:var(--color-text-dim);opacity:.6}.tutorial-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary-glow)}.tutorial-editor-footer{display:flex;justify-content:flex-end;padding:var(--spacing-sm) 0}.tutorial-word-count{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border)}.tutorial-word-count.near-limit{color:var(--color-warning);border-color:var(--color-warning)}.tutorial-word-count.over-limit{color:var(--color-error);border-color:var(--color-error);text-shadow:var(--glow-error)}.tutorial-tips{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-dim)}.tutorial-tips h4{color:var(--color-text-dim);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.tutorial-tips ul{list-style:none;padding:0;margin:0}.tutorial-tips li{padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative}.tutorial-tips li:before{content:">";position:absolute;left:0;color:var(--color-text-dim)}.tutorial-tip-callout{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#00ccff1a;border:1px solid var(--color-secondary-dim);font-size:var(--font-size-sm)}.tip-icon{color:var(--color-secondary);flex-shrink:0}.tip-text{color:var(--color-text)}.tip-text strong{color:var(--color-secondary)}.tutorial-navigation{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-dim);margin-top:var(--spacing-md)}.tutorial-placeholder{display:flex;justify-content:center;align-items:center;flex:1}.placeholder-content{text-align:center;padding:var(--spacing-xl)}.placeholder-content p{margin-bottom:var(--spacing-md)}.placeholder-hint{color:var(--color-text-dim);font-size:var(--font-size-sm)}.tutorial-step2-setup,.tutorial-step2-error{display:flex;justify-content:center;align-items:center;min-height:400px}.tutorial-setup-panel,.tutorial-error-panel{min-width:400px;max-width:500px}.tutorial-setup-content,.tutorial-error-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);text-align:center}.setup-status{font-size:var(--font-size-lg);color:var(--color-text)}.setup-hint{color:var(--color-text-dim);font-size:var(--font-size-sm)}.error-message{color:var(--color-error);font-size:var(--font-size-lg);text-shadow:var(--glow-error)}.tutorial-step2-race{display:grid;grid-template-columns:1fr 350px;gap:var(--spacing-lg);height:100%;min-height:500px}.tutorial-race-canvas{position:relative;background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden;min-height:400px}.tutorial-canvas{width:100%;height:100%;display:block}.tutorial-race-hud{position:absolute;top:var(--spacing-md);left:var(--spacing-md);display:flex;gap:var(--spacing-md)}.tutorial-race-hud>div{background:#000c;border:1px solid var(--color-primary);padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;align-items:center;min-width:60px}.hud-label{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.hud-value{font-size:var(--font-size-xl);color:var(--color-primary);text-shadow:var(--glow-primary);font-weight:700}.tutorial-connecting{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;border:1px solid var(--color-primary);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text)}.tutorial-race-sidebar{display:flex;flex-direction:column;gap:var(--spacing-md)}.tutorial-decision-panel{flex:1;min-height:200px;max-height:300px;overflow:hidden}.tutorial-decision-panel .panel__body{overflow:hidden}.tutorial-decision-panel .panel__content{overflow:hidden;display:flex;flex-direction:column}.tutorial-decision-log{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.decision-empty{color:var(--color-text-dim);font-style:italic}.decision-entry{display:flex;gap:var(--spacing-sm);font-size:var(--font-size-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border-dim)}.decision-entry:last-child{border-bottom:none}.decision-tick{color:var(--color-text-dim);flex-shrink:0;min-width:50px}.decision-text{color:var(--color-text)}.tutorial-info-panel{flex-shrink:0}.tutorial-race-info{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.info-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.info-label{color:var(--color-text-dim)}.info-value{color:var(--color-text)}.tutorial-complete-panel{flex-shrink:0;animation:panel-glow 1s ease-in-out infinite alternate}@keyframes panel-glow{0%{box-shadow:0 0 10px #0f83}to{box-shadow:0 0 20px #0f86}}.tutorial-complete-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);text-align:center}.complete-position{font-size:var(--font-size-lg)}@media (max-width: 900px){.tutorial-step-content{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.tutorial-car-section{grid-column:1;grid-row:1}.tutorial-message-section{grid-column:1;grid-row:2}.tutorial-editor-section{grid-column:1;grid-row:3}.tutorial-navigation{grid-column:1;grid-row:4}.tutorial-step2-race{grid-template-columns:1fr;grid-template-rows:1fr auto}.tutorial-race-canvas{min-height:300px}.tutorial-race-sidebar{flex-direction:row;flex-wrap:wrap}.tutorial-decision-panel{flex:1;min-width:200px;max-height:200px;overflow:hidden}.tutorial-info-panel,.tutorial-complete-panel{flex:1;min-width:200px}}.tutorial-step3-loading,.tutorial-step3-error{display:flex;align-items:center;justify-content:center;min-height:400px}.tutorial-loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.tutorial-step3-replay{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto;gap:1rem;height:100%;min-height:600px}.tutorial-result-section{width:100%}.tutorial-result-panel{max-width:600px;margin:0 auto}.tutorial-result-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:.5rem 0}.result-position{display:flex;align-items:baseline;gap:.25rem}.position-label{font-size:.75rem;color:var(--color-text-dim);margin-right:.5rem}.position-value{font-size:2.5rem;font-weight:700;color:var(--color-accent);text-shadow:0 0 10px var(--color-accent)}.position-suffix{font-size:1.25rem;color:var(--color-text-dim)}.result-message{color:var(--color-text-secondary);font-style:italic}.tutorial-replay-section{display:flex;flex-direction:column;min-height:350px}.tutorial-replay-panel{flex:1;display:flex;flex-direction:column}.tutorial-replay-canvas{flex:1;min-height:250px;background:var(--color-bg-darker);border:1px solid var(--color-border-dim);position:relative;overflow:hidden}.tutorial-replay-canvas .tutorial-canvas{width:100%;height:100%}.tutorial-timeline{padding:.5rem 0;border-top:1px solid var(--color-border-dim)}.tutorial-playback-controls{display:flex;justify-content:center;padding:.5rem 0;border-top:1px solid var(--color-border-dim)}.tutorial-analysis-section{width:100%}.tutorial-analysis-panel{max-width:700px;margin:0 auto}.tutorial-analysis-content{display:flex;flex-direction:column;gap:1rem}.moment-navigation{display:flex;align-items:center;justify-content:center;gap:1rem}.moment-counter{font-size:.875rem;color:var(--color-text-secondary);min-width:120px;text-align:center}.moment-analysis{background:var(--color-bg-darker);border:1px solid var(--color-border-dim);padding:1rem;border-radius:4px}.moment-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.moment-type{font-size:.75rem;color:var(--color-accent);padding:.125rem .375rem;background:#00ff881a;border:1px solid var(--color-accent)}.moment-title{font-weight:700;color:var(--color-text)}.moment-description{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.875rem}.moment-suggestion{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#ffc1071a;border:1px dashed var(--color-warning)}.suggestion-icon{color:var(--color-warning);flex-shrink:0}.suggestion-text{font-size:.875rem;color:var(--color-text-secondary)}.suggestion-text strong{color:var(--color-warning)}.tutorial-no-moments{text-align:center;padding:1.5rem}.tutorial-no-moments .dim-text{color:var(--color-text-dim);font-size:.875rem;margin-top:.5rem}.tutorial-step3-nav{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}@media (min-width: 768px){.tutorial-step3-replay{grid-template-columns:1fr 300px;grid-template-rows:auto 1fr auto;gap:1.5rem}.tutorial-result-section{grid-column:1 / -1}.tutorial-replay-section{grid-column:1;grid-row:2}.tutorial-analysis-section{grid-column:2;grid-row:2}.tutorial-analysis-panel{height:100%;max-width:none}.tutorial-step3-nav{grid-column:1 / -1}}@media (min-width: 1024px){.tutorial-step3-replay{grid-template-columns:1fr 350px}}.tutorial-step4-edit{display:flex;flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto;padding:1rem}.tutorial-step4-edit .tutorial-step-header{text-align:center;margin-bottom:1rem}.tutorial-step4-edit .tutorial-step-header h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem}.tutorial-step4-edit .tutorial-step-header p{color:var(--text-muted);font-size:1rem}.tutorial-suggestions-section{background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:.75rem;padding:1.25rem}.tutorial-suggestions-section h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.tutorial-suggestions-section h3:before{content:"💡"}.suggestion-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--surface-primary);border:1px solid var(--border-secondary);border-radius:.5rem;margin-bottom:.75rem;cursor:pointer;transition:all .2s ease}.suggestion-item:last-child{margin-bottom:0}.suggestion-item:hover{border-color:var(--accent-primary);background:rgba(var(--accent-rgb),.05)}.suggestion-item.applied{border-color:var(--success);background:rgba(var(--success-rgb),.1)}.suggestion-item input[type=checkbox]{margin-top:.25rem;accent-color:var(--accent-primary)}.suggestion-item label{flex:1;cursor:pointer}.suggestion-item label strong{display:block;color:var(--text-primary);font-size:.875rem;margin-bottom:.25rem}.suggestion-item label span{color:var(--text-muted);font-size:.75rem}.tutorial-step4-edit .tutorial-editor-section{display:flex;flex-direction:column;gap:1rem}.tutorial-step4-edit .tutorial-editor-section h3{font-size:1rem;color:var(--text-primary)}.tutorial-step4-edit .tutorial-editor-wrapper{min-height:300px}.tutorial-step4-nav{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-primary)}.tutorial-step4-setup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem;text-align:center;min-height:400px}.tutorial-step4-setup h2{font-size:1.75rem;color:var(--text-primary)}.tutorial-step4-setup p{color:var(--text-muted);max-width:500px}.tutorial-step4-race{display:flex;flex-direction:column;gap:1rem;padding:1rem;height:100%}.tutorial-step4-race .race-status-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface-secondary);border-radius:.5rem}.tutorial-step4-race .tutorial-race-canvas{flex:1;min-height:400px}.tutorial-step4-results{display:flex;flex-direction:column;gap:1.5rem;max-width:700px;margin:0 auto;padding:2rem 1rem;text-align:center}.tutorial-step4-results h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem}.position-comparison{display:flex;justify-content:center;align-items:center;gap:2rem;padding:1.5rem;background:var(--surface-secondary);border-radius:.75rem;margin:1rem 0}.position-box{display:flex;flex-direction:column;align-items:center;padding:1.25rem 2rem;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:.5rem;min-width:120px}.position-box.first-race{opacity:.7}.position-box.second-race{border-color:var(--accent-primary);box-shadow:0 0 20px rgba(var(--accent-rgb),.2)}.position-box .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.position-box .position{font-size:2rem;font-weight:700;color:var(--text-primary)}.position-comparison .arrow{font-size:1.5rem;color:var(--text-muted)}.improvement-message{padding:1rem 1.5rem;border-radius:.5rem;font-size:1rem}.improvement-message.improved{background:rgba(var(--success-rgb),.15);color:var(--success);border:1px solid var(--success)}.improvement-message.same{background:rgba(var(--warning-rgb),.15);color:var(--warning);border:1px solid var(--warning)}.improvement-message.worse{background:rgba(var(--error-rgb),.15);color:var(--error);border:1px solid var(--error)}.tutorial-step4-complete{display:flex;flex-direction:column;align-items:center;gap:2rem;max-width:600px;margin:0 auto;padding:2rem 1rem;text-align:center}.complete-banner{display:flex;flex-direction:column;align-items:center;gap:1rem}.complete-banner .trophy-icon{font-size:4rem;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.complete-banner h2{font-size:2rem;color:var(--text-primary);margin:0}.complete-banner p{color:var(--text-muted);font-size:1rem;max-width:400px}.reward-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 2rem;background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),rgba(var(--success-rgb),.15));border:1px solid var(--accent-primary);border-radius:.75rem;width:100%}.reward-section .reward-label{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.reward-section .reward-amount{font-size:2.5rem;font-weight:700;color:var(--accent-primary);display:flex;align-items:center;gap:.5rem}.reward-section .reward-amount .coin-icon{font-size:2rem}.reward-section .balance-info{font-size:.875rem;color:var(--text-muted)}.complete-tips{background:var(--surface-secondary);border:1px solid var(--border-primary);border-radius:.75rem;padding:1.25rem;width:100%;text-align:left}.complete-tips h3{font-size:1rem;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.complete-tips h3:before{content:"🎯"}.complete-tips ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.complete-tips li{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-secondary);font-size:.875rem}.complete-tips li:before{content:"✓";color:var(--success);font-weight:600}@media (max-width: 600px){.position-comparison{flex-direction:column;gap:1rem}.position-comparison .arrow{transform:rotate(90deg)}.position-box{width:100%;min-width:auto}.reward-section .reward-amount{font-size:2rem}.complete-banner .trophy-icon{font-size:3rem}}.friends-page{max-width:900px;margin:0 auto;padding:var(--spacing-lg)}.friends-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xxl);color:var(--color-text-dim)}.friends-toolbar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.friends-search{flex:1;max-width:300px}.friends-section{margin-bottom:var(--spacing-lg)}.friends-section__title{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-text);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.friends-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.friends-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-dim)}.friends-empty__hint{font-size:var(--font-size-sm);margin-top:var(--spacing-xs);opacity:.7}.friend-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s ease}.friend-row:hover{border-color:var(--color-primary)}.friend-row__avatar{position:relative;flex-shrink:0}.friend-row__status-dot{position:absolute;bottom:2px;right:2px;border:2px solid var(--color-bg-secondary)}.friend-row__info{flex:1;min-width:0}.friend-row__name-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.friend-row__username{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.friend-row__details{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-dim)}.friend-row__level,.friend-row__rating{font-family:var(--font-mono)}.friend-row__activity{color:var(--color-success)}.friend-row__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.pending-requests{margin-bottom:var(--spacing-lg)}.pending-requests__title{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-md);color:var(--color-text);margin:0 0 var(--spacing-md) 0}.pending-requests__count{margin-left:var(--spacing-xs)}.pending-requests__section{margin-bottom:var(--spacing-md)}.pending-requests__section:last-child{margin-bottom:0}.pending-requests__section-title{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.pending-requests__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pending-request-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.pending-request-row__info{flex:1;min-width:0}.pending-request-row__username{display:block;font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.pending-request-row__level{font-size:var(--font-size-sm);color:var(--color-text-dim)}.pending-request-row__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}@media (max-width: 768px){.friends-toolbar{flex-direction:column}.friends-search{max-width:none}.friend-row{flex-wrap:wrap}.friend-row__actions{width:100%;justify-content:flex-end;margin-top:var(--spacing-sm)}.pending-request-row{flex-wrap:wrap}.pending-request-row__actions{width:100%;justify-content:flex-end;margin-top:var(--spacing-sm)}}.chat-message{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-sm)}.chat-message--own{background:var(--color-bg-tertiary)}.chat-message__header{display:flex;align-items:center;gap:var(--spacing-sm)}.chat-message__sender{color:var(--color-primary);font-weight:600}.chat-message--own .chat-message__sender{color:var(--color-secondary)}.chat-message__time{color:var(--color-text-dim);font-size:var(--font-size-xs)}.chat-message__content{color:var(--color-text);word-wrap:break-word;white-space:pre-wrap;padding-left:var(--spacing-md)}.chat-message-list{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:0}.chat-message-list__loading,.chat-message-list__empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-sm)}.chat-message-list__loading-text,.chat-message-list__empty-text{animation:blink 1s step-end infinite}.chat-input{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.chat-input--disabled{opacity:.5;pointer-events:none}.chat-input__wrapper{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.chat-input__prompt{color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:700;padding-top:var(--spacing-xs)}.chat-input__field{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);resize:none;min-height:32px;max-height:100px;line-height:var(--line-height-normal)}.chat-input__field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-glow)}.chat-input__field::placeholder{color:var(--color-text-muted)}.chat-input__send{background:var(--color-bg-tertiary);border:1px solid var(--color-primary);color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-input__send:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg)}.chat-input__send:disabled{opacity:.5;cursor:not-allowed;border-color:var(--color-border);color:var(--color-text-dim)}.chat-input__footer{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-sm)}.chat-input__error{color:var(--color-error);font-family:var(--font-mono);font-size:var(--font-size-xs)}.chat-input__counter{color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);margin-left:auto}.chat-input__counter--near{color:var(--color-warning)}.chat-input__counter--over{color:var(--color-error)}.typing-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim);min-height:20px}.typing-indicator__dots{display:flex;gap:2px}.typing-indicator__dot{animation:typing-bounce 1.4s infinite;color:var(--color-primary)}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.3}30%{opacity:1}}.typing-indicator__text{font-style:italic}.chat-panel{display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;height:var(--chat-panel-height, 300px)}.chat-panel--collapsed{height:auto}.chat-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none}.chat-panel__header:hover{background:var(--color-bg-elevated)}.chat-panel__title{color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700}.chat-panel__toggle{color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-sm)}.chat-panel__body{display:flex;flex-direction:column;flex:1;min-height:0}.chat-panel--collapsed .chat-panel__body{display:none}.chat-panel__loading,.chat-panel__error{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--spacing-lg);font-family:var(--font-mono);font-size:var(--font-size-sm)}.chat-panel__loading{color:var(--color-text-dim)}.chat-panel__error{color:var(--color-error)}.chat-panel--race-lobby{position:relative}.conversation-list{display:flex;flex-direction:column;overflow-y:auto}.conversation-list__loading,.conversation-list__error,.conversation-list__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;font-family:var(--font-mono);font-size:var(--font-size-sm)}.conversation-list__loading{color:var(--color-text-dim)}.conversation-list__error{color:var(--color-error)}.conversation-list__empty{color:var(--color-text-dim);gap:var(--spacing-sm)}.conversation-list__empty-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.conversation-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-dim);cursor:pointer;transition:background var(--transition-fast)}.conversation-item:hover{background:var(--color-bg-tertiary)}.conversation-item--selected{background:var(--color-bg-tertiary);border-left:2px solid var(--color-primary)}.conversation-item--unread{background:var(--color-bg-tertiary)}.conversation-item__avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0}.conversation-item__avatar-text{color:var(--color-primary);font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:700}.conversation-item__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conversation-item__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.conversation-item__name{color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item--unread .conversation-item__name{color:var(--color-text-bright)}.conversation-item__time{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);flex-shrink:0}.conversation-item__preview{display:flex;align-items:center}.conversation-item__message{color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item__message--empty{font-style:italic;color:var(--color-text-muted)}.conversation-item--unread .conversation-item__message{color:var(--color-text)}.conversation-item__badge{background:var(--color-primary);color:var(--color-bg);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}@media (max-width: 768px){.chat-panel{height:250px}.chat-message__content{padding-left:var(--spacing-sm)}.conversation-item{padding:var(--spacing-sm)}}.settings-page{max-width:800px;margin:0 auto}.settings-sections{display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-section{background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:var(--spacing-lg)}.settings-section h2{color:var(--color-primary);font-size:var(--font-size-lg);margin:0 0 var(--spacing-md) 0;font-weight:500;letter-spacing:var(--letter-spacing-wide)}.settings-section--danger{border-color:var(--color-error)}.settings-section--danger h2{color:var(--color-error)}.settings-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-field{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-mono)}.settings-field__label{color:var(--color-text-dim);font-size:var(--font-size-sm);min-width:120px}.settings-field__value{color:var(--color-text)}.settings-field__value--highlight{color:var(--color-secondary);font-weight:500}.settings-field__badge{font-size:var(--font-size-xs);padding:2px 6px}.settings-field__badge--success{color:var(--color-success)}.settings-divider{border-top:1px solid var(--color-border-dim);margin:var(--spacing-md) 0}.settings-subheading{color:var(--color-text-dim);font-size:var(--font-size-sm);font-weight:500;margin:0 0 var(--spacing-sm) 0;letter-spacing:var(--letter-spacing-wide)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:400px}.settings-form .btn{align-self:flex-start}.settings-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-note{color:var(--color-text-dim);font-size:var(--font-size-sm);font-style:italic;margin:0}.settings-info-box{background:var(--color-bg-tertiary);border:1px solid var(--color-border);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-info-box p{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm)}.settings-info-box__detail{color:var(--color-text-dim);font-size:var(--font-size-xs)}.settings-info-box--success{border-color:var(--color-success)}.settings-info-box--success strong{color:var(--color-success)}.settings-info-box--warning{border-color:var(--color-warning)}.settings-info-box--warning p{color:var(--color-warning)}.settings-info-box--error{border-color:var(--color-error)}.settings-info-box--error strong{color:var(--color-error)}.settings-info-box .btn{align-self:flex-start;margin-top:var(--spacing-sm)}.settings-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);font-family:var(--font-mono);margin:0}.settings-loading{color:var(--color-text-dim);font-size:var(--font-size-sm);font-style:italic;margin:0}.settings-danger-actions{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.settings-delete-confirm{background:#ff44441a;border:1px solid var(--color-error);padding:var(--spacing-md);max-width:400px}.settings-warning{color:var(--color-error);font-family:var(--font-mono);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0;line-height:1.5}.settings-delete-confirm__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}@media (max-width: 767px){.settings-section{padding:var(--spacing-md)}.settings-field{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.settings-field__label{min-width:unset}.settings-form,.settings-delete-confirm{max-width:100%}.settings-delete-confirm__actions{flex-direction:column}.settings-delete-confirm__actions .btn{width:100%}}.legal-page{max-width:800px;margin:0 auto}.legal-meta{display:flex;gap:var(--spacing-lg);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.legal-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.legal-section{padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.legal-section h2{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-primary);margin:0 0 var(--spacing-md) 0;letter-spacing:var(--letter-spacing-wide)}.legal-section h3{font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text);margin:var(--spacing-md) 0 var(--spacing-sm) 0}.legal-section p{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;margin:0 0 var(--spacing-sm) 0}.legal-section ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.legal-section li{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-xs)}.legal-section li::marker{color:var(--color-primary)}.legal-contact{background:var(--color-bg-tertiary);border:1px solid var(--color-border);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.legal-contact p{margin:0;color:var(--color-text)}.legal-footer{text-align:center;padding:var(--spacing-xl) 0;margin-top:var(--spacing-xl);border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-dim)}@media print{.legal-page{max-width:100%;padding:0}.legal-page .page-header,.legal-meta,.legal-footer{break-after:avoid}.legal-section{background:none;border:none;padding:var(--spacing-md) 0;break-inside:avoid}.legal-section h2{color:#000}.legal-section p,.legal-section li{color:#333}.legal-contact{background:#f5f5f5;border:1px solid #ccc}}@media (max-width: 767px){.legal-meta{flex-direction:column;gap:var(--spacing-xs)}.legal-section{padding:var(--spacing-md)}.legal-section h2{font-size:var(--font-size-base)}.legal-section h3{font-size:var(--font-size-sm)}}
