:root{--ink:#15181d;--night:#0f141b;--hanji:#efe6d2;--hanji-dim:#efe6d2c7;--hanji-line:#efe6d23d;--glow:#f3cd85;--brown:#6b4c36;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:18px}*{box-sizing:border-box}html,body{height:100%;color:var(--hanji);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;background:#090c10;margin:0;font-family:Gowun Batang,Noto Serif KR,Apple SD Gothic Neo,Malgun Gothic,serif}#app{background:var(--night);height:100dvh;margin:0 auto;position:relative;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}h1,h2,p{margin:0}[hidden]{display:none!important}.screen{opacity:0;transition:opacity .8s;position:absolute;inset:0;overflow:hidden}.screen.shown{opacity:1}.scene{z-index:0;position:absolute;inset:0;overflow:hidden}.scene-front{z-index:3;pointer-events:none}.layer{pointer-events:none;will-change:transform;position:absolute;inset:-24px}.layer>svg,.layer>img{width:100%;height:100%;display:block}.layer>img{object-fit:cover}[data-art]:not(.layer)>img{width:100%;height:auto;display:block}.content{z-index:4;padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 24px);flex-direction:column;justify-content:safe center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.fade-ui{transition:opacity .6s}.idle .fade-ui{opacity:0;pointer-events:none;transition:opacity 2.5s}.btn{border:1px solid var(--hanji-line);min-height:56px;color:var(--hanji);letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c101666;border-radius:28px;padding:0 26px;font-size:1.05rem;transition:transform .15s,background .2s}.btn:active{transform:scale(.97)}.btn.primary{color:var(--ink);background:#efe6d2eb;border-color:#0000;font-weight:700}.btn.soft{background:#0a0e1452;min-height:50px;padding:0 20px;font-size:1rem}.btn.wide{width:100%;margin-top:18px}.text-btn{min-height:48px;color:var(--hanji-dim);text-shadow:0 1px 8px #000c;background:0 0;border:0;padding:0 14px;font-size:1rem}.icon-btn{border:1px solid var(--hanji-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c101659;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;padding:0;display:grid}.icon-btn svg{width:22px;height:22px}.icon-btn.small{width:44px;height:44px}.icon-btn.small svg{width:20px;height:20px}.btn:focus-visible,.icon-btn:focus-visible,.text-btn:focus-visible,.house:focus-visible,.bowl:focus-visible,.sound-btn:focus-visible,.swatches button:focus-visible,.seg button:focus-visible{outline:3px solid var(--glow);outline-offset:3px}.hint{color:var(--hanji-dim);text-align:center;font-size:.95rem;line-height:1.5}.topbar{z-index:6;padding:calc(var(--safe-top) + 10px) 12px 0 18px;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.screen:before,.screen:after{content:"";z-index:3;pointer-events:none;opacity:var(--scrim);position:absolute;left:0;right:0}.screen:before{background:linear-gradient(#0a0e14d9,#0a0e1400);height:190px;top:0}.screen:after{background:linear-gradient(#0a0e1400,#0a0e14d9);height:240px;bottom:0}.idle .topbar>*{pointer-events:none}.today-rings{color:var(--hanji-dim);text-shadow:0 1px 8px #000c;font-size:.9rem}.today{flex-direction:column;gap:2px;min-width:0;display:flex}.today p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.today-lanterns{color:#f3cd85d9;text-shadow:0 1px 8px #000c;font-size:.85rem}.today-lanterns:empty{display:none}.topbar-buttons{gap:8px;display:flex}.topbar .icon-btn{background:0 0;border-color:#0000}.mist{pointer-events:none;background:radial-gradient(ellipse 40% 50% at 20% 50%, rgba(var(--haze-rgb), calc(.12 * var(--haze-k))), transparent 70%), radial-gradient(ellipse 45% 45% at 70% 60%, rgba(var(--haze-rgb), calc(.1 * var(--haze-k))), transparent 70%);height:22%;animation:40s ease-in-out infinite alternate drift;position:absolute;top:44%;left:-10%;right:-10%}.mist.wide{left:0;right:0}.mist.near{opacity:.7;height:18%;animation-duration:55s;top:76%}.entrance{padding-top:calc(var(--safe-top) + clamp(28px, 7vh, 72px));text-align:center;gap:clamp(10px,2.2vh,22px)}.brand h1{letter-spacing:.25em;text-shadow:0 0 30px #f3cd854d;margin-right:-.25em;font-size:clamp(2.3rem,7vh,3.3rem);font-weight:700;line-height:1.2}.brand-en{letter-spacing:.4em;color:var(--hanji-dim);margin-right:-.4em;font-size:.9rem}:lang(en) .brand h1,:lang(ja) .brand h1{letter-spacing:.12em;white-space:nowrap;margin-right:-.12em;font-size:clamp(2.1rem,6.2vh,2.9rem)}.tagline{margin-top:clamp(8px,1.6vh,16px);font-size:1.1rem;line-height:1.5}.brand,.entrance .hint,.entrance .text-btn,.exit-title{text-shadow:0 1px 10px #0a0e148c}.brand .tagline,.brand .brand-en{text-shadow:0 0 3px #0a0e14e6,0 0 10px #0a0e14b3,0 1px 14px #0a0e1480}.char-preview{width:clamp(80px,14vh,124px)}.char-preview.small{width:clamp(80px,13vh,110px)}.char-preview svg{width:100%;height:auto;display:block;overflow:visible}.picker{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.seg{border:1px solid var(--hanji-line);background:#0c101659;border-radius:26px;display:flex;overflow:hidden}.seg button{background:0 0;border:0;min-width:64px;min-height:48px;font-size:1.05rem}.seg button[aria-checked=true]{color:var(--ink);background:#efe6d2e6;font-weight:700}.swatches{gap:4px;display:flex}.swatches button{background:0 0;border:0;place-items:center;width:48px;height:48px;padding:0;display:grid}.swatches .dot{border:2px solid var(--hanji-line);border-radius:50%;width:34px;height:34px;transition:box-shadow .2s}.swatches button[aria-checked=true] .dot{border-color:var(--glow);box-shadow:0 0 0 4px #f3cd8540}.nick{justify-content:center;align-items:center;gap:8px;display:flex}.nick strong{font-size:1.2rem;font-weight:400}.actions{flex-direction:column;align-items:center;gap:4px;width:100%;max-width:300px;display:flex}.actions .btn{width:100%}.lang-links{justify-content:center;gap:2px;display:flex}.lang-links button{min-height:44px;color:var(--hanji-dim);text-shadow:0 1px 8px #0a0e1499;background:0 0;border:0;padding:0 10px;font-size:.95rem}.lang-links button[aria-checked=true]{color:var(--hanji);text-underline-offset:6px;text-decoration:underline}.pano-far,.pano-mist{will-change:transform;position:absolute;top:0;bottom:0;left:0}.pano-far{width:200%}.pano-mist{width:300%}.pano{z-index:1;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:auto hidden}.pano::-webkit-scrollbar{display:none}.pano-track{width:450%;height:100%;position:relative}@media (width>=520px){.pano-track{width:max(100%,240vh)}}.pano-ground{position:absolute;inset:0}.pano-ground>svg,.pano-ground>img{object-fit:cover;width:100%;height:100%;display:block}.deco{width:calc(var(--s) * 6%);pointer-events:none;position:absolute;transform:translate(-50%,-100%)}.deco svg{width:100%;height:auto;display:block;overflow:visible}.house{width:calc(var(--s) * 9.8%);-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-92%)}.house-art{transition:filter .3s;display:block}.house-art svg{width:100%;height:auto;display:block;overflow:visible}.house:not(.lit) .house-art{filter:brightness(.82)saturate(.85)}.house:not(.lit):active .house-art{filter:brightness(1.05)}.house.lit{cursor:default}.house.lit .glow{animation:5s ease-in-out infinite alternate glow}.house-name{white-space:nowrap;color:#efe6d2a8;text-shadow:0 1px 8px #000000e6;letter-spacing:.05em;margin-top:4px;font-size:.95rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.house.lit .house-name{color:var(--glow)}.place-title{z-index:5;top:calc(var(--safe-top) + 64px);text-align:center;color:var(--hanji-dim);text-shadow:0 2px 10px #000000b3;pointer-events:none;font-size:1.15rem;font-weight:400;position:absolute;left:0;right:0}.pano-arrow{z-index:5;background:#0a0e144d;border:0;border-radius:24px;width:48px;height:64px;margin-top:-32px;font-size:2rem;line-height:1;display:none;position:absolute;top:50%}.pano-arrow.left{left:8px}.pano-arrow.right{right:8px}@media (hover:hover) and (pointer:fine){.pano-arrow{display:block}}.village-bottom{z-index:5;left:0;right:0;bottom:calc(var(--safe-bottom) + 16px);pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute}.village-bottom>*{pointer-events:auto}.idle .village-bottom>*{pointer-events:none}.swipe-hint{color:var(--hanji-dim);text-shadow:0 1px 8px #000000e6;font-size:.95rem;transition:opacity 1s}.swipe-hint.gone{opacity:0}.quiet-actions{gap:10px;display:flex}.house-name-top{z-index:5;top:calc(var(--safe-top) + 66px);text-align:center;color:var(--hanji-dim);letter-spacing:.1em;pointer-events:none;font-size:1rem;position:absolute;left:0;right:0}.maru-actions{z-index:5;bottom:calc(var(--safe-bottom) + 12px);pointer-events:none;justify-content:center;display:flex;position:absolute;left:0;right:0}.maru-actions .btn{pointer-events:auto}.idle .maru-actions .btn{pointer-events:none}.stage{--w:min(30vh, 70vw, 300px);z-index:2;left:50%;bottom:calc(var(--safe-bottom) + 72px);width:var(--w);margin-left:calc(var(--w) / -2);aspect-ratio:1/.72;position:absolute}.char-wrap{pointer-events:none;width:54%;position:absolute;top:0;left:23%}.tea-set{pointer-events:none;width:35%;position:absolute;top:62%;left:-12%}.tea-set svg{width:100%;height:auto;display:block;overflow:visible}.tea-set.arrive{animation:1.4s ease-out both tea-arrive}.tea-set .cup{transition:opacity .4s}.tea-set.lifted .cup{opacity:0}.tea-set .steam path{animation:3.4s ease-in-out infinite steam}.tea-set .steam path+path{animation-delay:-1.7s}.char-sit .arm-sip{opacity:0;transform-box:view-box;transform-origin:40px 84px}.char-sit .head{transform-box:view-box;transform-origin:60px 76px}.sipping .arm-sip{animation:3.2s ease-in-out both sip-arm}.sipping .arm-rest{animation:3.2s ease-in-out both sip-rest}.sipping .head{animation:3.2s ease-in-out both sip-head}@keyframes tea-arrive{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes steam{0%{opacity:0;transform:translateY(4px)}40%{opacity:.55}to{opacity:0;transform:translateY(-10px)}}@keyframes sip-arm{0%{opacity:0;transform:rotate(-40deg)}18%,82%{opacity:1;transform:rotate(0)}to{opacity:0;transform:rotate(-40deg)}}@keyframes sip-rest{0%,to{opacity:1}12%,88%{opacity:0}}@keyframes sip-head{0%,to{transform:rotate(0)}30%,70%{transform:rotate(-5deg)}}.char-wrap svg{width:100%;height:auto;display:block;overflow:visible}.bowl{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;width:22%;padding:0;position:absolute;top:72%;left:56%}.bowl:before{content:"";border-radius:50%;position:absolute;inset:-70% -55%}.bowl-art{pointer-events:none;display:block}.bowl-art svg{width:100%;height:auto;display:block;overflow:visible}.bowl.ring .bowl-body{animation:.5s ease-out bowl-ring}.bowl.rubbing .bowl-art{filter:drop-shadow(0 0 10px #f3cd8599)}.ripples{pointer-events:none;width:0;height:0;position:absolute;top:42%;left:50%}.ripple{opacity:0;border:1.5px solid #f3d79abf;border-radius:50%;width:100px;height:100px;animation:3.2s cubic-bezier(.2,.6,.3,1) forwards ripple;position:absolute;top:-50px;left:-50px;transform:scale(.3,.1);box-shadow:0 0 12px #f3cd854d}.sky-ripples{z-index:1;pointer-events:none;position:absolute;inset:0}.sky-ripple{opacity:0;border:1px solid #f3d79a8c;border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;animation:4s ease-out forwards sky-ripple;position:absolute;top:34%;box-shadow:0 0 10px #f3cd8540}@keyframes sky-ripple{0%{opacity:.7;transform:scale(.2,.08)}to{opacity:0;transform:scale(2.4,.9)}}.arm.hit{animation:.6s ease-out arm-hit}.char-sit .arm{transform-box:view-box;transform-origin:80px 84px}.tap-hint{z-index:4;left:0;right:0;bottom:calc(var(--safe-bottom) + 72px + min(30vh, 70vw, 300px) * .72 + 12px);text-align:center;text-shadow:0 1px 10px #000000e6;pointer-events:none;font-size:1.05rem;line-height:1.5;transition:opacity 1.5s;position:absolute}.tap-hint small{color:var(--hanji-dim);font-size:.9rem;display:block}.tap-hint.hidden{opacity:0}.notice{z-index:8;border:1px solid var(--hanji-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;opacity:0;background:#0e1218cc;border-radius:22px;padding:24px 20px 20px;transition:opacity 1.6s,transform 1.6s;position:absolute;top:30%;left:18px;right:18px;transform:translateY(10px)}.notice.shown{opacity:1;transform:none}.notice p{font-size:1.15rem;line-height:1.6}.notice-actions{gap:10px;margin-top:18px;display:flex}.notice-actions .btn{flex:1;padding:0 10px}.walk-strip{background-repeat:repeat-x;background-size:50% 100%;width:200%;animation:linear infinite walk-move;display:flex;position:absolute;top:0;bottom:0;left:0}.walk-strip>svg{flex:none;width:50%;height:100%;display:block}.walk-strip.far{opacity:.9;animation-duration:16s}.walk-strip.mid{animation-duration:7s}.walk-strip.near{z-index:2;animation-duration:2.8s}.walk-ground{background:linear-gradient(to bottom, transparent 0 22%, #78685059 22% 30%, transparent 30%), linear-gradient(to bottom, var(--fg0), var(--fg1));height:24%;position:absolute;bottom:0;left:0;right:0}.walker{z-index:1;width:100px;margin-left:-50px;position:absolute;bottom:14%;left:50%}.walker svg{width:100%;height:auto;display:block;overflow:visible}.char-walk .leg,.char-walk .arm-l,.char-walk .arm-r,.char-walk .upper{transform-box:fill-box}.char-walk .leg-l{animation:.7s ease-in-out infinite step}.char-walk .leg-r{animation:.7s ease-in-out -.35s infinite step}.char-walk .arm-l{transform-origin:50% 0;animation:.7s ease-in-out infinite alternate swing}.char-walk .arm-r{transform-origin:50% 0;animation:.7s ease-in-out -.7s infinite alternate swing}.char-walk .upper{transform-origin:50% 100%;animation:.35s ease-in-out infinite alternate bob}.walk-text{z-index:3;text-align:center;text-shadow:0 2px 12px #000c;font-size:1.15rem;animation:1.2s .3s both fade-in;position:absolute;top:26%;left:0;right:0}.together{z-index:5;top:calc(var(--safe-top) + 66px);text-align:center;color:var(--hanji-dim);text-shadow:0 1px 10px #000000e6;pointer-events:none;font-size:1.05rem;position:absolute;left:0;right:0}.fog{pointer-events:none;background:radial-gradient(ellipse 30% 50% at 25% 50%, rgba(var(--haze-rgb), calc(.1 * var(--haze-k))), transparent 70%), radial-gradient(ellipse 35% 45% at 60% 55%, rgba(var(--haze-rgb), calc(.08 * var(--haze-k))), transparent 70%), radial-gradient(ellipse 25% 40% at 85% 45%, rgba(var(--haze-rgb), calc(.09 * var(--haze-k))), transparent 70%);width:200%;animation:50s ease-in-out infinite alternate drift;position:absolute;left:-50%}.fog.far{height:26%;top:48%}.fog.near{z-index:2;opacity:.8;height:22%;animation-duration:65s;animation-direction:alternate-reverse;top:70%}.seats{z-index:2;top:46%;left:0;right:0;bottom:calc(var(--safe-bottom) + 160px);position:absolute}.seat{width:80px;transform:translate(-50%, -100%) scale(calc(var(--s) * var(--seat-k,1)));transform-origin:50% 100%;flex-direction:column;align-items:center;display:flex;position:absolute}@media (width>=520px) and (height>=700px){.seats{--seat-k:1.15}}@media (width>=520px) and (height>=950px){.seats{--seat-k:1.4}}.seat-char{z-index:1;width:58px;margin-bottom:-18px;position:relative}.seat-char svg,.seat-cushion svg{width:100%;height:auto;display:block;overflow:visible}.seat-cushion{width:72px}.seat:not(.me) .seat-cushion{opacity:.6}.seat-name{white-space:nowrap;color:var(--hanji-dim);text-shadow:0 1px 8px #000000e6;margin-top:2px;font-size:.9rem}.seat-icons{gap:3px;height:24px;margin-bottom:4px;display:flex}.seat-icon{color:#d9e8c8;background:#08100b80;border-radius:50%;place-items:center;width:24px;height:24px;animation:4s ease-in-out infinite alternate float;display:grid}.seat-icon:nth-child(2n){animation-delay:-2s}.seat-icon svg{width:15px;height:15px}.fireflies{pointer-events:none;opacity:var(--fly-o);position:absolute;inset:0}.firefly{left:calc(8% + var(--i) * 13%);top:calc(30% + var(--y));opacity:0;width:5px;height:5px;animation:firefly calc(9s + var(--i) * 1.3s) ease-in-out calc(var(--i) * -2.1s) infinite;background:#e9f5b8;border-radius:50%;position:absolute;box-shadow:0 0 10px 3px #dcf0a080}.rain-canvas{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lanterns{left:0;right:0;top:var(--top);bottom:calc(100% - var(--bottom));pointer-events:none;position:absolute}.lantern{top:calc(var(--y) * 1%);width:calc(15px * var(--s));filter:drop-shadow(0 0 calc(7px * var(--s)) rgba(246, 200, 115, calc(.3 + .4 * var(--lamp-o))));animation:lantern-float calc(7s + var(--i) * .37s) ease-in-out calc(var(--i) * -1.3s) infinite alternate;position:absolute;transform:translate(-50%)}.lantern svg{width:100%;height:auto;display:block;overflow:visible}.lantern-core{opacity:calc(.15 + .35 * var(--lamp-o))}@keyframes lantern-float{0%{transform:translate(-50%)rotate(-2deg)}to{transform:translate(calc(7px - 50%),-12px)rotate(2deg)}}.pg-hang .pungyeong{width:28px;height:auto;position:absolute;overflow:visible}.forest-pg .pungyeong{top:120px;right:70px}.pg-swing{transform-box:fill-box;transform-origin:50% 0;animation:4s ease-in-out infinite alternate pg-sway}.ringing .pg-swing{animation:1.6s ease-out pg-ring,4s ease-in-out 1.6s infinite alternate pg-sway}.sound-bar{z-index:5;padding:30px 8px calc(var(--safe-bottom) + 8px);text-align:center;background:linear-gradient(#050a0700,#050a0799 45%);position:absolute;bottom:0;left:0;right:0}.idle .sound-bar *{pointer-events:none}.sound-toggles{justify-content:center;gap:2px;display:flex}.sound-btn{width:70px;color:var(--hanji-dim);background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:4px 0;font-size:.85rem;display:flex}.sound-dot{border:1px solid var(--hanji-line);background:#0c101659;border-radius:50%;place-items:center;width:54px;height:54px;transition:background .3s,color .3s,box-shadow .3s;display:grid}.sound-dot svg{width:26px;height:26px}.sound-btn[aria-pressed=true]{color:var(--hanji)}.sound-btn[aria-pressed=true] .sound-dot{color:var(--ink);background:#efe6d2e6;border-color:#0000;box-shadow:0 0 16px #f3cd854d}.bar-actions{justify-content:center;gap:18px;margin-top:2px;display:flex}.exit{text-align:center;gap:18px}.exit-title{font-size:1.5rem;font-weight:400}.stats{border:1px solid var(--hanji-line);background:#0c101673;border-radius:18px;width:100%;max-width:300px;margin:0;padding:10px 20px}.stats>div{justify-content:space-between;align-items:baseline;padding:10px 0;display:flex}.stats>div+div{border-top:1px solid var(--hanji-line)}.stats dt{color:var(--hanji-dim);font-size:1rem}.stats dd{margin:0;font-size:1.3rem}.toast{z-index:20;border:1px solid var(--hanji-line);text-align:center;white-space:pre-line;opacity:0;pointer-events:none;background:#0e1218db;border-radius:18px;width:max-content;max-width:86%;padding:16px 22px;font-size:1.05rem;line-height:1.6;transition:opacity .6s,transform .6s;position:absolute;top:34%;left:50%;transform:translate(-50%,-8px)}.toast.shown{opacity:1;transform:translate(-50%)}.toast.action{top:calc(var(--safe-top) + 100px);pointer-events:auto;z-index:25}.toast.action .btn{width:100%;min-height:48px;margin-top:12px}.modal .status-row{flex-wrap:wrap;padding:10px 0}.modal .status{color:#5a5a56;font-size:.92rem}.modal .status.online{color:#3d6b4a}.modal-backdrop{z-index:30;opacity:0;background:#05070a8c;place-items:center;padding:20px;transition:opacity .35s;display:grid;position:absolute;inset:0}.modal-backdrop.shown{opacity:1}.modal{width:min(100%,380px);max-height:90%;color:var(--ink);background:#f1e9d6;border-radius:20px;padding:30px 22px 22px;transition:transform .35s;position:relative;overflow-y:auto;transform:translateY(12px);box-shadow:0 20px 60px #00000080}.modal-backdrop.shown .modal{transform:none}.modal-backdrop.sheet{place-items:end center;padding:0}.modal-backdrop.sheet .modal{width:100%;max-width:none;padding-bottom:calc(var(--safe-bottom) + 22px);border-radius:22px 22px 0 0}.modal h2{margin-bottom:12px;font-size:1.3rem}.modal .btn{-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#0000}.modal .btn.primary{background:var(--ink);color:var(--hanji)}.modal-x{color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;position:absolute;top:10px;right:10px}.modal-text{text-align:center;padding:6px 4px;font-size:1.1rem;line-height:1.6}.modal .row{border-bottom:1px solid #15181d1f;justify-content:space-between;align-items:center;gap:14px;min-height:60px;display:flex}.modal .slider-row,.modal .vol-row{flex-wrap:wrap;padding:8px 0}.modal .slider-row input,.modal .vol-row input{width:100%}.vol-name{align-items:center;gap:8px;display:inline-flex}.vol-name svg{width:22px;height:22px}.modal .note{color:#4a4a48;margin-top:14px;font-size:.92rem;line-height:1.6}a.btn{justify-content:center;align-items:center;text-decoration:none;display:flex}.modal .btn:not(.primary){color:var(--ink);background:#e0d4ba}.card-actions{justify-content:center;gap:6px;display:flex}.card-preview{object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;border-radius:12px;width:100%;max-height:56vh;margin-top:6px;display:block}.card-hint{text-align:center}.tea-body{margin-bottom:4px;font-size:1.05rem;line-height:1.75}.text-link{text-align:center;color:var(--brown);margin-top:14px;font-size:1rem;display:block}.tea-done{border-top:1px solid #15181d1f;margin-top:20px;padding-top:6px}.tea-lit{text-align:center;color:var(--brown);margin-top:14px;font-size:1.05rem;line-height:1.6}.tea-count{text-align:center;color:var(--brown);margin-top:12px;font-size:.95rem}.tea-count:empty{display:none}.tea-qr{text-align:center;margin:16px auto 4px}.tea-qr-code{background:#fff;border-radius:10px;width:200px;height:200px;margin:0 auto}.tea-qr-code svg{width:100%;height:100%;display:block}.tea-qr figcaption{color:var(--brown);margin-top:10px;font-size:.98rem}.modal .lang-row{flex-wrap:wrap;padding:10px 0}.modal .seg{background:0 0;border-color:#15181d33}.modal .seg button{min-width:0;padding:0 12px;font-size:1rem}.modal .seg button[aria-checked=true]{background:var(--ink);color:var(--hanji)}input[type=range]{accent-color:var(--brown);height:32px}.switch{appearance:none;cursor:pointer;background:#b9b1a1;border-radius:17px;flex:none;width:58px;height:34px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:28px;height:28px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--brown)}.switch:checked:after{transform:translate(24px)}.sway{transform-box:fill-box;transform-origin:50% 100%;animation:7s ease-in-out infinite alternate sway}.sway.slow{animation-duration:11s}.sway.leafy{transform-origin:0 0;animation-duration:5s}.char-sit .upper{transform-box:fill-box;transform-origin:50% 100%;animation:5.5s ease-in-out infinite breathe}.twinkle{animation:4s ease-in-out infinite alternate twinkle}.lantern-swing{transform-box:fill-box;transform-origin:50% 0;animation:6s ease-in-out infinite alternate lantern}.flicker{animation:3s ease-in-out infinite alternate flicker}.shafts{animation:9s ease-in-out infinite alternate shimmer}@keyframes sway{0%{transform:rotate(-.7deg)}to{transform:rotate(.7deg)}}@keyframes breathe{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-1.5px)scale(1.012,1.02)}}@keyframes twinkle{0%{opacity:.2}to{opacity:.9}}@keyframes glow{0%{opacity:.75}to{opacity:1}}@keyframes lantern{0%{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}@keyframes flicker{0%{opacity:.45}40%{opacity:.6}70%{opacity:.5}to{opacity:.65}}@keyframes shimmer{0%{opacity:.7}to{opacity:1}}@keyframes drift{0%{transform:translate(-4%)}to{transform:translate(4%)}}@keyframes ripple{0%{opacity:.9;transform:scale(.3,.1)}to{opacity:0;transform:scale(3.6,1.2)}}@keyframes bowl-ring{0%,to{transform:translate(0)}20%{transform:translate(-1px)}40%{transform:translate(1px)}60%{transform:translate(-.5px)}}@keyframes arm-hit{0%{transform:rotate(-16deg)}18%{transform:rotate(3deg)}to{transform:rotate(0)}}@keyframes pg-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes pg-ring{0%{transform:rotate(0)}15%{transform:rotate(12deg)}35%{transform:rotate(-9deg)}55%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}to{transform:rotate(-3deg)}}@keyframes walk-move{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes step{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes swing{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes firefly{0%{opacity:0;transform:translate(0)}25%{opacity:.9}50%{opacity:.4;transform:translate(24px,-30px)}75%{opacity:.85}to{opacity:0;transform:translate(-10px,-60px)}}@media (prefers-reduced-motion:reduce){.sway,.char-sit .upper,.twinkle,.lantern-swing,.flicker,.pg-swing,.seat-icon,.shafts,.walk-strip,.char-walk *,.house .glow,.mist,.fog,.lantern{animation:none!important}.firefly{opacity:.6;animation:none}.ripple{animation-name:ripple-soft}.screen{transition-duration:.2s}@keyframes ripple-soft{0%{opacity:.8;transform:scaleY(.35)}to{opacity:0;transform:scale(1.3,.45)}}}
