*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{justify-content:center;align-items:center;height:100dvh;font-family:Helvetica Neue,Arial,sans-serif;display:flex;overflow:hidden}#app{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.state-input{color:#f5f5f5;background:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;padding:2rem;display:flex}.state-input h1{color:#666;letter-spacing:.08em;text-align:center;font-size:clamp(.9rem,2.5vw,1.2rem);font-weight:400}.state-input form{flex-direction:column;align-items:center;gap:1.2rem;width:min(600px,90%);display:flex}.state-input input{color:#f5f5f5;text-align:center;background:0 0;border:none;border-bottom:2px solid #444;outline:none;width:100%;padding:.5rem;font-size:clamp(1.4rem,4vw,2.2rem);transition:border-color .2s}.state-input input:focus{border-color:#fff}.state-input input::placeholder{color:#444}.state-input button{color:#111;letter-spacing:.12em;cursor:pointer;background:#fff;border:none;padding:.75rem 2.5rem;font-size:1rem;font-weight:700;transition:opacity .2s}.state-input button:hover{opacity:.85}.state-input button:disabled{opacity:.35;cursor:not-allowed}.loading-hint{color:#555;min-height:1.2em;font-size:.85rem}.char-count{color:#555;letter-spacing:.04em;align-self:flex-end;font-size:.75rem;transition:color .2s}.char-count--warn{color:#e05050}.state-screaming{animation:bg-pulse var(--pulse-duration,.8s) ease-in-out infinite alternate;color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;height:100%;padding:2rem;display:flex;position:relative;overflow:hidden}@keyframes bg-pulse{0%{filter:brightness()}to{filter:brightness(1.25)}}.flames{pointer-events:none;position:absolute;inset:0}.flame{bottom:0;left:var(--x,50%);font-size:var(--size,1rem);animation:flame-rise var(--duration,.8s) var(--delay,0s) ease-in infinite;opacity:0;-webkit-user-select:none;user-select:none;position:absolute}@keyframes flame-rise{0%{opacity:0;transform:translateY(0)scale(1)}20%{opacity:1}80%{opacity:.6}to{opacity:0;transform:translateY(-80vh)scale(.3)}}.countdown{text-shadow:0 0 60px #ffffff80;font-size:clamp(7rem,28vw,16rem);font-weight:900;line-height:1;animation:.5s step-end infinite blink}@keyframes blink{50%{opacity:.55}}.micro-step{background:#00000059;border-radius:8px;max-width:560px;padding:1rem 1.5rem;font-size:clamp(1rem,2.8vw,1.5rem);font-weight:700;line-height:1.6}.micro-step-label{letter-spacing:.12em;opacity:.65;margin-bottom:.4rem;font-size:.75rem}.state-monitoring{color:#f5f5f5;text-align:center;background:#111;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;padding:2rem;display:flex}.yt-player{aspect-ratio:16/9;border:none;border-radius:8px;width:min(560px,90%)}.monitoring-micro-step{color:#f5f5f5;background:#ffffff12;border-radius:8px;max-width:560px;padding:1rem 1.5rem;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700;line-height:1.6}.elapsed{color:#555;font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:clamp(.85rem,2vw,1rem)}.done-btn{color:#111;letter-spacing:.1em;cursor:pointer;background:#fff;border:none;align-items:center;gap:.6rem;padding:1.2rem 4rem;font-size:clamp(1.2rem,4vw,1.8rem);font-weight:900;animation:1.5s ease-in-out infinite pulse;display:flex}.done-hint{letter-spacing:.06em;background:#0000001f;border-radius:4px;padding:.15em .4em;font-size:.6em;font-weight:400}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 20px #ffffff26}50%{transform:scale(1.05);box-shadow:0 0 50px #ffffff80}}.history{width:min(600px,90%);margin-top:1rem}.history-label{color:#555;letter-spacing:.08em;text-align:left;margin-bottom:.6rem;font-size:.75rem}.history-list{flex-direction:column;gap:.4rem;max-height:160px;list-style:none;display:flex;overflow-y:auto}.history-item{color:#888;text-align:left;align-items:baseline;gap:.6rem;font-size:.85rem;display:flex}.history-elapsed{color:#444;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:.7rem}.nag-overlay{z-index:100;text-align:center;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:flex;position:fixed;inset:0}.nag-overlay p{color:#fff;max-width:500px;font-size:clamp(1.2rem,4vw,2rem);font-weight:700;line-height:1.5}.nag-overlay button{color:#111;cursor:pointer;background:#fff;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:700}
