@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";.moa-navigation-controls{position:absolute;top:10px;left:10px;z-index:10;display:flex;gap:16px;background:#000000b3;border-radius:8px;padding:8px;border:1px solid var(--hairline)}.pan-controls,.zoom-controls{display:flex;flex-direction:column;align-items:center;gap:4px}.pan-controls>div{display:flex;gap:4px}.moa-navigation-controls button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:700;width:32px;height:32px;cursor:pointer;border-radius:4px;font-size:16px;line-height:1}.moa-navigation-controls button:hover{background:#fff3}.zoom-controls span{font-size:12px;color:var(--color-white);padding:4px 0;min-width:40px;text-align:center;font-weight:700}.offline-indicator{background:#fff;border-radius:8px;font-family:inherit;transition:all .3s ease}.offline-indicator.dark{background:#1f2937}.offline-indicator.compact{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border:1px solid #e5e7eb;min-width:80px}.offline-indicator.compact.dark{border-color:#4b5563}.offline-status{display:flex;align-items:center;gap:6px}.offline-icon{font-size:1rem;display:flex;align-items:center;justify-content:center}.offline-text{font-size:.8125rem;font-weight:500;color:#374151;white-space:nowrap}.offline-indicator.dark .offline-text{color:#d1d5db}.cache-button{background:transparent;border:none;font-size:.875rem;cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .2s ease;color:#6b7280}.cache-button:hover{background:#f3f4f6;color:#3b82f6}.offline-indicator.dark .cache-button:hover{background:#374151;color:#60a5fa}.offline-indicator.compact.online{border-color:#10b981;background:#10b9810d}.offline-indicator.compact.offline{border-color:#ef4444;background:#ef44440d}.offline-indicator.compact.offline-cached{border-color:#f59e0b;background:#f59e0b0d}.offline-indicator.compact.syncing{border-color:#3b82f6;background:#3b82f60d}.offline-indicator.compact.loading{border-color:#6b7280;background:#6b72800d}.offline-indicator.detailed{padding:16px;border:1px solid #e5e7eb;min-width:300px}.offline-indicator.detailed.dark{border-color:#4b5563}.offline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.status-info{display:flex;align-items:center;gap:12px}.status-details{display:flex;flex-direction:column;gap:2px}.status-text{font-size:.875rem;font-weight:600;color:#1f2937}.offline-indicator.dark .status-text{color:#f9fafb}.status-subtitle{font-size:.75rem;color:#6b7280;font-weight:400}.offline-indicator.dark .status-subtitle{color:#9ca3af}.offline-actions{display:flex;gap:8px}.cache-manage-btn{background:#3b82f6;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cache-manage-btn:hover{background:#1e40af;transform:translateY(-1px)}.offline-details{margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f8fafc;border-radius:6px}.offline-indicator.dark .detail-item{background:#374151}.detail-label{font-size:.8125rem;color:#6b7280;font-weight:500}.offline-indicator.dark .detail-label{color:#9ca3af}.detail-value{font-size:.8125rem;font-weight:600;color:#1f2937}.offline-indicator.dark .detail-value{color:#f3f4f6}.detail-value.status-online{color:#10b981}.detail-value.status-offline{color:#ef4444}.cache-stats{background:#f8fafc;border-radius:6px;padding:12px;margin-bottom:16px}.offline-indicator.dark .cache-stats{background:#374151}.cache-stats h4{font-size:.875rem;font-weight:600;color:#1f2937;margin:0 0 8px}.offline-indicator.dark .cache-stats h4{color:#f9fafb}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-item{text-align:center;padding:8px;background:#fff;border-radius:4px}.offline-indicator.dark .stat-item{background:#1f2937}.stat-value{display:block;font-size:1rem;font-weight:700;color:#3b82f6;margin-bottom:2px}.stat-label{font-size:.75rem;color:#6b7280;font-weight:500}.offline-indicator.dark .stat-label{color:#9ca3af}.offline-capabilities{background:#f8fafc;border-radius:6px;padding:12px}.offline-indicator.dark .offline-capabilities{background:#374151}.offline-capabilities h4{font-size:.875rem;font-weight:600;color:#1f2937;margin:0 0 8px}.offline-indicator.dark .offline-capabilities h4{color:#f9fafb}.capabilities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.capability-item{display:flex;align-items:center;gap:6px;font-size:.8125rem}.capability-icon{font-size:.875rem}.capability-name{color:#374151;font-weight:500}.offline-indicator.dark .capability-name{color:#d1d5db}.cache-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#000!important;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;color:#fff!important;border:1px solid #333333!important}.offline-indicator.dark .modal-content{background:#1f2937}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.offline-indicator.dark .modal-header{border-bottom-color:#4b5563}.modal-header h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.offline-indicator.dark .modal-header h3{color:#f9fafb}.close-btn{background:transparent;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:4px}.close-btn:hover{color:#1f2937}.offline-indicator.dark .close-btn:hover{color:#f9fafb}.modal-body{padding:24px}.cache-overview{margin-bottom:24px}.overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.overview-item{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f8fafc;border-radius:8px}.offline-indicator.dark .overview-item{background:#374151}.overview-label{font-size:.75rem;color:#6b7280;font-weight:500;margin-bottom:4px}.offline-indicator.dark .overview-label{color:#9ca3af}.overview-value{font-size:1.125rem;font-weight:700;color:#1f2937}.offline-indicator.dark .overview-value{color:#f9fafb}.cache-breakdown{background:#f8fafc;border-radius:8px;padding:16px}.offline-indicator.dark .cache-breakdown{background:#374151}.cache-breakdown h4{font-size:.875rem;font-weight:600;color:#1f2937;margin:0 0 12px}.offline-indicator.dark .cache-breakdown h4{color:#f9fafb}.breakdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.breakdown-item{display:flex;flex-direction:column;align-items:center;padding:8px;background:#fff;border-radius:6px}.offline-indicator.dark .breakdown-item{background:#1f2937}.priority-label{font-size:.75rem;font-weight:500;margin-bottom:4px;padding:2px 6px;border-radius:4px}.priority-label.high{background:#fef2f2;color:#dc2626}.priority-label.medium{background:#fef3c7;color:#d97706}.priority-label.low{background:#f0f9ff;color:#0369a1}.offline-indicator.dark .priority-label.high{background:#dc262633;color:#fca5a5}.offline-indicator.dark .priority-label.medium{background:#d9770633;color:#fcd34d}.offline-indicator.dark .priority-label.low{background:#0369a133;color:#93c5fd}.priority-count{font-size:1rem;font-weight:700;color:#1f2937}.offline-indicator.dark .priority-count{color:#f9fafb}.cache-actions{margin-bottom:24px}.cache-actions h4{font-size:.875rem;font-weight:600;color:#1f2937;margin:0 0 12px}.offline-indicator.dark .cache-actions h4{color:#f9fafb}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.action-btn{padding:8px 12px;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover:not(:disabled){background:#1e40af}.action-btn.secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.action-btn.secondary:hover:not(:disabled){background:#e5e7eb}.offline-indicator.dark .action-btn.secondary{background:#374151;color:#d1d5db;border-color:#4b5563}.offline-indicator.dark .action-btn.secondary:hover:not(:disabled){background:#4b5563}.action-btn.danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.action-btn.danger:hover:not(:disabled){background:#fee2e2}.offline-indicator.dark .action-btn.danger{background:#dc26261a;border-color:#dc26264d;color:#fca5a5}.sync-queue{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px}.offline-indicator.dark .sync-queue{background:#3b82f61a;border-color:#3b82f64d}.sync-queue h4{font-size:.875rem;font-weight:600;color:#1e40af;margin:0 0 8px}.offline-indicator.dark .sync-queue h4{color:#93c5fd}.sync-queue p{font-size:.8125rem;color:#1e40af;margin:0 0 8px;line-height:1.4}.offline-indicator.dark .sync-queue p{color:#dbeafe}.queue-note{font-style:italic;color:#3b82f6!important;margin:0!important}.offline-indicator.dark .queue-note{color:#93c5fd!important}.modal-footer{display:flex;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e5e7eb}.offline-indicator.dark .modal-footer{border-top-color:#4b5563}.close-btn-footer{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.close-btn-footer:hover{background:#1e40af}@media (max-width: 768px){.offline-indicator.detailed{min-width:auto;width:100%}.detail-grid,.stats-grid,.capabilities-grid,.overview-stats,.breakdown-grid,.action-buttons{grid-template-columns:1fr}.modal-content{width:95%}}@media (max-width: 480px){.modal-body{padding:20px}.modal-footer{padding:16px 20px}}.offline-indicator.loading{opacity:.7}.offline-indicator.loading .offline-icon{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.drills-page *{box-sizing:border-box}.drills-page{background:#000;color:#fff;min-height:100vh;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;width:100%;overflow-x:hidden}.drills-page-container{max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box;width:100%}.drills-header{border-bottom:2px solid #333333;margin-bottom:32px;padding-bottom:24px}.header-content{text-align:center}.page-title{font-size:32px;font-weight:700;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.drills-page .page-subtitle{color:#666!important;font-size:12px!important;margin:0 0 16px}.breadcrumb{display:flex;justify-content:center;align-items:center;gap:8px;font-size:14px;margin-top:16px}.breadcrumb-link{background:none;border:none;color:#fe5900;cursor:pointer;text-decoration:underline}.breadcrumb-separator{color:#666}.breadcrumb-current{color:#fff;font-weight:700}.drill-selector-loading{text-align:center;padding:64px 0}.loading-spinner{width:40px;height:40px;border:4px solid #333333;border-top:4px solid #fe5900;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drill-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:32px;padding:24px;border:1px solid #333333;background:#111;width:100%}@media (max-width: 768px){.drill-controls{grid-template-columns:1fr;gap:16px}}.control-label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;color:gray;margin-bottom:8px;text-transform:uppercase}.skill-level-buttons{display:flex;gap:1px;border:1px solid #333333;background:#333}.skill-level-btn{flex:1;padding:10px 8px;background:#000;color:#fff;border:none;font-size:11px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .2s}.skill-level-btn.active{background:#fe5900;color:#000}.skill-level-btn:hover:not(.active){background:#222}.skill-level-info{font-size:11px;color:#666;margin-top:4px;text-align:center}.category-select{width:100%;padding:10px;background:#000;border:1px solid #333333;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;box-sizing:border-box}.search-input{width:100%;padding:10px;background:#000;border:2px solid #cccccc;color:#fff;font-size:14px;box-sizing:border-box}.search-input::placeholder{color:#666}.drill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:24px;width:100%}.drill-card{border:1px solid #333333;background:#111;transition:border-color .2s}.drill-card:hover{border-color:#fe5900}.drill-card-header{padding:20px;border-bottom:1px solid #333333}.drill-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.drill-name{font-size:18px;font-weight:700;margin:0;text-transform:uppercase}.drill-badges{display:flex;gap:4px;flex-wrap:wrap}.mode-badge{padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;border-radius:0}.mode-badge.live{background:#f44;color:#fff}.mode-badge.dry{background:#44f;color:#fff}.category-badge{padding:2px 8px;background:#333;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase}.drill-card-content{padding:20px}.drill-setup{margin-bottom:16px}.setup-item{display:flex;justify-content:space-between;margin-bottom:4px;font-size:14px}.setup-label{color:gray;font-weight:700}.setup-value{color:#fff}.drill-strings{margin-bottom:16px}.strings-label{font-size:12px;font-weight:700;color:gray;margin-bottom:8px;text-transform:uppercase}.string-summary{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px;font-family:monospace}.string-shots{color:#fff}.string-par{color:#fe5900;font-weight:700}.drill-instructions-preview{font-size:13px;color:#ccc;line-height:1.4}.drill-card-footer{padding:20px;border-top:1px solid #333333}.select-drill-btn{width:100%;padding:12px;background:#fe5900;color:#000;border:none;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:background-color .2s}.select-drill-btn:hover{background:#f70}.no-drills-found{text-align:center;padding:64px 0;color:#666}.drill-execution{max-width:600px;margin:0 auto;padding-bottom:60px}.execution-header{margin-bottom:20px}.header-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.execution-header .drill-name{font-size:20px;font-weight:700;margin:0;text-transform:uppercase}.drill-meta{display:flex;gap:8px;font-size:12px}.mode-indicator{padding:2px 8px;background:#333;color:#fff;font-weight:700;text-transform:uppercase}.skill-level{padding:2px 8px;background:#fe5900;color:#000;font-weight:700;text-transform:uppercase}.progress-section{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:3px;background:#333}.progress-fill{height:100%;background:#fe5900;transition:width .3s}.progress-text{font-size:12px;color:gray;font-family:monospace}.safety-notice-bottom{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#300;border-top:1px solid #ff0000;font-size:12px;line-height:1.4;z-index:1000}.safety-notice-bottom .safety-icon{font-size:14px}.safety-notice-bottom .safety-text{color:#fff}.drill-prep{text-align:center}.string-summary{margin-bottom:20px}.string-meta{display:flex;justify-content:center;gap:24px;font-family:monospace;font-size:16px}.shots-count{color:#fff;font-weight:700}.par-time{color:#fe5900;font-weight:700}.string-instructions{margin-bottom:24px;text-align:left;padding:16px;border:1px solid #333333;background:#111;line-height:1.5}.scoring-note{margin-top:12px;font-size:13px;color:gray;font-style:italic}.prep-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.start-string-btn{padding:14px 24px;background:#0f0;color:#000;border:none;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer}.cancel-btn{padding:14px 20px;background:#333;color:#fff;border:none;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer}.drill-running{text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center;max-width:600px;margin:0 auto}.drill-running .timer-display-container{flex:1;display:flex;align-items:center;justify-content:center;margin:16px 0}.drill-running .timer-display{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(48px,12vw,72px);font-weight:900;line-height:1;text-align:center;letter-spacing:-.02em;color:#fff;width:100%;max-width:100%;overflow:hidden;white-space:nowrap}.drill-running .timer-display.failed{color:#f44}.drill-running .timer-display.passed{color:#0f8}.par-status{display:flex;justify-content:center;align-items:center;gap:16px;font-size:16px;font-family:monospace}.par-time-label{color:gray}.par-status-indicator{font-weight:700}.par-status-indicator.under{color:#0f8}.par-status-indicator.over{color:#f44}.voice-status{font-size:18px;font-weight:700;color:#fff;padding:12px 20px;background:#111;border:1px solid #333333;text-transform:uppercase;min-width:200px;border-radius:4px}.stop-string-btn{padding:12px 24px;background:red;color:#fff;border:none;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer;border-radius:4px}.current-command{font-size:24px;font-weight:700;padding:16px;border:2px solid #fe5900;background:#111;text-transform:uppercase}.stop-string-btn{padding:16px 32px;background:red;color:#fff;border:none;font-size:16px;font-weight:700;text-transform:uppercase;cursor:pointer}.drill-scoring{text-align:center;display:flex;flex-direction:column;gap:24px;align-items:center;max-width:600px;margin:0 auto}.drill-scoring .timer-display-container{flex:1;display:flex;align-items:center;justify-content:center;margin:16px 0}.drill-scoring .timer-display{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(48px,12vw,72px);font-weight:900;line-height:1;text-align:center;letter-spacing:-.02em;color:#fff;width:100%;max-width:100%;overflow:hidden;white-space:nowrap}.drill-scoring .timer-display.passed{color:#0f8}.drill-scoring .timer-display.failed{color:#f44}.time-result{display:flex;justify-content:center;align-items:center;gap:16px;font-size:16px;font-family:monospace;margin-bottom:8px}.par-label{color:gray}.time-delta{font-weight:700}.time-delta.under{color:#0f8}.time-delta.over{color:#f44}.score-grid{display:grid;gap:8px;max-width:320px;margin:0 auto}.score-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #333333;background:#111;font-size:14px}.score-controls{display:flex;align-items:center;gap:8px}.score-controls button{width:28px;height:28px;background:#333;color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer}.score-controls button:hover{background:#fe5900;color:#000}.score-value{font-size:16px;font-weight:700;min-width:24px;text-align:center}.scoring-summary{display:flex;justify-content:space-between;align-items:center;gap:16px}.shot-count{font-family:monospace;font-size:16px;font-weight:700}.shot-count.complete{color:#0f0}.shot-count.incomplete{color:#f90}.score-string-btn{padding:12px 20px;background:#0f0;color:#000;border:none;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer;flex-shrink:0}.score-string-btn:disabled{background:#333;color:#666;cursor:not-allowed}.drill-results{max-width:800px;margin:0 auto}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #333333}.results-header .drill-name{font-size:24px;margin:0}.completion-status{display:flex;gap:8px}.status-badge{padding:6px 12px;font-size:12px;font-weight:700;text-transform:uppercase}.status-badge.passed{background:#0f0;color:#000}.status-badge.failed{background:red;color:#fff}.performance-summary{display:flex;align-items:center;gap:32px;margin-bottom:32px;padding:24px;border:1px solid #333333;background:#111}.performance-grade{font-size:64px;font-weight:700}.performance-stats{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-item{text-align:center}.stat-value{font-size:24px;font-weight:700;color:#fe5900;font-family:monospace}.stat-label{font-size:12px;color:gray;text-transform:uppercase}.section-title{font-size:18px;font-weight:700;text-transform:uppercase;margin-bottom:16px;color:gray}.string-results-table{border:1px solid #333333;margin-bottom:32px}.table-header,.table-row{display:grid;grid-template-columns:1fr 1fr 1fr 2fr 1fr;gap:1px;background:#333}.table-header .col{padding:12px;background:#222;font-size:12px;font-weight:700;text-transform:uppercase;color:gray;text-align:center}.table-row .col{padding:12px;background:#111;text-align:center;font-family:monospace}.under-par{color:#0f0}.over-par{color:red}.status.pass{color:#0f0;font-weight:700}.status.fail{color:red;font-weight:700}.performance-analysis{margin-bottom:32px}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.analysis-item{padding:16px;border:1px solid #333333;background:#111;text-align:center}.analysis-label{font-size:12px;color:gray;text-transform:uppercase;margin-bottom:8px}.analysis-value{font-size:16px;font-weight:700;color:#fe5900;margin-bottom:8px}.analysis-note{font-size:12px;color:#ccc}.recommendations{margin-bottom:32px}.recommendation-card{padding:20px;border:1px solid #333333;background:#111;margin-bottom:16px}.recommendation-message{font-size:16px;margin-bottom:8px}.recommendation-next{font-size:14px;color:gray}.skill-progression{text-align:center}.progression-label{font-size:14px;color:gray;margin-bottom:12px}.progression-steps{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.progression-step{padding:8px 12px;border:1px solid #333333;background:#222;font-size:12px;font-weight:700}.progression-step.completed{background:#0f0;color:#000}.progression-step.current{background:#fe5900;color:#000}.progression-advice{font-size:12px;color:gray;font-style:italic}.results-actions{display:flex;justify-content:center;gap:16px;margin-bottom:32px}.retry-btn{padding:16px 32px;background:#fe5900;color:#000;border:none;font-size:16px;font-weight:700;text-transform:uppercase;cursor:pointer}.back-btn{padding:16px 32px;background:#333;color:#fff;border:none;font-size:16px;font-weight:700;text-transform:uppercase;cursor:pointer}.session-data{padding:16px;border:1px solid #333333;background:#111;text-align:center}.session-info{font-size:12px;color:#666}@media (max-width: 768px){.drill-grid{grid-template-columns:1fr}.drill-title{flex-direction:column;gap:8px}.string-details{grid-template-columns:1fr;gap:8px}.performance-summary{flex-direction:column;text-align:center}.performance-stats{grid-template-columns:repeat(2,1fr)}.analysis-grid{grid-template-columns:1fr}.table-header,.table-row{font-size:11px}.elapsed-time{font-size:48px}}.equipment-page{background:var(--color-background, #0f0f0f);min-height:100vh;color:var(--color-text)}.equipment-page-container{max-width:1200px;margin:0 auto;background:#000}.equipment-header{padding:32px 16px 16px;border-bottom:1px solid var(--hairline)}.equipment-header .page-title{margin:0;letter-spacing:.12em;font-size:20px}.equipment-header .page-subtitle{margin:8px 0 0;color:var(--color-text-dim);font-size:12px}.equipment-header .header-actions{margin-top:12px;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.equipment-header .header-actions .ds-btn.ds-btn-sm,.equipment-header .header-actions .file-btn.ds-btn-sm{padding:4px 10px!important;font-size:10px!important;border-radius:6px!important}.equipment-content{padding:16px}.equipment-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.equipment-sidebar{display:flex;flex-direction:column;gap:12px}.category-tabs{display:flex;gap:6px}.cat-tab{flex:1;background:var(--surface-1);border:1px solid var(--hairline);color:var(--color-text);padding:8px;font-size:11px}.cat-tab.active{border-color:var(--color-accent)}.equipment-list{display:flex;flex-direction:column;gap:10px}.empty{color:var(--color-text-dim);font-size:12px;text-align:center;padding:12px;border:1px dashed var(--hairline)}.equip-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:8px;padding:12px;cursor:pointer}.equip-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px #ff660026}.equip-title{display:flex;align-items:center;justify-content:space-between}.equip-name{font-weight:600}.equip-sub{color:var(--color-text-dim);font-size:11px}.badge-warn{background:#f60;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px}.equip-meta{display:flex;gap:10px;color:var(--color-text-dim);font-size:11px;margin-top:6px}.equip-actions{display:flex;gap:6px;margin-top:8px}.equip-actions .mini{background:var(--surface-0);color:var(--color-text);border:1px solid var(--hairline);padding:4px 8px;font-size:10px}.equip-actions .mini.danger{border-color:#733;color:#f77}.reminders{margin-top:8px;border:1px solid var(--hairline);border-radius:8px;overflow:hidden}.rem-title{padding:8px;background:var(--surface-1);border-bottom:1px solid var(--hairline);font-size:11px;letter-spacing:.08em}.rem-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:8px;font-size:11px;border-top:1px solid var(--hairline)}.rem-item:first-of-type{border-top:none}.rem-type{color:var(--color-text-dim)}.rem-due{color:var(--color-text)}.rem-due.overdue{color:#f66}.equipment-detail{min-height:520px}.placeholder{opacity:.7;padding:24px;border:1px dashed #333}.edit-panel,.detail-panel{background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;padding:16px}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.detail-title{font-size:16px;font-weight:700}.detail-sub{color:var(--color-text-dim);font-size:12px}.detail-actions{display:flex;gap:8px}.detail-actions .ds-btn.ds-btn-sm{padding:4px 10px!important;font-size:10px!important;border-radius:6px!important}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{border:1px solid var(--hairline);background:var(--surface-0);border-radius:10px;padding:12px}.card-title{color:var(--color-accent);font-size:12px;margin-bottom:8px;letter-spacing:.08em}.kv{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:6px 0}.notes{white-space:pre-wrap;color:var(--color-text);font-size:12px}.row-actions{display:flex;gap:6px;margin-top:8px}.row-actions .mini{background:var(--surface-0);color:var(--color-text);border:1px solid var(--hairline);padding:4px 8px;font-size:10px}.span-2{grid-column:span 2}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.edit-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px}.edit-grid input,.edit-grid select,.edit-grid textarea{background:var(--surface-0);color:var(--color-text);border:1px solid var(--hairline);padding:8px 10px}.edit-actions{display:flex;gap:8px;margin-top:10px}@media (max-width: 900px){.equipment-layout{grid-template-columns:1fr}}@media (max-width: 480px){.equipment-header .header-actions .ds-btn.ds-btn-sm,.equipment-header .header-actions .file-btn.ds-btn-sm,.detail-actions .ds-btn.ds-btn-sm{padding:3px 8px!important;font-size:9.5px!important}}.settings-main{min-height:100vh;background:var(--surface-0);color:var(--text-0);padding:0}.settings-header{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-0);margin-bottom:var(--space-4);padding:var(--space-4)}.settings-header h1{font-size:clamp(22px,2.4vw,32px);font-weight:700;color:var(--text-0);margin:0 0 var(--space-1) 0;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1}.settings-header .ds-subtitle{font-size:12px;color:var(--muted);margin:0;text-transform:uppercase;letter-spacing:.08em}.current-plan-badge .ds-status{background:var(--accent);color:var(--accent-contrast);padding:var(--space-1) var(--space-2);border:1px solid var(--accent);border-radius:var(--radius-0);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.settings-layout{display:flex;gap:var(--space-3);margin:0 var(--space-3)}.settings-nav{min-width:280px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-0);height:fit-content}.ds-panel-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline);background:var(--surface-0)}.ds-panel-title{font-size:12px;font-weight:700;color:var(--text-0);text-transform:uppercase;letter-spacing:.08em;margin:0}.settings-nav-list{padding:0}.settings-nav-item{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;border:none;border-bottom:1px solid var(--hairline);background:transparent;color:var(--text-0);cursor:pointer;transition:none;font-family:inherit}.settings-nav-item:hover{background:var(--surface-2)}.settings-nav-item.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.nav-item-name{font-size:12px;font-weight:700;margin-bottom:var(--space-0);text-transform:uppercase;letter-spacing:.08em}.nav-item-desc{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.settings-nav-item.active .nav-item-desc{color:var(--accent-contrast);opacity:.85}.settings-content{flex:1;min-width:0}.ds-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-0);margin-bottom:var(--space-4);padding:var(--space-4)}.ds-text-2xl{font-size:clamp(18px,2vw,24px);font-weight:700;color:var(--text-0);text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;margin-bottom:var(--space-2)}.ds-text-semibold{font-weight:600}.ds-label{display:block;font-size:12px;font-weight:700;color:var(--text-0);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-0)}.ds-input,.ds-select{width:100%;padding:10px 12px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--radius-0);color:var(--text-0);font-family:inherit;font-size:12px}.ds-input:focus,.ds-select:focus{outline:2px solid var(--focus);outline-offset:2px}.ds-input[type=range]{-webkit-appearance:none;appearance:none;height:4px;background:var(--hairline);cursor:pointer}.ds-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);cursor:pointer;border-radius:var(--radius-0);border:none}.ds-input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent);cursor:pointer;border-radius:var(--radius-0);border:none}.ds-btn-primary,.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:42px;padding-inline:16px;border:1px solid var(--hairline);background:var(--surface-1);color:var(--text-0);border-radius:var(--radius-0);text-transform:uppercase;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:none;margin-right:var(--space-1);margin-bottom:var(--space-1)}.ds-btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.ds-btn-secondary{background:transparent;color:var(--text-0);border-color:var(--hairline)}.ds-text-xs{font-size:10px}.ds-text-dim{color:var(--muted)}.ds-m-sm{margin:var(--space-1)}.ds-m-md{margin:var(--space-2)}.ds-m-lg{margin:var(--space-3)}.ds-m-xl{margin:var(--space-4)}.ds-p-xl{padding:var(--space-4)}.ds-flex{display:flex}.ds-items-center{align-items:center}.ds-justify-between{justify-content:space-between}.ds-gap-lg{gap:var(--space-3)}.ds-flex-1{flex:1}@media (max-width: 768px){.settings-layout{flex-direction:column;margin:0 var(--space-1)}.settings-nav{min-width:unset}.ds-card{padding:var(--space-3)}}@layer reset,tokens,base,components;*{box-sizing:border-box}.app-shell{width:100vw;min-height:100vh;margin:0;padding:0;display:flex;flex-direction:column;background-color:var(--surface-0, #000);overflow-x:hidden}.app-header{flex-shrink:0;width:100%;height:60px;min-height:60px;max-height:60px;display:flex;align-items:center;justify-content:space-between;position:relative;background-color:var(--surface-0, #000);padding:0 16px;border-bottom:1px solid var(--hairline, #333);margin-top:65px}.app-header-inner{width:100%;max-width:545px;height:100%;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--hairline, #333)}.app-main{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;margin-top:5px}.page-container{width:100%;max-width:545px;margin:0 auto;padding:24px 16px;flex:1;display:flex;flex-direction:column}.timer-page{width:100%;max-width:545px;margin:0 auto;padding:0 16px}.timer-layout{width:100%;display:flex;flex-direction:column;gap:16px}.ballistics-page{width:100%;max-width:545px;margin:0 auto;padding:0 16px}.ballistics-container{width:100%;display:flex;flex-direction:column;gap:16px}.app-footer{flex-shrink:0;width:100%;display:flex;justify-content:center}.app-footer-inner{width:100%;max-width:545px;margin:0 auto;padding:16px;text-align:center;border-top:1px solid var(--hairline, #333)}@media (max-width: 575px){.app-header-inner,.page-container,.timer-page,.ballistics-page,.app-footer-inner{max-width:100%;padding-left:12px;padding-right:12px}}@media (min-width: 768px){.page-container{padding:32px 24px}}.container-545{width:100%;max-width:545px;margin:0 auto;padding:0 16px}.flex-center{display:flex;align-items:center;justify-content:center}.flex-column{display:flex;flex-direction:column}.debug-border{border:1px solid red!important}.header-auth{display:flex;align-items:center;position:absolute;right:16px;top:calc(50% + 6px);transform:translateY(-50%)}.login-btn{background:var(--color-accent, #ff6600);color:var(--color-white, #ffffff);border:1px solid var(--color-accent, #ff6600);padding:8px 16px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.login-btn:hover{background:var(--color-accent-dark, #cc5200);border-color:var(--color-accent-dark, #cc5200)}.profile-section{position:relative}.profile-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.app-header .profile-avatar{width:clamp(28px,6vw,32px);height:clamp(28px,6vw,32px);border-radius:50%;overflow:hidden;border:1px solid var(--hairline, #333);display:flex;align-items:center;justify-content:center;background:var(--surface-1, #111);flex:0 0 auto}.app-header .profile-avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar-initials{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:12px;font-weight:600;color:var(--color-white, #ffffff)}.profile-dropdown{position:absolute;top:100%;right:0;width:220px;margin-top:8px;background:var(--surface-1, #111);border:1px solid var(--hairline, #333);box-shadow:0 4px 12px #00000080;z-index:1000;overflow:hidden}.profile-info{padding:16px;border-bottom:1px solid var(--hairline, #333)}.profile-name{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:13px;font-weight:600;color:var(--color-white, #ffffff);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;color:var(--color-text-dim, #999);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-tier{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:10px;font-weight:600;padding:4px 8px;background:var(--surface-2, #222);color:var(--color-accent, #ff6600);border:1px solid var(--hairline, #333);width:fit-content}.dropdown-item{width:100%;padding:12px 16px;background:none;border:none;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:12px;color:var(--color-white, #ffffff);text-align:left;cursor:pointer;border-bottom:1px solid var(--hairline, #333);transition:background-color .2s ease}.dropdown-item:hover{background:var(--surface-2, #222)}.dropdown-item:last-child{border-bottom:none}.dropdown-item.upgrade-btn{color:var(--color-accent, #ff6600);font-weight:600}.dropdown-item.upgrade-btn:hover{background:var(--color-accent, #ff6600);color:var(--color-white, #ffffff)}.dropdown-item.logout-btn{color:var(--color-red, #ff4444)}.dropdown-item.logout-btn:hover{background:var(--color-red, #ff4444);color:var(--color-white, #ffffff)}.dropdown-divider{height:1px;background:var(--hairline, #333)}.header-logo{position:absolute;left:50%;top:calc(50% + 6px);transform:translate(-50%,-50%);height:21.6px;width:auto}.header-back-btn{position:absolute;left:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-white, #ffffff);padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.header-back-btn:hover{color:var(--color-accent, #ff6600)}.header-icon{width:20px;height:20px}@media (max-width: 575px){.header-auth{right:12px}.header-back-btn{left:12px}.app-header .profile-avatar{border-width:1px}.profile-dropdown{width:200px;right:-20px}}.ballistics-dashboard{width:100%;max-width:545px;margin:0 auto;padding:0 16px;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-1);color:var(--text-1);font-family:var(--font-mono)}.ballistics-dashboard__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 16px var(--space-3);margin:0 -16px;border-bottom:1px solid var(--border-1);background:var(--bg-2);width:calc(100% + 32px)}.dashboard-title h1{font-size:var(--text-3xl);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0;color:var(--text-1)}.dashboard-subtitle{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.mobile-menu-toggle{display:none}.ballistics-dashboard__content{display:flex;flex:1;min-height:0}.dashboard-nav{width:280px;background:var(--bg-2);border-right:1px solid var(--border-1);display:flex;flex-direction:column;padding:var(--space-4)}.nav-items{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-6)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid transparent;text-align:left;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);transition:all var(--duration-150) var(--ease-out);cursor:pointer}.nav-item__icon{font-size:var(--text-lg);opacity:.8}.nav-item__label{flex:1}.nav-item.primary{background:var(--color-orange);color:var(--bg-1);border-color:var(--color-orange)}.nav-item.ghost{background:transparent;color:var(--text-2);border-color:var(--border-1)}.nav-item.ghost:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-2)}.dashboard-env,.dashboard-stats{padding:var(--space-4);background:var(--bg-3);border:1px solid var(--border-1);margin-bottom:var(--space-4)}.dashboard-env h4,.dashboard-stats h4{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-3);color:var(--text-2)}.env-stats,.quick-stats{display:flex;flex-direction:column;gap:var(--space-2)}.env-stat,.quick-stat{display:flex;justify-content:space-between;align-items:center}.env-stat label,.quick-stat label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-2)}.env-stat .num,.quick-stat .num{font-weight:700;color:var(--text-1)}.dashboard-main{flex:1;padding:var(--space-6);overflow-y:auto;background:var(--bg-1)}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);background:var(--bg-2);border:1px solid var(--border-1);min-height:400px}.dashboard-empty h3{font-size:var(--text-xl);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-2);color:var(--text-1)}.dashboard-empty p{margin:0 0 var(--space-4);max-width:400px}.ballistics-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);margin-bottom:var(--space-6)}.control-group{background:var(--bg-2);border:1px solid var(--border-1);padding:var(--space-4)}.control-group h3{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-1);color:var(--text-1)}.control-field{margin-bottom:var(--space-3)}.control-field:last-child{margin-bottom:0}.control-label{display:block;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-1);color:var(--text-2)}.control-input,.control-select{width:100%;background:var(--bg-3);border:1px solid var(--border-1);color:var(--text-1);font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-3);transition:border-color var(--duration-150) var(--ease-out)}.control-input:focus,.control-select:focus{outline:none;border-color:var(--color-orange)}.control-input:disabled,.control-select:disabled{opacity:.6;cursor:not-allowed}.range-slider{position:relative;margin:var(--space-2) 0}.range-slider__track{width:100%;height:4px;background:var(--bg-3);border:1px solid var(--border-1);position:relative}.range-slider__thumb{width:20px;height:20px;background:var(--color-orange);border:2px solid var(--bg-1);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);cursor:grab;transition:transform var(--duration-150) var(--ease-out)}.range-slider__thumb:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.1)}.range-slider__labels{display:flex;justify-content:space-between;margin-top:var(--space-1)}.range-slider__label{font-size:var(--text-xs);color:var(--text-2)}.wind-controls{display:grid;grid-template-columns:1fr 120px;gap:var(--space-4);align-items:center}.wind-compass{width:100px;height:100px;border:2px solid var(--border-1);border-radius:50%;position:relative;background:var(--bg-3);cursor:pointer;transition:border-color var(--duration-150) var(--ease-out)}.wind-compass:hover{border-color:var(--color-orange)}.wind-compass__needle{position:absolute;top:50%;left:50%;width:2px;height:35px;background:var(--color-orange);transform-origin:bottom center;transform:translate(-50%,-100%);transition:transform var(--duration-300) var(--ease-out)}.wind-compass__directions{position:absolute;inset:0}.wind-compass__direction{position:absolute;font-size:var(--text-xs);font-weight:700;color:var(--text-2)}.wind-compass__direction--n{top:5px;left:50%;transform:translate(-50%)}.wind-compass__direction--e{top:50%;right:5px;transform:translateY(-50%)}.wind-compass__direction--s{bottom:5px;left:50%;transform:translate(-50%)}.wind-compass__direction--w{top:50%;left:5px;transform:translateY(-50%)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);max-width:200px}.keypad__key{aspect-ratio:1;background:var(--bg-2);border:1px solid var(--border-1);color:var(--text-1);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all var(--duration-150) var(--ease-out);display:flex;align-items:center;justify-content:center}.keypad__key:hover{background:var(--bg-3);border-color:var(--border-2)}.keypad__key:active{background:var(--color-orange);color:var(--bg-1)}.keypad__key--zero{grid-column:span 2}.quick-toggle-group{display:flex;border:1px solid var(--border-1);overflow:hidden}.quick-toggle{flex:1;background:var(--bg-2);color:var(--text-2);border:none;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);cursor:pointer;transition:all var(--duration-150) var(--ease-out);border-right:1px solid var(--border-1)}.quick-toggle:last-child{border-right:none}.quick-toggle--active{background:var(--color-orange);color:var(--bg-1)}.quick-toggle:not(.quick-toggle--active):hover{background:var(--bg-3);color:var(--text-1)}.warning-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--rounded)}.warning-badge--info{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.warning-badge--warning{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.warning-badge--error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.warning-badge--success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}@media (max-width: 768px){.ballistics-dashboard__content{flex-direction:column}.dashboard-nav{width:100%;position:fixed;top:0;left:-100%;height:100vh;z-index:1000;transition:left var(--duration-300) var(--ease-out)}.dashboard-nav.mobile-open{left:0}.mobile-menu-toggle{display:block}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:999}.dashboard-main{padding:var(--space-4)}.ballistics-controls{grid-template-columns:1fr;gap:var(--space-4)}.wind-controls{grid-template-columns:1fr;gap:var(--space-2);text-align:center}.wind-compass{margin:0 auto}}.profiles-page .page-header{margin-bottom:var(--space-6)}.page-header h2{font-size:var(--text-2xl);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-2);color:var(--text-1)}.page-subtitle{font-size:var(--text-sm);color:var(--text-2);margin:0}.page-info{margin-top:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.solution-summary,.environment-summary,.target-summary,.reticle-info,.profile-info,.trajectory-status{background:var(--bg-2);border:1px solid var(--border-1);padding:var(--space-4);margin-bottom:var(--space-4)}.solution-summary h3,.environment-summary h3,.target-summary h3,.reticle-info h3,.profile-info h3{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-3);color:var(--text-1)}.solution-stats,.env-grid,.target-details,.reticle-details,.profile-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.stat,.env-item,.detail{display:flex;flex-direction:column;gap:var(--space-1)}.stat label,.env-item label,.detail label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-2)}.stat .num,.env-item .num,.detail .num{font-weight:700;color:var(--text-1)}.status.active{color:var(--color-orange);font-weight:700}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.loading-container{display:flex;align-items:center;justify-content:center;min-height:400px;background:var(--bg-2);border:1px solid var(--border-1)}.loading-content{text-align:center}.loading-content h3{font-size:var(--text-lg);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-4);color:var(--text-1)}.loading-dots{display:flex;gap:var(--space-2);justify-content:center}.loading-dots .dot{width:8px;height:8px;background:var(--color-orange);border-radius:50%;animation:loading-pulse 1.5s ease-in-out infinite}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes loading-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.error-container,.card.warning,.card.info{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6);background:var(--bg-2);border:1px solid var(--border-1);margin-bottom:var(--space-4)}.card.warning{border-color:#f59e0b4d;background:#f59e0b0d}.card.info{border-color:#3b82f64d;background:#3b82f60d}.error-container h3,.card.warning h3,.card.info h4{font-size:var(--text-lg);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-2);color:var(--text-1)}.ds-combo{position:relative;display:block;width:100%}.ds-combo.disabled{opacity:.5;pointer-events:none}.ds-input.like-select{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:12px 16px;background:var(--surface-1, #1a1a1a);border:1px solid var(--hairline, #333);border-radius:var(--radius-0, 4px);color:var(--text-1, #ffffff);font-family:Helvetica Neue,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.4;cursor:pointer;transition:all .15s ease;text-align:left}.ds-input.like-select:hover{border-color:var(--accent, #ff6b35);background:var(--surface-2, #222)}.ds-input.like-select:focus{outline:none;border-color:var(--accent, #ff6b35);box-shadow:0 0 0 2px #ff6b3533}.ds-input.like-select.error{border-color:#ef4444;background:#ef44441a}.ds-input.like-select:disabled{cursor:not-allowed;opacity:.5}.ds-placeholder{color:var(--text-2, #999);font-style:normal}.selected-value{flex:1;color:var(--text-1, #ffffff);font-weight:500}.chev{margin-left:8px;color:var(--text-2, #999);font-size:12px;font-family:monospace;transition:transform .15s ease;-webkit-user-select:none;user-select:none}.chev.open{transform:rotate(180deg)}.ds-pop{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;background:var(--surface-1, #1a1a1a);border:1px solid var(--hairline, #333);border-radius:var(--radius-0, 4px);box-shadow:0 8px 32px #0006;max-height:320px;overflow:hidden;animation:combo-slide-in .15s ease-out}@keyframes combo-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ds-search-wrapper{position:relative;border-bottom:1px solid var(--hairline, #333)}.ds-search{width:100%;padding:12px 16px;background:transparent;border:none;color:var(--text-1, #ffffff);font-family:Helvetica Neue,system-ui,sans-serif;font-size:14px;outline:none}.ds-search::placeholder{color:var(--text-2, #999)}.search-spinner{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--accent, #ff6b35);font-size:14px;animation:spin 1s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.ds-list{max-height:240px;overflow-y:auto;scroll-behavior:smooth}.ds-list::-webkit-scrollbar{width:8px}.ds-list::-webkit-scrollbar-track{background:var(--surface-0, #0f0f0f)}.ds-list::-webkit-scrollbar-thumb{background:var(--hairline, #333);border-radius:4px}.ds-item{display:block;width:100%;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid rgba(51,51,51,.5);color:var(--text-1, #ffffff);text-align:left;cursor:pointer;font-family:Helvetica Neue,system-ui,sans-serif;font-size:14px;line-height:1.4;transition:background-color .1s ease}.ds-item:last-child{border-bottom:none}.ds-item:hover,.ds-item.focused{background:var(--surface-2, #222)}.ds-item:active{background:var(--surface-3, #2a2a2a)}.ds-item.loading,.ds-item.empty{color:var(--text-2, #999);cursor:default;font-style:italic;justify-content:center;text-align:center}.ds-item.loading:hover,.ds-item.empty:hover{background:transparent}.item-label{font-weight:500;color:var(--text-1, #ffffff);margin-bottom:2px}.item-sub{font-size:12px;color:var(--text-2, #999);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ds-actions{border-top:1px solid var(--hairline, #333);padding:8px}.ds-clear{display:block;width:100%;padding:8px 12px;background:transparent;border:1px solid var(--hairline, #333);border-radius:var(--radius-0, 4px);color:var(--text-2, #999);font-family:Helvetica Neue,system-ui,sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .15s ease}.ds-clear:hover{background:var(--surface-2, #222);border-color:var(--accent, #ff6b35);color:var(--accent, #ff6b35)}.ds-clear:active{background:var(--surface-3, #2a2a2a)}.ds-combo.error .ds-input.like-select{border-color:#ef4444;background:#ef44441a}.ds-combo.error .ds-pop{border-color:#ef4444}@media (max-width: 640px){.ds-pop{position:fixed;inset:auto 0 0;margin:0;border-radius:16px 16px 0 0;max-height:60vh;animation:combo-slide-up .2s ease-out}@keyframes combo-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ds-search{padding:16px 20px;font-size:16px}.ds-item{padding:16px 20px;font-size:16px;min-height:48px;display:flex;flex-direction:column;justify-content:center}.item-label{font-size:16px;margin-bottom:4px}.item-sub{font-size:14px}}.ds-item:focus-visible{outline:2px solid var(--accent, #ff6b35);outline-offset:-2px}.ds-search:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent, #ff6b35)}@media (prefers-contrast: high){.ds-input.like-select,.ds-pop,.ds-item{border-color:#fff}.ds-placeholder,.item-sub{color:#ccc}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit;background:none;border:none}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus{outline:none}*{scrollbar-width:thin;scrollbar-color:var(--color-grey-medium) var(--color-grey-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-grey-dark);border-radius:0}::-webkit-scrollbar-thumb{background:var(--color-grey-medium);border-radius:0;border:1px solid var(--color-black)}::-webkit-scrollbar-thumb:hover{background:var(--color-grey-light)}::-webkit-scrollbar-thumb:active{background:var(--color-orange)}::-webkit-scrollbar-corner{background:var(--color-grey-dark)}}@layer tokens{:root{--color-black: #000000;--color-white: #ffffff;--color-orange: #fe5900;--color-grey-dark: #1A1A1A;--color-grey-medium: #333333;--color-grey-light: #808080;--color-green: #39FF14;--surface-0: var(--color-black);--surface-1: var(--color-grey-dark);--surface-2: var(--color-grey-medium);--text-0: var(--color-white);--text-1: var(--color-grey-light);--text-accent: var(--color-orange);--hairline: var(--color-grey-medium);--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px;--space-6: 64px;--font-main: "Satoshi", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", monospace}}@layer base{body{background-color:var(--surface-0);color:var(--text-0);font-family:var(--font-main);font-size:16px;line-height:1.5}.header-back-btn{position:absolute;left:0;top:50%;transform:translateY(-50%)}.app-footer{flex-shrink:0;text-align:center;padding:var(--space-2) 0;border-top:1px solid var(--hairline);padding-bottom:env(safe-area-inset-bottom)}.app-footer p{font-size:10px;color:var(--text-1);margin:2px 0;font-weight:400}h1,h2,h3{font-weight:700;letter-spacing:-.01em;line-height:1.2;text-transform:uppercase}h1{font-size:28px}h2{font-size:14px;color:var(--text-1);text-align:center;margin-bottom:var(--space-2)}h3{font-size:12px;color:var(--text-1)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}}@layer components{.header-logo{height:17.5px;width:auto}.header-icon{width:24px;height:24px;color:var(--text-0)}.section{margin-bottom:var(--space-3)}.card{background-color:transparent;border:1px solid var(--hairline);padding:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 var(--space-2);border:1px solid var(--hairline);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:14px}.btn.primary{background-color:var(--color-orange);border-color:var(--color-orange);color:var(--color-black)}.btn.ghost{background-color:transparent}.input{width:100%;height:48px;padding:0 var(--space-2);background-color:var(--surface-1);border:1px solid var(--hairline);text-align:center}.input::placeholder{color:var(--text-1)}.input:focus-visible{border-color:var(--text-accent)}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-1)}.feature-list button{height:auto;min-height:64px;padding:var(--space-1);text-align:center;font-weight:700;font-size:12px;line-height:1.3;white-space:pre-wrap}.weather-block{text-align:center;padding:var(--space-2);cursor:pointer}.weather-block .num-hero{font-size:64px;font-weight:800;line-height:1;margin-top:var(--space-2)}.weather-block .unit{font-size:.5em;margin-left:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.weather-block .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);margin-top:var(--space-2)}.weather-block .card{padding:var(--space-1)}.weather-block .num{font-size:18px;font-weight:700}.timer-layout{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:545px;margin:0 auto;padding:0 16px}.timer-panel{flex:1;border:1px solid var(--hairline);padding:var(--space-3);display:flex;flex-direction:column}.timer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.timer-status-group{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.timer-label{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--text-1)}.timer-status{font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--color-green);min-width:80px;text-align:right}.timer-status.running{color:#f44}.shot-detection-status{font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--color-orange);min-width:80px;text-align:right}.shot-detection-status.active{color:var(--color-green);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.timer-display-container{flex:1;display:flex;align-items:center;justify-content:center;margin:var(--space-3) 0}.timer-display{font-family:var(--font-mono);font-size:clamp(48px,15vw,80px);font-weight:900;line-height:1;text-align:center;letter-spacing:-.02em;width:100%;max-width:100%;overflow:hidden;white-space:nowrap}@media (max-width: 480px){.timer-display{font-size:clamp(32px,12vw,48px);padding:0 8px;box-sizing:border-box}.timer-display-container{padding:0 16px;box-sizing:border-box}}.tuner{height:120px;border:1px solid var(--hairline);margin:var(--space-2) 0;background-color:var(--surface-0)}.timer-controls{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.secondary-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.timer-btn{height:64px;font-size:14px;font-weight:700}.timer-btn.primary{background-color:var(--color-orange);color:var(--color-black);border-color:var(--color-orange)}.timer-btn.secondary{background-color:var(--surface-1);color:var(--text-0);border-color:var(--hairline)}.timer-btn:disabled{opacity:.5;cursor:not-allowed}.start-btn{height:80px!important;font-size:18px!important;font-weight:900!important;letter-spacing:.1em!important}.timer-config{border:1px solid var(--hairline);padding:var(--space-2)}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.input-group{display:flex;flex-direction:column;gap:var(--space-1)}.input-label{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-1);text-align:center}.checkbox-row{margin-top:var(--space-2);display:flex;justify-content:center;width:100%}.checkbox-label{display:flex;align-items:center;gap:var(--space-1);cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-1)}.checkbox{width:16px;height:16px;border:1px solid var(--hairline);background-color:var(--surface-1);cursor:pointer;appearance:none;border-radius:0;position:relative}.checkbox:checked{background-color:var(--color-orange);border-color:var(--color-orange)}.checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-black);font-size:10px;font-weight:900}.checkbox:disabled{opacity:.5;cursor:not-allowed}.checkbox-text{-webkit-user-select:none;user-select:none;line-height:16px}.session-panel{border:1px solid var(--hairline);display:flex;flex-direction:column;max-height:600px}.session-header{padding:var(--space-2);border-bottom:1px solid var(--hairline)}.ballistics-config{border-bottom:1px solid var(--hairline);padding:var(--space-2)}.ballistics-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.ballistics-input{font-size:11px;height:36px;padding:0 var(--space-1)}.session-label{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--text-1)}.session-content{flex:1;padding:var(--space-2);overflow-y:auto}.log-headers{display:grid;grid-template-columns:40px 1fr 80px 60px;gap:var(--space-2);font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-1);border-bottom:1px solid var(--hairline);padding-bottom:var(--space-1);margin-bottom:var(--space-2)}.shot-log{display:flex;flex-direction:column;gap:var(--space-1)}.log-entry{display:grid;grid-template-columns:40px 1fr 80px 60px;gap:var(--space-2);font-family:var(--font-mono);font-size:12px;color:var(--text-0);align-items:center}.log-entry.clickable{cursor:pointer;padding:var(--space-1);border-radius:4px;transition:background-color .2s ease}.log-entry.clickable:hover{background-color:var(--surface-1)}.no-data{font-family:var(--font-mono);font-size:12px;color:var(--text-1);text-align:center;padding:var(--space-4) 0}.session-footer{padding:var(--space-2);border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:10px;color:var(--text-1)}.current-load{color:var(--text-0)}@media (min-width: 768px){.timer-layout{flex-direction:column;gap:var(--space-2);width:100%}.session-panel{max-height:600px}.timer-controls{flex-direction:column}.secondary-controls{grid-template-columns:repeat(4,1fr)}}.history-item{padding:var(--space-2);border-bottom:1px solid var(--hairline)}.history-item:last-child{border-bottom:none}.history-header{display:flex;justify-content:space-between;align-items:center}.history-time{font-weight:700;color:var(--text-accent)}.history-date{font-size:12px;color:var(--text-1)}.modal-overlay{--surface-0: #000000 !important;--surface-1: #000000 !important;--surface-2: #000000 !important;--color-surface: #000000 !important;--color-white: #000000 !important;--color-background: #000000 !important;position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-2)}.modal-content{--surface-0: #000000 !important;--surface-1: #000000 !important;--surface-2: #000000 !important;--color-surface: #000000 !important;--color-white: #000000 !important;--color-background: #000000 !important;background-color:#000!important;background:#000!important;border:1px solid #333333!important;max-width:480px;width:100%;max-height:80vh;overflow-y:auto;color:#fff!important}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-bottom:1px solid #333333!important;background-color:#000!important;background:#000!important}.modal-title{font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase;color:#fff}.modal-close{background:none;border:none;color:#ccc;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#fff}.modal-body{padding:var(--space-3);background-color:#000!important;background:#000!important;color:#fff!important}.detail-section{margin-bottom:var(--space-3)}.detail-section h3{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:#ccc;margin-bottom:var(--space-2)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);font-family:var(--font-mono);font-size:12px}.detail-grid span:nth-child(odd){color:#ccc}.detail-grid span:nth-child(2n){color:#fff}.splits-list{display:flex;flex-direction:column;gap:var(--space-1)}.split-item{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12px}.split-item span:first-child{color:#ccc}.split-item span:last-child{color:#fff}.split-item-detailed{display:flex;flex-direction:column;gap:4px;padding:var(--space-1);border-left:2px solid #333333;margin-left:var(--space-1)}.split-main{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12px}.split-main span:first-child{color:#ccc;font-weight:700}.split-main span:last-child{color:#fff;font-weight:700}.split-time{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px}.split-time span:first-child{color:#ccc}.split-diff{font-weight:700;padding:2px 6px;border-radius:3px;font-size:11px}.split-diff.faster{color:#4caf50;background-color:#4caf501a}.split-diff.slower{color:#f44336;background-color:#f443361a}.weather-header{text-align:center;margin-bottom:var(--space-3);padding:var(--space-2);border-bottom:1px solid var(--hairline)}.weather-title{font-family:var(--font-mono);font-size:16px;font-weight:700;text-transform:uppercase;color:var(--text-0);margin-bottom:var(--space-1)}.weather-subtitle{font-family:var(--font-mono);font-size:12px;color:var(--text-1);text-transform:uppercase}.weather-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);margin-bottom:var(--space-3);border:1px solid var(--hairline)}.status-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border-right:1px solid var(--hairline)}.status-item:last-child{border-right:none}.status-label{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-1);margin-bottom:var(--space-1)}.status-value{font-family:var(--font-mono);font-size:12px;color:var(--text-0);font-weight:700}.weather-conditions-panel{border:1px solid var(--hairline);padding:var(--space-3);margin-bottom:var(--space-3);text-align:center}.panel-title{font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-1);margin-bottom:var(--space-3);text-align:center}.temperature-display{margin-bottom:var(--space-2)}.temperature-main{font-family:var(--font-mono);font-size:64px;font-weight:900;line-height:1;color:var(--text-0)}.temperature-unit{font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--text-1);margin-left:4px}.conditions-text{font-family:var(--font-mono);font-size:14px;color:var(--text-1);text-transform:uppercase;margin-bottom:var(--space-3)}.weather-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.metric-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border:1px solid var(--hairline)}.metric-label{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-1);margin-bottom:var(--space-1)}.metric-value{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-0)}.weather-stations-panel{border:1px solid var(--hairline);padding:var(--space-2)}.stations-list{display:flex;flex-direction:column;gap:var(--space-1)}.station-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border:1px solid var(--hairline);cursor:pointer;transition:background-color .2s ease}.station-item:hover{background-color:var(--surface-1)}.station-item.active{background-color:var(--color-orange);color:var(--color-black)}.station-info{display:flex;flex-direction:column;gap:4px}.station-code{font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase}.station-name{font-family:var(--font-mono);font-size:10px;opacity:.8}.station-distance{font-family:var(--font-mono);font-size:11px;font-weight:700}.weather-wind-panel{border:1px solid var(--hairline);padding:var(--space-3);margin-bottom:var(--space-3)}.wind-compass-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.wind-compass-oval{display:block}.wind-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);width:100%}.wind-detail-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border:1px solid var(--hairline)}.wind-detail-label{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-1);margin-bottom:var(--space-1)}.wind-detail-value{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-0)}.weather-actions{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--hairline)}.weather-refresh-btn{width:100%;font-size:12px}.weather-loading{text-align:center;padding:var(--space-5)}.weather-loading h2{color:var(--text-0);margin-bottom:var(--space-2)}.weather-loading p{color:var(--text-1);font-family:var(--font-mono);font-size:12px}.mic-calibration-modal{max-width:600px;max-height:80vh;background:#000!important;color:#fff!important}.calibration-setup{display:flex;flex-direction:column;gap:var(--space-4);background:#000!important;color:#fff!important}.setup-instructions h3{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-0);margin-bottom:var(--space-2);text-align:center}.setup-instructions p{font-family:var(--font-mono);font-size:12px;color:var(--text-1);text-align:center;margin-bottom:var(--space-3)}.instruction-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.instruction-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--hairline)}.instruction-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-orange);color:var(--color-black);font-family:var(--font-mono);font-size:12px;font-weight:700;flex-shrink:0}.instruction-text{font-family:var(--font-mono);font-size:11px;color:var(--text-0)}.calibration-tips{border:1px solid var(--hairline);padding:var(--space-2)}.calibration-tips h4{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-1);margin-bottom:var(--space-2)}.calibration-tips ul{list-style:none;padding:0;margin:0}.calibration-tips li{font-family:var(--font-mono);font-size:10px;color:var(--text-1);margin-bottom:var(--space-1);padding-left:var(--space-2);position:relative}.calibration-tips li:before{content:"•";color:var(--color-orange);position:absolute;left:0}.setup-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.calibration-testing{display:flex;flex-direction:column;gap:var(--space-2);background:#000!important;color:#fff!important;padding:var(--space-2)}.calibration-testing h3{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-0);text-align:center}.test-progress{display:flex;flex-direction:column;gap:var(--space-1);background:#000!important;color:#fff!important;padding:var(--space-2)}.progress-bar{width:100%;height:8px;background-color:var(--surface-1);border:1px solid var(--hairline);position:relative}.progress-fill{height:100%;background-color:var(--color-orange);transition:width .3s ease}.progress-text{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-0);text-align:center}.current-test{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--hairline)}.test-label{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-1)}.test-name{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--color-orange)}.audio-visualization{border:1px solid var(--hairline);padding:var(--space-3)}.audio-level-display{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.level-bar{flex:1;height:12px;background-color:var(--surface-1);border:1px solid var(--hairline);position:relative}.level-fill{height:100%;background-color:var(--color-orange);transition:width .1s ease}.video-player{width:50%;margin-top:var(--space-2)}.video-container{position:relative;width:100%;background-color:var(--surface-0);border:2px solid var(--hairline)}.video-element{width:100%;height:auto;display:block}.play-overlay{position:absolute;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;cursor:pointer}.play-button{font-size:48px;color:var(--color-orange);-webkit-user-select:none;user-select:none;text-shadow:0 2px 4px rgba(0,0,0,.5)}.timeline-container{position:relative;margin-top:var(--space-2)}.timeline{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--hairline);outline:none;cursor:pointer}.timeline::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-orange);cursor:pointer}.timeline::-moz-range-thumb{width:16px;height:16px;background:var(--color-orange);cursor:pointer;border:none}.split-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.split-marker{position:absolute;top:0;width:2px;height:100%;background-color:var(--color-orange);opacity:.8}.time-display{display:flex;justify-content:space-between;margin-top:var(--space-1);font-family:var(--font-mono);font-size:12px;color:var(--text-1)}.video-controls{display:grid;grid-template-columns:2fr 1fr 40px 40px;gap:var(--space-1);margin-top:var(--space-2)}.play-pause-btn{background-color:var(--color-orange);color:var(--surface-0);border:none;padding:var(--space-2);font-weight:700;font-size:14px;text-transform:uppercase;cursor:pointer;font-family:inherit}.play-pause-btn:hover{opacity:.9}.speed-control{background-color:var(--surface-1);border:1px solid var(--hairline);color:var(--text-0);padding:var(--space-2);font-family:var(--font-mono);font-size:12px;text-align:center;cursor:pointer}.speed-control:focus{outline:1px solid var(--color-orange)}.video-placeholder{width:100%;aspect-ratio:16/9;background-color:var(--surface-0);display:flex;align-items:center;justify-content:center;border:2px dashed var(--hairline)}.placeholder-content{text-align:center;color:var(--text-1)}.placeholder-icon{font-size:48px;margin-bottom:var(--space-2);opacity:.6}.placeholder-text{font-family:var(--font-mono);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-1)}.placeholder-subtext{font-family:var(--font-mono);font-size:12px;opacity:.7;text-transform:uppercase}.play-button.disabled{opacity:.5;cursor:not-allowed}.play-pause-btn.disabled{opacity:.5;cursor:not-allowed;background-color:var(--text-1)}.speed-control:disabled{opacity:.5;cursor:not-allowed}.video-action-btn{background-color:var(--color-orange);color:var(--surface-0);border:none;padding:var(--space-2);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.video-action-btn:hover:not(:disabled){opacity:.9}.video-action-btn.disabled,.video-action-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--text-1)}.level-text{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-0);min-width:40px}.calibration-readings{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.reading-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border:1px solid var(--hairline)}.reading-label{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-1);margin-bottom:var(--space-1)}.reading-value{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--color-orange)}.test-instructions{text-align:center;padding:var(--space-2);border:1px solid var(--hairline)}.test-instructions p{font-family:var(--font-mono);font-size:11px;color:var(--text-1);margin:0}.calibration-complete{display:flex;flex-direction:column;gap:var(--space-3);background:#000!important;color:#fff!important}.calibration-complete h3{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-0);text-align:center}.success-message{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-green);background-color:#39ff141a}.success-icon{font-size:18px;color:var(--color-green);font-weight:900}.success-message span:last-child{font-family:var(--font-mono);font-size:12px;color:var(--text-0)}.calibration-results{border:1px solid var(--hairline);padding:var(--space-3)}.calibration-results h4{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-1);margin-bottom:var(--space-2);text-align:center}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.result-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border:1px solid var(--hairline)}.result-label{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-1);margin-bottom:var(--space-1)}.result-value{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--color-orange)}.environment-analysis{border:1px solid var(--hairline);padding:var(--space-3)}.environment-analysis h4{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-1);margin-bottom:var(--space-2);text-align:center}.analysis-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) 0;border-bottom:1px solid var(--hairline)}.analysis-item:last-child{border-bottom:none}.analysis-label{font-family:var(--font-mono);font-size:11px;color:var(--text-1)}.analysis-value{font-family:var(--font-mono);font-size:11px;color:var(--text-0)}.calibration-actions{display:flex;gap:var(--space-2);justify-content:flex-end}@media (min-width: 768px){.weather-status-grid,.weather-metrics{grid-template-columns:repeat(3,1fr)}.wind-compass-container{flex-direction:row;justify-content:space-between;align-items:center}.wind-details{grid-template-columns:1fr;gap:var(--space-1);max-width:200px}.wind-detail-item{flex-direction:row;justify-content:space-between;padding:var(--space-1)}.results-grid{grid-template-columns:repeat(4,1fr)}}}.analytics-page{max-width:545px;margin:0 auto;padding:var(--space-1) var(--space-1)}.user-section{margin-bottom:var(--space-2);padding:var(--space-2);background:#000;border:1px solid var(--hairline)}.user-stats{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-1)}.user-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:#000}.user-stats .stat-label{font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim);text-transform:uppercase}.user-stats .stat-value{font-family:var(--font-mono);font-size:16px;font-weight:600;color:var(--color-white)}.no-data-section{margin-bottom:var(--space-2);padding:var(--space-3);background:#000;border:1px solid var(--hairline);text-align:center}.no-data-message h3{font-family:var(--font-mono);font-size:16px;color:var(--color-white);margin-bottom:var(--space-1)}.no-data-message p{font-family:var(--font-mono);font-size:12px;color:var(--color-text-dim)}.section-title{font-family:var(--font-mono);font-size:16px;font-weight:700;margin-bottom:var(--space-2);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.metrics-section{margin-bottom:var(--space-2);background:#000;padding:var(--space-2);border:1px solid var(--hairline)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-1);margin-bottom:0}.metric-card{background:var(--surface-1);border:1px solid var(--hairline);padding:var(--space-2);text-align:center;position:relative}.metric-value{font-family:var(--font-mono);font-size:20px;font-weight:900;line-height:1;color:var(--color-white);margin-bottom:4px}.metric-unit{font-size:14px;color:var(--color-text-dim);margin-left:4px}.metric-title{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--color-text-dim);letter-spacing:.05em}.metric-trend{position:absolute;top:var(--space-1);right:var(--space-1);font-size:10px;font-weight:600}.metric-trend.positive{color:var(--color-green)}.metric-trend.negative{color:#dc2626}.metric-trend.neutral{color:#fff}.visuals-section{margin-bottom:var(--space-2);background:#000;padding:var(--space-2);border:1px solid var(--hairline)}.visuals-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.chart-container{background:var(--surface-1);border:1px solid var(--hairline);padding:var(--space-2)}.chart-title{font-family:var(--font-mono);font-size:12px;font-weight:600;margin-bottom:var(--space-1);color:var(--color-white);text-transform:uppercase;letter-spacing:.05em}.bar-chart{display:flex;align-items:end;justify-content:space-between;height:120px;margin-bottom:var(--space-1);padding:0 var(--space-1)}.bar-container{display:flex;flex-direction:column;align-items:center;flex:1;max-width:30px}.bar{width:20px;min-height:20px;margin-bottom:4px;transition:all .3s ease}.bar:hover{opacity:.8;transform:scaleY(1.1)}.bar-label{font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim)}.chart-legend{display:flex;gap:var(--space-2);justify-content:center}.legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-dim)}.legend-color{width:12px;height:12px}.split-time-distribution{background:#000}.distribution-stats{display:flex;justify-content:space-around;margin-bottom:var(--space-2);padding:var(--space-1);background:#000;border:1px solid var(--hairline)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:#000}.stat-label{font-family:var(--font-mono);font-size:9px;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-white)}.histogram-chart{margin-bottom:var(--space-2)}.histogram-svg{width:100%;height:auto;background:var(--surface-1)}.distribution-legend{display:flex;gap:var(--space-3);justify-content:center;align-items:center}.distribution-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--color-text-dim)}.legend-line{width:16px;height:2px}.progress-section{margin-bottom:var(--space-2);background:#000;padding:var(--space-2);border:1px solid var(--hairline)}.progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-1)}.progress-chart{background:var(--surface-1);border:1px solid var(--hairline);padding:var(--space-1);min-height:100px}.progress-title{font-family:var(--font-mono);font-size:10px;font-weight:600;margin-bottom:4px;color:var(--color-white);text-transform:uppercase}.line-svg{width:100%;height:60px;margin-bottom:4px}.progress-value{font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim);text-align:center}.comparison-section{margin-bottom:var(--space-2);background:#000;padding:var(--space-2);border:1px solid var(--hairline)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.radar-container{background:var(--surface-1);border:1px solid var(--hairline);padding:var(--space-3);text-align:center}.radar-svg{width:100%;max-width:150px;height:150px}.comparison-stats{background:var(--surface-1);border:1px solid var(--hairline);padding:var(--space-3)}.comparison-stats h3{font-family:var(--font-mono);font-size:14px;font-weight:600;margin-bottom:var(--space-2);color:var(--color-white);text-transform:uppercase}.comparison-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:12px}.comparison-value.positive{color:var(--color-green)}.comparison-value.negative{color:var(--color-red)}.equipment-section{margin-bottom:var(--space-4);background:#000;padding:var(--space-3);border:1px solid var(--hairline)}.equipment-controls{margin-bottom:var(--space-3)}.equipment-select{width:100%;padding:var(--space-2);background:var(--surface-1);border:1px solid var(--hairline);color:var(--color-white);font-family:var(--font-mono);font-size:12px}.equipment-performance{background:var(--surface-1);border:1px solid var(--hairline);padding:var(--space-3)}.equipment-stat{text-align:center}.equipment-name{font-family:var(--font-mono);font-size:14px;font-weight:600;margin-bottom:var(--space-2);color:var(--color-accent)}.equipment-metrics{display:flex;justify-content:space-around;font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim)}@media (max-width: 480px){.metrics-grid{grid-template-columns:1fr;gap:var(--space-1)}.metric-card{padding:var(--space-2)}.metric-value{font-size:20px}.visuals-grid{gap:var(--space-2)}.chart-container{padding:var(--space-2)}.progress-grid{grid-template-columns:1fr;gap:var(--space-1)}.comparison-grid{grid-template-columns:1fr;gap:var(--space-2)}.target-svg{width:120px;height:120px}.radar-svg{width:100px;height:100px}}@media (min-width: 768px){.analytics-page{max-width:800px;padding:var(--space-4) var(--space-3)}.metrics-grid{grid-template-columns:repeat(3,1fr)}.visuals-grid{grid-template-columns:1fr 1fr}.progress-grid{grid-template-columns:repeat(4,1fr)}}.command-search{position:relative;width:100%}.search-input-container{position:relative;border-radius:16px;border:1px solid var(--color-neutral-800);background:var(--color-neutral-900);overflow:hidden}.search-input{width:100%;background:transparent;padding:12px 16px;font-size:16px;line-height:1.5;color:var(--color-neutral-100);border:none;outline:none}.search-input::placeholder{color:var(--color-neutral-500)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:none;background:var(--color-neutral-700);color:var(--color-neutral-300);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-clear:hover{background:var(--color-neutral-600);color:var(--color-neutral-100)}.search-results{max-height:320px;overflow-y:auto;border:1px solid var(--color-neutral-800);border-top:none;background:var(--color-neutral-900);border-bottom-left-radius:16px;border-bottom-right-radius:16px}.search-result-item{width:100%;text-align:left;padding:12px 16px;border:none;background:transparent;color:var(--color-neutral-100);cursor:pointer;border-bottom:1px solid var(--color-neutral-800);transition:background-color .15s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.selected{background:var(--color-neutral-800)}.search-result-item.create-new{color:var(--color-orange-300)}.search-result-item.create-new:hover,.search-result-item.create-new.selected{background:var(--color-orange-900)}.result-main{font-size:14px;font-weight:500;margin-bottom:4px}.result-text mark{background:var(--color-orange-500);color:var(--color-neutral-900);padding:1px 2px;border-radius:2px}.result-meta{font-size:12px;color:var(--color-neutral-400)}.create-new-text{color:var(--color-orange-300)}.search-no-results{padding:24px 16px;text-align:center;color:var(--color-neutral-500)}.search-tip{font-size:12px;margin-top:8px;color:var(--color-neutral-600)}.search-results-count{padding:8px 16px;font-size:12px;color:var(--color-neutral-500);background:var(--color-neutral-850);border-top:1px solid var(--color-neutral-800)}.onboarding-wizard{max-width:480px;margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column}.wizard-header{position:sticky;top:0;z-index:10;background:#0a0a0acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 0;margin-bottom:24px}.progress-indicators{display:flex;align-items:center;gap:8px;margin-bottom:16px}.progress-dot{flex:1;height:4px;border-radius:2px;background:var(--color-neutral-800);transition:background-color .3s ease}.progress-dot.active{background:var(--color-orange-500)}.step-title{font-size:20px;font-weight:600;color:var(--color-neutral-100);margin:0}.step-description{font-size:14px;color:var(--color-neutral-400);margin:8px 0 0}.wizard-content{flex:1;display:flex;flex-direction:column}.wizard-step{display:flex;flex-direction:column;gap:24px;flex:1}.caliber-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.caliber-chip{padding:8px 16px;border-radius:20px;border:1px solid var(--color-neutral-700);background:transparent;color:var(--color-neutral-300);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;display:flex;align-items:center}.caliber-chip:hover{border-color:var(--color-orange-500);color:var(--color-orange-300)}.caliber-chip.selected{border-color:var(--color-orange-500);color:var(--color-orange-300);background:var(--color-orange-900)}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:var(--color-neutral-200)}.preset-buttons{display:flex;gap:8px;flex-wrap:wrap}.preset-button{padding:8px 16px;border-radius:20px;border:1px solid var(--color-neutral-700);background:transparent;color:var(--color-neutral-300);font-size:12px;cursor:pointer;transition:all .2s ease;min-height:44px}.preset-button:hover{border-color:var(--color-orange-500);color:var(--color-orange-300)}.preset-button.selected{border-color:var(--color-orange-500);color:var(--color-orange-300);background:var(--color-orange-900)}.number-input{padding:12px 16px;border-radius:8px;border:1px solid var(--color-neutral-700);background:var(--color-neutral-900);color:var(--color-neutral-100);font-size:14px;width:100px}.number-input:focus{outline:none;border-color:var(--color-orange-500)}.select-input{padding:12px 16px;border-radius:8px;border:1px solid var(--color-neutral-700);background:var(--color-neutral-900);color:var(--color-neutral-100);font-size:14px;cursor:pointer}.select-input:focus{outline:none;border-color:var(--color-orange-500)}.optic-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.wind-bracket-card{border-radius:12px;border:1px solid var(--color-neutral-800);background:var(--color-neutral-900);padding:16px}.wind-bracket-title{font-size:14px;font-weight:500;color:var(--color-neutral-200);margin-bottom:12px}.wind-bracket-inputs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wind-quick-buttons{display:flex;gap:8px;margin:8px 0}.wind-button{padding:6px 12px;border-radius:16px;border:1px solid var(--color-neutral-700);background:transparent;color:var(--color-neutral-300);font-size:12px;cursor:pointer;transition:all .2s ease}.wind-button:hover{border-color:var(--color-orange-500);color:var(--color-orange-300)}.review-summary{border-radius:16px;border:1px solid var(--color-neutral-800);background:var(--color-neutral-900);padding:20px}.summary-title{font-size:16px;font-weight:600;color:var(--color-neutral-100);margin-bottom:16px}.summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.summary-item{font-size:14px;color:var(--color-neutral-300)}.summary-label{font-weight:500;color:var(--color-neutral-100)}.wizard-actions{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-top:auto}.wizard-button{padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:44px;display:flex;align-items:center;justify-content:center}.wizard-button.secondary{border:1px solid var(--color-neutral-700);background:transparent;color:var(--color-neutral-300)}.wizard-button.secondary:hover{border-color:var(--color-neutral-600);background:var(--color-neutral-800)}.wizard-button.primary{border:none;background:var(--color-orange-600);color:#fff}.wizard-button.primary:hover{background:var(--color-orange-700)}.wizard-button:disabled{opacity:.5;cursor:not-allowed}.auto-detect-button{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;border:1px solid var(--color-neutral-700);background:transparent;color:var(--color-neutral-300);font-size:14px;cursor:pointer;transition:all .2s ease}.auto-detect-button:hover{border-color:var(--color-blue-500);color:var(--color-blue-300)}.selected-ammo-preview{padding:12px;border-radius:8px;background:var(--color-neutral-800);font-size:12px;color:var(--color-neutral-400);margin-top:8px}@media (max-width: 480px){.onboarding-wizard{padding:12px}.env-grid{grid-template-columns:1fr}.optic-controls{flex-direction:column;align-items:stretch}.wind-bracket-inputs{flex-direction:column}.caliber-chips,.preset-buttons{justify-content:center}}.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}@media (prefers-reduced-motion: reduce){.wizard-step{animation:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.progress-dot.active{background:var(--color-orange-400);border:2px solid var(--color-orange-300)}.caliber-chip.selected{border-width:3px}.wizard-button.primary{border:2px solid var(--color-orange-400)}}.caliber-chip:focus,.preset-button:focus,.wizard-button:focus,.search-input:focus,.number-input:focus,.select-input:focus{outline:2px solid var(--color-orange-500);outline-offset:2px}@media (pointer: coarse){.caliber-chip,.preset-button,.wind-button,.wizard-button{min-height:48px;min-width:48px}.search-clear{width:32px;height:32px}}.onboarding-error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:24px}.error-container{max-width:500px;text-align:center;padding:32px;border-radius:16px;border:1px solid var(--color-red-800, #dc2626);background:var(--color-red-900, #7f1d1d);color:var(--color-neutral-100)}.error-icon{font-size:48px;margin-bottom:16px;display:block}.error-title{font-size:24px;font-weight:600;margin:0 0 16px;color:var(--color-neutral-100)}.error-description{font-size:16px;line-height:1.5;margin:0 0 24px;color:var(--color-neutral-300)}.error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.error-help-text{margin-bottom:16px}.error-debug{text-align:left;margin:24px 0;padding:16px;background:var(--color-neutral-800);border-radius:8px;border:1px solid var(--color-neutral-700)}.error-debug summary{cursor:pointer;font-weight:500;margin-bottom:12px;color:var(--color-orange-300)}.error-debug summary:hover{color:var(--color-orange-200)}.error-details{font-family:Courier New,monospace;font-size:12px;line-height:1.4}.error-section{margin-bottom:16px}.error-section h4{margin:0 0 8px;font-size:14px;color:var(--color-neutral-200);font-family:inherit}.error-section pre,.error-section code{background:var(--color-neutral-900);padding:8px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;color:var(--color-red-300);border:1px solid var(--color-neutral-700)}.error-support{border-top:1px solid var(--color-neutral-700);padding-top:16px;margin-top:16px}.support-text{font-size:14px;color:var(--color-neutral-400);margin:0}.support-link{color:var(--color-orange-300);text-decoration:underline}.support-link:hover{color:var(--color-orange-200)}.support-text code{background:var(--color-neutral-800);padding:2px 4px;border-radius:3px;font-size:12px;color:var(--color-orange-300)}.wizard-step{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}main,.timer-test,.ballistics-dashboard,[class*=dashboard],[class*=timer]{width:100%!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}.shots-table{width:100%!important;max-width:100%!important;overflow-x:auto!important}[style*="display: grid"],[style*=gridTemplateColumns]{width:100%!important;max-width:100%!important}@media (max-width: 768px){.timer-test,.ballistics-dashboard,main{padding:8px!important;margin:0!important}}
