*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;overflow:hidden;background:#211f20;color:#f1e8dc;font-family:system-ui,sans-serif}#stage{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:2px;color:#bfb1a3}button,nav a{font:12px system-ui;color:#ebe3da;border:1px solid #fff3;background:#28262be6;border-radius:9px;padding:9px 12px;cursor:pointer;text-decoration:none}button:hover,nav a:hover{background:#494049}button:focus-visible,a:focus-visible{outline:2px solid #ffdc96;outline-offset:2px}button:disabled{opacity:.55;cursor:default}#interaction{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);text-align:center;width:min(440px,94vw)}.blow-actions{display:flex;gap:9px;justify-content:center}.primary{background:#765539d9;border-color:#e8c48c88}#blow-meter{width:180px;height:4px;margin:12px auto 0;accent-color:#f1c281;display:block}#status{font-size:12px;line-height:1.5;color:#d8cbbd;margin:8px 0 0;min-height:18px}nav{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);display:flex;gap:6px;justify-content:center;white-space:nowrap}#hint{position:fixed;bottom:6px;left:50%;transform:translateX(-50%);font-size:10px;color:#99918b;white-space:nowrap}#error{position:fixed;top:35%;left:50%;transform:translateX(-50%);width:min(600px,90vw);background:#352b32;padding:26px;line-height:1.8;border:1px solid #76616b;border-radius:12px}nav[hidden]{display:none}dialog{background:#201d21;color:#eee;border:1px solid #6e5f66;border-radius:12px;padding:16px;max-height:96vh;width:min(560px,96vw)}dialog::backdrop{background:#000b}dialog video{display:block;max-height:82vh;width:100%;margin:10px auto}dialog a{color:#ffdfa3;font-size:13px}.video-mode header,.video-mode #interaction,.video-mode nav,.video-mode #hint{display:none}@media(max-width:600px){nav{bottom:32px;gap:4px}nav a,nav button{font-size:10px;padding:8px}#interaction{bottom:85px}header{top:12px;left:12px;right:12px}header span{font-size:11px}#hint{font-size:9px}}@media(max-height:600px){#interaction{bottom:76px}#status{font-size:10px}header{top:8px}#blow-meter{margin-top:7px}}

#birthday-intro{position:fixed;inset:0;z-index:10;background:#171819;opacity:1;transition:opacity 1.2s ease;overflow:hidden}#birthday-intro[hidden]{display:none}#intro-canvas{width:100%;height:100%;display:block}#birthday-intro.leaving{opacity:0;pointer-events:none}#skip-intro{position:absolute;right:20px;bottom:24px}header{z-index:20}.intro-active header span{visibility:hidden}.intro-active #interaction,.intro-active nav,.intro-active #hint{visibility:hidden}#stage{opacity:1;will-change:opacity}#birthday-intro{will-change:opacity}
