:root{--ink: #2b2321;--paper: #fbf6ec;--warm: #ffd89a;--dusk: #2a2f55;--glass: rgba(24, 26, 44, .55);--glass-line: rgba(255, 255, 255, .14);--text: #fdf8ee;--muted: rgba(253, 248, 238, .7);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#14182a;color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.game-canvas{position:fixed;inset:0;width:100vw;height:100dvh;display:block;touch-action:none}button{font:inherit;color:inherit;cursor:pointer}.entry{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at 50% 18%,rgba(255,196,120,.22),transparent 55%),linear-gradient(180deg,#121733,#262c55 55%,#4a4268);transition:opacity .8s ease,filter .8s ease;overflow-y:auto}.entry.leaving{opacity:0;filter:blur(6px);pointer-events:none}.entry-card{width:min(560px,100%);text-align:center;padding:28px 18px 22px}.entry-title{margin:0;display:inline-flex;align-items:center;gap:12px;font-size:44px;letter-spacing:.04em}.logo-mark{width:54px;height:54px}.entry-sub{margin:6px 0 0;color:var(--muted);font-size:14px;letter-spacing:.08em}.entry-copy{margin:18px 0 22px;font-size:22px;color:var(--warm)}.entry-rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.room-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px 12px;border-radius:18px;border:1.5px solid var(--glass-line);background:#ffffff0f;transition:transform .2s,background .2s,border-color .2s}.room-card:hover:not(:disabled){transform:translateY(-2px)}.room-card.on{background:#ffd89a29;border-color:var(--warm)}.room-card.locked{opacity:.55;cursor:default;filter:grayscale(.5)}.room-emoji{font-size:30px}.room-card strong{font-size:17px}.room-muk{font-size:12px;color:var(--warm)}.room-card small{font-size:11.5px;color:var(--muted);line-height:1.35;min-height:2.7em}.room-count{font-style:normal;font-size:12px;color:var(--muted)}.entry-me{margin:18px 0 14px;font-size:15px;color:var(--muted)}.entry-me strong{color:var(--text)}.entry-reroll{margin-left:6px;border:none;background:#ffffff1a;border-radius:999px;padding:3px 8px}.entry-go{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;border:none;background:linear-gradient(180deg,#ffe2ae,#f2b86a);color:var(--ink);font-size:18px;font-weight:700;box-shadow:0 8px 30px #ffbe6e59}.entry-go:disabled{background:#ffffff1f;color:var(--muted);box-shadow:none;cursor:default}.entry-go-icon{font-size:22px}.entry-foot{margin-top:16px;font-size:12px;color:var(--muted)}@media(max-width:480px){.entry-title{font-size:38px}.entry-rooms{gap:6px}.room-card{padding:12px 4px 10px}.room-card strong{font-size:15px}}.hud{position:fixed;inset:0;pointer-events:none;z-index:10;transition:opacity .8s}.hud>*{pointer-events:auto}.hud.zen{opacity:0}.hud.zen>*{pointer-events:none}.hud-top{position:absolute;top:max(10px,env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:center;gap:8px}.hud-title,.hud-active{padding:7px 12px;border-radius:999px;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;white-space:nowrap}.hud-active{color:var(--warm)}.hud-tools{margin-left:auto;display:flex;gap:6px}.hud-btn{width:38px;height:38px;border-radius:999px;border:none;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:17px}.hud-status{position:absolute;top:64px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:var(--glass);font-size:13px;opacity:0;transition:opacity .3s}.hud-status.on{opacity:1}.hud-feed{position:absolute;left:50%;bottom:200px;transform:translate(-50%,8px);padding:7px 14px;border-radius:999px;background:var(--glass);font-size:13.5px;white-space:nowrap;opacity:0;transition:opacity .4s,transform .4s;pointer-events:none}.hud-feed.on{opacity:1;transform:translate(-50%)}.hud-notice{position:absolute;left:50%;top:max(15%,108px);transform:translate(-50%);max-width:min(88vw,460px);padding:10px 18px;border-radius:16px;background:var(--glass);font-size:15px;text-align:center;white-space:pre-line;opacity:0;transition:opacity .6s;pointer-events:none}.hud-notice.big{font-size:17px;background:#2820149e;color:var(--warm)}.hud-notice.on{opacity:1}.shh{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:54px;font-weight:800;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.5);animation:shh 1.6s ease forwards;pointer-events:none}@keyframes shh{0%{opacity:0;transform:translate(-50%,-40%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0}}.hud-bottom{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(560px,calc(100vw - 24px));display:flex;flex-direction:column;align-items:center;gap:8px}.gauge-together{font-size:13px;color:var(--muted);text-shadow:0 1px 8px rgba(0,0,0,.5)}.gauge-together[data-silence]:not([data-silence=""]):after{content:" · " attr(data-silence)}.gauge{width:100%;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gauge-label,.gauge-stage{font-size:13.5px;white-space:nowrap}.gauge-stage{min-width:4.5em;text-align:right;color:var(--warm)}.gauge-track{position:relative;flex:1;height:6px;border-radius:99px;background:#ffffff26}.gauge-fill{position:absolute;inset:0 auto 0 0;border-radius:99px;background:linear-gradient(90deg,#8f95d8,#ffd89a);transition:width .3s linear}.gauge-dot{position:absolute;top:50%;width:14px;height:14px;border-radius:99px;background:#fff7e6;box-shadow:0 0 12px #ffd89ae6;transform:translate(-50%,-50%);transition:left .3s linear}.gauge.deep .gauge-fill{background:linear-gradient(90deg,#ffd89a,#fff3d6);box-shadow:0 0 16px #ffd89acc}.hud-bows{font-size:12.5px;color:var(--muted)}.hud-actions{display:flex;gap:10px}.act-btn{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px;padding:10px 12px 9px;border-radius:18px;border:1.5px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .15s,opacity .3s}.act-btn:active{transform:scale(.95)}.act-emoji{font-size:24px}.act-label{font-size:12.5px}.act-cool{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--warm);transform-origin:left;transform:scaleX(0)}.act-btn.cooling{opacity:.55}.paper-pick{position:absolute;left:50%;bottom:190px;transform:translate(-50%);width:min(380px,calc(100vw - 32px));padding:14px;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 10px 40px #00000059;display:grid;gap:6px}.paper-head{margin:0 0 4px;font-size:13px;color:#7a6a5a;text-align:center}.paper-line{border:none;border-radius:12px;padding:9px 12px;background:#f1e8d6;text-align:left;font-size:14.5px}.paper-line:hover{background:#ead9b8}@media(max-width:480px){.hud-title,.hud-active{font-size:12.5px;padding:6px 10px}.act-btn{min-width:84px;padding:9px 8px 8px}.hud-feed{bottom:196px;font-size:12.5px}}body[data-stage=murmur] .game-canvas{animation:murmur 6s ease-in-out infinite}@keyframes murmur{0%,to{transform:translate(0)}50%{transform:translate(.6px,-.4px)}}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at center,transparent 55%,rgba(10,8,20,.45));opacity:0;transition:opacity 3s}body[data-stage=still]:after,body[data-stage=full]:after{opacity:1}@media(prefers-reduced-motion:reduce){body[data-stage=murmur] .game-canvas{animation:none}}[hidden]{display:none!important}.ceremony-sub{position:absolute;left:50%;bottom:170px;transform:translate(-50%);max-width:min(90vw,520px);padding:10px 18px;border-radius:14px;background:#0a08068c;color:#ffe6bf;font-size:17px;text-align:center;opacity:0;transition:opacity .8s;pointer-events:none}.ceremony-sub.on{opacity:1}.ceremony-bar{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.ceremony-count{padding:6px 14px;border-radius:999px;background:#281a0a99;color:#ffd89a;font-size:14px}.candle-btn{border-color:#ffc87880}.hud.in-ceremony .hud-feed{display:none}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:16px;background:#08081099;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.letter-paper{width:min(420px,100%);padding:20px;border-radius:16px;background:#fbf6ec;color:var(--ink);box-shadow:0 20px 60px #0006;transform-origin:50% 100%}.letter-head{margin:0 0 10px;font-weight:700;text-align:center}.letter-text{width:100%;height:180px;resize:none;border:none;border-radius:10px;padding:12px;background:repeating-linear-gradient(#fffdf8 0 30px,#eadfca 30px 31px);font:inherit;font-size:15.5px;line-height:31px;color:var(--ink);-webkit-user-select:text;user-select:text}.letter-text:focus{outline:2px solid #f2b86a}.letter-note{margin:8px 0 12px;font-size:12.5px;color:#8a7a66;text-align:center}.letter-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.letter-btn{border:none;border-radius:999px;padding:10px 18px;background:linear-gradient(180deg,#ffe2ae,#f2b86a);color:var(--ink);font-weight:700}.letter-btn.ghost{background:#ece3d2;font-weight:500}.letter-paper.burning{animation:burn 2.2s ease-in forwards}@keyframes burn{0%{filter:none;clip-path:inset(0 0 0 0)}30%{filter:sepia(.8) brightness(1.1)}to{filter:sepia(1) brightness(.3);clip-path:inset(0 0 100% 0);transform:translateY(-30px) scale(.96);opacity:0}}.letter-paper.burning:after{content:""}.card-box{display:flex;flex-direction:column;align-items:center;gap:12px;max-height:100%}.card-img{max-width:min(420px,90vw);max-height:calc(100dvh - 120px);border-radius:12px;box-shadow:0 20px 60px #00000073}.nunchi-btn{padding:8px 16px;border-radius:999px;border:1.5px solid rgba(255,216,154,.5);background:#28201499;color:var(--warm);font-size:14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nunchi-btn:disabled{opacity:.6;cursor:default}.stand-btn{display:inline-flex;align-items:center;gap:10px;padding:18px 44px;border-radius:999px;border:none;background:linear-gradient(180deg,#ffe2ae,#f2b86a);color:var(--ink);font-size:30px;font-weight:800;box-shadow:0 10px 34px #ffbe6e73;touch-action:manipulation}.stand-btn span{font-size:22px}.stand-btn:active{transform:scale(.96)}.nunchi-banner{position:absolute;top:64px;left:50%;transform:translate(-50%);padding:9px 18px;border-radius:999px;background:#282014a8;color:var(--warm);font-size:16px;font-weight:700;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}.nunchi-banner.on{opacity:1}.scribe-card{width:min(760px,100%);padding:16px;border-radius:18px;background:#fbf6ec;color:var(--ink);box-shadow:0 20px 60px #0006;transform-origin:50% 0}.scribe-head,.viewer-title{margin:0 0 10px;text-align:center;font-weight:700}.viewer-title{color:var(--text)}.scribe-canvas,.viewer-canvas{display:block;width:100%;aspect-ratio:5 / 2;border-radius:12px;background:linear-gradient(135deg,#f6ead0,#ecdbb8);box-shadow:inset 0 0 0 2px #785a3226;touch-action:none;cursor:crosshair}.viewer-canvas{width:min(760px,92vw);cursor:default}.scribe-meter{margin:10px auto 0;width:60%;height:6px;border-radius:99px;background:#e6d9bf;overflow:hidden}.scribe-bar{width:0;height:100%;background:linear-gradient(90deg,#b88a4a,#e8b84a);transition:width .2s}.scribe-hint{margin:8px 0 10px;font-size:12.5px;color:#8a7a66;text-align:center}.letter-btn:disabled{opacity:.5;cursor:default}.scribe-card.drying .scribe-canvas{filter:sepia(.25) brightness(1.03);box-shadow:inset 0 0 40px #dcbe7899}.scribe-card.rolling{animation:roll .8s ease-in forwards}@keyframes roll{to{transform:scaleY(.05) translateY(-200px);opacity:0}}.jeya-banner{position:absolute;top:64px;left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);padding:8px 16px;border-radius:999px;background:#0e122cb3;color:#ffe6b8;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .6s;pointer-events:none}.jeya-banner.on{opacity:1}.letgo-btn{border-color:#ff965099}.hud[data-jeya=quiet] .hud-actions,.hud[data-jeya=quiet] .nunchi-btn,.hud[data-jeya=ring] .nunchi-btn{display:none}.hud[data-jeya=ring] .act-btn:not(:first-child){display:none}@media(max-width:480px){.jeya-banner{font-size:12.5px}}
