@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{--red-rgb: 255, 60, 60;--tr: .2s cubic-bezier(.4, 0, .2, 1);--ctrl-h: clamp(56px, 9.5vh, 88px);--gap: clamp(6px, .8vw, 12px);--radius: clamp(8px, 1vw, 14px)}html{-webkit-tap-highlight-color:transparent}.app{z-index:auto}.stage{flex-direction:column;align-items:normal;justify-content:normal;padding:12px;padding:calc(var(--gap) + env(safe-area-inset-top)) max(var(--gap),env(safe-area-inset-right)) max(var(--gap),env(safe-area-inset-bottom)) max(var(--gap),env(safe-area-inset-left))}.msw-list{width:100%;flex:1 1 auto;min-height:0;display:grid;gap:var(--gap);margin-top:auto;margin-bottom:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.msw-cell{display:flex;flex-direction:column;gap:3px;height:100%;min-height:0}.msw-label{font-size:clamp(10px,1.1vw,13px);font-weight:700;letter-spacing:.28em;color:var(--text-dim);text-transform:uppercase;line-height:1;padding-left:2px;flex-shrink:0;transition:color var(--tr)}.msw-cell.running .msw-label{color:rgba(var(--accent-rgb),.85)}.msw-stopwatch{flex:1;min-height:0;position:relative;background:rgba(var(--panel-rgb),.6);border:1px solid var(--border);border-top-color:var(--border-hi);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 1px #ffffff08 inset,0 4px 24px #00000059;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;gap:clamp(4px,calc(var(--card-h, 220px) * .045),14px);padding:14px 16px;padding:clamp(6px,calc(var(--card-h, 220px) * .06),20px) clamp(8px,1.5vw,18px);overflow:hidden;transition:border-color var(--tr),box-shadow var(--tr),background var(--tr);-webkit-user-select:none;user-select:none}.msw-stopwatch:before{content:"";position:absolute;top:0;left:15%;right:15%;height:2px;background:transparent;border-radius:0 0 4px 4px;opacity:0;transition:opacity .35s,background .35s}.msw-stopwatch.running{background:rgba(var(--panel-rgb),.72);border-color:rgba(var(--accent-rgb),.45);box-shadow:0 0 0 1px #ffffff0a inset,0 0 28px rgba(var(--accent-rgb),.12),0 4px 24px #00000059}.msw-stopwatch.running:before{background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:1}.msw-inner{display:flex;flex-direction:column;align-items:center;gap:8px;gap:clamp(6px,calc(var(--card-h, 220px) * .05),16px);width:fit-content;max-width:100%}.msw-time{display:flex;align-items:baseline;justify-content:center;font-family:Teko,sans-serif;font-weight:700;font-size:2rem;line-height:1;letter-spacing:.04em;color:#ffffffeb;white-space:nowrap;text-shadow:0 2px 0 rgba(0,0,0,.6);transition:color .25s;-webkit-user-select:none;user-select:none}.msw-stopwatch.running .msw-time{color:var(--accent);text-shadow:0 2px 0 rgba(0,0,0,.5)}.msw-digit{display:inline-block;width:var(--digit-w, 1ch);text-align:center}.msw-sep{display:inline-block;opacity:.45}.msw-btns{display:flex;flex-shrink:0;width:100%;max-width:100%;gap:8px;gap:clamp(6px,calc(var(--card-h, 220px) * .04),18px);justify-content:center}.msw-btn{flex:1;min-width:0;height:44px;height:clamp(36px,calc(var(--card-h, 220px) * .22),92px);min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border-radius:clamp(8px,calc(var(--card-h, 220px) * .045),18px);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .12s;border:1px solid transparent;outline:none;font-size:18px;font-size:clamp(15px,calc(var(--card-h, 220px) * .1),38px);padding:0 14px;padding:0 clamp(8px,1.2vw,24px)}.msw-btn i{display:inline-flex;align-items:center;justify-content:center;line-height:1}.msw-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}.msw-btn:active{transform:scale(.96) translateY(1px)}.msw-btn-toggle{background:var(--accent);color:#000;box-shadow:0 2px 12px rgba(var(--accent-rgb),.35),0 1px #ffffff40 inset}.msw-btn-toggle:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--accent-rgb),.45)}.msw-stopwatch.running .msw-btn-toggle{background:#122242f2;color:#ffffffd9;border-color:#ffffff2e;box-shadow:none}.msw-stopwatch.running .msw-btn-toggle:hover{background:#1c325af2;color:#fff;border-color:#ffffff47;filter:none;transform:translateY(-2px)}.msw-btn-reset{background:rgba(var(--panel-rgb),.7);color:var(--text);border:1px solid var(--border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #0003}.msw-btn-reset:hover{background:#ff52521f;color:#ff8080;border-color:#ff525280;box-shadow:0 4px 16px #ff525238;transform:translateY(-2px)}.msw-controls{--stage-r: max(var(--gap), env(safe-area-inset-right));--stage-b: max(var(--gap), env(safe-area-inset-bottom));--stage-l: max(var(--gap), env(safe-area-inset-left));--ctrl-py: clamp(6px, 1vh, 10px);--ctrl-px: clamp(12px, 2vw, 24px);flex-shrink:0;min-height:var(--ctrl-h);display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,1.4vw,20px);background:rgba(var(--panel-rgb),.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin:var(--gap) calc(-1 * var(--stage-r)) calc(-1 * var(--stage-b)) calc(-1 * var(--stage-l));border:0;border-top:1px solid var(--border-hi);border-radius:0;box-shadow:0 -6px 24px #00000059,0 1px #ffffff08 inset;padding:var(--ctrl-py) max(var(--ctrl-px),env(safe-area-inset-right)) calc(var(--ctrl-py) + env(safe-area-inset-bottom)) max(var(--ctrl-px),env(safe-area-inset-left))}.msw-topbar{display:flex;align-items:center;flex-shrink:0}.msw-count-group{display:inline-flex;align-items:center;gap:clamp(8px,1.2vw,16px)}.msw-count-label{display:inline-flex;align-items:center;gap:clamp(6px,.8vw,10px);-webkit-user-select:none;user-select:none}.msw-count-icon{color:var(--gold, #ffd43b);font-size:clamp(14px,1.6vw,22px);display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;transform:translateY(-.5px)}.msw-count-text{font-family:Barlow Condensed,sans-serif;font-size:clamp(13px,1.4vw,17px);font-weight:700;letter-spacing:.16em;color:#ffffffc7;text-transform:uppercase;line-height:1;display:inline-flex;align-items:center;white-space:nowrap}.msw-count-wrap{position:relative;display:inline-flex}.msw-count-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;gap:clamp(6px,.8vw,10px);height:44px;height:clamp(38px,5.5vh,52px);padding:0 14px;padding:0 clamp(12px,1.4vw,18px);min-width:64px;min-width:clamp(56px,6.5vw,76px);background:rgba(var(--panel-rgb),.78);border:1px solid rgba(255,212,59,.35);border-radius:10px;border-radius:clamp(8px,1.1vw,16px);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 18px #00000040,0 0 0 1px #ffffff08 inset;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s,background .2s,box-shadow .2s,transform .12s;outline:none}.msw-count-btn:hover,.msw-count-btn[aria-expanded=true]{border-color:var(--gold);background:#ffd43b1f;box-shadow:0 6px 24px #ffd43b38,0 0 0 1px #ffd43b66 inset;transform:translateY(-2px)}.msw-count-btn:active{transform:scale(.97) translateY(0)}.msw-count-btn:focus-visible,.msw-count-opt:focus-visible{outline:2px solid rgba(255,212,59,.6);outline-offset:2px}.msw-count-num{font-family:Teko,sans-serif;font-size:clamp(24px,3vw,36px);font-weight:700;letter-spacing:.02em;color:#fff;line-height:1;min-width:1.4ch;text-align:center;display:inline-flex;align-items:center;justify-content:center;transform:translateY(2px)}.msw-count-chevron{color:var(--gold, #ffd43b);font-size:clamp(10px,1.1vw,13px);flex-shrink:0;opacity:.85;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .15s;transform:translateY(.5px)}.msw-count-btn[aria-expanded=true] .msw-count-chevron{transform:translateY(.5px) rotate(180deg);opacity:1}.msw-count-menu{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:999;background:#0d1f3c;border:1px solid rgba(255,212,59,.45);border-radius:clamp(10px,1.2vw,16px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 48px #000c,0 0 0 1px #ffffff0f inset;padding:clamp(8px,1.2vw,12px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(5px,.8vw,8px);width:clamp(200px,24vw,260px);animation:mswMenuPop .15s cubic-bezier(.34,1.35,.64,1) both}.msw-count-menu[hidden]{display:none!important}@keyframes mswMenuPop{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.msw-count-opt{font-family:Teko,sans-serif;font-size:clamp(22px,2.6vw,30px);font-weight:700;line-height:1;color:#ffffffe0;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:clamp(6px,.8vw,10px);height:clamp(38px,5.5vh,48px);display:flex;align-items:center;justify-content:center;cursor:pointer;outline:none;transition:border-color .12s,background .12s,color .12s,transform .1s;-webkit-user-select:none;user-select:none}.msw-count-opt:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.14);transform:translateY(-2px)}.msw-count-opt:active{transform:scale(.95)}.msw-count-opt.selected{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 3px 12px rgba(var(--accent-rgb),.45)}.msw-ctrl-actions{margin-left:auto!important;display:flex;align-items:center;gap:10px;gap:clamp(6px,.9vw,14px)}.msw-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;gap:clamp(6px,.8vw,10px);height:44px;height:clamp(38px,5.5vh,52px);padding:0 20px;padding:0 clamp(14px,2vw,28px);border-radius:8px;border-radius:clamp(7px,.9vw,12px);font-family:Barlow Condensed,sans-serif;font-size:15px;font-size:clamp(13px,1.4vw,17px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:var(--tr);border:1px solid transparent;outline:none}.msw-ctrl-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}.msw-ctrl-btn:active{transform:scale(.97) translateY(1px)}#mswStartAll{background:var(--accent);color:#000;box-shadow:0 3px 14px rgba(var(--accent-rgb),.32),0 1px #ffffff40 inset}#mswStartAll:hover{filter:brightness(1.08);transform:translateY(-2px)}#mswStartAll.is-running{background:#122242f2;color:#ffffffd1;border-color:#ffffff29;box-shadow:none}#mswStartAll.is-running:hover{background:#1c325af2;color:#fff;border-color:#ffffff47;filter:none;transform:translateY(-2px)}#mswResetAll{background:rgba(var(--input-rgb),.75);color:var(--text);border:1px solid var(--border);box-shadow:0 2px 8px #0000002e}#mswResetAll:hover{background:#ff52521f;color:#ff8080;border-color:#ff525280;box-shadow:0 4px 16px #ff525238;transform:translateY(-2px)}@media(max-width:540px){:root{--ctrl-h: auto;--gap: 5px}.msw-controls{--ctrl-py: 8px;--ctrl-px: 8px;gap:6px;flex-wrap:nowrap;justify-content:space-between;overflow-x:auto;scrollbar-width:none}.msw-controls::-webkit-scrollbar{display:none}.msw-count-group{gap:6px}.msw-ctrl-actions{gap:6px;margin-left:auto!important}.msw-ctrl-btn{min-height:44px;padding:0 10px;font-size:13px}.msw-count-btn{min-height:44px;min-width:54px;padding:0 8px}}@media(max-width:380px){.msw-count-text{display:none}.btn-label{font-size:11px}.msw-controls{--ctrl-px: 6px;gap:4px}.msw-ctrl-actions{gap:4px}.msw-ctrl-btn{padding:0 8px}#mswResetAll .btn-label{display:none}#mswStartAll{padding:0 10px}}@media(max-height:480px)and (orientation:landscape){:root{--ctrl-h: clamp(40px, 10vh, 50px);--gap: 5px}.msw-controls{--ctrl-py: 4px;--ctrl-px: 12px;margin-top:4px}.msw-ctrl-btn{height:clamp(32px,8vh,40px);padding:0 14px;font-size:12px}}@media(hover:none)and (pointer:coarse){.msw-ctrl-btn,.msw-btn{min-height:44px}}
