.debate-timer { display:grid; width:100%; max-width:780px; min-width:0; gap:12px; min-height:calc(100svh - 190px); margin-inline:auto; padding-bottom:12px; font-family:inherit; }
.debate-timer > * { min-width:0; }
.debate-timer[hidden],.debate-timer [hidden] { display:none!important; }
.debate-timer button,.debate-timer input { font:inherit; }
.debate-timer button { cursor:pointer; }
.debate-timer button:focus-visible,.debate-timer input:focus-visible { outline:3px solid #bb692f; outline-offset:2px; }
.debate-timer-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.debate-timer-head span { display:block; font-size:.68rem; letter-spacing:.12em; color:var(--green-dark); font-weight:900; }
.debate-timer-head h2 { margin:1px 0 0; font-size:clamp(1.35rem,5vw,1.8rem); color:var(--green-dark); }
.debate-timer-head > button { min-height:40px; border:1px solid #9fbfb1; border-radius:999px; padding:6px 15px; background:#edf5f1; color:var(--green-dark); font-weight:900; }
.debate-timer-head > button[aria-expanded="true"] { background:var(--green); color:white; }
.debate-timer-mode-current { display:flex; align-items:baseline; justify-content:center; gap:8px; color:var(--green-dark); }
.debate-timer-mode-current strong { font-size:1.02rem; }
.debate-timer-mode-current small { color:var(--muted); font-size:.78rem; }
.debate-timer-settings { display:grid; gap:12px; padding:13px; border:1px solid #bfd4cb; border-radius:18px; background:#f3f8f5; }
.debate-timer-settings > h3 { margin:0; color:var(--green-dark); font-size:.84rem; }
.debate-timer-settings > p { margin:0; color:var(--muted); font-size:.75rem; text-align:center; }
.debate-timer-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.debate-timer-presets button { min-width:0; min-height:58px; border:1px solid #adcbc0; border-radius:14px; padding:6px; background:#edf5f1; color:var(--green-dark); font-weight:900; }
.debate-timer-presets button[aria-pressed="true"] { background:var(--green); color:white; box-shadow:2px 2px 0 var(--yellow); }
.debate-timer-presets small { display:block; margin-top:2px; font-size:.64rem; font-weight:650; line-height:1.18; }
.debate-timer-stage-picker { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; padding:10px 12px; border:1px solid #bfd4cb; border-radius:16px; background:#eef7f2; color:var(--green-dark); font-size:.78rem; font-weight:900; }
.debate-timer-stage-picker select { min-width:0; min-height:42px; border:1px solid #a9c7bb; border-radius:10px; padding:6px 9px; background:white; color:var(--green-dark); font:inherit; }
.debate-timer-clock { min-height:clamp(150px,27vh,230px); display:grid; place-items:center; padding:0 8px; color:var(--green-dark); font-size:clamp(5.5rem,21vw,10rem); font-weight:900; text-align:center; font-variant-numeric:tabular-nums; letter-spacing:-.065em; line-height:1; }
.debate-timer-status { min-height:1.2em; margin:-4px 0 0; color:var(--muted); font-size:.82rem; font-weight:750; text-align:center; }
.debate-timer-scrub { display:grid; gap:4px; color:var(--green-dark); font-size:.76rem; font-weight:800; }
.debate-timer-scrub input { width:100%; min-height:22px; margin:0; accent-color:var(--green); touch-action:pan-y; }
.debate-timer-scrub small { color:var(--muted); font-size:.72rem; font-weight:500; }
.debate-timer-controls { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:8px; }
.debate-timer-controls button,.debate-timer-custom button { min-height:48px; border:1px solid #9fbfb1; border-radius:999px; padding:7px 10px; background:#e9f4ee; color:var(--green-dark); font-weight:900; }
.debate-timer-controls [data-timer-toggle] { background:var(--yellow); border-color:#c6a32c; color:#4b3900; box-shadow:0 3px 0 #a68620; font-size:1.08rem; }
.debate-timer-controls [data-timer-bell] { border-color:#d7bd62; background:#fff9e7; color:#5c450a; touch-action:manipulation; user-select:none; -webkit-user-select:none; }
.debate-timer button:disabled { cursor:not-allowed; opacity:.45; box-shadow:none; }
.debate-timer-free { display:grid; gap:10px; }
.debate-timer-free-clocks,.debate-timer-stopwatch-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.debate-timer-free-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.debate-timer-free-controls [data-timer-free-bell],.debate-timer-stopwatch-controls [data-timer-stopwatch-bell] { touch-action:manipulation; user-select:none; -webkit-user-select:none; }
.debate-timer [data-ringing="true"] { background:#ffe087; border-color:#b98b15; box-shadow:0 0 0 3px #ffe9a9; }
.debate-timer-free-card { display:grid; gap:6px; min-width:0; }
.debate-timer-free-card > button { min-width:0; min-height:145px; border:2px solid #a6c9bb; border-radius:20px; background:#ebf6f0; color:var(--green-dark); font-weight:900; }
.debate-timer-free-card:last-child > button { border-color:#dfbf55; background:#fff4cf; color:#5c450a; }
.debate-timer-free-card > button[aria-pressed="true"] { outline:3px solid var(--green); outline-offset:2px; }
.debate-timer-free-card:last-child > button[aria-pressed="true"] { outline-color:#b58217; }
.debate-timer-free-card strong { display:block; margin-top:5px; font-size:clamp(2.2rem,9vw,3.8rem); font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.debate-timer-free-card input { width:100%; accent-color:var(--green); }
.debate-timer-free-controls button,.debate-timer-stopwatch-controls button { min-height:52px; min-width:0; border:1px solid #9fbfb1; border-radius:999px; background:#e9f4ee; color:var(--green-dark); font-weight:900; }
.debate-timer-free-controls [data-timer-free-switch],.debate-timer-stopwatch-controls [data-timer-stopwatch-toggle] { background:var(--yellow); border-color:#c6a32c; color:#4b3900; box-shadow:0 3px 0 #a68620; }
.debate-timer-free-cue { margin:0; text-align:center; color:var(--muted); font-size:.76rem; }
.debate-timer-stopwatch { display:grid; gap:12px; }
.debate-timer-clock[data-stopwatch="true"] { font-size:clamp(3.1rem,12vw,7rem); letter-spacing:-.055em; white-space:nowrap; }
.debate-timer-stopwatch-reset { justify-self:center; min-height:38px; padding:5px 18px; border:1px solid #9fbfb1; border-radius:999px; background:#e9f4ee; color:var(--green-dark); font-weight:800; }
.debate-timer-custom { display:grid; gap:10px; border-top:1px solid #cadbd3; padding-top:12px; }
.debate-timer-custom h3 { margin:0; color:var(--green-dark); font-size:1rem; }
.debate-timer-single-custom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; border-top:1px solid #cadbd3; padding-top:12px; }
.debate-timer-single-custom label { display:grid; gap:4px; color:var(--green-dark); font-size:.73rem; font-weight:800; }
.debate-timer-single-custom input { width:100%; min-height:42px; border:1px solid #afcabc; border-radius:9px; padding:6px 8px; background:white; }
.debate-timer-custom-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:7px; margin-bottom:8px; }
.debate-timer-custom-row label { display:grid; min-width:0; gap:4px; color:var(--green-dark); font-size:.73rem; font-weight:800; }
.debate-timer-custom-row input { width:100%; min-width:0; min-height:42px; border:1px solid #afcabc; border-radius:9px; padding:6px 8px; background:white; }
.debate-timer-custom-row button { min-height:42px; border-radius:9px; }
@media(max-width:600px) {
  .debate-timer { gap:10px; min-height:calc(100svh - 150px); padding-bottom:calc(86px + env(safe-area-inset-bottom)); }
  .debate-timer-head { padding-top:2px; }
  .debate-timer-head h2 { font-size:1.42rem; }
  .debate-timer-head > button { min-height:36px; padding-inline:13px; }
  .debate-timer-mode-current { min-height:24px; }
  .debate-timer-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .debate-timer-presets button { min-height:52px; }
  .debate-timer-clock { min-height:clamp(150px,24vh,190px); overflow:hidden; font-size:clamp(4rem,20vw,6.5rem); }
  .debate-timer-controls button { min-height:50px; padding-inline:5px; }
  .debate-timer-custom-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .debate-timer-custom-row label:first-child { grid-column:1/-1; }
  .debate-timer-custom-row button { grid-column:1/-1; min-height:32px; }
  .debate-timer-free-card > button { min-height:132px; }
}
@media(max-width:340px) {
  .debate-timer { gap:8px; }
  .debate-timer-head span { display:none; }
  .debate-timer-mode-current { justify-content:flex-start; }
  .debate-timer-clock { min-height:135px; font-size:3.8rem; }
  .debate-timer-presets { grid-template-columns:1fr; }
  .debate-timer-presets-advanced { grid-template-columns:1fr; }
  .debate-timer-controls { gap:5px; }
  .debate-timer-controls button { font-size:.86rem; }
}
