*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #1d1d1d;--color-bg-grid: transparent;--color-surface: #2d2d2d;--color-surface-light: #3e3e3e;--color-border: #404040;--color-border-light: #505050;--color-text-primary: #ffffff;--color-text-secondary: #a0a0a0;--color-text-muted: #707070;--color-accent: #00b4ff;--color-gold: #FFD700;--color-silver: #C0C0C0;--color-bronze: #CD7F32;--color-bar-start: #00b4ff;--color-bar-end: #00b4ff;--color-bar-gradient: #00b4ff;--anim-fast: 80ms;--anim-medium: .13s;--anim-slow: .2s;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--header-height: 64px;--footer-height: 48px;--lane-height: 72px;--lane-height-mobile: 56px;--font-family: "Segoe UI", "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-3xl: 36px;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-full: 0px;--shadow-glow-gold: none;--shadow-glow-silver: none;--shadow-glow-bronze: none;--shadow-card: none}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface-light);border-radius:var(--radius-full)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app{display:flex;flex-direction:column;min-height:100vh}.app__main{flex:1;display:flex;flex-direction:column;padding:var(--space-md);gap:var(--space-md);max-width:1400px;width:100%;margin:0 auto}.app-header{display:flex;align-items:center;justify-content:flex-start;padding:var(--space-md) var(--space-xl);background:var(--color-surface);border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:100;min-height:var(--header-height);position:relative}.app-header__title{display:flex;align-items:center;gap:var(--space-md)}.app-header__hero-img{height:48px;object-fit:contain}.app-header__title h1{font-size:var(--font-size-2xl);font-weight:800;color:#ffe044;white-space:nowrap;letter-spacing:.03em}.app-header__controls{display:flex;align-items:center;gap:var(--space-lg);position:absolute;right:var(--space-xl)}.app-header__date{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.week-dropdown{position:relative;display:inline-flex}.week-dropdown__trigger{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--color-border-light);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s;min-width:200px}.week-dropdown__trigger:hover{border-color:var(--color-accent);background:var(--color-surface-light)}.week-dropdown__icon{font-size:var(--font-size-md)}.week-dropdown__label{flex:1;text-align:left;font-weight:600}.week-dropdown__chevron{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:transform .2s}.week-dropdown__chevron--open{transform:rotate(180deg)}.week-dropdown__menu{position:absolute;top:calc(100% + 2px);right:0;min-width:100%;background:var(--color-surface);border:1px solid var(--color-border-light);z-index:200;overflow:hidden}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.week-dropdown__option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s;text-align:left}.week-dropdown__option:hover{background:var(--color-surface-light);color:var(--color-text-primary)}.week-dropdown__option--active{background:#00b4ff26;color:var(--color-accent);font-weight:600}.week-dropdown__option--active:hover{background:#00b4ff33}.week-dropdown__option-icon{font-size:var(--font-size-md);width:20px;text-align:center}.week-dropdown__divider{height:1px;background:var(--color-border);margin:var(--space-xs) 0}.loser-list{margin-top:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.loser-list__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:#0003;border-bottom:1px solid var(--color-border)}.loser-list__title{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.loser-list__count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:#ffffff0d;padding:2px 8px;border-radius:var(--radius-full)}.loser-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--color-border)}.loser-list__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);cursor:pointer;transition:background .15s}.loser-list__item:hover{background:var(--color-surface-light)}.loser-list__rank{font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:28px;font-weight:600}.loser-list__name{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loser-list__score{font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}@media (max-width: 768px){.loser-list__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.loser-list__item{padding:var(--space-xs) var(--space-sm)}}.stats-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);background:var(--color-surface);border-top:2px solid var(--color-border);min-height:var(--footer-height);flex-wrap:wrap}.stats-footer--empty{justify-content:center}.stats-footer__item{display:flex;align-items:center;gap:var(--space-sm)}.stats-footer__item--mvp{background:#ffd70014;border:1px solid rgba(255,215,0,.2);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full)}.stats-footer__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stats-footer__value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.stats-footer__value--gold{color:var(--color-gold)}.stats-footer__divider{width:1px;height:20px;background:var(--color-border-light)}.race-container{position:relative;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md) 0}.race-container--empty{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-muted);font-size:var(--font-size-lg)}.race-container__go-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-3xl);font-weight:300;color:var(--color-accent);z-index:50;pointer-events:none;opacity:0;letter-spacing:.2em;text-transform:uppercase}.track-header{margin-bottom:var(--space-sm);padding-left:var(--space-md);padding-right:220px}.track-header__markers{display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.track-header__label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.track-header__label--start,.track-header__label--finish{color:var(--color-text-secondary);font-weight:600}.track-header__tick-line{position:relative;height:8px}.track-header__tick{position:absolute;top:0;width:1px;height:100%;background:var(--color-border-light);transform:translate(-50%)}.race-lane{display:flex;align-items:center;height:var(--lane-height);background:var(--color-surface);border:none;padding:0 var(--space-md);gap:var(--space-md);transition:background .15s;position:relative;overflow:visible}.race-lane:hover{background:var(--color-surface-light)}.race-lane--rank-1{background:#330}.race-lane__rank{min-width:40px;text-align:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}.race-lane__rank-number{font-size:var(--font-size-lg);color:var(--color-text-muted);font-weight:700}.race-lane__track{flex:1;position:relative;height:28px;background:#1a1a1a;overflow:visible}.race-lane__bar{position:absolute;left:0;top:0;height:100%;background:var(--color-accent);opacity:.8;transition:width .1s;min-width:2px}.race-lane--rank-1 .race-lane__bar{background:var(--color-gold);opacity:.9}.race-lane--rank-2 .race-lane__bar{background:var(--color-silver);opacity:.85}.race-lane--rank-3 .race-lane__bar{background:var(--color-bronze);opacity:.85}.race-lane__marker{position:absolute;top:0;width:1px;height:100%;background:#ffffff1a;z-index:1;pointer-events:none}.race-lane__target{position:absolute;top:-2px;width:2px;height:calc(100% + 4px);z-index:2;pointer-events:none;transform:translate(-50%);transition:opacity .6s ease .8s}.race-lane__target:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(to bottom,currentColor 0px,currentColor 4px,transparent 4px,transparent 8px);border-radius:1px}.race-lane__target--standard{color:#6495ed}.race-lane__target--premium{color:gold}.race-lane__target--achieved{opacity:.5}.race-lane__target--achieved:after{content:"";position:absolute;top:0;left:-2px;width:6px;height:100%;background:#00d4aa1a;border-radius:3px}.race-lane__target--behind{opacity:.85}.race-lane__target--behind:after{content:"";position:absolute;top:0;left:-3px;width:8px;height:100%;background:#ff645014;border-radius:4px;animation:target-pulse 2s ease-in-out infinite}@keyframes target-pulse{0%,to{opacity:.3}50%{opacity:.8}}.race-lane__target-flag{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:8px;font-weight:700;line-height:1;color:inherit;white-space:nowrap;pointer-events:none}.race-lane__target--achieved .race-lane__target-flag{color:#00d4aa}.race-lane__target--behind .race-lane__target-flag{color:#ff6b50}.race-lane__character-wrapper{position:absolute;top:50%;transform:translateY(-50%) translate(-50%);z-index:10}.race-lane__progress-indicator{position:absolute;top:0;width:3px;height:100%;background:#fff;z-index:10;transform:translate(-50%)}.race-lane__info{display:flex;flex-direction:column;align-items:flex-end;min-width:160px;flex-shrink:0;gap:2px}.race-lane__name-row{display:flex;align-items:center;gap:8px}.race-lane__name{font-size:var(--font-size-md);font-weight:400;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.race-lane__face-container{width:48px;height:48px;flex-shrink:0;background:var(--color-surface-light);border:2px solid var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .15s}.race-lane__face-container:hover{border-color:var(--color-accent)}.race-lane__face-img{width:100%;height:100%;object-fit:cover;display:block}.race-lane__face-placeholder{font-size:var(--font-size-lg);font-weight:300;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.race-lane--rank-1 .race-lane__face-container{border-color:var(--color-gold)}.race-lane--rank-2 .race-lane__face-container{border-color:var(--color-silver)}.race-lane--rank-3 .race-lane__face-container{border-color:var(--color-bronze)}.race-lane--rank-1 .race-lane__name{color:var(--color-gold)}.race-lane--rank-2 .race-lane__name{color:#e0e0e0}.race-lane--rank-3 .race-lane__name{color:#e8b87a}.race-lane__score{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:600;font-variant-numeric:tabular-nums}.race-lane--rank-1 .race-lane__score{color:var(--color-gold)}.race-lane__tokens{font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.race-lane__stats-row{display:flex;align-items:center;gap:6px}.score-tooltip-trigger{position:relative;cursor:help}.score-tooltip{position:absolute;right:0;z-index:200;background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md, 8px);padding:12px 14px;min-width:320px;box-shadow:0 8px 24px #00000080;pointer-events:none;animation:scoreTooltipFadeIn .15s ease-out}.score-tooltip--above{bottom:calc(100% + 8px)}.score-tooltip--below{top:calc(100% + 8px)}@keyframes scoreTooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.score-tooltip__title{font-size:11px;font-weight:700;color:var(--color-accent);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.score-tooltip__table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.score-tooltip__table th{text-align:left;font-weight:600;color:var(--color-text-muted);padding:2px 6px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px}.score-tooltip__table td{padding:3px 6px;color:var(--color-text)}.score-tooltip__num{text-align:right;white-space:nowrap}.score-tooltip__contrib{font-weight:600;color:var(--color-accent)}.score-tooltip__bar-bg{display:inline-block;width:40px;height:6px;background:#ffffff14;border-radius:3px;margin-right:4px;vertical-align:middle;overflow:hidden}.score-tooltip__bar-fill{display:block;height:100%;background:var(--color-accent);border-radius:3px;min-width:1px}.score-tooltip__bonus-row td{color:#4fc3f7;font-style:italic}.score-tooltip__table tfoot td{padding-top:6px;border-top:1px solid rgba(255,255,255,.12);font-weight:700}.score-tooltip__total{color:var(--color-gold, #FFD700);font-size:12px}.race-lane__rate-limit{display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:700;padding:1px 5px;border-radius:var(--radius-full);line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.race-lane__rate-limit--warning{background:#ffc10726;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.race-lane__rate-limit--critical{background:#ff505026;color:#ff5050;border:1px solid rgba(255,80,80,.3);animation:rate-limit-pulse 2s ease-in-out infinite}@keyframes rate-limit-pulse{0%,to{opacity:1}50%{opacity:.7}}.plan-badge{display:inline-block;font-size:9px;font-weight:800;line-height:1;padding:2px 4px;border-radius:3px;margin-left:4px;vertical-align:middle;letter-spacing:.04em;text-transform:uppercase}.plan-badge--standard{background:#6495ed33;color:#6495ed;border:1px solid rgba(100,149,237,.4)}.plan-badge--premium{background:#ffd70026;color:var(--color-gold);border:1px solid rgba(255,215,0,.4)}.plan-rec-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:9px;font-weight:800;line-height:1;border-radius:3px;color:#fff;cursor:pointer;vertical-align:middle;-webkit-user-select:none;user-select:none}.plan-rec-badge:hover{opacity:.85}.plan-rec-popup{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:100;background:#14141ef2;color:#fff;font-size:11px;line-height:1.4;padding:6px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px #0006}.animated-character{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.animated-character:hover{opacity:.8}.animated-character__gif{display:block;image-rendering:pixelated;object-fit:contain;pointer-events:none}.animated-character--first .animated-character__bubble{top:20%;right:auto;left:40%;transform:translate(-50%);font-size:13px;padding:3px 8px}.animated-character__bubble{position:absolute;top:-4px;right:-8px;background:#fff;color:#000;font-size:11px;font-weight:800;padding:2px 6px;border-radius:8px;border:2px solid #000;white-space:nowrap;z-index:2;pointer-events:none;animation:bubble-bounce 1.5s ease-in-out infinite}.animated-character__bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #000}.animated-character__bubble:before{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #fff;z-index:1}@keyframes bubble-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:2px solid var(--color-accent);width:100%;max-width:440px;overflow:hidden}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal__header{display:flex;align-items:flex-start;padding:var(--space-lg);border-bottom:1px solid var(--color-border);position:relative}.modal__header-row{display:flex;align-items:center;gap:var(--space-md);flex:1}.modal__header-text{display:flex;flex-direction:column;gap:4px}.modal__face-preview{width:56px;height:56px;flex-shrink:0;background:var(--color-surface-light);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;overflow:hidden}.modal__face-preview-img{width:100%;height:100%;object-fit:cover;display:block}.modal__face-preview-placeholder{font-size:var(--font-size-xl);font-weight:300;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.modal__title{font-size:var(--font-size-lg);font-weight:700}.modal__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal__close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s,color .2s}.modal__close:hover{background:var(--color-surface-light);color:var(--color-text-primary)}.modal__body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.modal__field{display:flex;flex-direction:column;gap:var(--space-xs)}.modal__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.modal__input{width:100%;padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-md);transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}.modal__input::placeholder{color:var(--color-text-muted)}.modal__input:focus{border-color:var(--color-accent)}.modal__input:is(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:32px;cursor:pointer}.modal__footer{display:flex;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);justify-content:flex-end}.modal__btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all .2s;border:1px solid transparent}.modal__btn--secondary{background:var(--color-surface-light);border-color:var(--color-border-light);color:var(--color-text-primary)}.modal__btn--secondary:hover:not(:disabled){background:#ffffff1a}.modal__btn--primary{background:var(--color-accent);color:#fff;font-weight:700}.modal__btn--primary:hover:not(:disabled){opacity:.85}.modal__btn:disabled{opacity:.4;cursor:not-allowed}.modal__error{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:#ff50501f;border:1px solid rgba(255,80,80,.3);border-radius:var(--radius-sm);color:#ff8080;font-size:var(--font-size-sm)}.modal__success{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:#00d4aa1f;border:1px solid rgba(0,212,170,.3);border-radius:var(--radius-sm);color:var(--color-bar-start);font-size:var(--font-size-sm)}.image-cropper__dropzone{border:2px dashed var(--color-border-light);padding:var(--space-xl);text-align:center;cursor:pointer;transition:border-color .15s;min-height:160px;display:flex;align-items:center;justify-content:center}.image-cropper__dropzone:hover,.image-cropper__dropzone--active{border-color:var(--color-accent)}.image-cropper__placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary)}.image-cropper__icon{font-size:40px}.image-cropper__limit{font-size:var(--font-size-xs);color:var(--color-text-muted)}.image-cropper__preview-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);position:relative}.image-cropper__delete-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;background:#e53935e6;color:#fff;border:none;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}.image-cropper__delete-btn:hover{background:#e53935}.image-cropper__preview{width:100px;height:100px;object-fit:cover;border:2px solid var(--color-accent)}.image-cropper__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.image-cropper__input{display:none}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--space-lg);color:var(--color-text-secondary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--space-md);color:var(--color-text-secondary);text-align:center;padding:var(--space-xl)}.error-container__icon{font-size:48px}.error-container__msg{color:#ff8080;font-size:var(--font-size-md)}.error-container__retry{padding:var(--space-sm) var(--space-xl);background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:background .2s}.error-container__retry:hover{background:#ffffff1a}@media (max-width: 768px){.app-header{padding:var(--space-sm) var(--space-md);flex-wrap:wrap;gap:var(--space-sm);min-height:auto}.app-header__title h1{font-size:var(--font-size-md)}.app-header__controls{gap:var(--space-sm)}.app-header__date{display:none}.week-dropdown__trigger{min-width:160px;font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}.app__main{padding:var(--space-sm)}.track-header{padding-left:36px;padding-right:90px}.track-header__label{font-size:9px}.race-lane{height:var(--lane-height-mobile);padding:0 var(--space-sm);gap:var(--space-sm)}.race-lane__rank{min-width:32px}.race-lane__track{height:28px}.race-lane__info{min-width:100px}.race-lane__name{font-size:var(--font-size-sm);max-width:70px;font-weight:700}.race-lane__face-container{width:36px;height:36px}.race-lane__score{font-size:10px}.race-lane__tokens{font-size:9px}.race-lane__rate-limit{font-size:9px;padding:1px 4px}.race-lane__target-flag{font-size:7px;top:-12px}.stats-footer{padding:var(--space-sm) var(--space-md);gap:var(--space-md);font-size:var(--font-size-xs)}.stats-footer__divider{display:none}.stats-footer__item--mvp{width:100%;justify-content:center}}@media (max-width: 480px){.app-header__title h1{font-size:var(--font-size-sm)}.app-header__flag{font-size:var(--font-size-md)}.race-container__go-text{font-size:var(--font-size-2xl)}}.race-lane-wrapper{position:relative}.race-lane-wrapper:hover{z-index:50}.exclude-btn{position:absolute;top:50%;left:4px;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:#ff505026;color:#ff5050;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s;z-index:10}.race-lane-wrapper:hover .exclude-btn,.loser-list__item:hover .exclude-btn{opacity:1}.exclude-btn:hover{background:#ff505066}.exclude-btn--small{position:static;transform:none;width:18px;height:18px;font-size:9px;margin-left:auto;flex-shrink:0}.loser-list__face{width:20px;height:20px;object-fit:cover;margin-right:4px;flex-shrink:0}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;justify-content:flex-end}.settings-panel{width:380px;max-width:90vw;height:100vh;background:var(--color-surface);border-left:2px solid var(--color-accent);display:flex;flex-direction:column}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.settings-panel__title{font-size:18px;font-weight:700;color:#fff;margin:0}.settings-panel__close{width:32px;height:32px;border-radius:50%;border:none;background:#ffffff14;color:#aaa;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.settings-panel__close:hover{background:#ffffff26;color:#fff}.settings-panel__section{padding:20px 24px;overflow-y:auto;flex:1}.settings-panel__section-title{font-size:14px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.settings-panel__loading,.settings-panel__empty{color:#666;font-size:14px;text-align:center;padding:24px 0}.settings-panel__user{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff0a;border-radius:8px;margin-bottom:8px}.settings-panel__user-info{display:flex;flex-direction:column;gap:2px}.settings-panel__user-name{font-size:14px;font-weight:600;color:#fff}.settings-panel__user-team{font-size:11px;color:#888}.settings-panel__user-email{font-size:11px;color:#666}.settings-panel__restore-btn{padding:6px 14px;border-radius:6px;border:1px solid rgba(100,200,100,.3);background:#64c8641a;color:#7ddf7d;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0}.settings-panel__restore-btn:hover{background:#64c86433;border-color:#64c86480}.settings-panel__restore-btn:disabled{opacity:.5;cursor:not-allowed}.app-header__settings-btn{width:36px;height:36px;border:1px solid var(--color-border-light);background:transparent;color:#aaa;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-left:8px}.app-header__settings-btn:hover{background:var(--color-surface-light);color:#fff}.week-dropdown__mode-toggle{display:flex;gap:2px;padding:4px;background:#0000004d;border-radius:8px;margin-bottom:4px}.week-dropdown__mode-btn{flex:1;padding:6px 12px;background:none;border:none;border-radius:6px;color:#888;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.week-dropdown__mode-btn--active{background:#ffffff1f;color:#fff}.week-dropdown__mode-btn:hover:not(.week-dropdown__mode-btn--active){color:#ccc}.commit-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.commit-modal{background:var(--color-surface);border:2px solid var(--color-accent);width:90%;max-width:640px;max-height:80vh;display:flex;flex-direction:column}.commit-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.commit-modal__title{font-size:18px;font-weight:700;color:#fff;margin:0}.commit-modal__close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}.commit-modal__close:hover{color:#fff;background:#ffffff1a}.commit-modal__date-range{padding:8px 24px;font-size:13px;color:#888}.commit-modal__summary{display:flex;gap:16px;padding:12px 24px;font-size:14px;color:#ccc;border-bottom:1px solid rgba(255,255,255,.08)}.commit-modal__additions{color:#4ade80}.commit-modal__deletions{color:#f87171}.commit-modal__content{flex:1;overflow-y:auto;padding:16px 24px 24px}.commit-modal__loading,.commit-modal__empty{text-align:center;color:#888;padding:32px 0;font-size:14px}.commit-modal__repo-group{margin-bottom:20px}.commit-modal__repo-name{font-size:13px;font-weight:600;color:#6b7fff;padding:6px 0;border-bottom:1px solid rgba(107,127,255,.2);margin-bottom:8px}.commit-modal__commit{padding:8px 0 8px 12px;border-left:2px solid rgba(255,255,255,.06)}.commit-modal__commit-main{display:flex;align-items:baseline;gap:8px;font-size:13px}.commit-modal__sha{font-family:SF Mono,Fira Code,monospace;color:#00d4aa;font-size:12px;flex-shrink:0}.commit-modal__message{color:#ddd;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commit-modal__date{color:#888;font-size:12px;flex-shrink:0}.commit-modal__commit-stats{display:flex;gap:8px;padding-left:70px;font-size:12px;margin-top:2px}.animated-character__bubble--clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.animated-character__bubble--clickable:hover{transform:scale(1.05);box-shadow:0 2px 12px #6b7fff4d}.git-section__actions{display:flex;gap:8px;margin:12px 0}.git-section__message{font-size:12px;padding:6px 10px;border-radius:6px;margin:8px 0}.git-section__message--success{background:#00d4aa1f;color:#00d4aa}.git-section__message--error{background:#ff50501f;color:#ff8080}.git-platform-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 14px;margin-bottom:8px}.git-platform-card__top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.git-platform-card__name{font-size:14px;font-weight:600;color:#fff;flex:1}.git-platform-card__delete{width:24px;height:24px;border:none;background:#ff50501f;color:#ff5050;font-size:12px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.git-platform-card__delete:hover{background:#ff50504d}.git-platform-card__details{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:#888}.git-platform-card__token{font-family:SF Mono,Fira Code,monospace;color:#666}.git-platform-card__sync-time{width:100%;font-size:11px;color:#666}.git-badge{display:inline-block;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.git-badge--github{background:#6e54c033;color:#a78bfa;border:1px solid rgba(110,84,192,.4)}.git-badge--bitbucket{background:#0082fc26;color:#60a5fa;border:1px solid rgba(0,130,252,.35)}.git-badge--archived{background:#ffffff0f;color:#666;border:1px solid rgba(255,255,255,.1);font-size:10px}.git-add-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:14px;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.git-add-form--inline{flex-direction:row;flex-wrap:wrap;align-items:center}.git-add-form--inline .git-input{flex:1;min-width:100px}.git-input{width:100%;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.git-input::placeholder{color:#555}.git-input:focus{border-color:#00d4aa80}.git-select{width:100%;padding:8px 32px 8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:13px;font-family:inherit;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px 16px;box-sizing:border-box}.git-select option{background:#1a1e3a;color:#fff}.git-repo-group{margin-bottom:16px}.git-repo-group__title{font-size:12px;font-weight:700;color:#6b7fff;text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px;border-bottom:1px solid rgba(107,127,255,.2);margin-bottom:6px}.git-repo-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;transition:background .1s}.git-repo-item:hover{background:#ffffff08}.git-repo-item--archived{opacity:.45}.git-repo-item__name{flex:1;font-size:13px;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-toggle{position:relative;width:36px;height:20px;flex-shrink:0}.git-toggle input{opacity:0;width:0;height:0;position:absolute}.git-toggle__slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;border-radius:10px;cursor:pointer;transition:background .2s}.git-toggle__slider:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;background:#888;border-radius:50%;transition:transform .2s,background .2s}.git-toggle input:checked+.git-toggle__slider{background:#00d4aa4d}.git-toggle input:checked+.git-toggle__slider:before{transform:translate(16px);background:#00d4aa}.git-toggle input:disabled+.git-toggle__slider{opacity:.4;cursor:not-allowed}.git-mapping-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0a;border-radius:6px;margin-bottom:6px;font-size:13px}.git-mapping-row__dev{flex-shrink:0;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-mapping-row__dev-name{color:#e0e0e0;font-weight:600}.git-mapping-row__dev-email{color:#777;font-size:11px;margin-left:4px}.git-mapping-row__arrow{color:#555;flex-shrink:0}.git-mapping-row__git-emails{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.git-mapping-row__tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#00d4aa1f;border:1px solid rgba(0,212,170,.25);border-radius:12px;color:#00d4aa;font-size:12px;white-space:nowrap}.git-mapping-row__tag-delete{width:16px;height:16px;border:none;background:#ff505026;color:#ff5050;font-size:9px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.git-mapping-row__tag-delete:hover{background:#ff505059}.git-mapping-row__no-mapping{color:#666;font-style:italic;font-size:12px;cursor:pointer;transition:color .15s}.git-mapping-row__no-mapping:hover{color:#999;text-decoration:underline}.git-mapping-row__add-btn{width:22px;height:22px;border:1px solid rgba(0,212,170,.3);background:#00d4aa14;color:#00d4aa;font-size:14px;font-weight:600;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.git-mapping-row__add-btn:hover{background:#00d4aa33}.git-mapping-row__inline-form{display:inline-flex;align-items:center;gap:6px}.git-input--inline{width:180px;padding:4px 8px;font-size:12px}.git-sync-btn--sm{padding:4px 10px;font-size:11px}.mapping-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;display:flex;align-items:center;justify-content:center}.mapping-modal{width:700px;max-width:95vw;max-height:80vh;background:#1a1e3a;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow-y:auto;padding:20px;box-shadow:0 8px 40px #00000080}.mapping-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mapping-modal__title{font-size:16px;font-weight:700;color:#e0e0e0}.email-mapping-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.email-mapping-summary__row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}.email-mapping-summary__dev{flex-shrink:0;color:silver;font-weight:600;min-width:80px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-mapping-summary__tags{flex:1;display:flex;flex-wrap:wrap;gap:4px;min-width:0}.email-mapping-summary__tag{background:#00d4aa1f;border:1px solid rgba(0,212,170,.25);color:#afe;border-radius:4px;padding:1px 6px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.email-mapping-summary__none{color:#555;font-style:italic;font-size:12px}.email-mapping-layout{display:flex;gap:16px;min-height:200px}.git-email-pool{flex:0 0 240px;background:#00000026;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.git-email-pool__header,.git-dev-drop-list__header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#888;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:2px}.git-email-pool__hint{font-size:11px;color:#555;font-style:italic;text-align:center;margin-top:4px}.git-dev-drop-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.git-email-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#00b4d81a;border:1px solid rgba(0,180,216,.25);border-radius:6px;cursor:grab;transition:all .15s;font-size:12px;-webkit-user-select:none;user-select:none}.git-email-chip:hover{background:#00b4d82e;border-color:#00b4d866}.git-email-chip--dragging{opacity:.4}.git-email-chip--overlay{cursor:grabbing;box-shadow:0 4px 20px #0006;background:#00b4d833;border-color:#00b4d880}.git-email-chip__email{color:#e0e0e0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.git-email-chip__name{color:#777;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.git-email-chip__count{flex-shrink:0;padding:1px 6px;background:#00b4d833;border-radius:10px;font-size:10px;font-weight:600;color:#00b4d8}.git-mapping-row--drop-over{background:#00d4aa1f!important;border-color:#00d4aa66!important;box-shadow:0 0 0 1px #00d4aa4d}.git-sync-btn{padding:7px 16px;border-radius:6px;border:1px solid rgba(0,212,170,.3);background:#00d4aa1a;color:#00d4aa;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.git-sync-btn:hover:not(:disabled){background:#00d4aa33;border-color:#00d4aa80}.git-sync-btn:disabled{opacity:.4;cursor:not-allowed}.git-sync-btn--add{border-color:#6b7fff4d;background:#6b7fff1a;color:#6b7fff}.git-sync-btn--add:hover:not(:disabled){background:#6b7fff33;border-color:#6b7fff80}@media (max-width: 768px){.commit-modal{width:95%;max-height:85vh}.commit-modal__header{padding:16px 16px 10px}.commit-modal__title{font-size:15px}.commit-modal__summary{flex-wrap:wrap;gap:8px;padding:10px 16px;font-size:12px}.commit-modal__content{padding:12px 16px 20px}.commit-modal__commit-main{font-size:12px}.commit-modal__commit-stats{padding-left:50px}}
