:root{--bg: #061428;--panel-rgb: 13,32,64;--border: #1a3a60;--border-hi: rgba(255,255,255,.08);--accent: #ffd43b;--accent-rgb: 255,212,59;--accent-dim: #d1ab20;--red: #ff3c3c;--green: #00c853;--text: rgba(255,255,255,.92);--text-mid: rgba(255,255,255,.7);--text-dim: rgba(255,255,255,.42);--dim: #3a608a;--input-rgb: 4,14,32;--tr: .22s cubic-bezier(.4, 0, .2, 1);--bar-h: clamp(58px, 9.5vh, 90px);--left-w: clamp(120px, 16vw, 210px);--gap: clamp(5px, .7vw, 11px);--cell-px: clamp(10px, 1.8vw, 24px);--digit-w: 1ch;--sep-w: .5ch;--timer-fs: 22vw;--total-digit-w: 1ch;--total-sep-w: .5ch}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;touch-action:manipulation}body{background:var(--bg);color:var(--text);font-family:Barlow Condensed,sans-serif;height:100dvh;overflow:hidden}.app{position:relative;z-index:2;width:100%;height:100dvh;display:flex;flex-direction:column;opacity:0;transition:opacity .15s ease}.app.ready{opacity:1}.stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--gap);overflow:hidden}.tabata-layout{width:min(92vw,1100px);display:grid;grid-template-columns:var(--left-w) 1fr;grid-template-rows:auto var(--bar-h);gap:var(--gap)}.tabata-left{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;gap:var(--gap);min-height:0}.tabata-ctr-card,.tabata-total-card{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(2px,.4vh,5px);border-radius:clamp(10px,1.2vw,18px);background:rgba(var(--panel-rgb),.9);border:1px solid var(--border);border-top-color:var(--border-hi);box-shadow:0 0 0 1px #ffffff08 inset;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.tabata-ctr-val{font-family:Teko,sans-serif;font-size:clamp(26px,4.5vw,72px);font-weight:700;line-height:1;letter-spacing:.04em;color:var(--text)}.tabata-total-val{font-family:Teko,sans-serif;font-weight:700;line-height:1;color:var(--text);display:flex;align-items:baseline;justify-content:center;white-space:nowrap}.total-digit{display:inline-block;width:var(--total-digit-w);text-align:center}.total-sep{display:inline-block;width:var(--total-sep-w);text-align:center}.tabata-ctr-label,.tabata-total-label{font-family:Barlow Condensed,sans-serif;font-size:clamp(9px,1.1vw,13px);font-weight:700;letter-spacing:.45em;text-transform:uppercase;color:var(--text-dim)}.tabata-timer-cell{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:clamp(10px,1.2vw,18px);background:rgba(var(--panel-rgb),.6);border:1px solid var(--border);border-top-color:var(--border-hi);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 0 1px #ffffff08 inset;padding:clamp(14px,2.5vw,28px) var(--cell-px) clamp(10px,2vw,22px);gap:clamp(6px,1vh,12px);overflow:hidden}.tabata-phase-label{font-family:Barlow Condensed,sans-serif;font-size:clamp(11px,1.2vw,16px);font-weight:700;letter-spacing:.5em;text-transform:uppercase;color:var(--text-dim);transition:color .3s;flex-shrink:0}body[data-phase=work] .tabata-phase-label{color:var(--green)}body[data-phase=rest] .tabata-phase-label{color:var(--red)}body[data-phase=prepare] .tabata-phase-label{color:var(--accent)}.tabata-timer-wrap{width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}#tabataTime{font-family:Teko,sans-serif;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--timer-fs, 22vw);line-height:1;color:#ffffffeb;-webkit-user-select:none;user-select:none;white-space:nowrap;display:flex;align-items:baseline;justify-content:center;text-shadow:0 3px 0 rgba(0,0,0,.7);transition:color .3s}.timer-digit{display:inline-block;width:var(--digit-w);text-align:center}.timer-sep{display:inline-block;width:var(--sep-w);text-align:center}body[data-phase=work] #tabataTime{color:#00e85c;text-shadow:0 3px 0 rgba(0,0,0,.65)}body[data-phase=rest] #tabataTime{color:var(--red);text-shadow:0 3px 0 rgba(0,0,0,.65)}body[data-phase=prepare] #tabataTime{color:var(--accent);text-shadow:0 3px 0 rgba(0,0,0,.65)}body[data-phase=done] #tabataTime{color:var(--dim);animation:none}.tabata-progress-track{width:100%;height:5px;flex-shrink:0;background:#ffffff0f;border-radius:4px;overflow:visible;position:relative}.tabata-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .12s linear,background .3s;position:relative;box-shadow:0 0 10px rgba(var(--accent-rgb),.5)}.tabata-progress-fill:after{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent),0 0 22px rgba(var(--accent-rgb),.4)}body[data-phase=work] .tabata-progress-fill{background:var(--green);box-shadow:0 0 8px #00c85399}body[data-phase=work] .tabata-progress-fill:after{background:var(--green);box-shadow:0 0 12px var(--green)}body[data-phase=rest] .tabata-progress-fill{background:var(--red);box-shadow:0 0 8px #ff3c3c99}body[data-phase=rest] .tabata-progress-fill:after{background:var(--red);box-shadow:0 0 12px var(--red)}body[data-phase=prepare] .tabata-progress-fill{background:var(--accent)}.tabata-status-row{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:100%}.status-bar{display:flex;align-items:center;gap:8px;font-size:clamp(11px,1.3vw,14px);font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:var(--text-dim)}.status-dot{width:clamp(8px,.8vw,10px);height:clamp(8px,.8vw,10px);border-radius:50%;background:var(--border);flex-shrink:0;transition:background .3s,box-shadow .3s;margin-right:5px}.status-dot.running{background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px rgba(var(--accent-rgb),.35);animation:blink 1.1s infinite}.status-dot.done{background:var(--red);box-shadow:0 0 8px var(--red)}.tabata-bottom-row{grid-column:2;grid-row:2;display:flex;align-items:stretch;gap:var(--gap);height:var(--bar-h);flex-shrink:0}.tabata-btns{display:flex;gap:var(--gap);flex:none;width:clamp(130px,22%,240px)}.tabata-phase-bar{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap)}.btn{flex:1;font-size:clamp(13px,1.7vw,22px);border-radius:clamp(7px,.8vw,12px);padding:0;height:100%;cursor:pointer;transition:var(--tr);border:1px solid transparent;display:flex;align-items:center;justify-content:center}.btn:active{transform:scale(.97) translateY(1px)!important}.btn-main{background:var(--accent);color:#000;box-shadow:0 3px 18px rgba(var(--accent-rgb),.35),0 1px #ffffff4d inset}.btn-main:hover{filter:brightness(1.08);transform:translateY(-2px)}.btn-main.is-running{background:#122242f2;color:#ffffffc7;border-color:#ffffff1f;box-shadow:none}.btn-main.is-running:hover{background:#1c325af2;color:#fff;border-color:#ffffff38;filter:none;transform:translateY(-2px)}.btn-main.is-paused{background:transparent;color:var(--accent);border-color:rgba(var(--accent-rgb),.48)}.btn-main.is-paused:hover{background:rgba(var(--accent-rgb),.07);border-color:rgba(var(--accent-rgb),.7);transform:translateY(-2px)}.btn-reset{background:transparent;color:var(--text-dim);border-color:var(--border)}.btn-reset:hover{background:#ff3c3c14;color:var(--red);border-color:#ff3c3c59;transform:translateY(-2px)}.tabata-phase-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(2px,.4vh,5px);border-radius:clamp(8px,1vw,14px);border:1px solid transparent;opacity:.42;transition:opacity .3s,box-shadow .3s,border-color .3s;-webkit-user-select:none;user-select:none}.tabata-phase-card--prepare{background:linear-gradient(145deg,#fc0,#e6a800);color:#000}.tabata-phase-card--work{background:linear-gradient(145deg,#00c853,#009940);color:#000}.tabata-phase-card--rest{background:linear-gradient(145deg,#ff3c3c,#c42828);color:#fff}body[data-phase=prepare] .tabata-phase-card--prepare{opacity:1;border-color:#ffdc008c;box-shadow:0 4px 24px #ffcc0073}body[data-phase=work] .tabata-phase-card--work{opacity:1;border-color:#00c8538c;box-shadow:0 4px 24px #00c85373}body[data-phase=rest] .tabata-phase-card--rest{opacity:1;border-color:#ff3c3c8c;box-shadow:0 4px 24px #ff3c3c73}.phase-card-time{font-family:Teko,sans-serif;font-size:clamp(16px,2.6vw,40px);font-weight:700;line-height:1;letter-spacing:.06em}.phase-card-label{font-family:Barlow Condensed,sans-serif;font-size:clamp(9px,1.1vw,13px);font-weight:700;letter-spacing:.35em;text-transform:uppercase;opacity:.8}@media(orientation:portrait),(max-aspect-ratio:1/1){:root{--bar-h: clamp(52px, 8.5vh, 78px)}.tabata-layout{width:min(96vw,640px);grid-template-columns:1fr;grid-template-rows:auto auto var(--bar-h);gap:clamp(6px,1vh,10px)}.tabata-left{grid-column:1;grid-row:1;flex-direction:row;min-height:clamp(62px,11dvh,100px);max-height:clamp(72px,13dvh,112px)}.tabata-ctr-val{font-size:clamp(22px,6.5vw,50px)}.tabata-ctr-label,.tabata-total-label{font-size:clamp(8px,2vw,12px)}.tabata-timer-cell{grid-column:1;grid-row:2}.tabata-bottom-row{grid-column:1;grid-row:3}.tabata-btns{width:clamp(100px,30%,160px)}.btn{font-size:clamp(14px,4vw,24px)}.phase-card-time{font-size:clamp(13px,4vw,26px)}.phase-card-label{font-size:clamp(7px,1.8vw,11px);letter-spacing:.2em}}@media(max-width:380px){.tabata-layout{width:98vw}:root{--gap: 4px}}@media(max-height:440px)and (orientation:landscape){:root{--bar-h: clamp(40px, 8vh, 54px);--left-w: clamp(90px, 13vw, 150px);--gap: 4px}.tabata-phase-label{display:none}}.lbl-prepare{color:#fc0}.lbl-work{color:#00c853}.lbl-rest{color:#ff4440}@keyframes blink{0%,to{opacity:1}50%{opacity:.1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
