.modal-backdrop{position:fixed;inset:0;background:rgba(4,6,9,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s ease;}.modal-backdrop.active{opacity:1;pointer-events:auto;}.modal-sheet{width:100%;max-width:500px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px;max-height:88vh;overflow-y:auto;scroll-behavior:smooth;box-shadow:0 -10px 40px rgba(0,0,0,0.8);transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.2,0.9,0.3,1);display:flex;flex-direction:column;gap:16px;}.modal-backdrop.active .modal-sheet{transform:translateY(0);}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);padding-bottom:12px;}.modal-title{font-size:1.15rem;font-weight:900;color:var(--text-main);letter-spacing:0.5px;display:flex;align-items:center;gap:8px;}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;padding:4px 8px;}.modal-body{display:flex;flex-direction:column;gap:14px;}.crash-overlay{position:fixed;inset:0;background:radial-gradient(circle at 50% 50%,rgba(136,0,0,0.95) 0%,rgba(10,0,0,0.98) 100%);z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;opacity:0;pointer-events:none;transition:opacity 0.4s ease;}.crash-overlay.active{opacity:1;pointer-events:auto;}.crash-flames{font-size:5rem;animation:flameBurn 1.2s infinite alternate ease-in-out;margin-bottom:8px;}@keyframes flameBurn{0%{transform:scale(0.95) rotate(-3deg);filter:drop-shadow(0 0 20px #ff3300);}100%{transform:scale(1.1) rotate(4deg);filter:drop-shadow(0 0 45px #ffaa00);}}.crash-title{font-size:2.8rem;font-weight:900;font-style:italic;letter-spacing:2px;color:#ffffff;text-transform:uppercase;text-shadow:0 0 30px rgba(255,0,0,0.9);margin-bottom:4px;}.crash-subtitle{font-size:1.1rem;font-weight:800;letter-spacing:3px;color:#ff8888;text-transform:uppercase;margin-bottom:16px;}.crash-reason-box{background:rgba(0,0,0,0.6);border:1px solid rgba(255,68,68,0.4);border-radius:var(--radius-md);padding:16px;color:#fecaca;font-size:0.95rem;line-height:1.5;margin-bottom:24px;max-width:400px;}.btn-restart-race{background:linear-gradient(135deg,#ef4444 0%,#b91c1c 100%);color:#ffffff;border:1px solid rgba(255,255,255,0.3);border-radius:var(--radius-full);padding:14px 28px;font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:0 8px 24px rgba(239,68,68,0.5);transition:all 0.2s ease;}.btn-restart-race:active{transform:scale(0.95);filter:brightness(1.2);}.modal-form-group{display:flex;flex-direction:column;gap:6px;}.modal-label{font-size:0.8rem;font-weight:700;color:var(--text-muted);}.modal-input{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);padding:10px 12px;font-size:1rem;font-family:var(--font-mono);outline:none;}.modal-input:focus{border-color:var(--border-active);}.modal-actions{display:flex;gap:10px;margin-top:10px;}.btn-primary{flex:1;background:var(--f1-red);color:#ffffff;border:none;border-radius:var(--radius-sm);padding:12px;font-size:0.9rem;font-weight:800;cursor:pointer;transition:all 0.15s ease;}.btn-primary:active{transform:scale(0.96);filter:brightness(1.1);}.btn-secondary{flex:1;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);padding:12px;font-size:0.9rem;font-weight:700;cursor:pointer;}.telemetry-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;}.telemetry-item{display:flex;align-items:flex-start;gap:10px;background:var(--bg-surface-elevated);padding:8px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--border-subtle);font-size:0.8rem;line-height:1.4;}.telemetry-item.gear{border-left-color:var(--gear-4);}.telemetry-item.roll{border-left-color:var(--f1-gold);}.telemetry-item.damage{border-left-color:#ef4444;}.telemetry-item.heal{border-left-color:#10b981;}.telemetry-item.brake{border-left-color:#f97316;}.telemetry-item.crash{border-left-color:#dc2626;background:rgba(220,38,38,0.15);}.telemetry-time{font-family:var(--font-mono);color:var(--text-dim);font-size:0.7rem;white-space:nowrap;}.telemetry-text{flex:1;color:var(--text-main);}.modal-section-divider{height:1px;background:var(--border-subtle);margin:4px 0 2px 0;}.sound-toggles-grid{display:flex;flex-direction:column;gap:6px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;}.sound-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;border-bottom:1px solid rgba(255,255,255,0.05);}.sound-toggle-row:last-child{border-bottom:none;}.sound-toggle-info{display:flex;align-items:center;gap:10px;font-size:0.85rem;color:var(--text-main);font-weight:600;user-select:none;}.sound-toggle-icon{font-size:1.15rem;line-height:1;display:inline-block;width:24px;text-align:center;}.switch-control{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0;}.switch-control input{opacity:0;width:0;height:0;position:absolute;}.switch-slider{position:absolute;cursor:pointer;inset:0;background-color:rgba(255,255,255,0.15);transition:0.25s cubic-bezier(0.4,0,0.2,1);border-radius:26px;border:1px solid rgba(255,255,255,0.2);}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#cbd5e1;transition:0.25s cubic-bezier(0.4,0,0.2,1);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,0.4);}.switch-control input:checked + .switch-slider{background-color:#10b981;border-color:#34d399;}.switch-control input:checked + .switch-slider:before{transform:translateX(20px);background-color:#ffffff;}.switch-control input:focus + .switch-slider{box-shadow:0 0 0 2px rgba(16,185,129,0.4);}.settings-info-box{background:rgba(15,23,42,0.65);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 14px;transition:all 0.25s ease;}.settings-info-box[open]{border-color:rgba(96,165,250,0.45);background:rgba(15,23,42,0.9);box-shadow:0 4px 16px rgba(0,0,0,0.4);}.settings-info-header{font-size:0.85rem;font-weight:800;color:#93c5fd;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;user-select:none;gap:8px;}.settings-info-header::-webkit-details-marker{display:none;}.settings-info-header::after{content:'▶';font-size:0.72rem;color:var(--text-muted);transition:transform 0.2s ease;}.settings-info-box[open] .settings-info-header::after{transform:rotate(90deg);color:#60a5fa;}.settings-info-content{margin-top:0;padding-top:0;border-top:1px solid transparent;font-size:0.78rem;line-height:1.55;color:#cbd5e1;display:flex;flex-direction:column;gap:8px;max-height:0;opacity:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.16,1,0.3,1),opacity 0.35s ease,margin-top 0.35s ease,padding-top 0.35s ease,border-color 0.35s ease;}.settings-info-box[open] .settings-info-content{margin-top:10px;padding-top:10px;border-top-color:rgba(255,255,255,0.08);max-height:1400px;opacity:1;}.settings-info-box.is-collapsing .settings-info-content{margin-top:0 !important;padding-top:0 !important;border-top-color:transparent !important;max-height:0 !important;opacity:0 !important;}.settings-info-box.is-collapsing .settings-info-header::after{transform:rotate(0deg) !important;color:var(--text-muted) !important;}.settings-info-content p{margin:0;}.settings-info-content strong{color:#f8fafc;}.settings-info-badge{display:inline-block;background:rgba(59,130,246,0.15);border:1px solid rgba(96,165,250,0.3);color:#93c5fd;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}.settings-footer-version{text-align:center;font-size:0.68rem;color:var(--text-dim);font-family:var(--font-mono);margin-top:8px;letter-spacing:0.5px;opacity:0.8;}.app-update-notice{position:fixed;top:max(16px,calc(env(safe-area-inset-top,0px) + 12px));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:440px;background:rgba(13,20,36,0.96);border:1.5px solid rgba(56,189,248,0.75);border-radius:var(--radius-md);box-shadow:0 12px 36px rgba(0,0,0,0.9),0 0 24px rgba(56,189,248,0.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:99999;overflow:hidden;animation:noticeSlideDown 0.35s cubic-bezier(0.16,1,0.3,1) forwards;pointer-events:auto;}@keyframes noticeSlideDown{0%{opacity:0;transform:translate(-50%,-24px) scale(0.95);}100%{opacity:1;transform:translate(-50%,0) scale(1);}}.update-notice-body{display:flex;align-items:center;gap:14px;padding:12px 16px;}.update-notice-icon-box{width:44px;height:44px;border-radius:10px;background:rgba(56,189,248,0.15);border:1px solid rgba(56,189,248,0.4);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;animation:noticeSpinPulse 2s ease-in-out infinite;}@keyframes noticeSpinPulse{0%{transform:scale(1) rotate(0deg);}50%{transform:scale(1.08) rotate(180deg);}100%{transform:scale(1) rotate(360deg);}}.update-notice-content{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left;}.update-notice-badge{font-size:0.65rem;font-weight:800;letter-spacing:1px;color:#38bdf8;text-transform:uppercase;}.update-notice-title{font-size:0.88rem;font-weight:600;color:#ffffff;line-height:1.25;}.update-notice-title strong{color:#4ade80;font-family:var(--font-mono);font-weight:800;}.update-notice-sub{font-size:0.74rem;color:#94a3b8;display:flex;justify-content:space-between;align-items:center;margin-top:2px;}.update-notice-countdown{font-family:var(--font-mono);font-weight:700;color:#38bdf8;background:rgba(56,189,248,0.15);padding:1px 6px;border-radius:4px;border:1px solid rgba(56,189,248,0.3);}.update-notice-progress{width:100%;height:4px;background:rgba(255,255,255,0.1);overflow:hidden;}.update-notice-progress-bar{height:100%;width:100%;background:linear-gradient(90deg,#38bdf8,#4ade80);transform-origin:left;animation:updateNoticeBar 3s linear forwards;}@keyframes updateNoticeBar{0%{transform:scaleX(1);}100%{transform:scaleX(0);}}.settings-update-box{background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-sm);padding:8px 10px;}.workshop-intro{background:rgba(245,158,11,0.08);border-left:3px solid #f59e0b;border-radius:4px;padding:8px 10px;margin-bottom:12px;}.workshop-budget-card{background:rgba(15,23,42,0.75);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md);padding:12px;margin-bottom:12px;}.workshop-budget-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}.budget-label{font-size:0.85rem;font-weight:700;color:#f8fafc;}.budget-quick-pills{display:flex;gap:6px;}.budget-pill{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:20px;color:#94a3b8;font-size:0.74rem;font-weight:700;padding:4px 10px;cursor:pointer;transition:all 0.2s ease;}.budget-pill:hover{background:rgba(255,255,255,0.12);color:#ffffff;}.budget-pill.active{background:rgba(245,158,11,0.2);border-color:#f59e0b;color:#fbbf24;box-shadow:0 0 10px rgba(245,158,11,0.25);}.workshop-budget-status{margin-top:10px;display:flex;flex-direction:column;gap:6px;}.budget-status-text{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;font-weight:700;}.badge-status{font-size:0.72rem;font-weight:800;padding:2px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:0.4px;}.badge-status.ok{background:rgba(16,185,129,0.2);border:1px solid #10b981;color:#34d399;}.badge-status.under{background:rgba(56,189,248,0.2);border:1px solid #38bdf8;color:#38bdf8;}.badge-status.over{background:rgba(239,68,68,0.2);border:1px solid #ef4444;color:#f87171;}.workshop-budget-bar{width:100%;height:6px;background:rgba(255,255,255,0.08);border-radius:3px;overflow:hidden;}.budget-fill{height:100%;border-radius:3px;transition:width 0.25s ease,background 0.25s ease;}.budget-fill.ok{background:linear-gradient(90deg,#10b981,#34d399);box-shadow:0 0 8px rgba(16,185,129,0.5);}.budget-fill.under{background:linear-gradient(90deg,#0284c7,#38bdf8);}.budget-fill.over{background:linear-gradient(90deg,#dc2626,#ef4444);}.workshop-strategies-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}.strategy-pills-wrap{display:flex;gap:6px;flex-wrap:wrap;}.strategy-pill{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#cbd5e1;font-size:0.74rem;font-weight:600;padding:4px 8px;cursor:pointer;transition:all 0.15s ease;}.strategy-pill:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.25);color:#ffffff;transform:translateY(-1px);}.strategy-pill.active{background:linear-gradient(135deg,rgba(245,158,11,0.3) 0%,rgba(217,119,6,0.45) 100%);border-color:#fbbf24;color:#fbbf24;box-shadow:0 0 10px rgba(245,158,11,0.4);font-weight:800;}.workshop-organs-list{display:flex;flex-direction:column;gap:8px;}.workshop-organ-row{background:rgba(14,18,26,0.7);border:1px solid rgba(255,255,255,0.07);border-radius:var(--radius-sm);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:border-color 0.2s ease,background-color 0.2s ease;}.workshop-organ-row:hover{border-color:rgba(255,255,255,0.16);background:rgba(20,26,38,0.85);}.workshop-organ-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}.workshop-organ-icon{font-size:1.25rem;line-height:1;}.workshop-organ-text{display:flex;flex-direction:column;}.workshop-organ-name{font-size:0.86rem;font-weight:700;color:#f1f5f9;}.workshop-organ-desc{font-size:0.68rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.workshop-organ-controls{display:flex;align-items:center;gap:8px;}.btn-adjust{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);color:#ffffff;font-size:1.15rem;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;transition:all 0.15s ease;}.btn-adjust:hover:not(:disabled){background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4);transform:scale(1.05);}.btn-adjust:active:not(:disabled){transform:scale(0.94);}.btn-adjust:disabled{opacity:0.25;cursor:not-allowed;}.organ-pts-val{font-family:var(--font-mono,monospace);font-size:1.05rem;font-weight:800;color:#38bdf8;min-width:26px;text-align:center;}#btnApplyWorkshop:disabled{opacity:0.45;filter:grayscale(0.7);cursor:not-allowed;transform:none !important;box-shadow:none !important;}#btnApplyWorkshop:not(:disabled){box-shadow:0 0 16px rgba(16,185,129,0.4);animation:pulseWorkshopValid 2.5s infinite;}@keyframes pulseWorkshopValid{0%,100%{box-shadow:0 0 14px rgba(16,185,129,0.4);}50%{box-shadow:0 0 24px rgba(16,185,129,0.7);}}.btn-host-share{transition:transform 0.15s ease,box-shadow 0.15s ease,filter 0.15s ease;}.btn-host-share:hover:not(:disabled):not(.disabled){transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 18px rgba(245,158,11,0.45);}.btn-host-share:active:not(:disabled):not(.disabled){transform:scale(0.98);}.btn-host-share:disabled,.btn-host-share.disabled{opacity:0.42 !important;filter:grayscale(0.75) !important;cursor:not-allowed !important;transform:none !important;box-shadow:none !important;}.host-lock-option{display:flex;gap:10px;padding:10px;background:rgba(30,41,59,0.65);border:1.5px solid rgba(148,163,184,0.25);border-radius:8px;cursor:pointer;transition:all 0.2s ease;user-select:none;}.host-lock-option:hover{border-color:rgba(245,158,11,0.5);background:rgba(245,158,11,0.08);}.host-lock-option.active{background:rgba(245,158,11,0.16) !important;border-color:#f59e0b !important;box-shadow:0 0 12px rgba(245,158,11,0.25);}.host-qr-container svg{width:170px;height:170px;display:block;}.host-guest-row{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;background:rgba(30,41,59,0.65);border:1px solid rgba(148,163,184,0.15);border-radius:6px;transition:background 0.15s ease;}.host-guest-row:hover{background:rgba(30,41,59,0.85);border-color:rgba(148,163,184,0.3);}.guest-info{display:flex;align-items:center;gap:8px;min-width:0;}.guest-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}.guest-status-dot.online{background:#10b981;box-shadow:0 0 8px #10b981;animation:pulseDot 2s infinite;}.guest-status-dot.offline{background:#94a3b8;opacity:0.6;}.guest-status-dot.pending{background:#f59e0b;box-shadow:0 0 8px #f59e0b;animation:blinkDot 1.2s infinite;}@keyframes pulseDot{0%{transform:scale(0.95);opacity:0.8;}50%{transform:scale(1.15);opacity:1;}100%{transform:scale(0.95);opacity:0.8;}}@keyframes blinkDot{0%,100%{opacity:1;}50%{opacity:0.35;}}.guest-name{font-size:0.8rem;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.guest-status-label{font-size:0.68rem;color:#94a3b8;margin-left:2px;}.btn-kick-guest{padding:4px 8px;font-size:0.7rem;font-weight:700;background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.4);color:#fca5a5;border-radius:5px;cursor:pointer;transition:all 0.15s ease;flex-shrink:0;}.btn-kick-guest:hover{background:#ef4444;color:#ffffff;border-color:#ef4444;box-shadow:0 2px 8px rgba(239,68,68,0.4);}.host-guest-list::-webkit-scrollbar{width:5px;}.host-guest-list::-webkit-scrollbar-thumb{background:rgba(148,163,184,0.3);border-radius:4px;}.course-invitation-notice{position:fixed;top:max(14px,calc(env(safe-area-inset-top,0px) + 12px));left:50%;transform:translateX(-50%);z-index:99999;width:calc(100% - 24px);max-width:480px;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border:1.5px solid #f59e0b;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.8),0 0 20px rgba(245,158,11,0.35);padding:10px 14px;animation:slideDownInvitation 0.4s cubic-bezier(0.16,1,0.3,1);}@keyframes slideDownInvitation{from{opacity:0;transform:translate(-50%,-20px);}to{opacity:1;transform:translate(-50%,0);}}.invitation-notice-body{display:flex;align-items:center;gap:12px;}.invitation-notice-icon-box{width:40px;height:40px;border-radius:10px;background:rgba(245,158,11,0.15);border:1px solid rgba(245,158,11,0.35);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;}.invitation-notice-content{display:flex;flex-direction:column;flex:1;min-width:0;}.invitation-notice-badge{font-size:0.64rem;font-weight:800;color:#fbbf24;letter-spacing:0.5px;text-transform:uppercase;}.invitation-notice-title{font-size:0.88rem;font-weight:800;color:#ffffff;margin-top:1px;}.invitation-notice-sub{font-size:0.74rem;color:#cbd5e1;margin-top:2px;line-height:1.3;}.btn-invitation-dismiss{background:transparent;border:none;color:#94a3b8;font-size:1.1rem;font-weight:700;cursor:pointer;padding:6px;line-height:1;border-radius:6px;transition:color 0.15s ease,background 0.15s ease;}.btn-invitation-dismiss:hover{color:#ffffff;background:rgba(255,255,255,0.1);}.header-pilots-btn{width:auto !important;min-width:44px;padding:0 8px;gap:5px;font-size:0.85rem;font-weight:800;color:#10b981;background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.35);cursor:pointer;transition:all 0.2s ease;border-radius:var(--radius-sm);}.header-pilots-btn:hover{background:rgba(16,185,129,0.22);border-color:rgba(16,185,129,0.6);}.header-pilots-btn.has-guests{background:rgba(16,185,129,0.25);border-color:#10b981;box-shadow:0 0 10px rgba(16,185,129,0.35);}.header-pilots-btn .pilots-badge{font-size:0.72rem;font-family:var(--font-mono,monospace);letter-spacing:-0.2px;}