*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,select,input{touch-action:manipulation}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline-offset:3px;outline:3px solid #5686ff}.app{--bg:#f4f6fa;--surface:#fff;--ink:#202b40;--muted:#6d788b;--border:#e2e7f0;--accent:#365ce8;--soft:#edf1ff;background:var(--bg);min-height:100dvh;color:var(--ink);padding:0 24px}.app.theme-dark{--bg:#101623;--surface:#192232;--ink:#edf2ff;--muted:#a4b0c7;--border:#303c52;--accent:#94aaff;--soft:#263451}@media (prefers-color-scheme:dark){.app.theme-system{--bg:#101623;--surface:#192232;--ink:#edf2ff;--muted:#a4b0c7;--border:#303c52;--accent:#94aaff;--soft:#263451}}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;max-width:1100px;height:88px;margin:auto;display:flex}a{color:inherit;text-decoration:none}.brand{color:var(--accent);align-items:center;gap:10px;font-size:32px;display:flex}.brand span{letter-spacing:2px;color:var(--ink);font-size:14px;font-weight:800}nav{color:var(--muted);gap:20px;font-size:13px;display:flex}nav a[aria-current]{color:var(--accent);font-weight:700}main{max-width:740px;margin:auto;padding:46px 0 24px}.heading{text-align:center;margin-bottom:28px}.eyebrow{color:var(--accent);letter-spacing:3px;font-size:11px;font-weight:700}h1{letter-spacing:-1px;margin:12px 0;font-size:30px}.heading>p:last-child{color:var(--muted);font-size:14px}.timer-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:30px 40px;box-shadow:0 12px 50px #17295508}.mode-tabs{background:var(--bg);border-radius:12px;max-width:340px;margin:auto;padding:5px;display:flex}.mode-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:10px;font-size:14px}.mode-tabs button[aria-pressed=true]{background:var(--surface);color:var(--accent);font-weight:700;box-shadow:0 2px 6px #0000000a}.time-display{font-variant-numeric:tabular-nums;letter-spacing:-3px;text-align:center;overflow-wrap:anywhere;margin:38px 0 22px;font-size:clamp(30.4px,7.6vw,77.9px);font-weight:600}.rounds{text-align:center;color:var(--accent);margin:-8px 0 20px;font-size:16px}.rounds small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.progress-area{color:var(--muted);align-items:center;gap:12px;font-size:11px;display:flex}progress{background:var(--bg);width:100%;height:6px;accent-color:var(--accent);direction:rtl;border:0;border-radius:20px}progress::-webkit-progress-bar{background:var(--bg);border-radius:20px}progress::-webkit-progress-value{background:var(--accent);border-radius:20px}progress::-moz-progress-bar{background:var(--accent);border-radius:20px}button{color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:11px 16px}button:hover:enabled{border-color:var(--accent)}button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent);min-width:140px;padding:13px 32px;font-weight:700}.theme-dark button.primary{color:#101623}.main-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 30px;display:flex}.timer-display-area{display:flow-root;position:relative}.full-button{color:var(--muted);padding:6px 10px;font-size:22px;position:absolute;top:0;right:0}.configuration{border-top:1px solid var(--border);padding-top:24px}fieldset{border:0;margin:0;padding:0}legend,.section-label{color:var(--muted);margin-bottom:12px;font-size:12px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select{color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:8px}select{max-width:100%;padding:10px}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=range]{width:100%}.presets{margin-top:24px}.preset-buttons{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.preset-buttons button{padding:10px 2px;font-size:13px}.extension-buttons{gap:8px}.extension-buttons button{color:var(--accent);background:var(--soft);flex:1}.comparison{grid-template-columns:1fr 1.5fr;gap:14px;margin-top:20px;display:grid}.comparison label{color:var(--muted);font-size:11px}.comparison select{width:100%;margin-top:8px;font-size:12px;display:block}.repeat-settings{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;font-size:13px;display:flex}.repeat-settings input[type=number]{width:85px;margin-left:10px;padding:8px}.advanced{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin-top:18px;padding:20px 24px}summary{cursor:pointer;color:var(--muted);font-size:14px}.settings-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;display:grid}.settings-grid>label{flex-direction:column;gap:10px;font-size:13px;display:flex}.settings-grid label.check{flex-direction:row;align-items:center}.sound-actions{flex-wrap:wrap;gap:6px;display:flex}.sound-actions button{font-size:12px}.audio-files{border-top:1px solid var(--border);grid-column:1/-1;padding-top:18px}.upload{flex-direction:column;gap:12px;font-size:14px;display:flex}input[type=file]{max-width:100%;font-size:13px}.audio-files p,.browser-notice{color:var(--muted);font-size:12px;line-height:1.8}.audio-files ul{padding:0;list-style:none}.audio-files li{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:13px;display:flex}.audio-files li span{overflow-wrap:anywhere}.browser-notice{text-align:center;margin:24px 10px 0}footer{text-align:center;max-width:1100px;color:var(--muted);letter-spacing:1px;margin:auto;padding:22px;font-size:11px}.status-message{background:var(--soft);border-radius:10px;padding:14px;font-size:13px;line-height:1.7}.status-message button{float:right;padding:2px 8px}.toast{background:var(--ink);color:var(--surface);z-index:20;text-align:center;border-radius:14px;max-width:90vw;padding:16px 24px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:30;background:#0007;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.completion{background:var(--surface);border:1px solid var(--border);color:var(--ink);text-align:center;border-radius:24px;width:min(100%,380px);padding:36px}.completion-icon{color:var(--accent);font-size:40px}.completion p{color:var(--muted);font-variant-numeric:tabular-nums}.close-full{z-index:40;top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));padding:3px 15px;font-size:26px;position:fixed}.is-fullscreen{z-index:10;padding:64px 20px 20px;position:fixed;inset:0;overflow:auto}.is-fullscreen .site-header,.is-fullscreen .heading,.is-fullscreen .configuration,.is-fullscreen .progress-area,.is-fullscreen .reset,.is-fullscreen .full-button,.is-fullscreen .advanced,.is-fullscreen .mode-tabs,.is-fullscreen .browser-notice,.is-fullscreen footer{display:none}.is-fullscreen main{flex-direction:column;justify-content:center;width:100%;max-width:none;min-height:calc(100dvh - 84px);padding:0;display:flex}.is-fullscreen .timer-card{box-shadow:none;background:0 0;border:0;padding:0}.is-fullscreen .time-display{letter-spacing:-.04em;margin:20px 0;font-size:clamp(34.2px,13.3vw,199.5px)}.is-fullscreen .main-actions{margin:24px 0}@media (width<=560px){.app{padding:0 14px}.site-header{height:68px}.brand span{font-size:11px}nav{gap:12px;font-size:12px}main{padding-top:28px}.timer-card{border-radius:18px;padding:24px 18px}.time-display{letter-spacing:-2px;margin-top:30px}.main-actions{gap:8px}button.primary{min-width:120px;padding:12px 20px}.main-actions button{padding:12px}.comparison,.settings-grid{grid-template-columns:1fr}.advanced{padding:18px}.preset-buttons{grid-template-columns:repeat(3,1fr)}.is-fullscreen{padding:64px 12px 16px}}@media (height<=500px) and (orientation:landscape){.is-fullscreen .time-display{margin:0;font-size:clamp(38px,19.95vh,104.5px)}.is-fullscreen .main-actions{margin:12px 0}.is-fullscreen .rounds{margin:0}}.time-display input[type=text]{color:inherit;font:inherit;font-variant-numeric:inherit;letter-spacing:inherit;text-align:center;opacity:1;-webkit-text-fill-color:currentColor;background:0 0;border:0;border-radius:0;padding:0}.time-display input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.header-controls{align-items:center;gap:14px;display:flex}.theme-toggle{place-items:center;width:34px;height:34px;padding:0;font-size:22px;display:grid}.tool-nav{justify-content:center;gap:8px;max-width:740px;margin:22px auto 0}.tool-nav a{border-radius:9px;padding:9px 22px}.tool-nav a[aria-current]{background:var(--soft)}.is-fullscreen .tool-nav{display:none}.stopwatch-display-row{justify-content:center;align-items:center;gap:12px;margin-top:64px;display:flex}.stopwatch-display.time-display{letter-spacing:-.035em;white-space:nowrap;overflow-wrap:normal;margin:0;font-size:clamp(24px,6vw,62px)}.stopwatch-reset{color:var(--muted);flex:none;padding:6px 10px;font-size:24px}.stopwatch-card .main-actions{grid-template-columns:repeat(2,minmax(0,140px));display:grid}.stopwatch-card .main-actions>button{min-width:0;height:48px;padding:12px}.lap-records{border-top:1px solid var(--border);padding-top:22px}.lap-records h2{align-items:center;gap:8px;margin:0 0 18px;font-size:14px;display:flex}.lap-count{color:var(--accent);background:var(--soft);border-radius:20px;padding:3px 9px;font-size:12px}.empty-laps{text-align:center;color:var(--muted);padding:24px 0;font-size:13px;line-height:1.7}.lap-scroll{max-height:320px;overflow:auto}.lap-records table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:14px}.lap-records th,.lap-records td{text-align:right;border-bottom:1px solid var(--border);padding:13px 8px}.lap-records th:first-child{text-align:left}.lap-records thead th{background:var(--surface);color:var(--muted);font-size:12px;font-weight:500;position:sticky;top:0}.lap-records tbody tr:first-child{color:var(--accent)}.stopwatch-app.is-fullscreen{height:100dvh;min-height:0;overflow:hidden}.stopwatch-app.is-fullscreen main{max-width:1200px;height:100%;min-height:0}.stopwatch-app.is-fullscreen .stopwatch-card{flex:1;grid-template-rows:minmax(0,2fr) auto minmax(0,3fr);min-height:0;display:grid}.stopwatch-app.is-fullscreen .timer-display-area{justify-content:center;align-items:center;min-height:0;display:flex}.stopwatch-app.is-fullscreen .stopwatch-display-row{margin-top:0}.stopwatch-app.is-fullscreen .stopwatch-display{margin:0;font-size:clamp(25px,min(8.5vw,12dvh),120px)}.stopwatch-app.is-fullscreen .main-actions{margin:12px 0}.stopwatch-app.is-fullscreen .lap-records{flex-direction:column;width:min(100%,680px);min-height:0;margin:0 auto;padding-top:12px;display:flex}.stopwatch-app.is-fullscreen .lap-records h2{flex-shrink:0;margin-bottom:10px}.stopwatch-app.is-fullscreen .lap-scroll{flex:1;min-height:0;max-height:none}.stopwatch-app.is-fullscreen .empty-laps{min-height:0;margin:0;padding:12px 0;overflow:auto}.stopwatch-app.is-fullscreen .status-message{flex-shrink:0;max-height:15dvh;margin:8px 0 0;padding:8px;overflow:auto}@media (width<=560px){.header-controls{gap:9px}.stopwatch-card{padding:24px 12px}.stopwatch-display-row{gap:6px}.stopwatch-reset{padding:6px 8px;font-size:21px}.lap-records table{font-size:12px}.lap-records th,.lap-records td{padding:12px 5px}}@media (width<=360px){.brand{gap:5px}.brand span{letter-spacing:1px}}@media (prefers-color-scheme:dark){.theme-system button.primary{color:#101623}}
