:root{--btn-bg:#0c0e1673;--btn-line:#ffe6be2e;--glow:#ffb35c;--ink:#f3e6cf;--sheet:#0e101aeb;--serif:"Noto Serif KR", "AppleMyungjo", "Batang", serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--row-b:30px;--row-h:60px}button{font:inherit;color:inherit}#stage{position:fixed;inset:0}#stage canvas{touch-action:none;outline:none;width:100%;height:100%;transition:filter .4s;display:block}body.sheet #stage canvas{filter:brightness(.62)}#fade{z-index:25;opacity:0;pointer-events:none;background:#05060b;transition:opacity .4s;position:fixed;inset:0}#fade.on{opacity:1}#status{z-index:5;left:16px;top:calc(var(--safe-t) + 14px);opacity:.78;text-shadow:0 1px 3px #000000d9,0 0 10px #0009;pointer-events:none;font-size:13px;line-height:1.5;position:fixed;right:120px}#status small{opacity:.8;font-size:13px;display:block}#topBtns{z-index:6;right:16px;top:calc(var(--safe-t) + 12px);opacity:0;gap:10px;transition:opacity .6s;display:flex;position:fixed}#topBtns.show{opacity:1}.round{cursor:pointer;isolation:isolate;background:0 0;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:60px;height:60px;padding:0;transition:opacity .4s,transform .2s;display:flex;position:relative}.round:before{content:"";z-index:-1;background:var(--btn-bg);border:1px solid var(--btn-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;transition:border-color .4s;position:absolute;inset:0}.round svg{fill:none;width:26px;height:26px;stroke:var(--ink);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.round.sm{width:48px;height:48px}.round.sm:before{background:#080a12a8;border-color:#ffe6be3d;inset:4px;box-shadow:0 0 14px 4px #04050a61}.round.sm svg{width:24px;height:24px}.round.pressed:before{border-color:var(--glow)}.round:active{transform:scale(.96)}.round.dim{opacity:.5}.round.on:before{border-color:#ffb35c8c}.round .lbl{font-size:12px;line-height:1}#btnSound .slash{display:none}#btnSound.off .slash{display:inline}#btnSound.off .wave{display:none}#rituals{z-index:6;left:50%;bottom:calc(var(--safe-b) + var(--row-b));justify-content:space-around;width:calc(100% - 32px);max-width:420px;display:flex;position:fixed;transform:translate(-50%)}#rituals .round{opacity:0;flex:none;width:60px;height:60px;margin:0 2px;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s;transform:translateY(24px)}#rituals .round .lbl{text-shadow:0 1px 3px #000000e6,0 0 8px #0009;white-space:nowrap;background:0 0;padding:0;position:absolute;top:64px;left:50%;transform:translate(-50%)}#rituals.show .round{opacity:1;transform:none}#rituals .round:before{background:#0a0c1499}#rituals.show .round:nth-child(2){transition-delay:60ms}#rituals.show .round:nth-child(3){transition-delay:.12s}#rituals.show .round:nth-child(4){transition-delay:.18s}#rituals.show .round.dim{opacity:.5}@media (width<=359px){#rituals .round{width:52px;height:52px}#rituals .round .lbl{top:56px}}body.idle #rituals,body.idle #topBtns,body.idle #status{opacity:.2;transition:opacity .3s}#rituals,#status{transition:opacity .3s}#toast{z-index:8;left:50%;bottom:calc(var(--safe-b) + var(--row-b) + var(--row-h) + 14px);box-sizing:border-box;text-align:center;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c149e;border-radius:14px;width:max-content;max-width:min(400px,100% - 32px);padding:10px 16px;font-size:14px;line-height:1.5;transition:opacity .4s,transform .4s;position:fixed;transform:translate(-50%,6px)}#toast.show{opacity:1;transform:translate(-50%)}#toast:empty{padding:0}#soundBand{z-index:9;left:50%;bottom:calc(var(--safe-b) + var(--row-b) + var(--row-h) + 66px);box-sizing:border-box;border:1px solid var(--btn-line);text-align:center;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c14ad;border-radius:22px;width:max-content;max-width:calc(100% - 32px);padding:12px 18px 10px;transition:opacity .5s;position:fixed;transform:translate(-50%)}#soundBand.show{opacity:1}#soundBand p{margin:0}#soundBand .t1{font-size:15px}#soundBand .t2{opacity:.72;margin-top:2px;font-size:13px}@media (height<=500px){#soundBand{top:calc(var(--safe-t) + 10px);border-radius:18px;align-items:center;gap:10px;padding:4px 6px 4px 14px;display:flex;bottom:auto}#soundBand .t2{display:none}#soundBand .t1{white-space:nowrap;font-size:14px}#soundBand #btnSilent{white-space:nowrap;margin-top:0}}body.sheet #topBtns{opacity:0;pointer-events:none}#btnSilent{text-underline-offset:3px;opacity:.8;cursor:pointer;background:0 0;border:0;min-height:40px;margin-top:6px;padding:8px 10px;font-size:13px;text-decoration:underline}#titleCard{z-index:7;text-align:center;pointer-events:none;opacity:0;text-shadow:0 2px 14px #0000008c;transition:opacity .6s;position:fixed;top:24%;left:0;right:0}#titleCard.show{opacity:1}#titleCard h1{font-family:var(--serif);letter-spacing:.12em;margin:0;font-size:30px;font-weight:500}#titleCard p{font-family:var(--serif);opacity:.85;margin:8px 0 0;font-size:15px}#breath{z-index:6;left:50%;bottom:calc(var(--safe-b) + var(--row-b) + var(--row-h) + 70px);pointer-events:none;--k:0;flex-direction:column;align-items:center;gap:6px;width:90px;transition:opacity .6s;display:flex;position:fixed;transform:translate(-50%)}#breath.gone{opacity:0}#breath i{width:56px;height:56px;transform:scale(calc(.6 + .4 * var(--k)));box-shadow:0 0 calc(4px + 14px * var(--k)) #ffb35c59;border:1.5px solid #ffdcaab3;border-radius:50%;display:block}#breath span{opacity:.8;text-shadow:0 1px 4px #000000b3;font-size:13px}#wishSheet{z-index:20;box-sizing:border-box;min-height:45vh;padding:22px 16px calc(var(--safe-b) + 18px);background:var(--sheet);border-top:1px solid var(--btn-line);border-radius:20px 20px 0 0;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}#wishSheet.show{transform:none}#wishSheet>*{max-width:440px;margin-left:auto;margin-right:auto}#wishSheet h2{font-family:var(--serif);margin:0 auto 14px;font-size:18px;font-weight:500}#wishText{box-sizing:border-box;width:100%;color:var(--ink);font-family:var(--serif);background:#ffffff0f;border:1px solid #ffe6be47;border-radius:12px;outline:none;padding:12px 14px;font-size:16px;display:block}#wishText:focus{border-color:#ffb35cb3}.cnt{text-align:right;opacity:.6;margin-top:4px;font-size:13px}.colors{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.colors button{cursor:pointer;background:#ffffff0a;border:1px solid #ffe6be33;border-radius:20px;align-items:center;gap:6px;min-height:40px;padding:4px 10px;font-size:13px;display:inline-flex}.colors button i{border-radius:50%;width:14px;height:14px;display:inline-block}.colors button[aria-checked=true]{border-color:var(--glow);background:#ffb35c1f}.note{opacity:.66;margin:10px auto 0;font-size:13px;line-height:1.55}.row{gap:10px;margin-top:16px;display:flex}.row button{cursor:pointer;background:#ffffff0d;border:1px solid #ffe6be38;border-radius:12px;flex:1;min-height:46px;font-size:15px}.row button.primary,button.primary{background:#ffb35c33;border-color:#ffb35c99}#wishCard,#ask{z-index:21;box-sizing:border-box;background:var(--sheet);border:1px solid var(--btn-line);text-align:center;border-radius:18px;width:calc(100% - 32px);max-width:380px;padding:22px 18px 18px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#wishCard .date{opacity:.7;margin:0;font-size:13px}#wishCard .text{font-family:var(--serif);word-break:keep-all;overflow-wrap:anywhere;margin:14px 0 6px;font-size:19px;line-height:1.6}#wishCard .text.empty{opacity:.6;font-size:15px}#wishCard .gold{color:#ffd27a;margin:4px 0 0;font-size:13px}#ask{z-index:22}#ask p{word-break:keep-all;margin:0;font-size:15px;line-height:1.6}#bgScreen{z-index:26;text-align:center;cursor:pointer;background:#040509;flex-direction:column;justify-content:center;align-items:center;padding:0 16px;transition:opacity .6s;display:flex;position:fixed;inset:0}#bgScreen.leaving{opacity:0}#bgScreen:focus{outline:none}#bgScreen:focus-visible .b1{text-underline-offset:4px;text-decoration:underline}#bgScreen p{max-width:360px;margin:4px 0}#bgScreen .b1{font-family:var(--serif);font-size:17px}#bgScreen .b2,#bgScreen .b3{opacity:.75;font-size:14px}#bgScreen .b3,#bgScreen.muted .b2{display:none}#bgScreen.muted .b3{display:block}#bgScreen.nogl .b2{display:none}#bgScreen .b4{left:16px;right:16px;bottom:calc(var(--safe-b) + 22px);opacity:.5;margin:0 auto;font-size:13px;position:absolute}#noGL,#loadFail{z-index:35;text-align:center;background:#070b1a;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:0 24px;font-size:15px;line-height:1.6;display:flex;position:fixed;inset:0}#noGL button,#loadFail button{cursor:pointer;border:1px solid #ffb35c99;border-radius:14px;min-height:48px;padding:0 22px}#debugBox{z-index:40;left:8px;top:calc(var(--safe-t) + 54px);color:#e8f0d8;pointer-events:none;white-space:pre;background:#0009;border-radius:8px;margin:0;padding:8px 10px;font:12px/1.5 ui-monospace,Consolas,monospace;position:fixed}@media (height<=500px){:root{--row-b:18px;--row-h:48px}#rituals .round{width:48px;height:48px}#rituals .round svg{width:22px;height:22px}#rituals .round .lbl{top:51px}#toast{top:calc(var(--safe-t) + 14px);max-width:min(400px,100% - 300px);bottom:auto;transform:translate(-50%,-6px)}#soundBand.show~#toast{top:calc(var(--safe-t) + 62px)}#breath{left:calc(50% + 250px);bottom:calc(var(--safe-b) + var(--row-b) - 6px)}#wishSheet{min-height:0;max-height:calc(100% - 70px - var(--safe-t));padding-top:14px;overflow-y:auto}#wishSheet h2{margin-bottom:8px}#wishSheet .note{margin-top:6px}#wishSheet .row{margin-top:10px}}@media (prefers-reduced-motion:reduce){#rituals .round,#toast,#titleCard,#wishSheet{transition-duration:10ms!important}}
