:root{color-scheme:light;--ink:#2b2118;--gold:#c99a2e;--paper:#fbf6e9}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#cfe6f7;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:var(--ink)}#app,#app canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#title{position:fixed;top:max(14px,env(safe-area-inset-top));left:16px;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 6px #fff8}#title small{display:block;font-weight:400;font-size:12px;opacity:.7;letter-spacing:0}#zone{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:6px 16px;border-radius:999px;background:#fbf6e9d9;border:1px solid #c99a2e66;font-size:14px;opacity:0}#zone.pop{animation:pop 2.8s ease both}@keyframes pop{0%{opacity:0;transform:translate(-50%,-6px)}12%,75%{opacity:1;transform:translate(-50%)}to{opacity:0}}#hint{position:fixed;left:50%;bottom:26%;transform:translate(-50%);padding:8px 16px;border-radius:12px;background:#2b2118cc;color:#fff;font-size:14px;opacity:0;transition:opacity .25s;pointer-events:none;text-align:center;max-width:86vw}#toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);padding:8px 16px;border-radius:12px;background:#fbf6e9ee;border:1px solid #c99a2e66;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none;text-align:center;max-width:86vw}#joy{position:fixed;left:max(22px,env(safe-area-inset-left));bottom:max(30px,env(safe-area-inset-bottom));width:120px;height:120px;border-radius:50%;background:#fff5;border:2px solid #fff9;touch-action:none;display:none}#knob{position:absolute;left:34px;top:34px;width:52px;height:52px;border-radius:50%;background:#fbf6e9;box-shadow:0 2px 8px #0004}input,textarea{-webkit-user-select:text;user-select:text}#runbtn{position:fixed;left:max(150px,calc(env(safe-area-inset-left) + 150px));bottom:max(34px,env(safe-area-inset-bottom));display:none;width:62px;height:62px;border-radius:50%;border:2px solid #fff9;background:#fff6;color:var(--ink);font:inherit;font-size:12px;font-weight:700;touch-action:none}#runbtn.on{background:var(--gold);color:#fff;border-color:#fff}.touch-only{display:none}body.touch .touch-only{display:inline}body.touch .pc-only{display:none}#debug{position:fixed;right:10px;bottom:10px;font:11px monospace;background:#0007;color:#fff;padding:3px 7px;border-radius:6px}#intro{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(#4c9be6dd,#dcecf8ee);transition:opacity .6s}#intro.gone{opacity:0;pointer-events:none}#intro .card{text-align:center;padding:28px 30px;background:var(--paper);border-radius:20px;border:1px solid #c99a2e66;box-shadow:0 10px 40px #0003;max-width:88vw}#intro h1{margin:0 0 6px;font-size:26px;letter-spacing:.06em}#intro p{margin:4px 0 18px;font-size:13px;opacity:.75;line-height:1.6}#start{font:inherit;font-size:16px;padding:11px 30px;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#fff;cursor:pointer}#start:focus-visible{outline:3px solid #2b2118;outline-offset:3px}#bar{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));display:none;gap:8px;align-items:center}#bar button{font:inherit;font-size:13px;padding:9px 14px;border-radius:999px;border:1px solid #c99a2e;background:#fbf6e9ee;color:var(--ink);cursor:pointer}#bar #btnWish{background:var(--gold);color:#fff}#bar #btnSnd.off{opacity:.6}#bar #btnTag.on{background:#a83a30;color:#fff;border-color:#a83a30}#bar{flex-wrap:wrap;justify-content:flex-end;max-width:min(520px,calc(100vw - 170px))}#bar button:focus-visible,.modal button:focus-visible,.minput:focus-visible{outline:3px solid #2b2118;outline-offset:2px}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#2b211866;z-index:5}.modal[hidden]{display:none}.modal .card{background:var(--paper);border:1px solid #c99a2e66;border-radius:18px;padding:22px;width:min(360px,90vw);box-shadow:0 10px 40px #0004}.modal h2{margin:0 0 6px;font-size:20px}.modal p{margin:0 0 12px;font-size:13px;line-height:1.6}.modal small{opacity:.65}.minput{width:100%;font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid #c99a2e;background:#fff}.modal .row{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.modal .row button{font:inherit;padding:9px 18px;border-radius:999px;border:1px solid #c99a2e;background:#fff;cursor:pointer}.mok{background:var(--gold)!important;color:#fff}#bar #btnGuide{background:#2f6f8f;color:#fff;border-color:#2f6f8f}#guide{position:fixed;left:50%;transform:translate(-50%);bottom:96px;width:min(560px,94vw);max-height:62vh;display:flex;flex-direction:column;background:var(--paper);border:1px solid #c99a2e88;border-radius:18px;box-shadow:0 10px 40px #0005;z-index:6;overflow:hidden}#guide[hidden]{display:none}#guide .gh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#2f6f8f;color:#fff}#guide .gx{font:inherit;font-size:13px;padding:4px 12px;border-radius:999px;border:1px solid #fff9;background:transparent;color:#fff;cursor:pointer}#guide .gl{flex:1;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:70px}#guide .m{padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.6;max-width:88%;white-space:pre-wrap}#guide .m.a{background:#fff;border:1px solid #e3d6b4;align-self:flex-start}#guide .m.u{background:#c99a2e;color:#fff;align-self:flex-end}#guide .m small{display:block;margin-top:4px;opacity:.6;font-size:11px}#guide .gc{flex-shrink:0;display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px;max-height:76px;overflow:auto}#guide .gc button{font:inherit;font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid #c99a2e;background:#fff;cursor:pointer}#guide .gf{flex-shrink:0;display:flex;gap:6px;padding:0 14px}#guide .gi{flex:1;font:inherit;font-size:16px;padding:9px 12px;border-radius:10px;border:1px solid #c99a2e}#guide .gs{font:inherit;padding:9px 14px;border-radius:10px;border:0;background:#c99a2e;color:#fff;cursor:pointer}#guide .gn{margin:6px 14px 10px;font-size:11px;opacity:.6}#guide button:focus-visible,#guide input:focus-visible{outline:3px solid #2b2118;outline-offset:2px}#fade{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .4s;z-index:9}#acts{position:fixed;left:50%;transform:translate(-50%);bottom:max(92px,calc(env(safe-area-inset-bottom) + 80px));display:none;gap:8px;flex-wrap:wrap;justify-content:center;width:min(640px,94vw);z-index:4}#acts button{font:inherit;font-size:15px;padding:11px 20px;border-radius:999px;border:1px solid #8c6a1e;background:#fbf6e9f2;color:var(--ink);cursor:pointer;box-shadow:0 3px 14px #0004}#acts button:first-child{background:var(--gold);color:#fff}#acts button:focus-visible{outline:3px solid #2b2118;outline-offset:2px}#chant{position:fixed;left:50%;top:16%;transform:translate(-50%);text-align:center;color:#fff;text-shadow:0 2px 12px #000a;pointer-events:none;z-index:3}#chant[hidden]{display:none}#chant .cm{font-size:clamp(22px,4.2vw,40px);letter-spacing:.3em;font-weight:700;animation:breath 5s ease-in-out infinite}#chant .ct{font-size:13px;margin-top:6px;opacity:.85}@keyframes breath{0%,to{opacity:.55}50%{opacity:1}}#bar #btnMenu{background:#4a3a2a;color:#fff;border-color:#4a3a2a}#menu .mcard{width:min(460px,94vw);max-height:86vh;overflow:auto}#menu h3{margin:12px 0 4px;font-size:13px;color:#a8741a}#menu .mrow{display:flex;flex-direction:column;width:100%;text-align:left;font:inherit;background:#fff;border:1px solid #e3d6b4;border-radius:10px;padding:8px 12px;margin:4px 0;color:var(--ink)}#menu button.mrow{cursor:pointer;border-color:#c99a2e}#menu .mrow b{font-size:14px}#menu .mrow span{font-size:12px;opacity:.7;line-height:1.5}#menu .mrow.off{opacity:.45}#menu div.mrow{background:#fbf6e9}#menu .row{position:sticky;bottom:-22px;background:var(--paper);padding:8px 0}#menu button:focus-visible{outline:3px solid #2b2118;outline-offset:2px}#bar #btnRitual{display:none;background:#8a5a2b;color:#fff;border-color:#8a5a2b}body.in-hall #bar #btnRitual{display:inline-block}#ritual{position:fixed;left:50%;top:max(64px,calc(env(safe-area-inset-top) + 56px));transform:translate(-50%);width:min(520px,94vw);max-height:calc(100vh - 150px);overflow:auto;background:var(--paper);border:1px solid #c99a2e88;border-radius:16px;box-shadow:0 10px 40px #0005;z-index:6;padding:0 0 12px}#ritual[hidden]{display:none}#ritual .rh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#8a5a2b;color:#fff;position:sticky;top:0}#ritual .rx{font:inherit;font-size:13px;padding:4px 12px;border-radius:999px;border:1px solid #fff9;background:transparent;color:#fff;cursor:pointer}#ritual .rt{padding:12px 16px 2px;font-size:18px;font-weight:700}#ritual .rt small{font-weight:400;opacity:.6;font-size:12px}#ritual .rno{color:#a8741a}#ritual .rb,#ritual .rc{padding:0 16px;font-size:14px;line-height:1.65}#ritual .rb p,#ritual .rc p{margin:6px 0}#ritual .rly{background:#fff;border:1px solid #e3d6b4;border-radius:12px;padding:10px 14px;margin:8px 0;font-size:15px;line-height:1.9;text-align:center}#ritual .rnote{font-size:12px;opacity:.7}#ritual .ract{font:inherit;font-size:14px;padding:8px 16px;border-radius:999px;border:1px solid #8c6a1e;background:var(--gold);color:#fff;cursor:pointer;margin:4px 0}#ritual .rbtn{display:flex;gap:8px;padding:8px 16px 0}#ritual .rbtn button{flex:1;font:inherit;font-size:14px;padding:9px 6px;border-radius:999px;border:1px solid #c99a2e;background:#fff;cursor:pointer;min-height:42px}#ritual .rbtn button:disabled{opacity:.35}#ritual .rplay{background:#2f6f8f!important;color:#fff;border-color:#2f6f8f!important}#ritual .rsw{font:inherit;font-size:13px;padding:4px 12px;border-radius:999px;border:1px solid #fff9;background:#fff2;color:#fff;cursor:pointer}#ritual .rsel{padding:6px 16px 0}#ritual .rsel[hidden]{display:none}#ritual .rsh{margin:8px 0;font-size:14px}#ritual .rseq{display:flex;flex-direction:column;width:100%;text-align:left;font:inherit;background:#fff;border:1px solid #c99a2e;border-radius:12px;padding:10px 14px;margin:6px 0;cursor:pointer;color:var(--ink)}#ritual .rseq.on{background:#fbf0d4}#ritual .rseq span{font-size:12px;opacity:.7;line-height:1.5}#ritual [hidden]{display:none!important}#ritual .rauto{display:block;padding:8px 16px 0;font-size:12px}#ritual .rsrc{padding:6px 16px 0;font-size:11px;opacity:.55}#ritual button:focus-visible{outline:3px solid #2b2118;outline-offset:2px}@media (max-width:560px){#ritual{top:56px;max-height:calc(100vh - 330px)}}body.in-hall #btnWish,body.in-hall #btnTag{display:none}@supports (height: 100dvh){#guide{max-height:62dvh}}.modal{padding-bottom:var(--kb,0px)}#intro:not(.gone)~#joy,#intro:not(.gone)~#runbtn,#intro:not(.gone)~#acts{visibility:hidden}#guide{bottom:calc(96px + var(--kb,0px))}#intro .card{max-height:92%;overflow:auto}body.touch #bar button,body.touch #acts button,body.touch #guide .gc button{min-height:42px}body.touch #acts{bottom:max(170px,calc(env(safe-area-inset-bottom) + 160px))}body.touch #hint{bottom:30%}@media (max-width:560px){#title{font-size:15px}#zone{top:calc(max(14px,env(safe-area-inset-top)) + 40px);font-size:13px}#bar{max-width:calc(100vw - 28px);bottom:max(170px,calc(env(safe-area-inset-bottom) + 160px))}#bar button{font-size:12px;padding:8px 12px}#guide{bottom:calc(12px + var(--kb,0px));max-height:70vh}#guide .gc{max-height:112px}#acts,body.touch #acts{bottom:max(290px,calc(env(safe-area-inset-bottom) + 280px))}#hint,body.touch #hint{bottom:max(360px,calc(env(safe-area-inset-bottom) + 350px))}#toast{bottom:auto;top:calc(max(14px,env(safe-area-inset-top)) + 84px)}#chant .cm{letter-spacing:.14em;font-size:22px}}@media (max-height:460px){#guide{max-height:calc(100vh - 20px - var(--kb,0px));bottom:calc(8px + var(--kb,0px))}#title small{display:none}#chant{top:8%}#intro .card{padding:16px 22px}#intro p{margin-bottom:10px}}@media (prefers-reduced-motion: reduce){#zone.pop{animation:none;opacity:1}}
