@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #121213;--surface: #1a1a1b;--border: #3a3a3c;--text: #ffffff;--text-muted: #818384;--correct: #538d4e;--present: #b59f3b;--absent: #3a3a3c;--tile-empty: #121213;--tile-border: #3a3a3c;--tile-filled-border: #565758;--accent: #538d4e;--error: #e74c3c;--topbar-height: 44px;--cmdbar-height: 50px;--tile-size: clamp(52px, min(16vw, 9.5vh), 110px);--tile-gap: clamp(4px, .8vmin, 12px)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}#root{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.app-container{height:100%;width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column}.app-container--bars{padding-top:var(--topbar-height);padding-bottom:var(--cmdbar-height, 60px)}.screen{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;width:100%;padding:0 24px}.title{font-size:2.5rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.title-small{font-size:1.4rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.subtitle{font-size:1.1rem;color:var(--text-muted);margin-bottom:40px}.unlock-screen{gap:16px}.unlock-content{display:flex;flex-direction:column;align-items:center;gap:16px}.unlock-action{min-height:120px;display:flex;align-items:center;justify-content:center}.unlock-btn{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:24px 48px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:transform .2s,opacity .2s}.unlock-btn:active{transform:scale(.95)}.unlock-btn.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loading-box{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hint{font-size:.9rem;color:var(--text-muted)}.error-box{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--error);font-size:1.1rem;margin-top:20px}.footer-note{position:absolute;bottom:24px;font-size:.85rem;color:var(--text-muted);text-align:center;padding:0 24px}.stats-screen{justify-content:flex-start;padding-top:60px;gap:24px}.stats-grid{display:flex;gap:32px;margin:16px 0}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-number{font-size:2.5rem;font-weight:700}.stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.section-title{font-size:1.2rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}.histogram{width:100%;max-width:400px;display:flex;flex-direction:column;gap:6px}.histogram-row{display:flex;align-items:center;gap:8px}.histogram-label{font-size:1rem;font-weight:600;width:20px;text-align:right}.histogram-bar-bg{flex:1;height:28px;background:transparent;border-radius:4px}.histogram-bar{height:100%;background:var(--correct);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:0;transition:width .5s ease}.histogram-bar.loss{background:var(--absent)}.histogram-count{font-size:.85rem;font-weight:600}.game-screen{justify-content:flex-start;padding-top:clamp(12px,2.5vh,36px);gap:clamp(8px,1.5vh,20px)}.board{display:flex;flex-direction:column;gap:var(--tile-gap)}.board.shake{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.board-row{display:flex;gap:var(--tile-gap)}.tile{width:var(--tile-size);height:var(--tile-size);display:flex;align-items:center;justify-content:center;border:2px solid var(--tile-border);border-radius:4px;background:var(--tile-empty);transition:border-color .1s}.tile.filled{border-color:var(--tile-filled-border);animation:pop .1s ease}.tile.current-row{border-color:var(--correct)}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.tile.flip{animation:flip .5s ease forwards}.tile.correct{--flip-bg: var(--correct)}.tile.present{--flip-bg: var(--present)}.tile.absent{--flip-bg: var(--absent)}@keyframes flip{0%{transform:rotateX(0);background:var(--tile-empty);border-color:var(--tile-filled-border)}50%{transform:rotateX(90deg);background:var(--tile-empty);border-color:var(--tile-filled-border)}51%{transform:rotateX(90deg);background:var(--flip-bg, var(--absent));border-color:var(--flip-bg, var(--absent))}to{transform:rotateX(0);background:var(--flip-bg, var(--absent));border-color:var(--flip-bg, var(--absent))}}.tile-letter{font-size:calc(var(--tile-size) * .52);font-weight:700;line-height:1}.letter-keys{display:flex;flex-direction:column;align-items:center;gap:var(--tile-gap);margin-top:calc(var(--tile-gap) * .5)}.letter-keys-row{display:flex;gap:3px}.letter-key{width:calc((5 * var(--tile-size) + 4 * var(--tile-gap) - 36px) / 13);height:calc(var(--tile-size) * .5);display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:calc(var(--tile-size) * .16);font-weight:700;color:var(--text);background:#818384;transition:background .3s ease;-webkit-user-select:none;user-select:none}.letter-key.correct{background:var(--correct)}.letter-key.present{background:var(--present)}.letter-key.absent{background:var(--absent);color:#ffffff4d}.help-screen{gap:16px;justify-content:flex-start}.help-header{display:flex;align-items:baseline;justify-content:space-between;width:100%;margin-bottom:4px}.help-game-title{font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.help-pagination{font-size:.85rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.help-page-title{font-size:1.6rem;font-weight:800;width:100%;margin:0}.help-bullets{list-style:none;padding:0;margin:0;width:100%;display:flex;flex-direction:column;gap:12px}.help-bullets li{font-size:1.05rem;color:var(--text);line-height:1.45;padding-left:22px;position:relative}.help-bullets li:before{content:"—";position:absolute;left:0;color:var(--text-muted)}.command-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;align-content:flex-start;gap:6px;flex-wrap:wrap;padding:6px 12px;background:#121213f7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.18)}.command-bar--priority{z-index:200}.command-bar-chip{flex-shrink:0;font-size:.72rem;font-weight:600;font-family:inherit;padding:4px 10px;border-radius:12px;background:#505054bf;border:1px solid rgba(160,160,165,.45);color:#e8e8ea;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;line-height:normal;appearance:none;-webkit-appearance:none;transition:background .1s,border-color .1s}.command-bar-chip:active{background:#78787cd9;border-color:#c8c8cdb3}.top-bar{position:fixed;top:0;left:0;right:0;z-index:1000;height:calc(var(--topbar-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;background:#121213f2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(58,58,60,.5)}.top-bar-badge{font-family:inherit;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:20px;background:#538d4e2e;border:1px solid rgba(83,141,78,.35);color:var(--accent);font-size:.78rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s,border-color .2s,color .2s,max-width .3s ease;max-width:55vw;overflow:hidden;white-space:nowrap}.top-bar-badge:active{opacity:.75}.top-bar-badge--muted{background:#b428282e;border-color:#c83c3c73;color:#e07070}.top-bar-badge--muted .top-bar-mic{animation:none}.top-bar-badge--inactive{opacity:.4}.top-bar-mic{font-size:.95rem;flex-shrink:0;animation:mic-pulse 1.5s ease-in-out infinite}.top-bar-badge-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}.top-bar-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex-shrink:0}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.4}}.result-screen{justify-content:center}.result-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.result-emoji{font-size:4rem;animation:bounce-in .6s ease}.result-emoji.win{animation:bounce-in .6s ease,celebrate 1s ease .6s}@keyframes bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes celebrate{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.result-title{font-size:2rem;font-weight:800}.result-message{font-size:1.2rem;color:var(--text-muted);max-width:300px;line-height:1.5}.result-detail{font-size:1.1rem;margin-top:8px}.result-detail strong{color:var(--correct);letter-spacing:.15em}.confirm-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.confirm-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px;text-align:center;max-width:360px;width:90%}.confirm-message{font-size:1.4rem;font-weight:600;margin-bottom:20px}.launcher-screen{justify-content:flex-start;padding-top:16px;gap:24px}.launcher-cards{display:flex;flex-direction:column;gap:16px;width:100%;max-width:480px}.launcher-card{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;transition:border-color .2s,transform .15s}.launcher-card:active{transform:scale(.98)}.launcher-card-icon{width:3.2rem;height:3.2rem;font-size:2.8rem;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}.chess-launcher-icon{font-size:2.8rem;line-height:1;display:block;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6);filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.launcher-card-info{display:flex;flex-direction:column;gap:4px;text-align:left}.launcher-card-name{font-size:1.5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.launcher-card-desc{font-size:.95rem;color:var(--text-muted);line-height:1.4}.launcher-card-cmd{font-size:.9rem;color:var(--text-muted);margin-top:4px}.launcher-card-cmd strong{color:var(--accent)}:root{--chess-sq: clamp(30px, min(9vw, 8.5vh), 64px);--chess-coord: 26px}.chess-coord-container{display:grid;grid-template-columns:var(--chess-coord) auto var(--chess-coord);grid-template-rows:var(--chess-coord) auto var(--chess-coord);gap:2px}.chess-corner{width:var(--chess-coord);height:var(--chess-coord)}.chess-files-row{display:flex}.chess-file-label{width:var(--chess-sq);height:var(--chess-coord);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#e8e8e8;text-transform:uppercase}.chess-ranks-col{display:flex;flex-direction:column}.chess-rank-label{width:var(--chess-coord);height:var(--chess-sq);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#e8e8e8}.chess-board{display:grid;grid-template-columns:repeat(8,var(--chess-sq));grid-template-rows:repeat(8,var(--chess-sq))}.chess-square{width:var(--chess-sq);height:var(--chess-sq);display:flex;align-items:center;justify-content:center;position:relative}.chess-square.light{background:#f0d9b5}.chess-square.dark{background:#b58863}.chess-square.sq-selected{background:#f7d048e6!important}.chess-square.sq-last{box-shadow:inset 0 0 0 3px #dc3232f2!important}.chess-square.sq-check{background:#dc3232d9!important}.chess-square.sq-pending-file{background:#f7d04847!important}.chess-square.sq-pending-dest{background:#50c878d9!important}.chess-square.sq-pending-dest-file{background:#50c87838!important}.chess-piece{width:calc(var(--chess-sq) * .82);height:calc(var(--chess-sq) * .82);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;flex-shrink:0}.chess-valid-dot{position:absolute;width:34%;height:34%;border-radius:50%;background:#28b4508c;z-index:0}.chess-valid-dot.capture{width:92%;height:92%;background:transparent;border:4px solid rgba(40,180,80,.55);border-radius:50%}.chess-stats-screen{justify-content:flex-start;padding-top:60px;gap:20px}.chess-stats-table{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.chess-stats-header,.chess-stats-row{display:grid;grid-template-columns:80px 1fr 1fr 1fr;text-align:center;gap:8px;align-items:center}.chess-stats-col-label{font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.chess-stats-diff-label{font-size:1rem;font-weight:600;text-align:left;color:var(--text-muted)}.chess-stats-cell{font-size:1.8rem;font-weight:700}.chess-stats-cell.win{color:var(--correct)}.chess-stats-cell.loss{color:var(--error)}.chess-stats-cell.draw{color:var(--text-muted)}.chess-setup-screen{justify-content:flex-start;gap:28px;padding-top:16px}.chess-setup-section{display:flex;flex-direction:column;align-items:center;gap:10px}.chess-setup-label{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.chess-setup-options{display:flex;gap:12px}.chess-setup-option{padding:10px 20px;border-radius:8px;border:2px solid var(--border);font-size:1.1rem;font-weight:600;color:var(--text-muted);background:var(--surface);transition:border-color .2s,color .2s}.chess-setup-option.selected{border-color:var(--accent);color:var(--text)}.chess-diff-list{display:flex;flex-direction:column;width:100%;max-width:340px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.chess-diff-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface);transition:background .15s,color .15s}.chess-diff-row:last-child{border-bottom:none}.chess-diff-row.selected{background:#ffffff1a}.chess-diff-name{font-size:.95rem;font-weight:600;color:var(--text);min-width:80px;flex-shrink:0}.chess-diff-row.selected .chess-diff-name{color:var(--accent)}.chess-diff-desc{font-size:.82rem;color:var(--text-muted)}.diff-label{font-size:1rem;font-weight:700}.diff-desc{font-size:.72rem;font-weight:400;color:var(--text-muted);opacity:.8}.chess-setup-option--difficulty.selected .diff-desc{opacity:1;color:var(--text-muted)}.chess-game-screen{justify-content:flex-start;padding-top:clamp(10px,2vh,28px);gap:10px}.chess-status-panel{width:100%;max-width:calc(8 * var(--chess-sq) + 2 * var(--chess-coord));background:#0f0f1eeb;border:2px solid rgba(255,255,255,.22);border-radius:10px;padding:8px 14px;display:flex;flex-direction:column;flex-shrink:0;gap:8px;text-align:center}.chess-status-panel--selected{border-color:#f7d048d9}.chess-status-panel--confirm{border-color:#50c878d9}.chess-status-main{font-size:.95rem;font-weight:800;color:#fff;margin:0;letter-spacing:.02em}@keyframes throb{0%,to{opacity:1}50%{opacity:.35}}.chess-status-thinking{animation:throb 1.1s ease-in-out infinite}.chess-status-hint{font-size:.75rem;color:#d8d8d8;margin:0;line-height:1.4}.chess-move-history{width:100%;max-width:calc(8 * var(--chess-sq) + 2 * var(--chess-coord));flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:1px}.chess-move-row{display:flex;align-items:center;gap:10px;padding:3px 8px;border-radius:4px;flex-shrink:0}.chess-move-row--latest{background:#ffffff14}.chess-move-num{font-size:.72rem;color:#555;min-width:22px;flex-shrink:0;text-align:right}.chess-move-white{font-size:.78rem;font-weight:600;color:#ddd;min-width:52px}.chess-move-black{font-size:.78rem;color:#999;min-width:52px}.chess-result-emoji{font-size:5rem;line-height:1;margin-bottom:8px}.result-title{font-size:1.6rem;font-weight:700;text-align:center}@media(min-width:768px){.title{font-size:3rem}.stats-grid{gap:48px}.stat-number{font-size:3rem}.histogram{max-width:500px}}@media(min-width:700px){html{font-size:min(2.75vw,22px)}:root{--topbar-height: 56px;--cmdbar-height: 64px}.screen{padding:0 2.5rem}.launcher-screen{padding-top:1.5rem;gap:1.5rem}.launcher-cards{max-width:100%;gap:1rem}.launcher-card{padding:1.6rem 1.8rem;border-radius:1rem;gap:1.4rem}.launcher-card-icon{width:3.8rem;height:3.8rem;font-size:3.4rem}.chess-launcher-icon{font-size:3.4rem}.stats-screen{padding-top:1.5rem;gap:1.5rem}.stats-grid{gap:2.5rem}.histogram{max-width:100%}.histogram-bar{height:2rem}.chess-setup-screen{padding-top:1.2rem;gap:1.6rem}.chess-diff-list{max-width:100%}.chess-diff-row{padding:.75rem 1rem}.chess-setup-section{width:100%}.chess-setup-options{gap:1rem}.chess-setup-option{padding:.9rem 1.8rem}.chess-stats-screen{padding-top:1.5rem}.chess-stats-table{max-width:100%}.f1-setup-screen{padding-top:1rem}.f1-setup-section{max-width:100%}.f1-team-option{padding:.6rem .9rem}.f1-format-option,.f1-diff-option{padding:.55rem .9rem}.f1-intro-screen{max-width:100%}.f1-stats-grid{max-width:100%;grid-template-columns:repeat(5,1fr)}.help-screen{padding-top:1.5rem;gap:1rem}.result-message{max-width:24rem}}.f1-setup-subtitle{font-size:.9rem;color:var(--text-muted);margin:-8px 0 12px;letter-spacing:.1em;text-transform:uppercase}.f1-tyre-indicator{display:inline-flex;align-items:center;gap:5px}.f1-tyre-circle{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800;color:#111;font-family:monospace;flex-shrink:0;transition:box-shadow .25s}.f1-tyre-indicator--critical .f1-tyre-circle{box-shadow:0 0 0 3px #f44,0 0 12px #ff444480;animation:f1-tyre-blink .9s infinite}.f1-tyre-indicator--warning .f1-tyre-circle{box-shadow:0 0 0 2px #fa0}@keyframes f1-tyre-blink{0%,to{opacity:1}50%{opacity:.5}}.f1-tyre-age{font-size:.75rem;font-weight:600;min-width:14px}.f1-tyre-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;vertical-align:middle}.f1-intro-screen{display:flex;flex-direction:column;justify-content:flex-start;gap:20px;padding-left:18px;padding-right:18px}.f1-intro-header{display:flex;align-items:center;gap:16px;padding-top:4px}.f1-intro-flag{font-size:3.6rem;line-height:1;flex-shrink:0}.f1-intro-title-block{display:flex;flex-direction:column;gap:2px}.f1-intro-race-num{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e10600;margin:0}.f1-intro-name{font-size:1.35rem;font-weight:700;color:#f0f0f0;margin:0;line-height:1.2}.f1-intro-country{font-size:.85rem;color:#a0a0a8;margin:0}.f1-intro-facts{display:flex;flex-direction:column;gap:14px}.f1-intro-fact{font-size:.92rem;line-height:1.6;color:#d8d8e0;margin:0;padding:12px 14px;background:#ffffff0d;border-left:3px solid #e10600;border-radius:0 8px 8px 0}.f1-setup-screen{justify-content:flex-start;gap:10px;overflow-y:auto}.f1-setup-hint{font-size:.8rem;color:var(--text-muted);width:100%;text-align:center}.f1-setup-section{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px}.f1-setup-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px}.f1-team-options{display:flex;flex-direction:column;gap:5px}.f1-team-option{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;border:2px solid rgba(255,255,255,.08);transition:border-color .2s,background .2s;background:#ffffff08}.f1-team-option.selected{background:#ffffff1a}.f1-team-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.f1-team-name{font-size:.88rem;font-weight:600;flex:1}.f1-team-driver{font-size:.78rem;color:var(--text-muted);flex-shrink:0}.f1-setup-row{display:flex;gap:8px;width:100%}.f1-setup-section--half{flex:1;min-width:0}.f1-format-options{display:flex;flex-direction:column;gap:5px}.f1-format-option{display:flex;flex-direction:column;padding:7px 10px;border-radius:8px;border:2px solid rgba(255,255,255,.08);background:#ffffff08;transition:border-color .2s,background .2s}.f1-format-option.selected{border-color:#e8002d;background:#e8002d1a}.f1-format-main{font-size:.85rem;font-weight:700}.f1-format-desc{font-size:.72rem;color:var(--text-muted)}.f1-diff-options{display:flex;flex-direction:column;gap:5px}.f1-diff-option{display:flex;flex-direction:column;padding:6px 10px;border-radius:8px;border:2px solid rgba(255,255,255,.08);background:#ffffff08;transition:border-color .2s,background .2s}.f1-diff-option.selected{border-color:#27f4d2;background:#27f4d214}.f1-diff-name{font-size:.85rem;font-weight:700}.f1-diff-desc{font-size:.68rem;color:var(--text-muted)}.f1-race-screen{display:flex;flex-direction:column;gap:6px;padding:10px;justify-content:flex-start;align-items:stretch;overflow-y:hidden;box-sizing:border-box}.f1-race-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.f1-race-circuit{font-size:.9rem;font-weight:700;flex-shrink:0}.f1-race-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.f1-lap-heading{display:flex;align-items:baseline;gap:6px;justify-content:center}.f1-lap-number{font-size:2rem;font-weight:900;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#fff;line-height:1}.f1-lap-total{font-size:1rem;font-weight:500;color:#888;font-variant-numeric:tabular-nums}.f1-race-weather{font-size:1.1rem}.f1-sc-badge{background:#fc0;color:#000;font-size:.72rem;font-weight:900;padding:2px 7px;border-radius:5px;letter-spacing:.05em}.f1-vsc-badge{background:#27f4d2;color:#000;font-size:.72rem;font-weight:900;padding:2px 7px;border-radius:5px;letter-spacing:.05em}.f1-driver-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box}.f1-dc-top{display:flex;align-items:center;gap:10px}.f1-dc-team-bar{width:5px;height:36px;border-radius:3px;flex-shrink:0}.f1-dc-identity{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.f1-dc-team{font-size:.68rem;color:#999;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f1-dc-driver{font-size:1rem;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f1-dc-pos{font-size:2rem;font-weight:900;flex-shrink:0;text-transform:uppercase;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.f1-dc-lap{display:flex;align-items:center;gap:5px;flex-shrink:0}.f1-dc-lap-label{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#ccc;font-weight:800;flex-shrink:0}.f1-dc-lap-nums{display:flex;align-items:baseline;gap:2px;line-height:1}.f1-dc-lap-num{font-size:2rem;font-weight:900;color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.f1-dc-lap-total{font-size:.72rem;color:#888;font-variant-numeric:tabular-nums}.f1-dc-row-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#777;font-weight:700;flex-shrink:0;min-width:36px}.f1-dc-wear-label{color:#888;font-size:.78rem}.f1-fatigue-row{display:flex;align-items:center;gap:7px;font-size:.8rem}.f1-fatigue-label{color:#aaa;min-width:76px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.f1-fatigue-bar-bg{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.f1-fatigue-bar-fill{height:100%;border-radius:4px;transition:width .5s ease,background .5s ease;min-width:2px}.f1-fatigue-status{font-size:.72rem;font-weight:700;min-width:52px;text-align:right;transition:color .5s ease}.f1-dc-row{display:flex;align-items:center;gap:8px}.f1-dc-tyre-info{font-size:.8rem;color:#ccc;flex:1}.f1-dc-row--bottom{flex-wrap:wrap;gap:6px 12px}.f1-dc-laptime{font-size:.8rem;color:#bbb;font-variant-numeric:tabular-nums}.f1-dc-nextpit{display:flex;align-items:center;gap:5px;font-size:.8rem;margin-left:auto}.f1-next-label{color:#aaa}.f1-next-tyre{font-weight:600}.f1-race-cards{display:flex;gap:8px;width:100%}.f1-card{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-width:0}.f1-card--full{width:100%;flex:none}.f1-forecast--wide{flex-direction:row;align-items:center;gap:12px}.f1-forecast--wide .f1-forecast-current{flex-shrink:0;gap:4px}.f1-forecast--wide .f1-forecast-icon{font-size:1.4rem}.f1-forecast--wide .f1-forecast-weather-label{font-size:.85rem}.f1-forecast-bar-block{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.f1-forecast--wide .f1-forecast-hint{flex-shrink:0;max-width:130px;text-align:right;font-style:italic}.f1-card-header{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:#888;font-weight:700;margin-bottom:2px}.f1-leaderboard{display:flex;flex-direction:column;gap:3px}.f1-lb-row{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:6px;background:#ffffff0a;font-size:.8rem;font-variant-numeric:tabular-nums}.f1-lb-row--player{background:#ffffff24;font-weight:700}.f1-lb-pos{width:16px;text-align:right;font-weight:700;color:#aaa}.f1-lb-teambar{width:4px;height:18px;border-radius:2px;flex-shrink:0}.f1-lb-abbr{flex:1;font-weight:600;font-size:.82rem}.f1-lb-tyre{flex-shrink:0}.f1-lb-gap{font-size:.72rem;color:#999;min-width:40px;text-align:right}.f1-forecast-strip{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;padding:6px max(12px,env(safe-area-inset-left));background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;min-width:0}.f1-forecast-circuit{font-size:.82rem;font-weight:700;color:#ccc;flex-shrink:0;margin-right:2px}.f1-forecast-strip .f1-forecast-icon{font-size:1.1rem;flex-shrink:0}.f1-forecast-strip .f1-forecast-weather-label{font-size:.8rem;font-weight:700;flex-shrink:0}.f1-forecast-strip .f1-rain-label{font-size:.7rem;color:#888;flex-shrink:0;text-transform:uppercase;letter-spacing:.05em}.f1-forecast-strip .f1-rain-pct{font-size:.8rem;font-weight:700;flex-shrink:0;min-width:2.5ch;text-align:right}.f1-rain-bar-bg--strip{flex:1;height:6px;border-radius:3px;background:#ffffff1f;min-width:40px;overflow:hidden}.f1-forecast-strip .f1-forecast-hint{font-size:.72rem;color:#888;font-style:italic;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.f1-forecast{display:flex;flex-direction:column;gap:7px}.f1-forecast-current{display:flex;align-items:center;gap:6px}.f1-forecast-icon{font-size:1.2rem}.f1-forecast-weather-label{font-size:.9rem;font-weight:700}.f1-rain-row{display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.f1-rain-label{color:#aaa}.f1-rain-pct{font-weight:800;font-variant-numeric:tabular-nums;transition:color .4s ease}.f1-rain-bar-bg{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.f1-rain-bar-fill{height:100%;border-radius:4px;transition:width .6s ease,background .6s ease;min-width:2px}.f1-forecast-hint{font-size:.72rem;color:#bbb;line-height:1.35;font-style:italic}.f1-status-row{display:flex;align-items:center}.f1-mode-badge{font-size:.78rem;font-weight:800;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.05em;background:#ffffff1f;color:#fff}.f1-mode-badge--push{background:#e8002db3}.f1-mode-badge--save_tyres{background:#27f4d266;color:#27f4d2}.f1-mode-badge--save_fuel{background:#ffd0004d;color:#ffd000}.f1-pit-pending{font-size:.72rem;font-weight:900;color:#fc0;letter-spacing:.06em;animation:f1-tyre-blink .7s infinite}.f1-status-row--gaps{justify-content:space-between;align-items:center}.f1-gap-item{display:flex;flex-direction:column;min-width:60px}.f1-gap-item--ahead{align-items:flex-start}.f1-gap-item--behind{align-items:flex-end}.f1-gap-label{font-size:.72rem;color:#aaa}.f1-gap-value{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums}.f1-pos-badge{font-size:1.9rem;font-weight:900;color:#fff;letter-spacing:-.02em}.f1-event-feed{display:flex;flex-direction:column;gap:4px}.f1-event{display:flex;gap:6px;align-items:flex-start;padding:3px 0 3px 8px;border-left:3px solid rgba(255,255,255,.15);font-size:.8rem;line-height:1.35}.f1-event--safety_car,.f1-event--vsc{border-left-color:#fc0}.f1-event--weather{border-left-color:#0067ff}.f1-event--pit{border-left-color:#27f4d2}.f1-event--overtake{border-left-color:#00c850}.f1-event--incident{border-left-color:#e10600;color:#f44}.f1-event-lap{font-size:.72rem;color:#777;white-space:nowrap;padding-top:1px;flex-shrink:0}.f1-event-msg{flex:1}.f1-fastest-strip{display:flex;align-items:center;gap:8px;padding:4px 10px;background:#8000ff26;border:1px solid rgba(128,0,255,.4);border-radius:8px;font-size:.8rem}.f1-fastest-label{font-size:.78rem;color:#b8f;font-weight:700}.f1-fastest-who{font-weight:800;color:#fff}.f1-fastest-time{font-variant-numeric:tabular-nums;color:#c8f;font-size:.78rem;margin-left:auto}.f1-stats-screen{gap:16px}.f1-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:420px}.f1-stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px}.f1-stat-number{font-size:2rem;font-weight:900;line-height:1}.f1-stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.f1-stats-rates{display:flex;gap:10px;align-items:center;font-size:.85rem;color:#bbb}.f1-rate-sep{color:#444}.f1-result-screen{gap:0;overflow-y:auto}.f1-result-content{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:16px 12px 8px;box-sizing:border-box}.f1-result-hero{display:flex;flex-direction:row;align-items:center;gap:16px;width:100%}.f1-result-badge{font-size:3rem;line-height:1;flex-shrink:0}.f1-result-info{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.f1-result-pos{font-size:2.2rem;font-weight:900;margin:0}.f1-result-circuit{font-size:.9rem;color:#aaa;margin:0}.f1-result-pts{font-size:1.1rem;font-weight:700;color:#27f4d2;margin:0}.f1-result-fl{font-size:.9rem;color:#c8f;margin:0}.f1-result-fl-time{font-size:.8rem;color:#999;margin:0;font-variant-numeric:tabular-nums}.f1-result-section{width:100%;max-width:360px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.f1-result-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 4px}.f1-result-row{display:flex;align-items:center;gap:6px;font-size:.85rem;padding:3px 0}.f1-result-row--player{font-weight:800;color:#27f4d2}.f1-result-row-pos{width:28px;color:#888;font-size:.8rem}.f1-result-teambar{width:4px;height:16px;border-radius:2px;flex-shrink:0}.f1-result-row-name{flex:1}.f1-result-row-pts{font-size:.8rem;color:#aaa;font-variant-numeric:tabular-nums}.f1-result-next{font-size:.88rem;color:#aaa;margin:4px 0 0}.f1-fuel-row{display:flex;align-items:center;gap:7px;font-size:.8rem}.f1-fuel-label{color:#aaa;min-width:26px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.f1-fuel-bar-bg{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.f1-fuel-bar-fill{height:100%;border-radius:4px;transition:width .4s ease,background .3s ease}.f1-fuel-pct{font-size:.72rem;color:#ccc;min-width:30px;text-align:right;font-variant-numeric:tabular-nums}
