*{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{flex-wrap:wrap;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}}.chime-app h2{font-size:16px}.chime-app .chime-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;display:flex}.chime-app .chime-toolbar label{max-width:100%;font-size:13px}.chime-app .chime-toolbar select{margin-left:8px}.chime-app .chime-list{padding:0;list-style:none}.chime-app .chime-list li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;margin:12px 0;padding:10px 14px}.chime-app .chime-editor input:not([type=checkbox]):not([type=range]){width:100%;min-width:0;padding:10px}.chime-app .chime-files{overflow-wrap:anywhere;padding-left:20px;font-size:13px}.chime-app .chime-notices{z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(340px,100vw - 32px);max-height:50dvh;padding:12px;position:fixed;bottom:16px;right:16px;overflow:auto;box-shadow:0 8px 30px #0003}.chime-app .chime-notice{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.chime-app .chime-notice button{flex-shrink:0}@media (width<=560px){.chime-app .tool-nav{gap:2px}.chime-app .tool-nav a{padding:9px 10px}}.chime-app .chime-switch{cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex;position:relative}.chime-app .chime-switch input{opacity:0;cursor:pointer;width:38px;height:24px;margin:0;position:absolute;left:0}.chime-app .chime-switch-track{background:var(--muted);border:1px solid var(--border);pointer-events:none;border-radius:20px;flex-shrink:0;width:38px;height:22px;transition:background .15s;display:inline-block}.chime-app .chime-switch-track:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;margin:2px;transition:transform .15s;display:block}.chime-app .chime-switch input:checked+.chime-switch-track{background:var(--accent)}.chime-app .chime-switch input:checked+.chime-switch-track:before{transform:translate(16px)}.chime-app .chime-switch input:focus-visible+.chime-switch-track{outline:2px solid var(--accent);outline-offset:3px}.chime-app .chime-volume-controls{flex:260px;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.chime-app .chime-volume-controls label{width:min(180px,100%);min-width:80px}.chime-app .chime-card-title{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.chime-app .chime-card-title strong{overflow-wrap:anywhere}.chime-app .chime-edit{flex-shrink:0}.chime-app .chime-card-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.chime-app .chime-drag{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;min-width:44px;min-height:44px;padding:8px 10px;font-size:22px}.chime-app .chime-drag:active{cursor:grabbing;background:var(--soft)}.chime-app .chime-add{justify-content:center;margin-top:20px;display:flex}.chime-app .chime-sound-actions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:8px;display:flex}.chime-app .chime-sound-actions label{flex-direction:column;gap:8px;min-width:0;max-width:100%;font-size:12px;display:flex}.chime-app .chime-sound-actions select{max-width:100%}.chime-app .chime-sound-actions button{font-size:12px}.chime-app .chime-upload{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.chime-app .chime-audio-help{background:var(--soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px;font-size:12px;line-height:1.7;display:flex}.chime-app .chime-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=560px){.chime-app .chime-volume-controls{flex-basis:100%;justify-content:space-between}.chime-app .chime-card-controls{margin-left:auto}.chime-app .chime-volume-controls label{flex:1;width:auto}}@media (prefers-reduced-motion:reduce){.chime-app .chime-switch-track,.chime-app .chime-switch-track:before{transition:none}}.chime-app .chime-list p{color:var(--muted);font-size:13px;line-height:1.6}.chime-app .chime-list li{background:var(--surface);align-items:center;gap:12px;transition:transform .18s;display:flex;position:relative}.chime-app .chime-list li.is-dragging{z-index:10;background:var(--soft);outline:2px solid var(--accent);cursor:grabbing;will-change:transform;transition:none;box-shadow:0 12px 28px #0003}.chime-app .chime-card-content{flex:1;min-width:0}.chime-app .chime-card-title button{padding:6px 9px;font-size:12px}.chime-app .chime-edit-switch{flex-direction:column;align-items:center;gap:12px;display:flex}.chime-app .chime-edit{padding:6px 12px;font-size:12px}.chime-app .chime-upload{display:block}.chime-app .chime-upload .upload{margin-top:0}@media (width<=560px){.chime-app .chime-list li{gap:8px;padding:12px 10px}.chime-app .chime-card-controls{gap:5px;margin-left:0}.chime-app .chime-card-title{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.chime-app .chime-list li{transition:none}}.chime-app{--chime-active-bg:#f0f6ff;--chime-active-hover:#e4efff;--chime-active-border:#718db8;--chime-active-text:#202b40;--chime-active-detail:#4c5e78;--chime-inactive-bg:#e6eaf0;--chime-inactive-hover:#dce3ed;--chime-inactive-border:#748093;--chime-inactive-text:#364152;--chime-inactive-detail:#526074;--chime-off-bg:#dee4ec;--chime-off-hover:#d7dee8;--chime-off-border:#748093;--chime-off-text:#4c596b;--chime-off-detail:#526074;--chime-point:#365ce8;--chime-off-switch:#7b8490;--chime-drag-shadow:#17295540}.chime-app.theme-dark{--chime-active-bg:#263b57;--chime-active-hover:#30496b;--chime-active-border:#7896bd;--chime-active-text:#edf2ff;--chime-active-detail:#bdcce0;--chime-inactive-bg:#141e2b;--chime-inactive-hover:#1d2c3f;--chime-inactive-border:#62748a;--chime-inactive-text:#b4bfce;--chime-inactive-detail:#99a9bb;--chime-off-bg:#111a26;--chime-off-hover:#1a2739;--chime-off-border:#62748a;--chime-off-text:#a4b0c3;--chime-off-detail:#99a9bb;--chime-point:#94aaff;--chime-off-switch:#697380;--chime-drag-shadow:#0008}@media (prefers-color-scheme:dark){.chime-app.theme-system{--chime-active-bg:#263b57;--chime-active-hover:#30496b;--chime-active-border:#7896bd;--chime-active-text:#edf2ff;--chime-active-detail:#bdcce0;--chime-inactive-bg:#141e2b;--chime-inactive-hover:#1d2c3f;--chime-inactive-border:#62748a;--chime-inactive-text:#b4bfce;--chime-inactive-detail:#99a9bb;--chime-off-bg:#111a26;--chime-off-hover:#1a2739;--chime-off-border:#62748a;--chime-off-text:#a4b0c3;--chime-off-detail:#99a9bb;--chime-point:#94aaff;--chime-off-switch:#697380;--chime-drag-shadow:#0008}}.chime-app .chime-list li{--card-bg:var(--chime-inactive-bg);--card-hover:var(--chime-inactive-hover);--card-border:var(--chime-inactive-border);--card-text:var(--chime-inactive-text);--card-detail:var(--chime-inactive-detail);background:var(--card-bg);border-color:var(--card-border);color:var(--card-text);transition:transform .18s,border-color .14s,background-color .14s}.chime-app .chime-list li.is-active{--card-bg:var(--chime-active-bg);--card-hover:var(--chime-active-hover);--card-border:var(--chime-active-border);--card-text:var(--chime-active-text);--card-detail:var(--chime-active-detail);box-shadow:inset 3px 0 0 var(--chime-point)}.chime-app .chime-list li.is-master-off{--card-bg:var(--chime-off-bg);--card-hover:var(--chime-off-hover);--card-border:var(--chime-off-border);--card-text:var(--chime-off-text);--card-detail:var(--chime-off-detail)}.chime-app .chime-list p{color:var(--card-detail)}.chime-app .chime-list li.is-master-off .chime-switch input:checked+.chime-switch-track{background:var(--chime-off-switch)}.chime-app .chime-list li:focus-within{border-color:var(--chime-point);background:var(--card-hover)}@media (hover:hover){.chime-app .chime-list li:hover{border-color:var(--chime-point);background:var(--card-hover)}}.chime-app .chime-list li.is-dragging{background:var(--card-bg);border-color:var(--chime-point);outline-color:var(--chime-point);box-shadow:0 12px 28px var(--chime-drag-shadow), inset 3px 0 0 var(--chime-point);transition:none}@media (prefers-reduced-motion:reduce){.chime-app .chime-list li{transition:none}}.chime-app .chime-list li.is-master-off .chime-switch-track{background:var(--chime-off-switch)}.chime-app .chime-sound-box .chime-volume-controls{margin-top:18px;display:block}.chime-app .chime-sound-box .chime-volume-controls label{width:min(100%,320px);font-size:12px;display:block}.chime-app .chime-sound-box .chime-volume-controls input{margin-top:8px;display:block}.chime-app .chime-list-heading{justify-content:space-between;align-items:center;gap:12px;margin:14px 0;display:flex}.chime-app .chime-list-heading h2{overflow-wrap:anywhere;min-width:0;margin:0}.chime-app .chime-master-switch{flex-shrink:0;margin-left:auto}.chime-app .chime-master-switch input{top:50%;left:auto;right:0;transform:translateY(-50%)}@media (width<=560px){.chime-app .chime-master-switch{white-space:normal;flex-shrink:1;max-width:58%}.chime-app .chime-master-switch>span:first-child{overflow-wrap:anywhere;min-width:0}}
