*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--surface: #070F2B;--card: #1B1A55;--border: #2e2e2e;--primary: #9290C3;--primary-dim: #535C91;--secondary: #4fc3f7;--success: #66bb6a;--danger: #ef5350;--warning: #ffee58;--text: #f0f0f0;--text-dim: #888;--text-muted: #555;--radius: 12px;--radius-sm: 8px;--transition: .15s ease}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.app{height:100%;display:flex;flex-direction:column;overflow:hidden}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:70px;-webkit-overflow-scrolling:touch}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--surface);border-top:1px solid var(--border);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;color:var(--text-dim);font-size:10px;cursor:pointer;transition:color var(--transition);padding:8px 0}.bottom-nav button.active{color:var(--primary)}.bottom-nav button svg{width:22px;height:22px}.page-header{padding:20px 16px 12px;font-size:20px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border)}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:16px;margin:12px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;padding:12px 20px;transition:opacity var(--transition),transform var(--transition);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:active{opacity:.8;transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.btn-sm{padding:7px 12px;font-size:13px;border-radius:6px}.btn-full{width:100%}.btn-large{padding:18px 24px;font-size:18px;border-radius:var(--radius)}.chrono-page{display:flex;flex-direction:column}.timer-tap-zone{height:50vh;min-height:190px;margin:12px 16px 0;border-radius:var(--radius);border:2px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background var(--transition),border-color var(--transition)}.timer-tap-zone.idle{background:var(--surface);border-color:var(--border)}.timer-tap-zone.idle:active{background:var(--card)}.timer-tap-zone.running{background:#ef535012;border-color:var(--danger);cursor:pointer}.timer-tap-zone.running:active{background:#ef535024}.timer-tap-zone.stopped{background:#ff6b3512;border-color:var(--primary);cursor:default}.timer-tap-time{font-family:Courier New,SF Mono,monospace;font-size:clamp(52px,16vw,78px);font-weight:700;letter-spacing:-2px;line-height:1;transition:color var(--transition)}.timer-tap-zone.idle .timer-tap-time{color:var(--text-dim)}.timer-tap-zone.running .timer-tap-time{color:var(--text)}.timer-tap-zone.stopped .timer-tap-time{color:var(--primary)}.timer-tap-hint{font-size:13px;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.edit-zone{display:flex;flex-direction:column;gap:10px;padding-top:8px}.edit-zone-display{font-family:Courier New,SF Mono,monospace;font-size:clamp(52px,16vw,78px);font-weight:700;letter-spacing:-2px;text-align:center;color:var(--secondary);padding:16px;line-height:1}.chrono-actions{display:flex;flex-direction:column;gap:10px;padding:12px 16px 0}.mode-toggle{display:flex;margin:0 16px 8px;background:var(--surface);border-radius:var(--radius-sm);padding:4px;border:1px solid var(--border)}.mode-toggle button{flex:1;padding:8px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition)}.mode-toggle button.active{background:var(--primary);color:#fff}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px;margin:8px 0}.numpad button{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:22px;font-weight:600;padding:18px 0;cursor:pointer;transition:background var(--transition);-webkit-user-select:none;user-select:none}.numpad button:active{background:var(--border)}.numpad button.delete{color:var(--text-dim);font-size:20px}.series-list{margin:0 16px;display:flex;flex-direction:column;gap:6px}.series-list-item{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.series-list-item.excluded{opacity:.5;text-decoration:line-through}.series-list-item .pos{color:var(--text-dim);font-size:13px;width:20px}.series-list-item .time{font-family:Courier New,monospace;font-size:18px;font-weight:600;flex:1}.badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase}.badge-excluded{background:var(--text-muted);color:var(--text-dim)}.wca-avg{margin:8px 16px;padding:12px 16px;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center}.wca-avg .label{color:var(--text-dim);font-size:13px}.wca-avg .value{font-family:Courier New,monospace;font-size:22px;font-weight:700;color:var(--primary)}.btn-row{display:flex;gap:10px;padding:0 16px;margin:10px 0}.btn-row .btn{flex:1}.history-list{display:flex;flex-direction:column;gap:1px;padding:8px 0}.history-item{background:var(--card);margin:0 16px 8px;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.history-item-header{display:flex;align-items:center;gap:10px;padding:14px 16px}.history-item-header .date{color:var(--text-dim);font-size:12px;flex:1}.history-item-header .time-val{font-family:Courier New,monospace;font-size:20px;font-weight:700}.history-item-header .series-info{font-size:13px;color:var(--text-dim)}.badge-individual{background:#1e3a5f;color:var(--secondary)}.badge-series{background:#3d1f0d;color:var(--primary)}.item-actions{display:flex;gap:6px}.series-detail{border-top:1px solid var(--border);padding:10px 16px;display:flex;flex-direction:column;gap:6px}.series-detail-time{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.series-detail-time:last-of-type{border-bottom:none}.series-detail-time .pos{color:var(--text-muted);font-size:12px;width:18px}.series-detail-time .val{font-family:Courier New,monospace;font-size:16px;flex:1}.series-detail-time.excluded .val{text-decoration:line-through;opacity:.5}.inline-edit{border-top:1px solid var(--border);padding:12px 0;background:var(--surface)}.inline-edit .edit-display{font-family:Courier New,monospace;font-size:32px;font-weight:700;text-align:center;color:var(--secondary);padding:8px}.stats-period-selector{display:flex;margin:16px;background:var(--surface);border-radius:var(--radius-sm);padding:4px;border:1px solid var(--border)}.stats-period-selector button{flex:1;padding:9px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition)}.stats-period-selector button.active{background:var(--primary);color:#fff}.stats-chart-container{margin:0 8px;padding:8px 0}.stats-legend{display:flex;justify-content:center;gap:20px;padding:8px 16px 4px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.legend-dot{width:10px;height:10px;border-radius:50%}.stats-empty{text-align:center;color:var(--text-dim);padding:60px 16px;font-size:14px}.loading{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}.empty-state{text-align:center;color:var(--text-dim);padding:60px 24px;font-size:14px;line-height:1.6}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;z-index:200}.confirm-sheet{background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:24px 16px;width:100%;display:flex;flex-direction:column;gap:12px}.confirm-sheet p{text-align:center;color:var(--text-dim);font-size:14px;margin-bottom:4px}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 20px;font-size:13px;color:var(--text);z-index:300;pointer-events:none;animation:fadeInOut 2.5s ease forwards}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}75%{opacity:1}to{opacity:0}}.divider{height:1px;background:var(--border);margin:8px 0}.spacer{flex:1}.date-picker-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--secondary);border-radius:var(--radius-sm);padding:10px 14px;margin:0 16px}.date-picker-label{font-size:13px;color:var(--text-dim)}.date-input{background:transparent;border:none;color:var(--secondary);font-size:15px;font-weight:600;font-family:Courier New,monospace;outline:none;cursor:pointer;-webkit-appearance:none;color-scheme:dark}
