@keyframes blink{0%,to{opacity:1}50%{opacity:.1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes chipIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cardIn{0%{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}:root{--accent: #ffd43b;--accent-rgb: 255, 212, 59;--accent-dim: #d1ab20;--bg: #061428;--bg-alt: #04101e;--panel: #0d2040;--panel-rgb: 13, 32, 64;--navy-mid: #0d1f3c;--border: #1a3a60;--border-hi: rgba(255, 255, 255, .08);--dim: #3a608a;--red: #ff3c3c;--green: #22c55e;--blue: #3b82f6;--text: #ffffff;--text-mid: rgba(255, 255, 255, .7);--text-dim: rgba(255, 255, 255, .42);--input-rgb: 4, 14, 32;--font-display: "Barlow Condensed", sans-serif;--font-heading: "Bebas Neue", sans-serif;--font-mono: "Space Mono", monospace;--tr: .22s cubic-bezier(.4, 0, .2, 1)}:root{--vh-100-safe: 100vh}@supports (height: 100dvh){:root{--vh-100-safe: 100dvh}}*,*: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:var(--vh-100-safe);overflow:hidden}.app{position:relative;z-index:2;width:100%;height:var(--vh-100-safe);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;overflow:hidden;padding-top:max(var(--gap),env(safe-area-inset-top));padding-right:max(var(--gap),env(safe-area-inset-right));padding-bottom:max(var(--gap),env(safe-area-inset-bottom));padding-left:max(var(--gap),env(safe-area-inset-left))}.status-bar{display:flex;align-items:center;gap:8px;font-size:clamp(11px,1.3vw,15px);font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:var(--text-dim)}.status-dot{width:clamp(8px,.8vw,11px);height:clamp(8px,.8vw,11px);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)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.am-modal{max-height:88vh;max-height:min(calc(var(--vh-100-safe) * .88),88vh)}:root{--green: #00c853;--text: rgba(255,255,255,.92);--bar-h: clamp(58px, 10.5vh, 120px);--left-w: clamp(120px, 16vw, 290px);--gap: clamp(6px, .9vw, 14px);--cell-px: clamp(12px, 2vw, 32px);--digit-w: 1ch;--sep-w: .5ch;--timer-fs: 22vw;--total-digit-w: 1ch;--total-sep-w: .5ch}.tabata-layout{width:min(94vw,1650px);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,6px);border-radius:clamp(10px,1.2vw,22px);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,5vw,96px);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:var(--green);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{font-size:clamp(11px,1.3vw,14px)}.status-dot{width:clamp(8px,.8vw,10px);height:clamp(8px,.8vw,10px)}.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%,340px)}.tabata-phase-bar{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap)}.btn{flex:1;font-size:clamp(14px,1.8vw,28px);border-radius:clamp(7px,.8vw,14px);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,6px);border-radius:clamp(8px,1vw,16px);border:1px solid transparent;opacity:.42;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;-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,var(--green),#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.8vw,54px);font-weight:700;line-height:1;letter-spacing:.06em}.phase-card-label{font-family:Barlow Condensed,sans-serif;font-size:clamp(9px,1.1vw,15px);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, 84px)}.tabata-layout{width:min(96vw,860px);grid-template-columns:1fr;grid-template-rows:auto auto var(--bar-h);gap:clamp(6px,1vh,12px);max-height:100%}.tabata-left{grid-column:1;grid-row:1;flex-direction:row;min-height:clamp(60px,10vh,110px);min-height:clamp(60px,calc(var(--vh-100-safe) * .1),110px);max-height:clamp(70px,12vh,124px);max-height:clamp(70px,calc(var(--vh-100-safe) * .12),124px);width:100%}.tabata-ctr-card,.tabata-total-card{flex:1;min-width:0;padding:clamp(4px,1vh,8px) 4px}.tabata-ctr-val{font-size:clamp(22px,6.5vw,56px)}.tabata-ctr-label,.tabata-total-label{font-size:clamp(8px,1.8vw,13px);letter-spacing:.25em}.tabata-timer-cell{grid-column:1;grid-row:2;padding:clamp(10px,2vh,22px) var(--cell-px) clamp(8px,1.6vh,18px)}.tabata-bottom-row{grid-column:1;grid-row:3}.tabata-btns{width:clamp(105px,32%,200px)}.btn{font-size:clamp(14px,3.8vw,24px);min-height:48px}.tabata-phase-card{min-width:0;padding:2px 4px}.phase-card-time{font-size:clamp(13px,3.8vw,30px)}.phase-card-label{font-size:clamp(7.5px,1.7vw,12px);letter-spacing:.2em}}@media(max-width:380px){.tabata-layout{width:98vw}:root{--gap: 4px}.tabata-ctr-label,.tabata-total-label{letter-spacing:.15em;font-size:8px}.phase-card-label{letter-spacing:.1em;font-size:7px}}@media(max-height:520px)and (orientation:landscape){:root{--bar-h: clamp(38px, 11vh, 52px);--left-w: clamp(90px, 14vw, 150px);--gap: clamp(4px, .8vw, 8px)}.tabata-phase-label{display:none}.tabata-layout{gap:var(--gap);max-height:100%}.tabata-left{max-height:100%}.tabata-ctr-card,.tabata-total-card{padding:3px 4px;gap:2px}.tabata-ctr-val{font-size:clamp(16px,5.5vh,36px)}.tabata-ctr-label,.tabata-total-label{font-size:clamp(7px,1.8vh,10.5px);letter-spacing:.25em}.tabata-timer-cell{padding-top:clamp(4px,1.2vh,10px);padding-bottom:clamp(3px,.8vh,8px);gap:clamp(3px,.6vh,8px)}.phase-card-time{font-size:clamp(13px,4vh,26px)}.phase-card-label{font-size:clamp(7px,1.6vh,10px);letter-spacing:.2em}.btn{font-size:clamp(13px,3.5vh,20px)}}.btn:focus-visible,.am-stepper-btn:focus-visible,.tabata-phase-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn,.am-stepper-btn,.tabata-phase-card{-webkit-tap-highlight-color:transparent}.am-row-label.lbl-prepare{color:#ffd43b}.am-row-label.lbl-work{color:var(--green)}.am-row-label.lbl-rest{color:#ff5252}.drawer .am-row{min-height:38px}.drawer .tabata-time-steppers{flex-shrink:0}.drawer .am-stepper{border-color:#ffffff0f;transition:background .15s ease,border-color .15s ease}.drawer .am-stepper:hover{background:#ffffff0f;border-color:#ffffff1f}.drawer .am-stepper-btn{width:30px;font-size:11px}.drawer .am-stepper-btn:hover{color:var(--accent, #ffd43b);background:#ffd43b1f}.drawer .am-stepper-btn:active{background:#ffd43b38;color:#fff}.drawer .am-stepper-display{font-size:20px;padding:0 2px}.drawer .am-stepper input.am-stepper-display{cursor:text;transition:background-color .15s ease,box-shadow .15s ease}.drawer .am-stepper input.am-stepper-display:focus{background:#ffd43b24;border-radius:4px;box-shadow:inset 0 0 0 1px #ffd43b8c}.drawer .tabata-time-steppers{display:inline-flex;align-items:center;gap:5px}.drawer .tabata-time-steppers .am-stepper-display{width:34px;min-width:34px}.drawer .tabata-time-sep{font-size:20px;font-weight:400;color:#fff6;-webkit-user-select:none;user-select:none;line-height:1;margin:0 1px}.drawer .am-row>.am-stepper .am-stepper-display{width:44px;min-width:44px}.tabata-phase-card:hover{transform:translateY(-2px)}.tabata-phase-card:active{transform:translateY(0) scale(.98)}#tabPresets .entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}#tabPresets .entry-name{font-family:Barlow,sans-serif;font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tabPresets .entry-sub{font-family:Barlow,sans-serif;font-size:11.5px;font-weight:400;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tabPresets .entry-actions{display:flex;gap:6px;flex:none}#tabPresets .entry-btn{width:30px;height:30px;min-width:30px;min-height:30px;flex:none;border:none;background:#ffffff0d;color:#ffffffb8;display:grid;place-items:center;border-radius:8px;cursor:pointer;font-size:12px;transition:background .15s ease,color .15s ease;touch-action:manipulation}#tabPresets .entry-btn--load:hover{background:#ffd43b29;color:#ffd43b}#tabPresets .entry-btn--delete:hover{background:#ff52522e;color:#ff6b6b}#tabPresets .entry-empty{font-family:Barlow,sans-serif;font-size:13px;color:#fff6;text-align:center;padding:18px 12px;border:1px dashed rgba(255,255,255,.1);border-radius:8px;background:#ffffff05;margin:0}#tabPresets .preset-upsell{font-family:Barlow,sans-serif;font-size:13px;color:#ffffffb3;text-align:center;line-height:1.6;padding:24px 16px;border:1px dashed rgba(255,255,255,.18);border-radius:8px;background:#ffffff0a;margin:0}#tabPresets .preset-upsell .fa-lock{display:block;font-size:22px;margin-bottom:10px;opacity:.5}#tabPresets .preset-upsell a{color:var(--accent, #ffd43b);text-decoration:underline;text-underline-offset:3px}#tabPresets .preset-upsell a:hover{opacity:.85}
