:root{--bg: #111111;--surface: #1d1d1d;--surface-2: #2a2a2a;--text: #f2f2f2;--muted: #9a9a9a;--accent: #ff9f1c;--ring: #e5484d;--radius: 12px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:24px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none}[hidden]{display:none!important}button{font:inherit;color:inherit;min-height:48px;min-width:48px;padding:0 16px;border:0;border-radius:var(--radius);background:var(--surface-2);touch-action:manipulation}button:disabled{opacity:.4}button.primary{background:var(--accent);color:#111;font-weight:600}button.secondary{background:var(--surface-2)}.app{height:100%}.main{height:100dvh;display:flex;flex-direction:column;gap:12px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px)}.clock{text-align:center;flex:none}.time{font-size:112px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.weekday{color:var(--muted);margin-top:8px}.date{font-size:28px;color:var(--muted)}.names{text-align:center;flex:none}.names .birthday{margin-top:4px}.cards{position:relative;display:flex;flex-direction:column;gap:8px;flex:none}.cards.stale .card{opacity:.45}.offline-dot{position:absolute;top:-6px;right:4px;font-size:14px;color:var(--ring);display:flex;align-items:center;gap:6px}.offline-dot:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ring)}.card{background:var(--surface);border-radius:var(--radius);padding:16px}.card.muted{color:var(--muted);text-align:center}.card-accent{background:var(--accent);color:#111;font-weight:600;text-align:center}.card-row{display:flex;justify-content:space-between}.progress{height:10px;margin-top:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}.progress>div{height:100%;background:var(--accent)}.timers{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.add-timer{flex:none;background:var(--accent);color:#111;font-weight:600;min-height:56px}.timer-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.timer{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--radius);padding:8px 8px 8px 16px;border:2px solid transparent}.timer.ringing{border-color:var(--ring);background:#3a1517;animation:pulse 1s ease-in-out infinite}.timer-main{flex:1;min-width:0;display:flex;flex-direction:column}.timer-left{font-size:40px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.timer-sub{font-size:18px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-label{color:var(--text)}.timer button{flex:none;font-size:18px;padding:0 12px;min-height:56px}@keyframes pulse{50%{background:#5a1d20}}.cookbook-button{flex:none;min-height:64px;font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#0009;display:flex;align-items:flex-end}.sheet{width:100%;background:var(--surface);border-radius:20px 20px 0 0;padding:20px 16px calc(env(safe-area-inset-bottom) + 20px);display:flex;flex-direction:column;gap:16px}.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.presets button{font-size:20px;padding:0 4px;white-space:nowrap}.fields{display:flex;gap:16px}.number-field{flex:1}.number-label{color:var(--muted);font-size:18px;margin-bottom:6px}.number-row{display:flex;gap:6px}.number-row input{flex:1;min-width:0;width:100%;font:inherit;font-size:36px;text-align:center;font-variant-numeric:tabular-nums;background:var(--bg);color:var(--text);border:0;border-radius:var(--radius);-moz-appearance:textfield}.number-row input::-webkit-inner-spin-button{-webkit-appearance:none}.step{font-size:32px;padding:0;min-width:56px;min-height:56px;-webkit-user-select:none;user-select:none}.label-input{font:inherit;min-height:52px;padding:0 14px;background:var(--bg);color:var(--text);border:0;border-radius:var(--radius);-webkit-user-select:text;user-select:text}.sheet-actions{display:flex;gap:8px}.sheet-actions .primary{flex:1}.cookbook{height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.cookbook-bar{flex:none;height:56px;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--surface)}.back{flex:none;font-size:20px;min-height:44px}.timer-strip{flex:1;min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.chip{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:20px;background:var(--surface-2);font-size:18px;font-variant-numeric:tabular-nums}.chip.ringing{background:var(--ring);font-weight:600;min-width:0}.cookbook-frame{flex:1;position:relative}.cookbook-frame iframe{width:100%;height:100%;border:0;background:#fff;display:block}.cookbook-failed{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg)}.pair{height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.pair-form{width:100%;max-width:480px;display:flex;flex-direction:column;gap:12px;text-align:center}.pair-form label{color:var(--muted);font-size:18px}.pair-form input{font:inherit;min-height:56px;padding:0 14px;background:var(--surface);color:var(--text);border:0;border-radius:var(--radius);-webkit-user-select:text;user-select:text}.pair-form p{margin:0}
