.ou-timer-page{padding:20px 0 44px;overflow-x:hidden}.ou-timer-page__title{margin-bottom:0}.ou-timer{margin-top:14px;display:grid;gap:14px}.ou-timer__display-card,.ou-timer__settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;width:min(100%,960px);margin-left:auto;margin-right:auto}.ou-timer__display-card{background:transparent;border:0;box-shadow:none;padding:0}.ou-timer__settings-card{text-align:center;min-width:0}.ou-timer__status{margin:0 0 8px;color:var(--muted);text-align:center;font-size:1rem;font-weight:650;letter-spacing:.02em}.ou-timer__time{margin:0;display:flex;align-items:center;justify-content:center;gap:clamp(1px,.35vw,5px);max-width:100%;min-width:0;color:var(--text);text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:clamp(4.2rem,15vw,14rem);font-weight:800;line-height:1.04;letter-spacing:.012em;font-variant-numeric:tabular-nums;padding:clamp(4px,1vw,10px) 0;white-space:nowrap;overflow:visible}.ou-timer__segment{appearance:none;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;font:inherit;line-height:1;font-variant-numeric:tabular-nums;min-width:2ch;padding:0 clamp(1px,.25vw,5px);cursor:text}.ou-timer__segment[data-time-segment=hours]{min-width:2ch}.ou-timer__segment:not(:disabled):hover{border-color:#2563eb42;background:#2563eb14}.ou-timer__segment:not(:disabled):focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.ou-timer__segment:disabled{cursor:default}.ou-timer__separator{color:var(--muted);opacity:.74;user-select:none}.ou-timer__segment.is-editing{border-color:#2563eb61;background:#fff;box-shadow:0 0 0 3px #2563eb29}.ou-timer__segment-editor{width:100%;border:0;background:transparent;color:inherit;font:inherit;line-height:1;text-align:center;padding:0;margin:0;outline:none}.ou-timer__time.is-hours{font-size:clamp(3.8rem,13vw,12rem);letter-spacing:.01em}.ou-timer__time.is-complete{animation:ou-timer-finish-blink 1.1s ease-in-out infinite}.ou-timer__time.is-complete .ou-timer__separator{color:#dc2626;opacity:.75}.ou-timer__progress{margin-top:10px;width:100%;height:12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.ou-timer__progress-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .22s linear}.ou-timer__settings-title{margin:0 0 10px;line-height:1.2;font-size:1.2rem}.ou-timer__edit-hint{margin:10px auto 0;width:min(100%,760px);color:var(--muted);font-size:.94rem}.ou-timer__preset-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,760px);margin-left:auto;margin-right:auto;min-width:0}.ou-timer__preset{appearance:none;min-height:42px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);font-size:.95rem;font-weight:700;padding:8px 10px;cursor:pointer;transition:transform .08s ease,filter .18s ease,border-color .18s ease}.ou-timer__preset:hover{border-color:#2563eb59;filter:brightness(1.01)}.ou-timer__preset:active{transform:translateY(1px)}.ou-timer__preset:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}.ou-timer__preset:disabled{opacity:.56;cursor:not-allowed}.ou-timer__preset.is-active{border-color:#2563eb59;background:#2563eb14}.ou-timer__sound{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:.95rem;user-select:none;width:100%}.ou-timer__sound input{width:18px;height:18px;accent-color:var(--brand)}.ou-timer__controls{width:min(100%,960px);margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ou-timer__controls.is-alarm-visible{grid-template-columns:repeat(4,minmax(0,1fr))}.ou-timer__btn{appearance:none;min-height:54px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);font-size:1.02rem;font-weight:700;padding:10px 12px;cursor:pointer;transition:transform .08s ease,filter .18s ease,border-color .18s ease}.ou-timer__btn:hover{border-color:#2563eb59;filter:brightness(1.01)}.ou-timer__btn:active{transform:translateY(1px)}.ou-timer__btn:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}.ou-timer__btn:disabled{opacity:.52;cursor:not-allowed;filter:saturate(.8)}.ou-timer__btn:disabled:active{transform:none}.ou-timer__btn--primary{border-color:#2563eb47;background:linear-gradient(180deg,var(--brand),var(--brand-2));color:#fff}.ou-timer__btn--ghost{background:var(--surface-2)}.ou-timer__btn--warn{border-color:#b91c1c57;color:#991b1b;background:#fff4f4}.ou-timer-page.is-fullscreen-active .ou-timer-page__title{display:none}.ou-timer:fullscreen{background:var(--bg);padding:clamp(12px,2vw,28px);margin:0;width:100vw;height:100vh;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;display:grid;gap:14px;align-content:center}.ou-timer:fullscreen .ou-timer__time{font-size:clamp(6.2rem,18vw,17rem);letter-spacing:.01em}.ou-timer:fullscreen .ou-timer__time.is-hours{font-size:clamp(5rem,15vw,13rem)}.ou-timer-page.is-fallback-fullscreen{position:fixed;inset:0;z-index:9999;background:var(--bg);overflow:auto;padding:12px 0}.ou-timer-page.is-fallback-fullscreen .wrap{width:100%;max-width:none;padding-left:12px;padding-right:12px;margin:0}.ou-timer-page.is-fallback-fullscreen .ou-timer{margin-top:0;min-height:calc(100svh - 24px);align-content:center}.ou-timer-page.is-fallback-fullscreen .ou-timer__time{font-size:clamp(5.4rem,17vw,14.5rem)}.ou-timer-page.is-fallback-fullscreen .ou-timer__time.is-hours{font-size:clamp(4.6rem,15vw,12rem)}@keyframes ou-timer-finish-blink{0%,to{color:#b91c1c;text-shadow:0 0 0 rgba(220,38,38,0)}50%{color:#ef4444;text-shadow:0 0 18px rgba(239,68,68,.22)}}@media(prefers-reduced-motion:reduce){.ou-timer__time.is-complete{animation:none;color:#dc2626}}@media(max-width:960px){.ou-timer__controls{grid-template-columns:repeat(3,minmax(0,1fr))}.ou-timer__controls.is-alarm-visible{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.ou-timer-page{padding-top:16px}.ou-timer__display-card,.ou-timer__settings-card{padding:12px}.ou-timer__display-card{padding:0}.ou-timer__time{font-size:clamp(2.35rem,12vw,5.2rem);letter-spacing:.01em;gap:0}.ou-timer__time.is-hours{font-size:clamp(2.2rem,11vw,4.7rem);letter-spacing:.01em}.ou-timer__segment{padding-left:0;padding-right:0}.ou-timer__btn{min-height:50px;font-size:.98rem}.ou-timer__btn[data-action=fullscreen]{display:none}.ou-timer__preset-row{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px);overflow-x:visible;padding-bottom:0}.ou-timer__preset{white-space:nowrap;padding:8px 6px;font-size:.9rem}.ou-timer__controls,.ou-timer__controls.is-alarm-visible{grid-template-columns:repeat(2,minmax(0,1fr))}.ou-timer__controls.is-alarm-visible .ou-timer__btn[data-action=stop-alarm]{grid-column:1 / -1}}@media(max-width:460px){.ou-timer__controls,.ou-timer__controls.is-alarm-visible{grid-template-columns:repeat(2,minmax(0,1fr))}.ou-timer__controls .ou-timer__btn{font-size:.84rem;padding-left:6px;padding-right:6px}.ou-timer__preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ou-timer__preset{min-height:40px;font-size:.86rem;padding:6px 4px}}
