:root{color-scheme:light;--bg: #f5f6f8;--card: #ffffff;--card-border: rgba(16, 24, 40, .06);--fill: #f0f1f4;--fill-2: #e8e9ed;--raised: #ffffff;--text: #16181d;--muted: #6b7280;--faint: #c4c8d0;--accent: #0a66a8;--on-accent: #ffffff;--accent-soft: rgba(10, 102, 168, .09);--amber: #e0a040;--amber-text: #a86a12;--red: #e5484d;--green: #4caf7a;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 16px rgba(16, 24, 40, .04);--knob: 0 2px 4px rgba(16, 24, 40, .18), 0 0 0 .5px rgba(16, 24, 40, .06);--ease: cubic-bezier(.22, 1, .36, 1);--spring: linear(0, .0236, .0834, .166, .2607, .3597, .4572, .5494, .6338, .709, .7744, .83, .8765, .9143, .9446, .9682, .986, .9991, 1.0083, 1.0143, 1.0179, 1.0196, 1.0199, 1.0192, 1.0179, 1.0162, 1.0143, 1.0123, 1.0104, 1.0086, 1.0069, 1.0055, 1.0042, 1.0032, 1.0023, 1.0016, 1);--spring-smooth: linear(0, .0575, .1804, .3209, .4553, .5731, .6712, .7502, .8123, .8602, .8967, .9241, .9445, .9597, .9708, .9789, .9848, .9891, .9922, .9945, .996, .9972, .998, .9986, 1)}@supports not (transition-timing-function: linear(0,1)){:root{--spring: cubic-bezier(.34, 1.25, .64, 1);--spring-smooth: cubic-bezier(.22, 1, .36, 1)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1115;--card: #181b20;--card-border: rgba(255, 255, 255, .05);--fill: #22262d;--fill-2: #2a2f37;--raised: #3a3f48;--text: #f2f3f5;--muted: #8b9099;--faint: #3a3f48;--accent: #5aa9e6;--on-accent: #0f1115;--accent-soft: rgba(90, 169, 230, .14);--amber: #e8b060;--amber-text: #e8b060;--red: #f06a6e;--green: #5bc08a;--shadow: none;--knob: 0 2px 4px rgba(0, 0, 0, .4)}:root[data-theme=dark] .brand-logo{filter:brightness(0) invert(.94)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI Variable Text,Segoe UI,Inter,system-ui,sans-serif;font-size:14px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;letter-spacing:-.005em}.i{flex:none}.app{min-height:100vh;display:flex;flex-direction:column;padding:14px;gap:14px}.bar{display:flex;align-items:center;gap:8px}.bar .dot{margin-left:auto}.title{font-weight:650;font-size:15px;letter-spacing:-.01em}.brand-logo{height:18px;width:auto;flex-shrink:0}.dot{width:8px;height:8px;border-radius:50%;transition:background-color .3s var(--ease)}.dot.on{background:var(--green)}.dot.off{background:var(--red)}.timers{flex:1;display:flex;flex-direction:column;gap:12px}.timer-card{background:var(--card);border:1px solid var(--card-border);border-radius:20px;box-shadow:var(--shadow);padding:18px 16px 16px;text-align:center;animation:rise .55s var(--spring) both;transition:opacity .3s var(--ease)}.timer-card.paused{opacity:.85}.timer-card.stopped{opacity:.5}.timer-label{font-size:20px;font-weight:650;letter-spacing:-.015em;line-height:1.25;color:var(--text);margin-bottom:12px;overflow-wrap:anywhere}.timer-ring{position:relative;width:min(220px,72vw);aspect-ratio:1;margin:0 auto}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg);display:block}.ring-track{fill:none;stroke:var(--fill);stroke-width:11}.ring-val{fill:none;stroke:var(--accent);stroke-width:11;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .4s var(--ease)}.timer-card.warning .ring-val{stroke:var(--amber)}.timer-card.finished .ring-val{stroke:var(--red)}.timer-clock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:clamp(38px,15vw,54px);font-weight:650;letter-spacing:-.035em;font-variant-numeric:tabular-nums;line-height:1;transition:color .4s var(--ease)}.timer-card.warning .timer-clock{color:var(--amber-text);animation:beat 1s var(--ease) infinite}.timer-card.finished .timer-clock{color:var(--red);font-size:clamp(24px,9vw,30px);letter-spacing:-.02em}.timer-card.stopped .timer-clock{font-size:24px;color:var(--muted)}.timer-bar{height:6px;background:var(--fill);border-radius:3px;margin:12px 0 8px;overflow:hidden}.timer-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width 1s linear}.timer-meta{font-size:12.5px;color:var(--muted);margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;padding:0 16px;border-radius:12px;border:0;background:var(--fill);color:var(--text);font:inherit;font-size:14.5px;font-weight:550;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .55s var(--spring),background-color .2s var(--ease),opacity .2s var(--ease)}.btn:active{transform:scale(.96);transition-duration:.14s;transition-timing-function:var(--ease)}.btn.primary{background:var(--accent);color:var(--on-accent);font-weight:600}.btn.small{height:32px;padding:0 10px;border-radius:9px;font-size:13px}.btn.danger{color:var(--red)}.host-zone{border-top:1px solid var(--card-border);padding-top:14px}.host-actions{display:flex;flex-direction:column;gap:8px}.foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted)}.sound-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.role{cursor:pointer;display:inline-flex;align-items:center;gap:5px}.role .i{opacity:.7}input.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;cursor:pointer;flex:none;width:38px;height:23px;border-radius:12px;background:var(--fill-2);position:relative;transition:background-color .28s var(--ease)}input.switch:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:10px;background:#fff;box-shadow:var(--knob);transition:transform .55s var(--spring),width .55s var(--spring)}input.switch:checked{background:var(--accent)}input.switch:checked:after{transform:translate(15px)}input.switch:active:after{width:24px;transition-duration:.16s}input.switch:checked:active:after{transform:translate(10px)}.muted{color:var(--muted)}.small{font-size:12.5px}.center{text-align:center}.err{color:var(--red)}.tiny{font-size:12px}.name-prompt{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px;animation:rise .55s var(--spring) both}.name-row{display:flex;gap:8px}.name-row .label-input{flex:1}.share-hint{display:flex;align-items:flex-start;gap:10px;background:var(--accent-soft);color:var(--text);font-size:13px;line-height:1.45;padding:11px 13px;border-radius:14px;margin:0}.share-hint .i{color:var(--accent);margin-top:1px}.host{border-top:1px solid var(--card-border);padding-top:14px;display:flex;flex-direction:column;gap:10px}.host-title{font-size:12.5px;font-weight:600;color:var(--muted);padding:0 2px}.seg{display:flex;gap:8px;align-items:center}.seg-btn{flex:1;min-width:0;height:36px;border-radius:10px;border:0;background:var(--fill);color:var(--text);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),transform .55s var(--spring)}.seg-btn:active{transform:scale(.95);transition-duration:.14s}.seg-btn.active{background:var(--accent-soft);color:var(--accent);font-weight:650;box-shadow:inset 0 0 0 1.5px var(--accent)}.mins{width:60px;height:36px;border-radius:10px;border:0;background:var(--fill);color:var(--text);font:inherit;font-size:14px;text-align:center}.mins:focus,.label-input:focus{outline:none;background:var(--card);box-shadow:0 0 0 3px var(--accent-soft),inset 0 0 0 1px var(--accent)}.people{display:flex;flex-direction:column;max-height:168px;overflow-y:auto;background:var(--card);border:1px solid var(--card-border);border-radius:14px}.person{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:13.5px;text-align:left;position:relative;transition:background-color .2s var(--ease)}.person+.person:before{content:"";position:absolute;top:0;left:30px;right:0;height:1px;background:var(--card-border)}.person:active{background:var(--fill)}.person.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.pdot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.tag{margin-left:auto;font-size:11px;font-weight:500;padding:1px 8px;border-radius:10px;background:var(--fill);color:var(--muted);text-transform:capitalize}.label-input{height:40px;padding:0 12px;border-radius:10px;border:0;background:var(--fill);color:var(--text);font:inherit;font-size:14px;user-select:text;-webkit-user-select:text;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}.label-input::placeholder{color:var(--muted);opacity:.8}.new-actions{display:flex;gap:8px}.new-actions .btn.primary{flex:1}.msg{font-size:12.5px;margin:0;padding:0 2px;animation:rise .45s var(--spring) both}.msg.ok{color:var(--muted)}.msg.bad{color:var(--red)}.host>.active{display:flex;flex-direction:column;gap:8px}.active-row{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:14px;padding:10px 12px;animation:rise .5s var(--spring) both}.active-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.active-clock{font-size:19px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.active-who{font-size:12.5px;color:var(--muted);text-align:right;overflow-wrap:anywhere}.active-btns{display:flex;gap:6px}.active-btns button{flex:1;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:0;background:var(--fill);color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:transform .55s var(--spring),background-color .2s var(--ease)}.active-btns button:active{transform:scale(.93);transition-duration:.14s}.active-btns button.go{background:var(--accent);color:var(--on-accent)}.active-btns button.danger{color:var(--red)}.presets-box{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:16px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:8px}.presets-head{display:flex;align-items:center;justify-content:space-between}.presets-head .btn.small{padding:0 10px}.preset-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.preset-name{font-size:13.5px;font-weight:500}.preset-item .btn.small{width:32px;padding:0}.preset-actions{display:flex;gap:6px}.denied{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:70vh;text-align:center}.denied-icon{font-size:40px;color:var(--muted)}.denied-title{font-size:18px;font-weight:650}.debug{background:var(--card);color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10.5px;line-height:1.5;padding:10px 12px;border-radius:12px;white-space:pre-wrap;word-break:break-all;margin:0;border:1px solid var(--card-border);user-select:text;-webkit-user-select:text}.view-only{margin:4px 0 0;padding:0 12px;line-height:1.5}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes beat{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.theme-btn{width:28px;height:28px;margin-left:auto;margin-right:6px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:inline-grid;place-items:center;cursor:pointer}.theme-btn:hover{background:var(--fill);color:var(--text)}
