:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;background-color:#1a1a1a}button{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.idle-view{display:flex;flex-direction:column;gap:8px;padding:8px;height:100%;justify-content:center;box-sizing:border-box}.noodle-btn{flex:1;min-height:48px;border:none;border-radius:8px;font-size:1.2rem;font-weight:700;color:#fff;cursor:pointer;transition:transform .1s ease,opacity .1s ease,box-shadow .1s ease;touch-action:manipulation;box-shadow:0 2px 4px #0000001a}.noodle-btn:active{transform:scale(.95);opacity:.9}.noodle-btn:focus-visible{outline:3px solid rgba(0,0,0,.3);outline-offset:2px}.noodle-btn--reg{background:linear-gradient(135deg,#ff6b4a,#e55a3a)}.noodle-btn--reg:hover{background:linear-gradient(135deg,#e55a3a,#d04a2a);box-shadow:0 4px 8px #ff6b4a4d}.noodle-btn--tsuke{background:linear-gradient(135deg,#4cd964,#3cc954)}.noodle-btn--tsuke:hover{background:linear-gradient(135deg,#3cc954,#2cb944);box-shadow:0 4px 8px #4cd9644d}.noodle-btn--pre{background:linear-gradient(135deg,#5ac8fa,#4ab8ea)}.noodle-btn--pre:hover{background:linear-gradient(135deg,#4ab8ea,#3aa8da);box-shadow:0 4px 8px #5ac8fa4d}@media(max-width:768px){.idle-view{gap:6px;padding:6px}.noodle-btn{min-height:40px;font-size:1rem}}@media(max-width:480px){.idle-view{gap:4px;padding:4px}.noodle-btn{min-height:36px;font-size:.9rem;border-radius:6px}}.active-view{display:flex;flex-direction:column;gap:4px;padding:6px 6px 40px;height:100%;box-sizing:border-box;position:relative;--slot-color: #3b82f6}.active-view--reg{--slot-color: #FF6B4A}.active-view--tsuke{--slot-color: #4CD964}.active-view--pre{--slot-color: #5AC8FA}.noodle-type-label{font-size:.9rem;font-weight:700;text-align:center;padding:4px 8px;border-radius:4px;color:#fff;background-color:var(--slot-color);transition:background-color .2s ease;flex-shrink:0}.noodle-type-label--barikata{background-color:color-mix(in srgb,var(--slot-color) 100%,transparent);color:#fff}.noodle-type-label--katame{background-color:color-mix(in srgb,var(--slot-color) 70%,white);color:#fff}.noodle-type-label--futsu{background-color:color-mix(in srgb,var(--slot-color) 45%,white);color:#334155}.noodle-type-label--yawame{background-color:color-mix(in srgb,var(--slot-color) 25%,white);color:#334155}.progress-bar__fill{background-color:var(--slot-color)}.timer-display{font-weight:700;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;color:#1e293b;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.timer-display__sign{font-size:clamp(2rem,6vw,4rem)}.timer-display__mins{font-size:clamp(3rem,12vw,7rem)}.timer-display__colon{font-size:clamp(2rem,6vw,4rem);margin:0 2px;color:#bbb}.timer-display__secs{font-size:clamp(2rem,6vw,4rem)}.timer-display--overtime{color:#dc2626}.timer-display--pre-alert{color:#d97706}.timer-display__secs-only{font-size:clamp(4rem,15vw,8rem);line-height:1}.progress-bar{height:8px;background-color:#e2e8f0;border-radius:4px;overflow:hidden;flex-shrink:0}.progress-bar__fill{height:100%;transition:width .3s ease}.firmness-toggle{display:flex;gap:4px;flex-shrink:0}.firmness-btn{flex:1;padding:16px 4px;border:2px solid transparent;border-radius:6px;font-size:clamp(.75rem,1.5vw,1rem);font-weight:700;cursor:pointer;transition:all .1s ease;touch-action:manipulation;white-space:nowrap;min-height:48px}.firmness-btn--barikata{background-color:color-mix(in srgb,var(--slot-color) 100%,transparent);border-color:color-mix(in srgb,var(--slot-color) 100%,transparent);color:#fff}.firmness-btn--katame{background-color:color-mix(in srgb,var(--slot-color) 70%,white);border-color:color-mix(in srgb,var(--slot-color) 70%,white);color:#fff}.firmness-btn--futsu{background-color:color-mix(in srgb,var(--slot-color) 45%,white);border-color:color-mix(in srgb,var(--slot-color) 45%,white);color:#334155}.firmness-btn--yawame{background-color:color-mix(in srgb,var(--slot-color) 25%,white);border-color:color-mix(in srgb,var(--slot-color) 25%,white);color:#334155}.firmness-btn--active{box-shadow:0 0 0 3px var(--slot-color),inset 0 0 0 2px #fff}.stop-btn{position:absolute;bottom:6px;left:6px;right:6px;padding:12px;border:none;border-radius:8px;background-color:#c41e3a;color:#fff;font-size:clamp(.9rem,2vw,1.2rem);font-weight:700;cursor:pointer;transition:background-color .1s ease;touch-action:manipulation;min-height:36px}.stop-btn:hover{background-color:#a01830}.stop-btn:active{background-color:#8b1528}@media(max-width:480px){.active-view{gap:4px;padding:4px 4px 36px}.noodle-type-label{font-size:.7rem;padding:2px 4px}.firmness-btn{padding:12px 2px;font-size:.7rem;min-height:40px}.stop-btn{bottom:4px;left:4px;right:4px;padding:7px;font-size:.85rem;min-height:28px}}@media(max-height:820px){.active-view{gap:2px;padding:4px 4px 32px}.noodle-type-label{font-size:.7rem;padding:2px 4px}.timer-display__mins{font-size:clamp(2rem,10vw,4rem)}.timer-display__secs,.timer-display__sign,.timer-display__colon{font-size:clamp(1.2rem,5vw,2rem)}.timer-display__secs-only{font-size:clamp(3rem,12vw,5rem)}.progress-bar{height:6px}.firmness-btn{padding:10px 2px;font-size:.65rem;min-height:40px}.stop-btn{bottom:4px;left:4px;right:4px;padding:9px;font-size:.8rem;min-height:40px}}.slot{background-color:#fff;border:3px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease;min-height:180px;display:flex;flex-direction:column}.slot--idle{border-color:#e2e8f0;background-color:#f8fafc}.slot--active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.slot--pre-alert{border-color:#f59e0b;background-color:#fffbeb;box-shadow:0 0 0 3px #f59e0b4d}.slot--pre-alert{animation:pre-alert-pulse 2s ease-in-out infinite}@keyframes pre-alert-pulse{0%,to{box-shadow:0 0 0 3px #f59e0b4d}50%{box-shadow:0 0 0 6px #f59e0b80}}.slot--final-alert{border-color:#ef4444;background-color:#fef2f2}.slot--flashing{animation:flash .4s infinite alternate}@keyframes flash{0%{background-color:#fef2f2;border-color:#ef4444;box-shadow:0 0 0 4px #ef44444d}to{background-color:#fee2e2;border-color:#dc2626;box-shadow:0 0 20px #ef444499}}.slot--after-boil{border-color:#8b5cf6;background-color:#f5f3ff;box-shadow:0 0 0 2px #8b5cf633}.after-boil-view{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;flex:1;cursor:pointer}.after-boil-label{font-size:1rem;font-weight:700;color:#7c3aed;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.after-boil-noodle-type{font-size:clamp(2rem,8vw,4rem);font-weight:700;padding:8px 16px;border-radius:8px;color:#fff}.after-boil-firmness{font-size:clamp(1rem,4vw,2rem);font-weight:700;color:#5b21b6;margin-top:8px}.after-boil-view--reg{--slot-color: #FF6B4A}.after-boil-view--tsuke{--slot-color: #4CD964}.after-boil-view--pre{--slot-color: #5AC8FA}.after-boil-view--reg .after-boil-noodle-type,.after-boil-view--tsuke .after-boil-noodle-type,.after-boil-view--pre .after-boil-noodle-type{background-color:var(--slot-color)}.after-boil-view--barikata .after-boil-noodle-type{background-color:color-mix(in srgb,var(--slot-color) 100%,transparent)}.after-boil-view--katame .after-boil-noodle-type{background-color:color-mix(in srgb,var(--slot-color) 70%,white)}.after-boil-view--futsu .after-boil-noodle-type{background-color:color-mix(in srgb,var(--slot-color) 45%,white);color:#334155}.after-boil-view--yawame .after-boil-noodle-type{background-color:color-mix(in srgb,var(--slot-color) 25%,white);color:#334155}.after-boil-timer{font-size:2.5rem;font-weight:700;font-family:Courier New,Courier,monospace;color:#5b21b6}@media(max-width:768px){.slot{min-height:150px;border-width:2px}.after-boil-label{font-size:.9rem}.after-boil-timer{font-size:2rem}}@media(max-width:480px){.slot{min-height:130px;border-radius:8px}.after-boil-view{padding:12px}.after-boil-label{font-size:.8rem}.after-boil-timer{font-size:1.5rem}}.final-alert-view{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;flex:1;cursor:pointer}.final-alert-noodle-type{font-size:clamp(1rem,3vw,1.5rem);font-weight:700;color:#dc2626}.final-alert-firmness{font-size:clamp(.8rem,2vw,1rem);color:#dc2626;opacity:.8}.final-alert-up{font-size:clamp(3rem,12vw,8rem);font-weight:700;color:#dc2626;line-height:1}.final-alert-timer{font-size:clamp(1rem,3vw,1.5rem);font-weight:700;font-family:Courier New,Courier,monospace;color:#dc2626;margin-top:8px}.pre-alert-view{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:16px;flex:1;cursor:pointer}.pre-alert-noodle-type{font-size:clamp(1rem,3vw,1.5rem);font-weight:700;color:#d97706}.pre-alert-firmness{font-size:clamp(.8rem,2vw,1rem);color:#d97706;opacity:.8}.pre-alert-seconds{font-size:clamp(4rem,15vw,10rem);font-weight:700;font-family:Courier New,Courier,monospace;color:#d97706;line-height:1}@media(max-height:820px){.slot{min-height:0}.final-alert-view{padding:4px;gap:2px}.final-alert-noodle-type{font-size:.7rem}.final-alert-firmness{font-size:.6rem}.final-alert-up{font-size:2.5rem}.final-alert-timer{font-size:.75rem;margin-top:2px}.pre-alert-view{padding:4px;gap:2px}.pre-alert-noodle-type{font-size:.7rem}.pre-alert-firmness{font-size:.6rem}.pre-alert-seconds{font-size:3rem}.after-boil-view{padding:4px}.after-boil-label{font-size:.6rem;margin-bottom:2px}.after-boil-noodle-type{font-size:1.8rem;padding:4px 8px}.after-boil-firmness{font-size:.9rem;margin-top:2px}}.unit{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:8px;padding:12px;background-color:#2a2a2a;border-radius:12px;box-shadow:0 4px 12px #0000004d;flex:1;min-width:0;height:100%;box-sizing:border-box}@media(max-width:768px){.unit{gap:6px;padding:10px;border-radius:10px;width:100%;flex:1}}@media(max-width:480px){.unit{gap:4px;padding:8px;border-radius:8px}}.timer-grid{display:flex;gap:16px;padding:16px;justify-content:center;align-items:stretch;width:100%;flex:1;min-height:0;box-sizing:border-box}@media(max-width:900px){.timer-grid{gap:12px;padding:12px}}@media(max-width:768px){.timer-grid{flex-direction:column;align-items:center;gap:16px;padding:12px}}@media(max-width:480px){.timer-grid{gap:12px;padding:8px}}.preset-selector{display:flex;gap:8px;padding:8px;justify-content:space-between;align-items:center;background-color:#1e293b}.preset-selector__presets{display:flex;gap:8px;flex:1;justify-content:center}.preset-btn{padding:8px 16px;border:2px solid #475569;border-radius:6px;background-color:#334155;color:#94a3b8;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s ease}.preset-btn:hover{background-color:#475569;color:#e2e8f0}.preset-btn--active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.preset-btn--active:hover{background-color:#2563eb;border-color:#2563eb}.reload-btn{padding:8px 12px;border:2px solid #475569;border-radius:6px;background-color:#334155;color:#94a3b8;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .15s ease;line-height:1}.reload-btn:hover{background-color:#475569;color:#e2e8f0}.reload-btn:active{background-color:#64748b}.app{width:100vw;height:100vh;background-color:#1a1a1a;color:#fff;overflow:hidden;display:flex;flex-direction:column}
