*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #101014;--panel: #1d1d26;--text: #f0eef6;--sub: #9a97ad;--accent: #FFD600;--good: #00E676;--bad: #FF1744;--daring: #FF9100}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;display:flex;justify-content:center;padding:10px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}#app{width:100%;max-width:480px;display:flex;flex-direction:column;gap:8px}header{display:flex;align-items:baseline;gap:8px}h1{font-size:1.3rem;letter-spacing:1px}#dayinfo{color:var(--accent);font-weight:700}#phase-label{color:var(--sub);font-weight:700;font-size:.85rem}#timer{margin-left:auto;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800;min-width:2.2em;text-align:right}#timer.idle{color:var(--sub)}#timer.low{color:var(--bad);animation:pulse .5s infinite alternate}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.15)}}#hint{color:var(--sub);font-size:.82rem;min-height:1.2em}#hint b{color:var(--text)}#stage{width:100%;position:relative}#game{width:100%;height:auto;display:block;border-radius:12px;touch-action:none;box-shadow:0 6px 30px #00000080}#game.hiding{cursor:grab}#game.seeking{cursor:default}#banner{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#banner.hidden{display:none}#controls,#hide-controls{display:flex;flex-direction:column;gap:8px}#hide-controls.hidden,#seek-controls.hidden{display:none}#pose-row{display:flex;gap:8px;justify-content:center}.pose-btn{flex:1;background:var(--panel);border-radius:12px;padding:6px 4px;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;color:var(--sub)}.pose-btn canvas{width:44px;height:44px}.pose-btn.sel{border-color:var(--accent);color:var(--text);background:#2a2a1c}#size-row{display:flex;align-items:center;gap:10px;background:var(--panel);border-radius:12px;padding:8px 12px}.ctl-label{color:var(--sub);font-size:.8rem;font-weight:700}#size-slider{flex:1;accent-color:var(--accent);height:28px}#daring-badge{font-weight:900;font-variant-numeric:tabular-nums;color:var(--daring);font-size:1.05rem;min-width:3em;text-align:right}#daring-badge.hot{animation:pulse .6s infinite alternate}#go-btn{font-size:1.05rem;padding:14px;background:var(--accent);color:#201400;border-radius:14px;font-weight:800;box-shadow:0 4px 20px #ffd6004d}#seek-controls{display:flex;flex-direction:column;gap:6px}#breath-btn{font-size:1.05rem;padding:16px;background:#1f3a4a;color:#9be7ff;border-radius:14px;font-weight:800;touch-action:none}#breath-btn.holding{background:#0d5c7a;color:#fff;box-shadow:0 0 18px #50c8ff80}#breath-bar{height:8px;background:#22222e;border-radius:4px;overflow:hidden}#breath-fill{height:100%;width:100%;background:linear-gradient(90deg,#4fc3f7,#9be7ff);border-radius:4px;transition:width .1s linear}#breath-fill.danger{background:linear-gradient(90deg,#ff7043,#ff1744)}#meta-row{display:flex;align-items:center;gap:8px}#meta-row .gap{flex:1}#status{font-weight:700;font-size:.9rem;color:var(--sub)}button{background:#33334a;color:var(--text);border:none;border-radius:10px;padding:8px 12px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit}button:active{transform:scale(.96)}button:disabled{opacity:.35;cursor:default}#mute-btn{background:transparent;font-size:1.1rem;padding:6px}#modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a10c7;display:flex;align-items:center;justify-content:center;z-index:10}#modal.hidden{display:none}.card{background:var(--panel);border-radius:18px;padding:24px 26px;width:min(92vw,380px);text-align:center;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 50px #0009}#res-score{font-size:3rem;font-weight:900;color:var(--good);font-variant-numeric:tabular-nums}#res-grade{font-size:1.1rem;font-weight:700;line-height:1.4}#res-rounds{font-size:1.15rem;letter-spacing:1px;white-space:pre-line;line-height:1.5}#res-streak{color:var(--sub);font-size:.9rem}#res-tip{color:var(--sub);font-size:.8rem}.card .row{display:flex;gap:8px;justify-content:center}.card .row button{flex:1}#share{background:var(--good);color:#00230f}#challenge-btn{background:#4a2440;color:#ffb9e6}@media(max-width:400px){body{padding:6px}h1{font-size:1.1rem}}
