.ep-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ep-panel{background:#141414;border:1px solid #2e2e2e;border-radius:16px;width:100%;max-width:380px;overflow:hidden}.ep-header{background:#1a1a1a;border-bottom:1px solid #2a2a2a;padding:14px 20px;display:flex;align-items:center;gap:12px}.ep-id{font-family:Bebas Neue,sans-serif;font-size:1.4rem;color:#c9940a;letter-spacing:.05em}.ep-title{font-family:Barlow Condensed,sans-serif;font-size:.9rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.ep-fields{padding:20px;display:flex;flex-direction:column;gap:16px}.ep-field{display:flex;flex-direction:column;gap:6px}.ep-field>span{font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#888}.ep-field input[type=text]{background:#0e0e0e;border:1px solid #333;border-radius:8px;color:#f0f0f0;padding:10px 14px;font-size:1rem;font-family:Barlow Condensed,sans-serif;font-weight:600;letter-spacing:.05em;outline:none;transition:border-color .15s}.ep-field input[type=text]:focus{border-color:#c9940a}.ep-time-row{display:flex;align-items:center;gap:8px}.ep-time-row input[type=number]{background:#0e0e0e;border:1px solid #333;border-radius:8px;color:#f0f0f0;padding:10px 14px;font-size:1.1rem;font-family:Bebas Neue,sans-serif;letter-spacing:.05em;width:90px;outline:none;transition:border-color .15s;-moz-appearance:textfield}.ep-time-row input[type=number]::-webkit-outer-spin-button,.ep-time-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.ep-time-row input[type=number]:focus{border-color:#c9940a}.ep-unit{font-family:Barlow Condensed,sans-serif;font-size:.8rem;color:#555;text-transform:uppercase}.ep-converted{font-family:Barlow Condensed,sans-serif;font-size:.9rem;color:#c9940a;margin-left:4px}.ep-summary{margin:0 20px;padding:10px 14px;background:#0e0e0e;border-radius:8px;border:1px solid #222;font-family:Barlow Condensed,sans-serif;font-size:.9rem;color:#888;text-align:center}.ep-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px}.ep-btn{padding:14px;border-radius:10px;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:all .15s;touch-action:manipulation}.ep-cancel{background:#1e1e1e;color:#888;border:1px solid #333}.ep-cancel:active{background:#2a2a2a}.ep-save{color:#080808}.ep-save:active{opacity:.85}.ep-delete-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 20px 18px;flex-wrap:wrap}.ep-delete-confirm-text{font-family:Barlow Condensed,sans-serif;font-size:.85rem;color:#888;letter-spacing:.05em}.ep-btn-delete{font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:8px;transition:all .15s;cursor:pointer;touch-action:manipulation}.ep-btn-delete:not(.ep-delete-yes):not(.ep-delete-no){background:none;border:1px solid #2a2a2a;color:#555}.ep-btn-delete:not(.ep-delete-yes):not(.ep-delete-no):hover{color:#e05555;border-color:#533}.ep-delete-yes{background:#d42b2b26;border:1px solid rgba(212,43,43,.4);color:#f55}.ep-delete-yes:active{background:#d42b2b4d}.ep-delete-no{background:#1a1a1a;border:1px solid #333;color:#888}.ep-delete-no:active{background:#252525}.ez-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:100;padding:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ez-panel{background:#141414;border:1px solid #2e2e2e;border-radius:16px;width:100%;max-width:480px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.ez-header{background:#1a1a1a;border-bottom:1px solid #2a2a2a;padding:12px 20px;display:flex;align-items:center;gap:10px;flex-shrink:0}.ez-id{font-family:Bebas Neue,sans-serif;font-size:1.3rem;letter-spacing:.05em}.ez-title{font-family:Barlow Condensed,sans-serif;font-size:.85rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.ez-mode-row{display:flex;gap:10px;padding:14px 20px 0;flex-shrink:0}.ez-mode-btn{flex:1;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;border-radius:8px;background:#0e0e0e;border:1px solid #2a2a2a;color:#555;transition:all .15s}.ez-mode-btn.active{background:#0e0e0e}.ez-mode-btn:not(.active):hover{color:#888;border-color:#3a3a3a}.ez-mode-hint{font-family:Barlow Condensed,sans-serif;font-size:.78rem;color:#555;letter-spacing:.04em;padding:8px 20px 0;flex-shrink:0}.ez-scroll{flex:1;overflow-y:auto;padding:14px 20px 4px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}.ez-field{display:flex;flex-direction:column;gap:5px}.ez-field>span,.ez-field>label>span{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.12em;color:#666;text-transform:uppercase}.ez-field input[type=text]{background:#0e0e0e;border:1px solid #333;border-radius:8px;color:#f0f0f0;padding:9px 12px;font-size:.95rem;font-family:Barlow Condensed,sans-serif;font-weight:600;outline:none;transition:border-color .15s}.ez-field input[type=text]:focus{border-color:#3b82f6}.ez-time-inp{display:flex;align-items:center;gap:6px}.ez-time-inp input[type=number]{background:#0e0e0e;border:1px solid #333;border-radius:8px;color:#f0f0f0;padding:8px 10px;font-size:1rem;font-family:Bebas Neue,sans-serif;letter-spacing:.05em;width:72px;outline:none;transition:border-color .15s;-moz-appearance:textfield}.ez-time-inp input[type=number]::-webkit-outer-spin-button,.ez-time-inp input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.ez-time-inp input[type=number]:focus{border-color:#3b82f6}.ez-time-inp>span{font-family:Barlow Condensed,sans-serif;font-size:.78rem;color:#555}.ez-section-label{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;color:#555;text-transform:uppercase;border-top:1px solid #1e1e1e;padding-top:10px;margin-top:2px}.ez-ex-list{display:flex;flex-direction:column;gap:8px}.ez-ex-row{display:flex;align-items:flex-start;gap:8px;background:#0e0e0e;border:1px solid #222;border-radius:10px;padding:10px 10px 10px 12px}.ez-ex-num{font-family:Bebas Neue,sans-serif;font-size:1.2rem;color:#3b82f6;min-width:20px;padding-top:2px}.ez-ex-body{flex:1;display:flex;flex-direction:column;gap:6px}.ez-ex-name{background:transparent;border:none;border-bottom:1px solid #2a2a2a;color:#f0f0f0;padding:3px 0;font-size:.95rem;font-family:Barlow Condensed,sans-serif;font-weight:600;outline:none;width:100%;transition:border-color .15s}.ez-ex-name:focus{border-bottom-color:#3b82f6}.ez-ex-name::placeholder{color:#333}.ez-ex-times{display:flex;gap:12px}.ez-ex-times label{display:flex;flex-direction:column;gap:3px}.ez-ex-times label>span{font-family:Barlow Condensed,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.1em;color:#777;text-transform:uppercase}.ez-ex-actions{display:flex;flex-direction:column;gap:3px}.ez-ex-actions button{width:26px;height:26px;border-radius:5px;font-size:.8rem;color:#999;background:#1a1a1a;border:1px solid #3a3a3a;transition:all .12s;display:flex;align-items:center;justify-content:center}.ez-ex-actions button:hover:not(:disabled){color:#f0f0f0;border-color:#666;background:#252525}.ez-ex-actions button:disabled{opacity:.2;cursor:default}.ez-ex-del{color:#c55!important;border-color:#4a2a2a!important}.ez-ex-del:hover{color:#f66!important;border-color:#844!important;background:#2a1515!important}.ez-circuit-settings{display:flex;flex-direction:column;gap:10px}.ez-station-list{display:flex;flex-direction:column;gap:6px}.ez-station-row{display:flex;align-items:center;gap:10px;background:#0e0e0e;border:1px solid #1e1e1e;border-radius:8px;padding:8px 10px}.ez-station-num{font-family:Bebas Neue,sans-serif;font-size:1.1rem;min-width:20px}.ez-station-name{flex:1;background:transparent;border:none;border-bottom:1px solid #2a2a2a;color:#f0f0f0;padding:2px 0;font-size:.95rem;font-family:Barlow Condensed,sans-serif;font-weight:600;outline:none;transition:border-color .15s}.ez-station-name:focus{border-bottom-color:#3b82f6}.ez-add-btn{font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:8px;background:none;border:1px dashed;align-self:flex-start;transition:opacity .15s}.ez-add-btn:hover{opacity:.75}.ez-summary{font-family:Barlow Condensed,sans-serif;font-size:.88rem;color:#666;text-align:center;padding:8px;background:#0e0e0e;border-radius:8px;border:1px solid #1e1e1e}.ez-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 20px;flex-shrink:0;border-top:1px solid #1e1e1e}.ez-btn{padding:13px;border-radius:10px;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:all .15s;touch-action:manipulation}.ez-cancel{background:#1e1e1e;color:#888;border:1px solid #333}.ez-cancel:active{background:#2a2a2a}.ez-save{color:#080808;border:none}.ez-save:active{opacity:.85}.ez-delete-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 20px 16px;flex-wrap:wrap;flex-shrink:0}.ez-delete-text{font-family:Barlow Condensed,sans-serif;font-size:.85rem;color:#888}.ez-btn-del{font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:8px;transition:all .15s;cursor:pointer}.ez-btn-del:not(.ez-del-yes):not(.ez-del-no){background:none;border:1px solid #2a2a2a;color:#555}.ez-btn-del:not(.ez-del-yes):not(.ez-del-no):hover{color:#e05555;border-color:#533}.ez-del-yes{background:#d42b2b26;border:1px solid rgba(212,43,43,.4);color:#f55}.ez-del-yes:active{background:#d42b2b4d}.ez-del-no{background:#1a1a1a;border:1px solid #333;color:#888}.ez-del-no:active{background:#252525}.zs-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px 16px;width:100%}.zs-phase-row{min-height:36px;display:flex;align-items:center}.zs-badge{font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:6px 18px;border-radius:999px}.zs-badge.work{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.4)}.zs-badge.rest{background:#ff00331f;color:#f35;border:1px solid rgba(255,0,51,.35)}.zs-badge.done{background:#f0b4281f;color:#f0b429;border:1px solid rgba(240,180,40,.3)}.zs-ex-counter{display:flex;align-items:baseline;gap:4px}.zs-ex-cur{font-family:Bebas Neue,sans-serif;font-size:clamp(2.5rem,7vw,4.5rem);color:#f0f0f0;line-height:1}.zs-ex-sep{font-family:Bebas Neue,sans-serif;font-size:clamp(1.2rem,3vw,2rem);color:#444;margin:0 2px}.zs-ex-tot{font-family:Bebas Neue,sans-serif;font-size:clamp(1.2rem,3vw,2rem);color:#555}.zs-ex-lbl{font-family:Barlow Condensed,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.2em;color:#444;text-transform:uppercase;margin-left:6px;align-self:center}.zs-ex-name{font-family:Bebas Neue,sans-serif;font-size:clamp(2.8rem,8vw,6rem);letter-spacing:.04em;text-align:center;line-height:1.05}.zs-ex-name.work{color:#3b82f6;text-shadow:0 0 20px rgba(59,130,246,.5),0 0 50px rgba(59,130,246,.2)}.zs-ex-name.rest{color:#888}.zs-next-label{font-family:Barlow Condensed,sans-serif;font-size:.85rem;color:#555;letter-spacing:.08em;margin-top:-4px}.zs-clock{font-family:Bebas Neue,sans-serif;font-size:clamp(5rem,20vw,14rem);line-height:.95;letter-spacing:.02em;color:#e8e8e8;transition:color .4s,text-shadow .4s;-webkit-user-select:none;user-select:none}.zs-clock.work{color:#3b82f6;text-shadow:0 0 10px rgba(59,130,246,.6),0 0 30px rgba(59,130,246,.3),0 0 70px rgba(59,130,246,.1)}.zs-clock.rest{color:#f03;text-shadow:0 0 10px rgba(255,0,51,.6),0 0 30px rgba(255,0,51,.3)}.zs-clock.done{color:#f0b429}.zs-clock.paused{opacity:.5}.zs-progress-bar{width:100%;max-width:600px;height:8px;background:#111;border-radius:4px;overflow:hidden;position:relative}.zs-progress-fill{height:100%;border-radius:4px;transition:width .3s linear;position:relative}.zs-progress-fill.work{background:#3b82f6}.zs-progress-fill.rest{background:#f03}.zs-ex-dots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.zs-dot{width:10px;height:10px;border-radius:50%;background:#1e1e1e;border:1px solid #333;transition:all .3s}.zs-dot.done{background:#3b82f626;border-color:#3b82f64d}.zs-dot.active-work{background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 8px #3b82f6b3}.zs-dot.active-rest{background:#f03;border-color:#f03;box-shadow:0 0 8px #ff0033b3}.zk-wrap{display:flex;flex-direction:column;align-items:center;flex:1;min-height:0;width:100%;gap:8px;padding:10px 16px 6px}.zk-phase-row{display:flex;align-items:center;gap:16px;flex-shrink:0;min-height:36px}.zk-badge{font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:6px 18px;border-radius:999px}.zk-badge.work{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.4)}.zk-badge.rest{background:#ff00331f;color:#f35;border:1px solid rgba(255,0,51,.35)}.zk-badge.done{background:#f0b4281f;color:#f0b429;border:1px solid rgba(240,180,40,.3)}.zk-rot-counter{font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.12em;color:#666}.zk-circle-wrap{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.zk-svg{width:100%;height:100%;max-width:100%;max-height:100%;display:block}.zk-progress-bar{width:100%;max-width:600px;height:6px;background:#111;border-radius:3px;overflow:hidden;flex-shrink:0}.zk-progress-fill{height:100%;border-radius:3px;transition:width .3s linear}.zk-progress-fill.work{background:#3b82f6}.zk-progress-fill.rest{background:#f03}@keyframes zk-spin{0%{stroke-dashoffset:0}to{stroke-dashoffset:-200}}.zk-rotate-ring{animation:zk-spin 3s linear infinite}@media (min-width: 768px){.zs-clock{font-size:clamp(6rem,min(28vw,38vh),18rem)}.zs-ex-name{font-size:clamp(3rem,8vw,7rem)}}.login-screen{min-height:100vh;background:#050d15;display:flex;align-items:center;justify-content:center;padding:24px}.login-box{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:0}.login-logo{font-family:Bebas Neue,sans-serif;font-size:2.4rem;letter-spacing:.12em;margin-bottom:4px}.login-subtitle{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.28em;color:#555;text-transform:uppercase;margin:0 0 40px}.login-form{width:100%;display:flex;flex-direction:column;gap:12px}.login-input{width:100%;padding:14px 16px;background:#0d1821;border:1px solid #1e2d3d;border-radius:10px;color:#e0e0e0;font-family:Barlow Condensed,sans-serif;font-size:1rem;letter-spacing:.03em;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.login-input::placeholder{color:#445}.login-input:focus{border-color:#c9940a;box-shadow:0 0 0 2px #c9940a26}.login-error{background:#dc26261f;border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#f87171;font-family:Barlow Condensed,sans-serif;font-size:.9rem;padding:10px 14px;text-align:center}.login-btn{margin-top:4px;padding:15px 0;background:linear-gradient(135deg,#c9940a,#e6a80a);border:none;border-radius:10px;color:#050d15;font-family:Bebas Neue,sans-serif;font-size:1.15rem;letter-spacing:.15em;cursor:pointer;transition:opacity .15s,transform .1s;width:100%}.login-btn:hover:not(:disabled){opacity:.92}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.trainer-name-badge{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#c9940a;background:#c9940a1a;border:1px solid rgba(201,148,10,.3);border-radius:6px;padding:3px 8px;text-transform:uppercase}.btn-logout{font-size:1.1rem;color:#666;line-height:1;padding:4px 6px;border-radius:6px;transition:color .15s;background:none;border:none;cursor:pointer}.btn-logout:hover{color:#d44}.app{height:100%;display:flex;flex-direction:column;background:var(--bg)}.timer-panel{display:flex;flex-direction:column;flex-shrink:0}.timer-panel.running{flex:1;justify-content:center}.app:has(.timer-panel.running) .app-header{padding-top:8px;padding-bottom:7px;border-bottom-color:#141414}.app:has(.timer-panel.running) .app-logo{font-size:1.1rem}.app:has(.timer-panel.running) .app-logo-right{display:none}.app-footer{flex-shrink:0;height:48px;border-top:1px solid #161616;background:#080808;display:flex;align-items:center;justify-content:flex-end;padding:0 20px}.app-footer.hidden{display:none}.footer-gear{width:36px;height:36px;border-radius:8px;font-size:1.2rem;color:#777;background:none;border:1px solid transparent;display:flex;align-items:center;justify-content:center;transition:all .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}.footer-gear:hover{color:#888}.footer-gear.active{color:#c9940a;background:#c9940a1a;border-color:#c9940a4d;animation:spin-slow 4s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--neon-work: #00ff66;--neon-work-dim: #00cc50;--neon-work-bg: rgba(0, 255, 102, .06);--neon-work-glow: rgba(0, 255, 102, .4);--neon-rest: #ff0033;--neon-rest-dim: #cc0028;--neon-rest-bg: rgba(255, 0, 51, .06);--neon-rest-glow: rgba(255, 0, 51, .4)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 12px;border-bottom:1px solid #1e1e1e;background:#080808;flex-shrink:0}.app-logo{font-family:Bebas Neue,sans-serif;font-size:1.4rem;letter-spacing:.1em}.app-logo-tda{color:#d42b2b}.app-logo-sep{color:#333}.app-logo-sub{color:#888;font-size:1.1rem}.app-header-right{display:flex;align-items:center;gap:14px}.app-logo-right{font-family:Barlow Condensed,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.2em;color:#777;text-transform:uppercase}.btn-fullscreen{font-size:1.3rem;color:#888;line-height:1;padding:4px 6px;border-radius:6px;transition:color .15s}.btn-fullscreen:hover{color:#c9940a}.dojo-sync-badge{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#60a5fa;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);border-radius:6px;padding:3px 8px}.timer-section{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:24px 24px 16px;transition:background .5s ease,box-shadow .5s ease;position:relative}.timer-section.idle{background:#080808}.timer-section.done{background:linear-gradient(180deg,#0a0a06,#080808 60%)}.timer-section.work{background:linear-gradient(180deg,#030f06,#080808 70%);box-shadow:inset 0 0 60px #00ff660a}.timer-section.rest{background:linear-gradient(180deg,#0f0305,#080808 70%);box-shadow:inset 0 0 60px #ff00330f}.timer-phase-row{display:flex;align-items:center;gap:14px;height:34px;margin-bottom:10px}.phase-badge{font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:4px 14px;border-radius:20px}.phase-badge.work{background:#00ff661f;color:var(--neon-work);border:1px solid rgba(0,255,102,.5);text-shadow:0 0 12px var(--neon-work-glow)}.phase-badge.rest{background:#ff00331f;color:var(--neon-rest);border:1px solid rgba(255,0,51,.5);text-shadow:0 0 12px var(--neon-rest-glow)}.phase-badge.done{background:#c9940a33;color:#f0b429;border:1px solid rgba(201,148,10,.4)}.phase-idle{font-family:Barlow Condensed,sans-serif;font-size:.85rem;color:#777;letter-spacing:.1em;text-transform:uppercase}.round-display{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.round-current{font-family:Bebas Neue,sans-serif;font-size:clamp(2.8rem,8vw,5rem);line-height:1;color:#f0f0f0;letter-spacing:.02em}.round-divider{font-family:Bebas Neue,sans-serif;font-size:clamp(1.4rem,4vw,2.2rem);color:#777;margin:0 2px}.round-total{font-family:Bebas Neue,sans-serif;font-size:clamp(1.4rem,4vw,2.2rem);color:#888;letter-spacing:.02em}.round-label{font-family:Barlow Condensed,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.2em;color:#777;text-transform:uppercase;margin-left:6px;align-self:center}.timer-display-wrap{width:100%;max-width:700px;display:flex;flex-direction:column;align-items:center;gap:14px}.timer-clock{font-family:Bebas Neue,sans-serif;font-size:clamp(5.5rem,30vw,14rem);line-height:.95;letter-spacing:.02em;color:#e8e8e8;transition:color .4s,text-shadow .4s;-webkit-user-select:none;user-select:none}.timer-clock.work{color:var(--neon-work);text-shadow:0 0 10px var(--neon-work),0 0 30px var(--neon-work-glow),0 0 70px rgba(0,255,102,.2)}.timer-clock.rest{color:var(--neon-rest);text-shadow:0 0 10px var(--neon-rest),0 0 30px var(--neon-rest-glow),0 0 70px rgba(255,0,51,.2)}.timer-clock.done{color:#f0b429;text-shadow:0 0 20px rgba(240,180,41,.4)}.timer-clock.paused{animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.timer-progress-bar{width:100%;max-width:500px;height:10px;background:#111;border-radius:5px;overflow:visible;position:relative}.timer-progress-fill{height:100%;border-radius:5px;transition:width .9s linear;position:relative}.timer-progress-fill.work{background:repeating-linear-gradient(-55deg,rgba(0,0,0,.28) 0px,rgba(0,0,0,.28) 8px,transparent 8px,transparent 18px),var(--neon-work);background-size:26px 100%,100% 100%;box-shadow:0 0 10px var(--neon-work-glow);animation:march .45s linear infinite;overflow:hidden;border-radius:5px}.timer-progress-fill.work:after{content:"";position:absolute;right:-3px;top:-5px;bottom:-5px;width:6px;background:#fff;border-radius:3px;box-shadow:0 0 6px #fff,0 0 16px var(--neon-work),0 0 36px var(--neon-work),0 0 60px #00ff6659}@keyframes march{0%{background-position:0 0,0 0}to{background-position:26px 0,0 0}}.timer-progress-fill.rest{background:var(--neon-rest);box-shadow:0 0 10px var(--neon-rest-glow);animation:pulse-bar 1.2s ease-in-out infinite}@keyframes pulse-bar{0%,to{box-shadow:0 0 8px var(--neon-rest-glow)}50%{box-shadow:0 0 20px var(--neon-rest),0 0 40px #ff00334d}}.round-dots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 0 0}.round-dot{width:12px;height:12px;border-radius:50%;background:#1e1e1e;border:1px solid #333;transition:all .3s}.round-dot.done{background:#00ff661a;border-color:#0f63}.round-dot.active-work{background:var(--neon-work);border-color:var(--neon-work);box-shadow:0 0 10px var(--neon-work),0 0 20px #0f66}.round-dot.active-rest{background:var(--neon-rest);border-color:var(--neon-rest);box-shadow:0 0 10px var(--neon-rest),0 0 20px #f036}.controls{display:flex;gap:14px;padding:0 24px 14px;flex-shrink:0;justify-content:center}.btn-ctrl{flex:1;max-width:220px;padding:18px;border-radius:14px;font-family:Barlow Condensed,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:all .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-ctrl.pause{background:#1a1a1a;color:#ccc;border:1px solid #333}.btn-ctrl.pause.paused{background:#c9940a1f;color:#f0b429;border-color:#c9940a66}.btn-ctrl.pause:active{transform:scale(.97)}.btn-ctrl.stop{background:#ff00331a;color:var(--neon-rest);border:1px solid rgba(255,0,51,.35)}.btn-ctrl.stop:active{transform:scale(.97)}.btn-ctrl.restart{background:#c9940a1f;color:#f0b429;border:1px solid rgba(201,148,10,.4);max-width:200px}.btn-ctrl.restart:active{transform:scale(.97)}.btn-ctrl.rotate{flex:0 0 52px;max-width:52px;padding:18px 0;background:#ffffff0a;color:#888;border:1px solid #2a2a2a;font-size:1.1rem;letter-spacing:0}.btn-ctrl.rotate:active{transform:scale(.97)}@media (min-width: 768px){.btn-ctrl.rotate{display:none}}@media (orientation: landscape) and (max-width: 767px){.timer-panel.running .timer-clock{font-size:clamp(5rem,28vh,14rem)}.timer-panel.running .round-display{flex-direction:row;gap:10px;align-items:baseline}.timer-panel.running .round-current{font-size:clamp(1.8rem,7vh,3.5rem)}.timer-panel.running .timer-section{padding:12px 40px 8px}}.active-info{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 24px;font-family:Barlow Condensed,sans-serif;font-size:.9rem;color:#999;letter-spacing:.08em;border-top:1px solid #141414;flex-shrink:0}.active-info-name{font-weight:700}.active-info-sep{color:#2a2a2a}.preset-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.preset-scroll{flex:1;overflow-y:auto;padding:0 24px 8px;-webkit-overflow-scrolling:touch}.preset-section.hidden{display:none}.cat-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:14px 0;border-bottom:1px solid #1e1e1e}.cat-tab{padding:10px 4px;border-radius:8px;font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;background:#131313;border:1px solid #2a2a2a;transition:all .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.cat-tab.active{color:var(--tab-color, #d42b2b);background:var(--tab-dim, rgba(212,43,43,.12));border-color:var(--tab-border, rgba(212,43,43,.35))}.cat-tab:active{opacity:.7}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.preset-card{display:flex;border-radius:12px;overflow:hidden;border:1px solid #222;background:#0e0e0e;transition:border-color .15s,box-shadow .15s}.preset-card:hover{border-color:#333;box-shadow:0 2px 12px #0000004d}.preset-add{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:12px;border:1px dashed #2a2a2a;background:transparent;color:#777;cursor:pointer;min-height:80px;transition:all .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.preset-add.edit-mode{display:flex}.preset-add:hover{border-color:#555;color:#888;background:#ffffff05}.preset-add:active{opacity:.7}.preset-add-icon{font-size:1.8rem;line-height:1;font-weight:300}.preset-add-label{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.preset-start{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:14px 14px 12px;gap:3px;background:transparent;text-align:left;transition:background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.preset-start:active{background:#ffffff08}.preset-name{font-family:Bebas Neue,sans-serif;font-size:1.7rem;line-height:1;letter-spacing:.04em}.preset-info{font-family:Barlow Condensed,sans-serif;font-size:.92rem;font-weight:700;color:#ddd;letter-spacing:.05em}.preset-detail{font-family:Barlow,sans-serif;font-size:.72rem;color:#888}.preset-edit{width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#141414;border-left:none;color:#777;font-size:1rem;transition:width .2s ease,border-left .2s ease,color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-shrink:0}.preset-edit.edit-mode{width:38px;border-left:1px solid #1e1e1e}.preset-edit:hover{color:#c9940a;background:#1a1a1a}.preset-edit:active{color:#f0b429}@media (min-width: 640px){.preset-grid{grid-template-columns:repeat(3,1fr)}.timer-section{padding:30px 40px 20px}.cat-tab{font-size:.9rem;padding:12px 8px}.preset-section{padding:0 40px 40px}.controls{padding:0 40px 16px}.app-header{padding:16px 40px 14px}}@media (min-width: 768px){.app{flex-direction:row;flex-wrap:wrap;height:100%}.app-header{width:100%;padding:16px 48px;flex-shrink:0}.preset-edit{width:38px!important;border-left:1px solid #1e1e1e!important}.timer-panel{flex:1 0 55%;height:calc(100% - 51px);border-right:1px solid #161616;overflow:auto;display:flex;flex-direction:column;justify-content:center}.timer-section{flex:0 0 auto;justify-content:center;padding:32px 60px 16px}.controls{flex:0 0 auto;padding:0 60px 12px;width:100%;justify-content:center}.active-info{flex:0 0 auto;border-top:none;padding:4px 60px 16px;font-size:1rem}.preset-section{flex:0 0 45%;max-width:45%;height:calc(100% - 51px);overflow:hidden}.preset-scroll{padding:20px 48px 8px}.preset-section .app-footer{padding:0 48px}.cat-tabs{gap:10px;padding:0 0 14px;border-bottom:1px solid #1a1a1a}.cat-tab{font-size:.9rem;padding:12px 8px;border-radius:10px}.preset-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.preset-name{font-size:2.2rem}.preset-info{font-size:1.05rem}.preset-detail{font-size:.82rem}.timer-clock{font-size:clamp(6rem,min(25vw,26vh),15rem)}.timer-panel.running .timer-clock{font-size:clamp(8rem,min(38vw,46vh),24rem)}.timer-panel.running .round-current{font-size:clamp(4rem,10vw,8rem)}.timer-panel.running .round-divider,.timer-panel.running .round-total{font-size:clamp(2rem,5vw,4rem)}.timer-panel.running .round-label{font-size:.9rem;letter-spacing:.25em}.timer-panel.running .phase-badge{font-size:1.1rem;padding:8px 22px}.timer-panel.running .timer-section{padding:20px 80px 12px}.timer-panel.running .controls{padding:0 80px 16px}.timer-panel.running .active-info{font-size:1.1rem;padding:4px 80px 20px}.round-dots{gap:10px}.round-dot{width:13px;height:13px}.btn-ctrl{font-size:1.1rem;padding:16px 28px}}@media (min-width: 768px) and (max-width: 1099px){.preset-section{flex:0 0 42%;max-width:42%}.timer-panel{flex:1 0 58%}.preset-scroll{padding:14px 20px 8px}.preset-section .app-footer{padding:0 20px}.cat-tabs{gap:6px;padding:10px 0 12px}.cat-tab{font-size:.78rem;padding:10px 4px;letter-spacing:.06em}.preset-grid{grid-template-columns:1fr;gap:8px;margin-top:10px}.preset-name{font-size:1.8rem}.preset-info{font-size:.95rem}.preset-detail{font-size:.78rem}}@media (min-width: 1600px){.timer-clock{font-size:clamp(8rem,min(16vw,28vh),18rem)}.app-logo{font-size:1.8rem}.app-logo-right{font-size:.85rem}.phase-badge{font-size:1.1rem;padding:6px 18px}.round-badge{font-size:1.1rem}.cat-tab{font-size:1rem;padding:15px 10px}.preset-name{font-size:2.4rem}.preset-info{font-size:1.1rem}.round-dot{width:16px;height:16px}}@media (max-height: 500px) and (max-width: 767px){.timer-clock{font-size:clamp(3rem,16vw,5rem)}.timer-section{padding:8px 20px 6px}.controls{padding:0 20px 6px}.cat-tabs{padding:6px 0 8px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.preset-section{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080808;--bg2: #111111;--bg3: #1a1a1a;--border: #2a2a2a;--red: #d42b2b;--red-bright: #ff3333;--red-dim: #8b1a1a;--gold: #c9940a;--gold-bright: #f0b429;--gold-dim: #7a5a06;--text: #f0f0f0;--text-muted: #888;--text-dim: #555;--work: #d42b2b;--rest: #1a7a4a;--rest-bright: #22c55e}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Barlow,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}#root{height:100%;display:flex;flex-direction:column}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select{font-family:inherit}
