:root{color-scheme:dark;--text:#f3eddd;--mute:#d0cbbd;--accent:#eed5a2;--line:rgba(248,239,220,.22);--surface:rgba(28,35,28,.8);--serif:"Gowun Batang","Nanum Myeongjo","Noto Serif KR","AppleMyungjo",serif;--sans:"Gowun Dodum","Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:#202b23;font-family:var(--sans);overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}button:focus-visible,a:focus-visible{outline:2px solid #ffdc97;outline-offset:4px}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}
.experience{position:relative;isolation:isolate;height:100vh;height:100dvh;min-height:420px;overflow:hidden;background:radial-gradient(ellipse at 70% 20%,#b9a780,#66715a 38%,#26332a 82%)}
#world,.grain{position:absolute;inset:0}#world canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#world canvas:active{cursor:grabbing}
.grain{pointer-events:none;background:linear-gradient(90deg,rgba(12,21,16,.86),rgba(19,27,19,.57) 22%,transparent 57%),linear-gradient(0deg,rgba(15,24,17,.82),transparent 27%),linear-gradient(180deg,rgba(17,24,19,.42),transparent 20%);transition:background .6s}
.entered .grain{background:linear-gradient(90deg,rgba(12,21,16,.64),transparent 37%),linear-gradient(0deg,rgba(15,24,17,.86),transparent 32%),linear-gradient(180deg,rgba(17,24,19,.48),transparent 22%)}
.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:27px clamp(24px,5vw,76px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:0;padding:0}.seal{display:grid;place-items:center;width:43px;height:43px;border:1px solid #bd8c6b;border-radius:5px;background:#723d31;color:#f6dec4;font:24px var(--serif);line-height:1}.brand strong,.brand small{display:block}.brand strong{font:700 22px var(--serif);letter-spacing:.08em}.brand small{font-size:9px;color:var(--mute);letter-spacing:.16em;margin-top:4px}
.header-actions,.zoom,.ritual{display:flex;gap:8px}.glass{border:1px solid var(--line);border-radius:8px;background:var(--surface);backdrop-filter:blur(12px);padding:9px 13px;min-height:42px;white-space:nowrap;transition:background .2s,border-color .2s}.glass:hover,.glass[aria-pressed=true]{background:#4a5140;border-color:#d9c292}.icon{margin-right:4px;color:var(--accent)}
.intro{position:absolute;left:clamp(24px,8vw,132px);top:49%;transform:translateY(-50%);max-width:440px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.16em;display:flex;align-items:center;gap:10px}.eyebrow>span{width:24px;height:1px;background:currentColor}.intro h1{font:500 clamp(65px,8.2vw,140px)/.96 var(--serif);letter-spacing:-.08em;margin:22px 0 0;text-shadow:0 2px 38px #19251d}.intro h1 span{display:block;font:500 clamp(20px,2.6vw,40px)/1.3 var(--serif);letter-spacing:.02em;margin:14px 0 0;color:var(--accent)}.intro p{font-size:clamp(14px,1.24vw,17px);line-height:1.8;color:var(--mute);margin:23px 0 25px}
.primary{border:1px solid #f5dbac;background:#ead4aa;color:#283027;min-height:51px;display:inline-flex;align-items:center;gap:24px;padding:0 18px;border-radius:7px;font-weight:700}.primary:hover{background:#f6e7c9}.primary span{font-size:20px}.stop{position:relative;display:flex;align-items:center;gap:10px;min-height:35px;padding:0;background:none;border:0;color:var(--mute);text-align:left;font-size:13px}.stop i{width:8px;height:8px;border:1px solid #c2b9a4;border-radius:50%;position:relative;flex:none}.stop:not(:last-child) i:after{content:"";width:1px;height:27px;background:var(--line);position:absolute;top:7px;left:2.5px}.stop:hover,.stop.current{color:#fff5dd}.stop.current i{border-color:var(--accent);background:var(--accent);box-shadow:0 0 9px #c8a35f}
.location{position:absolute;left:clamp(24px,5vw,76px);bottom:116px;max-width:365px}.location h2{font:500 clamp(26px,3.5vw,54px)/1.12 var(--serif);margin:9px 0}.location p{color:var(--mute);font-size:14px;line-height:1.7;margin:0 0 12px}.location .glass{font-size:13px}
.ritual{position:absolute;left:50%;bottom:89px;transform:translateX(-50%);padding:7px;background:#222b22a8;border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(14px)}.ritual button{min-width:67px;font-size:13px}
.footer{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px clamp(24px,5vw,76px);gap:10px;border-top:1px solid var(--line);color:var(--mute);font-size:12px}.controls>span:first-child{color:var(--accent);margin-right:5px}.zoom .glass{min-width:42px;padding:0;font-size:18px}.stamp{justify-self:end;color:var(--accent);font-family:var(--serif);letter-spacing:.16em}
.toast{position:absolute;left:50%;bottom:151px;transform:translateX(-50%);text-align:center;max-width:min(420px,90vw);width:max-content;pointer-events:none}.toast:not(:empty){border:1px solid var(--line);background:#222a21ed;padding:10px 15px;border-radius:7px;font-size:14px}
dialog{position:absolute;max-width:min(440px,calc(100vw - 32px));width:100%;border:1px solid #8d8269;border-radius:13px;background:#282e25;color:var(--text);padding:24px 28px;box-shadow:0 22px 80px #111a;max-height:85dvh;overflow:auto}dialog::backdrop{background:#111a;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.close{border:1px solid var(--line);background:none;border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1}.close:hover{background:#454b3b}dialog h2{font:500 32px var(--serif);margin:12px 0}dialog p,dialog li{font-size:14px;line-height:1.75;color:var(--mute)}dialog ul{padding-left:20px}dialog .count{font:500 42px var(--serif);color:var(--accent);margin:14px 0}.bead-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.bead-row i{width:15px;height:15px;border-radius:50%;border:1px solid #9c825a}.bead-row .done{background:#c89b5c}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:820px){.intro{top:45%}.location{bottom:124px}.ritual{bottom:72px}.toast{bottom:134px}}
@media(max-width:560px){.topbar{padding:13px 16px}.seal{width:36px;height:36px;font-size:20px}.brand{gap:8px}.brand strong{font-size:19px}.brand small{font-size:8px}.header-actions .glass{font-size:12px;padding:8px 9px;min-height:38px}.intro{top:35%;left:19px}.intro h1{font-size:65px;margin-top:15px}.intro h1 span{margin-top:8px}.intro p{margin:14px 0 17px}.primary{min-height:46px}.stop{font-size:11px;min-height:29px;gap:7px}.stop:not(:last-child) i:after{height:22px}.location{bottom:124px;left:16px;max-width:calc(100% - 30px)}.location h2{margin:5px 0}.location p{margin:0 0 6px}.footer{padding:9px 14px;grid-template-columns:1fr auto}.stamp{display:none}.controls{font-size:10px;line-height:1.3}.ritual{width:max-content;max-width:96vw;bottom:64px;gap:4px;padding:4px}.ritual button{min-width:0;padding:7px 9px;font-size:11px;min-height:38px}.zoom .glass{min-width:35px;min-height:36px}.grain{background:linear-gradient(180deg,#15201970,#15201985 31%,transparent 60%,#152019cc)}.toast{bottom:108px}}
@media(max-height:560px) and (min-width:561px){.topbar{padding-top:12px;padding-bottom:12px}.intro h1{font-size:60px}.intro p{margin:12px 0}.intro{top:49%}.location{bottom:82px}.ritual{bottom:73px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

.location p{word-break:keep-all}.intro p{word-break:keep-all}@media(max-width:360px){.ritual button{padding-inline:6px}}

.experience:not(.entered) .zoom{visibility:hidden}

.wish-open{border-color:#e2bc81a0;color:#f9e3b4;background:#372b24ed}
.wish-open:hover{background:#604a36}
.wish-tile{position:relative;min-height:112px;margin:18px 0;padding:15px 23px 19px;overflow:hidden;text-align:center;background:linear-gradient(165deg,#53463c,#302b27 54%,#4f3c31);border:1px solid #9e8263;border-radius:34px 34px 14px 14px/16px 16px 11px 11px;box-shadow:inset 0 2px 8px #0005,0 8px 15px #10100d45}
.wish-tile::before{content:"";position:absolute;inset:6px;border:1px solid #c49d6f68;border-radius:inherit;pointer-events:none}
.wish-seal{display:block;margin:0 auto 10px;color:#d4a878;font:19px var(--serif)}
.wish-inscription{color:#f0ddba;font:17px/1.55 var(--serif);overflow-wrap:anywhere;white-space:pre-wrap}
.is-empty .wish-inscription{opacity:.64}
.wish-form{display:grid;gap:8px}
.wish-form label{font-size:13px;color:var(--accent)}
.wish-form textarea{font:16px/1.5 var(--sans);color:var(--text);background:#1c231b;border:1px solid #87836d;border-radius:7px;padding:10px 11px;resize:vertical;min-height:73px}
.wish-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wish-count{justify-self:end;color:var(--mute);font-size:11px}
.wish-form .dialog-actions{margin-top:3px}
.wish-form .primary{min-height:44px}
.experience:has(#wish:not([hidden])) .location{bottom:155px}
@media(max-width:820px){.experience:has(#wish:not([hidden])) .location{bottom:137px}}
@media(max-width:560px){.experience:has(#wish:not([hidden])) .location{bottom:114px}.wish-open{min-height:37px;padding:7px 11px}}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
dialog.beads-room{position:fixed;inset:0;margin:0;border:0;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;overflow:hidden;color:#564332;background:radial-gradient(ellipse at 49% 40%,#fcf9ee 0,#f1ebde 64%,#e6ddca 100%);box-shadow:none}
dialog.beads-room::backdrop{background:#eee7d6;backdrop-filter:none}
.beads-top,.beads-bottom{position:absolute;z-index:1;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:clamp(15px,4vw,51px);pointer-events:none}
.beads-top{top:0}.beads-top h2{font:500 clamp(16px,2vw,23px) var(--serif);letter-spacing:.07em;margin:0}
.beads-bottom{bottom:0;align-items:end}
.beads-control{pointer-events:auto;min-height:43px;border:1px solid #a8957964;border-radius:100px;padding:8px 15px;background:#fffaf0da;color:#483a2d;font-size:13px;box-shadow:0 3px 14px #84654f15}
.beads-control:hover{background:#f1dfc6}.beads-control:focus-visible,#beads-canvas:focus-visible{outline:2px solid #936947;outline-offset:-3px}
#beads-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#beads-canvas.dragging{cursor:grabbing}
.beads-count strong{font:500 clamp(38px,6vw,74px)/.95 var(--serif);font-variant-numeric:tabular-nums}
.beads-count span,.beads-count p,.beads-instructions p{color:#6e5641;font-size:13px;margin:6px 0 0}
.beads-instructions{text-align:right}.beads-instructions .beads-control{margin-top:9px}
#beads-note{font-weight:700}
@media(max-width:560px){.beads-top{padding-top:max(14px,env(safe-area-inset-top))}.beads-bottom{padding-bottom:max(14px,env(safe-area-inset-bottom))}.beads-top h2{display:none}.beads-control{font-size:11px;padding:7px 11px;min-height:40px}.beads-instructions p{font-size:10px}}

.entered .topbar,.entered .footer{border-color:transparent}
.entered .topbar{padding-top:20px}
.entered .ritual{background:#252b24c2;padding:5px;border-radius:17px;box-shadow:0 9px 30px #0b110f39}
.entered .ritual button{border-color:transparent;background:transparent;min-height:39px}
.entered .ritual button:hover,.entered .ritual button[aria-pressed=true]{background:#b3b6a225;border-color:#d8caa158}
@media(min-width:821px){.entered .ritual{bottom:44px}.entered .zoom{justify-self:end}.entered .stamp{display:none}.entered .footer{grid-template-columns:1fr auto}}
@media(max-width:560px){.entered .topbar{padding-top:13px}}
@media(max-width:560px){
}
/* The small studio for the pilgrim and the lotus lantern. */
.lantern-nav{color:#ffe3ab;border-color:#b89b66;background:#3e4431e8}
dialog.atelier{max-width:min(810px,calc(100vw - 30px));padding:25px 30px;background:#263a32;border-color:#697e6a;overflow:auto}
.atelier h2{margin-top:4px;font-size:31px}.atelier .atelier-intro{margin:7px 0 23px;color:#c1cebd;word-break:keep-all}.atelier-layout{display:grid;grid-template-columns:1.03fr 1fr;gap:28px;align-items:center}.atelier-visual{position:relative;height:360px;overflow:hidden;border-radius:80px 80px 12px 12px;background:radial-gradient(ellipse at 50% 37%,#819681,#4b6655 70%,#385444);border:1px solid #a0b69a40}.lantern-stage{background:radial-gradient(ellipse at 50% 38%,#66664f,#354c42 70%,#2c4038)}.atelier-canvas{position:absolute;inset:0 0 22px}.atelier-canvas canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.atelier-canvas canvas:active{cursor:grabbing}.atelier-caption{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:11px!important;margin:0;color:#e0e6d4!important;pointer-events:none}.atelier-fields{min-width:0}.atelier-form{display:grid;gap:9px}.field-label{font-size:13px!important;color:#f1e7d1!important;margin:0 0 10px;font-weight:600}.color-choices{display:flex;gap:8px;margin:0 0 17px}.color-choice{display:grid;justify-items:center;gap:7px;min-width:53px;border:1px solid transparent;background:transparent;border-radius:12px;padding:8px 6px;font-size:11px;color:#e3e8dc}.color-choice i{width:28px;height:28px;border-radius:50%;display:block;background:var(--choice);border:1px solid #ffffff70;box-shadow:inset -2px -3px 5px #0002}.color-choice[aria-pressed=true]{border-color:#c6d5b3;background:#e5eac914}.color-choice:focus-visible{outline:2px solid #ffe2b5;outline-offset:2px}.atelier textarea{width:100%;resize:vertical;min-height:98px;padding:12px;border:1px solid #819281;border-radius:8px;background:#172d25;color:#f2ecdb;font:15px/1.65 var(--sans)}.atelier textarea:focus-visible{outline:2px solid #f0d9a6;outline-offset:2px}.atelier textarea::placeholder{color:#a8b5a7}.input-count{justify-self:end;font-size:11px;color:#bdc9b7}.atelier .storage-note{font-size:12px;line-height:1.7;color:#b8c6b3;margin:12px 0 18px;word-break:keep-all}.atelier .form-error{color:#ffceb3;font-size:13px;margin:9px 0}.atelier-actions{display:flex;flex-wrap:wrap;gap:9px}.atelier .primary{min-height:45px;font-size:13px;justify-content:center}.atelier-form .primary{width:100%}.atelier .saved-date{font-size:11px;color:#bac9b4}.lantern-message{margin:18px 0 21px;font:23px/1.7 var(--serif);color:#f5e7c7;white-space:pre-wrap;overflow-wrap:anywhere}.atelier .saved-state{font-size:11px;color:#bad1b0;margin:0 0 24px}.text-button{border:0;background:none;color:#bcc7b8;text-decoration:underline;text-underline-offset:4px;padding:16px 0 0;font-size:12px}.remove-confirm{padding:12px 0;border-top:1px solid #aab79350;margin-top:16px}.remove-confirm p{margin-top:0}.remove-confirm button{margin:0 8px 8px 0}.atelier-story{margin:8px 0 24px!important;color:#c3cebc!important;word-break:keep-all;line-height:1.9!important}.loading-note{min-height:100px;display:grid;align-items:center}.atelier::backdrop{background:#101e17c9;backdrop-filter:blur(7px)}
@media(max-width:560px){.topbar{padding:12px}.header-actions{gap:4px}.header-actions .glass{font-size:11px;padding:7px 9px;min-height:38px}.header-actions #audio{width:35px;padding:6px}.header-actions #audio-label,.header-actions #guide .icon{display:none}.brand small{display:none}.brand strong{font-size:17px}.brand .seal{width:30px;height:32px}.brand{gap:5px}.header-actions #guide{padding-inline:7px}dialog.atelier{padding:16px 19px;max-height:92dvh}.atelier h2{font-size:27px}.atelier .atelier-intro{font-size:12px;margin-bottom:15px}.atelier-layout{grid-template-columns:1fr;gap:18px}.atelier-visual{height:240px;border-radius:64px 64px 10px 10px}.pilgrim-stage{height:280px}.atelier .color-choices{justify-content:center;margin-bottom:10px}.atelier .field-label{margin-bottom:6px}.atelier .storage-note{margin:9px 0 12px}.lantern-message{font-size:21px;margin:10px 0 15px}.atelier .saved-date{margin-top:0}.atelier .saved-state{margin-bottom:17px}.atelier-story{margin:5px 0 17px!important}.atelier-fields>.primary{width:100%}.atelier-caption{font-size:10px!important}}
/* Let the place fill the screen; explanations open only when requested. */
.location{bottom:92px;max-width:none;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.location #next-stop,.location #hang-lantern{display:none}.place-info{display:inline-flex;gap:9px;align-items:center;padding:8px 12px;border:1px solid #c8cdb23d;border-radius:30px;color:#e0e5d7;background:#24392ad9;min-height:39px;font-size:12px}.place-info>span:last-child{opacity:.7}.location .glass{min-height:39px;font-size:12px}.footer{display:flex;justify-content:flex-end;border:0}.footer .stamp{display:none}.appearance-choices{display:flex;gap:8px;margin:0 0 23px}.appearance-choices button{flex:1;font-size:13px}.bow-count{align-self:center;font-size:12px;padding:5px 9px;white-space:nowrap;color:#e8d6a7;font-variant-numeric:tabular-nums}.ritual{flex-wrap:wrap;justify-content:center}.ritual button{min-width:0}.hall-room{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;background:#171e18}.hall-room::backdrop{background:#171e18}.hall-top{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(16px,3vw,48px);background:linear-gradient(#0d160dcc,transparent);pointer-events:none}.hall-top>*{pointer-events:auto}.hall-top h2{font:500 21px var(--serif);letter-spacing:.12em;margin:0;color:#e9dfc0}.hall-top .glass{font-size:12px}#hall-world,#hall-world canvas{width:100%;height:100%;display:block;touch-action:none}.hall-ritual{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:8px;border:1px solid #b7b59c59;border-radius:16px;background:#1d2a22e8;box-shadow:0 12px 30px #0005;width:max-content;max-width:95vw}.hall-ritual button{font-size:13px}.hall-ritual [aria-pressed=true],#bow-repeat[aria-pressed=true]{background:#e1c993;color:#23372b;border-color:#d9c796}.hall-status{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-size:14px!important}.hall-status:empty{display:none}
@media(max-width:560px){.location{bottom:129px;left:12px;max-width:calc(100% - 24px);gap:6px}.location .glass,.place-info{font-size:11px;min-height:36px;padding:7px 10px}.ritual{max-width:calc(100vw - 22px);width:auto;min-width:320px;bottom:55px}.ritual button{font-size:11px;padding:7px 9px}.ritual #moktak,.ritual #incense{display:none}.hall-top{padding:16px 12px}.hall-top h2{font-size:16px}.hall-top .glass{font-size:11px;padding:8px 10px}.hall-ritual{bottom:20px;gap:3px;padding:6px}.hall-ritual button{font-size:11px;padding:8px 10px}.appearance-choices{margin-bottom:18px}}

/* A quiet night courtyard of real, opt-in wish tiles. */
.wish-garden-nav{margin-top:10px;padding:11px 0 0;border:0;border-top:1px solid var(--line);background:none;text-align:left;color:#ebd9aa;font-size:12px;min-height:40px}
dialog.wish-room{position:fixed;inset:0;margin:auto;width:min(1180px,calc(100vw - 36px));max-width:none;height:min(850px,92dvh);max-height:92dvh;padding:0;border-color:#6d8780;border-radius:18px;background:#17282c;overflow:auto;color:#efe8d7}
.wish-room::backdrop{background:#09191ce8;backdrop-filter:blur(8px)}
.garden-header{padding:24px 32px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.garden-header h2{margin:0;font:500 29px var(--serif)}.garden-header .glass{font-size:12px}.garden-subtitle{padding:0 32px;margin:14px 0 23px!important;color:#bdcec7!important;word-break:keep-all}
.garden-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 32px;padding-bottom:17px;border-bottom:1px solid #7a949155;flex-wrap:wrap}.garden-tabs{display:flex;gap:18px}.garden-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:8px 0;font-size:14px;color:#a8bdb8}.garden-tabs button[aria-pressed=true]{color:#f3e8cd;border-color:#d7c393}.garden-tools{display:flex;gap:7px;align-items:center}.garden-tools .glass{font-size:12px;padding:7px 10px;min-height:37px}.garden-tools .primary{font-size:12px;min-height:37px;padding:0 12px}
.garden-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);min-height:540px}.garden-field{position:relative;isolation:isolate;padding:18px 24px 25px;min-width:0;overflow:hidden}.garden-field::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 40% 20%,#54716e27,transparent 65%),radial-gradient(circle at 18% 16%,#d7c393a0 0 1px,transparent 1.7px),radial-gradient(circle at 79% 29%,#d7c39380 0 1px,transparent 1.8px),radial-gradient(circle at 42% 80%,#a7bfbe80 0 1px,transparent 1.7px);background-size:auto,113px 151px,197px 179px,169px 211px;pointer-events:none}
.wish-stars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:24px 12px;padding:13px 0 25px;min-height:350px}.star-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;align-self:start;padding:8px 4px;background:none;border:0;min-width:0;color:#d8e2d9}.star-tile:nth-child(3n+2){margin-top:34px}.tile-star{color:#d7c393;font-size:20px;line-height:1;text-shadow:0 0 16px #d7c39385}.tile-surface{position:relative;display:grid;align-content:center;gap:10px;width:100%;min-height:125px;padding:17px 13px 19px;transform:rotate(var(--turn));border:1px solid #80938a80;border-radius:48% 48% 12px 12px / 20px 20px 8px 8px;background:repeating-linear-gradient(88deg,transparent 0 13px,#a7b5a508 13px 14px),linear-gradient(100deg,#283638,#4d5b53 50%,#293b3b);box-shadow:inset 0 5px 10px #bfd0b81a,0 12px 20px #07181a55;transition:transform .2s,border-color .2s}.tile-surface::after{content:"";position:absolute;inset:6px 5px;border:1px solid #abb59b22;border-radius:inherit;pointer-events:none}.tile-letter{font:18px var(--serif);color:#d7c393}.tile-excerpt{font:14px/1.7 var(--serif);color:#e8e4d2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.tile-caption{font-size:10px;color:#a6bbb5}.star-tile:hover .tile-surface,.star-tile[aria-pressed=true] .tile-surface{transform:rotate(0) translateY(-3px);border-color:#e2cf9a}.star-tile[aria-pressed=true] .tile-star{color:#fff0c5;text-shadow:0 0 15px #f6d789}.star-tile:focus-visible{outline-offset:1px;border-radius:8px}
.garden-reading{padding:36px 28px;border-left:1px solid #7a949155;background:#203237;min-width:0;scroll-margin-top:16px}.garden-reading h3{font:500 24px/1.5 var(--serif);margin:10px 0 20px;color:#f0e6cd;word-break:keep-all}.reading-symbol{display:block;margin:50px 0 30px;font:40px var(--serif);color:#92aaa1}.garden-reading .reading-hint{line-height:1.9;color:#b5c8c1;max-width:27ch}.wish-author{font-size:11px!important;color:#abc2b8!important;margin:0!important}.wish-full-message{margin:20px 0 28px;white-space:pre-wrap;overflow-wrap:anywhere;font:23px/1.9 var(--serif);color:#f4e8ce}.garden-reading .wish-date,.garden-reading .wish-visibility{font-size:11px;color:#b3c4ba;margin:8px 0}.garden-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.garden-actions button{font-size:12px;min-height:43px}.garden-reading .text-button{margin-top:4px}.garden-confirm{border-top:1px solid #7a949155;padding-top:12px;margin-top:18px}.garden-confirm .glass{margin-right:6px;font-size:12px}
.garden-form{display:grid;gap:9px}.garden-form>label,.wish-sharing legend{font-size:12px;color:#cdd8cb}.garden-form textarea{width:100%;min-height:120px;resize:vertical;border:1px solid #80958c;border-radius:7px;background:#16282c;color:#f2ead9;padding:12px;font:16px/1.7 var(--sans)}.garden-form textarea:focus-visible{outline:2px solid #d7c393;outline-offset:2px}.garden-form textarea::placeholder{color:#93aaa2}.wish-sharing{border:0;padding:0;margin:10px 0 0;min-width:0}.wish-sharing legend{margin-bottom:11px}.sharing-option{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;padding:11px 9px;border:1px solid #7a949144;border-radius:7px;cursor:pointer}.sharing-option:has(input:checked){border-color:#d7c393;background:#d7c3930c}.sharing-option input{margin-top:3px;accent-color:#d7c393}.sharing-option strong{display:block;font-size:12px;font-weight:500}.sharing-option small{display:block;font-size:11px;line-height:1.6;color:#b6c6bb;margin-top:3px}.garden-reading .garden-form-note{font-size:11px;line-height:1.8;color:#b1c2b9;margin:0}.garden-form .garden-actions{margin-top:6px}.garden-error{color:#ffd0bc!important;font-size:12px!important;overflow-wrap:anywhere}.garden-empty{grid-column:1/-1;text-align:center;padding:65px 12px;align-self:center}.empty-star{font-size:32px;color:#d7c393}.garden-empty h3{font:20px var(--serif);margin:23px 0 12px}.garden-empty p{font-size:12px!important;color:#a9c1b8!important}.garden-empty .glass{margin-top:10px;font-size:12px}.garden-loading{grid-column:1/-1;text-align:center;padding:70px 10px;font-size:13px}.garden-status{font-size:11px!important;color:#a0b8ae!important;text-align:center;margin:7px 0!important;min-height:18px}.garden-more{display:block;margin:12px auto 0;font-size:12px}
.wish-stars.as-list{display:flex;flex-direction:column;gap:0;padding:0}.as-list .star-tile{display:grid;grid-template-columns:24px 1fr;gap:10px 14px;margin:0!important;border-bottom:1px solid #7a949144;padding:18px 7px;text-align:left;width:100%}.as-list .tile-surface{display:block;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none!important}.as-list .tile-surface::after,.as-list .tile-letter{display:none}.as-list .tile-caption{grid-column:2}.as-list .tile-excerpt{font-size:16px}.as-list .tile-star{font-size:14px}
@media(max-width:720px){dialog.wish-room{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.garden-header{padding:18px 17px 0}.garden-header h2{font-size:24px}.garden-subtitle{padding:0 17px;font-size:12px!important;margin:13px 0 18px!important}.garden-toolbar{margin:0 17px;gap:10px}.garden-tabs{gap:17px}.garden-tabs button{font-size:13px}.garden-tools{width:100%;justify-content:flex-end}.garden-tools .primary{margin-left:auto}.garden-layout{grid-template-columns:1fr;min-height:0}.garden-field{padding:12px 18px 20px}.wish-stars{gap:20px 13px;min-height:250px}.tile-surface{min-height:111px;padding:15px 9px}.tile-excerpt{font-size:12px}.tile-letter{font-size:16px}.garden-reading{border-left:0;border-top:1px solid #7a949155;padding:26px 25px 40px}.reading-symbol{margin:0 0 16px;font-size:28px}.garden-reading h3{font-size:22px}.garden-reading .reading-hint{max-width:none}.garden-empty{padding:35px 5px}.wish-full-message{font-size:24px}.garden-header .glass{min-height:38px;padding:8px 10px}}
@media(max-width:360px){.wish-stars{grid-template-columns:repeat(2,minmax(0,1fr))}.star-tile:nth-child(3n+2){margin-top:0}.star-tile:nth-child(2n){margin-top:25px}}

@media(min-width:721px){.garden-reading{position:sticky;top:0;align-self:start;min-height:540px;max-height:92dvh;overflow:auto}}

/* Mobile play controls have their own space and large targets. */
.movement-pad{display:none}.entered .location{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.entered #next-stop:not([hidden]),.entered #hang-lantern:not([hidden]){display:block}.location .glass{min-height:48px;padding:11px 17px;font-size:14px}.hall-ritual{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 28px);bottom:calc(22px + env(safe-area-inset-bottom))!important}.hall-ritual .glass{min-height:48px!important;min-width:64px;font-size:13px!important}.hall-ritual #hall-count{position:absolute;bottom:100%;right:9px;margin-bottom:9px;padding:5px 10px;border-radius:20px;background:#202b24d9;font-size:12px}.hall-top{padding-top:max(20px,env(safe-area-inset-top))}.hall-top .glass{min-height:46px}
@media(pointer:coarse){.entered .movement-pad{display:grid;justify-items:center;gap:7px;position:absolute;left:20px;bottom:calc(103px + env(safe-area-inset-bottom));z-index:2}.movement-pad #move-pad{position:relative;width:104px;height:104px;border:1px solid #d8e1c466;border-radius:50%;background:#1e33275e;backdrop-filter:blur(5px);touch-action:none;user-select:none;display:grid;place-items:center}.pad-directions{position:absolute;color:#dae1c575;font-size:66px;font-weight:200;line-height:1;pointer-events:none}.movement-pad #move-knob{width:44px;height:44px;border:1px solid #f0dfb599;border-radius:50%;background:#d3d9c86b;box-shadow:0 3px 10px #11211650;pointer-events:none}.movement-pad .moving #move-knob{background:#eddeb9a8}.pad-label{font-size:10px;color:#edf0dc;text-shadow:0 1px 6px #142216}.entered .location{left:auto;right:17px;bottom:calc(112px + env(safe-area-inset-bottom));align-items:stretch;max-width:170px}.entered .place-info{display:none}}
@media(max-width:560px){
 .topbar,.entered .topbar{padding: max(12px,env(safe-area-inset-top)) 12px 8px}.topbar .glass{min-height:44px;font-size:12px}.brand .seal{display:none}.brand strong{font-size:17px}.header-actions #audio{width:40px}.header-actions #guide{padding-inline:10px}
 .entered .ritual{left:12px;right:12px;width:auto;max-width:none;transform:none;bottom:calc(20px + env(safe-area-inset-bottom));justify-content:center;padding:5px;gap:1px}.entered .ritual button{min-height:48px;padding:9px 11px;font-size:12px}.entered .ritual #incense,.entered .ritual #moktak,.entered .ritual #sit{display:none}.entered .ritual #bow-count{position:absolute;right:7px;bottom:100%;margin-bottom:7px;background:#24362ada;padding:5px 9px;border-radius:20px}
 .entered .footer{bottom:calc(12px + env(safe-area-inset-bottom));padding:0 15px;border:0}.experience:has(#ritual:not([hidden])) .footer{display:none}.entered .zoom{margin-left:auto;justify-self:end}.entered .zoom .glass{width:44px;min-height:44px}.location .glass{min-height:48px;font-size:13px}.toast{bottom:calc(80px + env(safe-area-inset-bottom));font-size:12px}.hall-top h2{font-size:22px}.hall-top #hall-info{font-size:12px}.hall-ritual{gap:3px!important;padding:6px!important}.hall-ritual .glass{padding:9px 11px!important;font-size:12px!important}.hall-top{padding: max(18px,env(safe-area-inset-top)) 16px 0}
}
@media(max-width:360px){.header-actions{gap:3px}.topbar .glass{font-size:11px;padding:8px}.movement-pad #move-pad{width:92px;height:92px}.entered .movement-pad{left:14px}.entered .location{right:14px;max-width:153px}.entered .ritual button{padding:9px 8px}}

@media(max-width:560px){.entered .ritual{min-width:0}.entered .location{max-width:170px}.hall-ritual #hall-exit{border-color:#b7b59c80}}
/* The temple stays visible; navigation is a closed, deliberate destination. */
dialog.journey-menu{width:min(430px,calc(100vw - 28px));max-height:85dvh;padding:24px;background:#26362f;border:1px solid #84907a;border-radius:14px;color:#eee9d7;overflow:auto}.journey-menu::backdrop{background:#0b1718b3;backdrop-filter:blur(5px)}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.journey-heading h2{font:24px var(--serif);margin:0}.journey-heading .close{position:static;min-width:44px;min-height:44px}.journey-stops{display:grid;margin:16px 0}.journey-stops button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px 4px;border:0;border-bottom:1px solid #72827366;background:none;text-align:left;color:#eee9d7;font:18px var(--serif)}.journey-stops small{font:12px var(--sans);color:#c0c9ba}.journey-stops .current>span::before{content:'•';margin-right:9px;color:#e5cb90}.garden-menu-link{display:grid;gap:7px;min-height:70px;width:100%;padding:12px 4px;text-align:left;border:0;background:none;color:#e8d3a4;font:19px var(--serif)}.garden-menu-link span{font:12px var(--sans);color:#c0c9ba}.journey-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}.journey-actions .glass{min-height:48px;font-size:13px;justify-content:center}.journey-actions #audio-label{display:inline}.journey-actions .icon{display:none}
.view-restore{position:absolute;right:14px;top:max(12px,env(safe-area-inset-top));z-index:8;min-height:44px;font-size:12px}.experience.viewing .topbar,.experience.viewing .location,.experience.viewing .ritual,.experience.viewing .movement-pad,.experience.viewing .footer,.experience.viewing .intro,.experience.viewing .grain{display:none!important}.topbar .header-actions{gap:7px}.topbar #places-open{min-height:44px;padding:10px 14px}.topbar #view-mode{min-height:44px;padding:10px 12px}.hall-presence{position:absolute;left:0;right:0;top:67px;margin:0!important;text-align:center;pointer-events:none;color:#d4d7c9;font-size:11px!important;text-shadow:0 1px 6px #000}.hall-presence:empty{display:none}
@media(pointer:coarse){.entered .movement-pad{left:15px;bottom:calc(94px + env(safe-area-inset-bottom))}.movement-pad #move-pad{width:82px;height:82px;background:#20372833;backdrop-filter:none}.movement-pad #move-knob{width:38px;height:38px}.pad-directions{font-size:50px}.pad-label{display:none}.entered .location{bottom:calc(92px + env(safe-area-inset-bottom));right:13px;max-width:155px;gap:5px}.location .glass{min-height:44px;padding:9px 13px;font-size:12px}}
@media(max-width:560px){.entered .ritual{bottom:calc(12px + env(safe-area-inset-bottom));padding:3px;border-radius:13px}.entered .ritual button{min-height:44px;padding:8px 9px}.topbar,.entered .topbar{background:none;padding: max(10px,env(safe-area-inset-top)) 12px 0}.hall-ritual .glass{min-height:44px!important;min-width:48px;padding:8px 9px!important}.hall-ritual{bottom:calc(12px + env(safe-area-inset-bottom))!important}.hall-top{padding-top:max(12px,env(safe-area-inset-top))}.hall-top h2{font-size:18px}.hall-top .glass{min-height:44px}.hall-presence{top:64px}}
@media(max-height:500px){.hall-presence{top:55px}.hall-top{padding-top:8px}.hall-ritual{bottom:8px!important}.entered .location{bottom:65px}.entered .movement-pad{bottom:65px}}

@media(max-width:380px){.hall-top h2{display:none}.hall-top{gap:8px}.hall-top .glass{font-size:11px;padding:8px 10px}}
.hall-status{width:max-content;max-width:calc(100vw - 40px);text-align:center;background:#23372ce8;border-radius:10px;padding:13px 17px;word-break:keep-all}.hall-status:empty{padding:0}

/* Tap-to-walk is the default on touch screens; the movement pad is an opt-in from the places menu. */
@media(pointer:coarse){.experience:not(.pad-on) .movement-pad{display:none!important}}

/* Incense is part of the shrine ritual bar again: walk to the burner and offer it. */
.entered .ritual #incense{display:inline-block}
@media(max-width:400px){.entered .ritual button{padding:9px 7px;font-size:11.5px}}

/* Calm type: Gowun Batang titles with a little air, Gowun Dodum for reading and buttons. */
h1,h2,.hero-title{letter-spacing:.02em}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased}
button{font-family:var(--sans)}

/* Loading: a carved stone sign like the one at the real entrance, with a few calm lines. */
.loading{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:22px;padding:24px;background:radial-gradient(120% 90% at 50% 30%,#2d3a30 0%,#18201b 70%);color:#e9e2cf;transition:opacity .9s ease,visibility .9s}
.loading.done{opacity:0;visibility:hidden;pointer-events:none}
.stone-sign{display:grid;justify-items:center;gap:4px;padding:30px 42px 26px;min-width:min(78vw,330px);color:#2a2b27;background:radial-gradient(circle at 20% 30%,#ffffff22 0 2px,transparent 3px) 0 0/13px 11px,radial-gradient(circle at 70% 60%,#00000014 0 1.5px,transparent 2.5px) 0 0/9px 12px,linear-gradient(160deg,#c9c5ba,#a9a59a 55%,#b7b3a8);clip-path:polygon(3% 12%,22% 4%,58% 7%,88% 0,100% 9%,97% 52%,99% 86%,84% 100%,40% 95%,12% 99%,0 82%,2% 40%);box-shadow:0 20px 50px #0007;font-family:var(--sans);font-weight:700}
.stone-sign span{text-shadow:0 1px 0 #ffffff55,0 -1px 0 #0000002e;letter-spacing:.06em}
.sign-small{font-size:14px}.sign-mid{font-size:24px}.sign-big{font-size:46px;line-height:1.15;letter-spacing:.18em!important;margin:2px 0}
.loading-lines{position:relative;height:3.2em;width:min(86vw,420px);margin:0;text-align:center;font-family:var(--serif);font-size:15px;line-height:1.6;word-break:keep-all}
.loading-lines span{position:absolute;inset:0;opacity:0;animation:loadingLine 7.5s infinite}
.loading-lines span:nth-child(2){animation-delay:2.5s}.loading-lines span:nth-child(3){animation-delay:5s}
@keyframes loadingLine{0%{opacity:0;transform:translateY(4px)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0}}
.loading-bar{width:min(60vw,220px);height:2px;background:#e9e2cf22;overflow:hidden;border-radius:2px}
.loading-bar i{display:block;width:40%;height:100%;background:#d9c79a;animation:loadingBar 1.6s ease-in-out infinite}
@keyframes loadingBar{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
.loading-note{font-size:12px;color:#bfb9a7;letter-spacing:.04em}
@media(prefers-reduced-motion:reduce){.loading-lines span{animation:none}.loading-lines span:first-child{opacity:1}.loading-bar i{animation:none;width:100%}}

/* One calm row everywhere: palms, bow, repeat, beads, incense. */
.entered .ritual #moktak,.entered .ritual #sit{display:none}

/* Actions live in a column on the right edge so the pilgrim and the Buddha stay clear. */
.entered .ritual,.hall-ritual{left:auto!important;right:calc(12px + env(safe-area-inset-right))!important;transform:none!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;width:auto!important;min-width:0!important;max-width:none!important;gap:6px!important;padding:6px!important;border-radius:16px}
.entered .ritual{bottom:calc(84px + env(safe-area-inset-bottom))!important}
.hall-ritual{bottom:calc(28px + env(safe-area-inset-bottom))!important}
.entered .ritual button,.hall-ritual .glass{min-height:44px!important;min-width:86px!important;padding:8px 12px!important;font-size:13px!important;text-align:center}
.hall-ritual .bow-count,.entered .ritual .bow-count{align-self:center}
/* Tile shelf close-up */
.tile-actions{position:absolute;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.tile-actions[hidden]{display:none}
.tile-hint{position:absolute;left:50%;top:calc(84px + env(safe-area-inset-top));transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:20px;background:#1d2a22c9;color:#e9e2cf;font-size:12px;white-space:nowrap;z-index:3}
.experience.tiles .location,.experience.tiles .ritual,.experience.tiles .footer .zoom{display:none!important}

/* Stepping through the open doors: the hall fades in instead of popping up. */
#hall-room[open]{animation:hallEnter .7s ease both}
@keyframes hallEnter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#hall-room[open]{animation:none}}

/* Simple ritual bar like the calmer temple sites: palms, bow, beads (incense only near the burner). */
#bow-repeat,#hall-repeat{display:none!important}
.entered .ritual #incense[hidden]{display:none!important}

/* Practice dock in the manner of calm temple sites: one rounded bar at the bottom centre,
   an icon over a short word for each practice, extras as small pills above it. */
.entered .ritual{left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;flex-direction:column!important;align-items:center!important;gap:8px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;width:min(358px,calc(100vw - 24px))!important;border-radius:0}
.ritual .dock{display:flex;width:100%;padding:4px;gap:3px;border-radius:34px;background:#222820ea;border:1px solid #e3d3b32b;box-shadow:0 4px 24px #10150e3d}
.entered .ritual .dock>button{position:relative;flex:1;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:56px;min-height:44px!important;min-width:0!important;padding:4px 6px!important;border:0!important;border-radius:30px;background:none;color:#f1f3ea;font-size:12px!important;font-weight:550;letter-spacing:-.01em;white-space:nowrap;transition:background .2s,color .2s}
.ritual .dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* (bead fills are set inside the icon itself) */
.entered .ritual .dock>button:hover{background:#ffffff1c}
.entered .ritual .dock>button[aria-pressed=true],.entered .ritual .dock>button[data-running=true]{background:#f1f5ec;color:#343f35}
.ritual .bow-progress{position:absolute;left:30%;right:30%;bottom:3px;height:2px;border-radius:2px;background:#9b7f42;transform:scaleX(0);transform-origin:left;opacity:0}
.ritual #bow[data-running=true] .bow-progress{opacity:1;animation:bow-line 4.2s ease-in-out infinite}
@keyframes bow-line{0%{transform:scaleX(0)}85%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
@media(prefers-reduced-motion:reduce){.ritual #bow[data-running=true] .bow-progress{animation:none;transform:scaleX(1)}}
.ritual .dock-extra{display:flex;gap:6px;align-items:center;justify-content:center;min-height:0}
.entered .ritual .dock-extra .glass{display:inline-block!important;min-height:38px!important;min-width:0!important;padding:6px 14px!important;border-radius:20px;font-size:12px!important;background:#222820e0!important;border:1px solid #e3d3b32b!important}
.entered .ritual .dock-extra .glass[hidden]{display:none!important}
.entered .ritual .dock-extra .bow-count{position:static!important;margin:0!important;padding:6px 12px;border-radius:20px;background:#222820e0;color:#f1e6c4;font-size:12px}
.entered .ritual .dock-extra .bow-count[hidden]{display:none!important}
@media(min-width:821px){.entered .ritual{bottom:20px!important}}

/* Clear glass, like the reference: the scene shows through the dock and its pills. */
.entered .ritual{width:min(390px,calc(100vw - 24px))!important;gap:10px!important}
.ritual .dock{padding:4px;border-radius:40px;background:linear-gradient(145deg,#ffffff2e,#ffffff12 55%,#ffffff20);border:1px solid #ffffff52;box-shadow:0 6px 24px #0a141033,inset 0 1px #ffffff40;-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15)}
.entered .ritual .dock>button{height:62px;gap:5px;border-radius:34px;color:#f8faf7;font-size:12.5px!important;text-shadow:0 1px 4px #071a12b0}
.ritual .dock svg{width:23px;height:23px;stroke-width:1.65;filter:drop-shadow(0 1px 3px #071a1290)}
.entered .ritual .dock>button:hover{background:#ffffff22}
.entered .ritual .dock>button[aria-pressed=true],.entered .ritual .dock>button[data-running=true]{background:#ffffff3d;color:#fff0c8;text-shadow:0 1px 4px #071a12b0}
.ritual .bow-progress{background:#fff1cb;bottom:2px}
.entered .ritual .dock-extra .glass,.entered .ritual .dock-extra .bow-count{background:linear-gradient(145deg,#ffffff2e,#ffffff14)!important;border:1px solid #ffffff52!important;color:#fbf3d8;text-shadow:0 1px 4px #071a12b0;-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15);min-height:42px!important;padding:8px 18px!important;border-radius:24px;font-size:13px!important}
@media(max-height:560px){.entered .ritual .dock>button{height:50px;gap:2px}}
/* Keep the place buttons and the toast clear of the dock and its pills. */
@media(max-width:820px){.entered .location{bottom:calc(142px + env(safe-area-inset-bottom))!important}.entered .toast{bottom:calc(146px + env(safe-area-inset-bottom))!important}}
/* The full-width footer row sat on top of the dock and swallowed its clicks. */
.entered .footer{pointer-events:none}.entered .footer .zoom{pointer-events:auto}.entered .ritual{z-index:4}
/* The bow count is a quiet note of what has been done, so it must not look like a button to press. */
.entered .ritual .dock-extra .bow-count{background:none!important;border:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0 4px!important;min-height:0!important;font-size:12.5px!important;color:#fff3d2;text-shadow:0 1px 5px #071a12e0;letter-spacing:.02em;order:-1;flex-basis:100%;text-align:center}
.entered .ritual .dock-extra{flex-wrap:wrap;row-gap:6px}
/* Close-up of my lantern: three buttons need room on a phone. */
.tile-actions{flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100vw - 24px)}
/* On mid-width screens the zoom buttons sat under the dock: lift them above it. */
@media(min-width:561px) and (max-width:940px){.entered .footer{bottom:calc(96px + env(safe-area-inset-bottom))}}
/* First visit: two pilgrims side by side, one tap to choose. */
.first-looks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 16px}
.first-look{position:relative;padding:0;border:1.5px solid #c8cdb238;border-radius:16px;background:#ffffff0d;cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s}
.first-look[aria-pressed=true]{border-color:#ecd9a6;background:#ecd9a61c;box-shadow:0 0 0 3px #ecd9a626}
.first-look-canvas{height:min(250px,34vh)}.first-look-canvas canvas{width:100%!important;height:100%!important;display:block}
.first-go{width:100%;margin-top:16px;min-height:50px}
@media(max-width:560px){.first-look-canvas{height:min(200px,30vh)}}
/* Toasts ride above whatever the dock currently shows. */
.entered .toast{bottom:calc(var(--dock-clear,120px) + 14px + env(safe-area-inset-bottom))!important}
/* After a quiet while the place buttons step back. */
.entered .location{transition:opacity .9s ease}.entered.quiet .location{opacity:.32}.entered.quiet .location:hover,.entered.quiet .location:focus-within{opacity:1}
/* Loading: our own 3D view of the two Buddhas, slowly drawing nearer, with the story told in four quiet lines. */
.loading{align-content:end;gap:14px;padding:24px 24px max(7vh,34px);background:#141a16;overflow:hidden;cursor:pointer}
.loading-picture{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#141a1600 30%,#141a16b8 62%,#141a16f2 88%),url(/textures/loading-mae.jpg) 50% 18%/cover no-repeat;transform-origin:50% 22%;animation:loadingNear 22s ease-out both}
@keyframes loadingNear{from{transform:scale(1)}to{transform:scale(1.14)}}
.loading-title{margin:0;display:grid;justify-items:center;gap:3px;text-align:center;color:#f1e9d3;text-shadow:0 2px 14px #000a}
.loading-title small{font-size:12px;letter-spacing:.14em;color:#d9c79a}.loading-title strong{font-family:var(--serif);font-size:27px;font-weight:700;letter-spacing:.08em}
.loading-lines{height:3.4em;font-size:16px;text-shadow:0 2px 12px #000c}
.loading-lines span{animation:loadingLine 16s infinite}
.loading-lines span:nth-child(2){animation-delay:4s}.loading-lines span:nth-child(3){animation-delay:8s}.loading-lines span:nth-child(4){animation-delay:12s}
@keyframes loadingLine{0%{opacity:0;transform:translateY(4px)}4%,21%{opacity:1;transform:none}25%,100%{opacity:0}}
.loading-about{font-size:11px;color:#a9a493;letter-spacing:.03em;text-align:center}
@media(prefers-reduced-motion:reduce){.loading-picture{animation:none}.loading-lines span{animation:none}.loading-lines span:first-child{opacity:1}}
/* First visit: alone or two together. */
.first-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.first-mode-choice{min-height:46px;border:1.5px solid #c8cdb238;border-radius:24px;background:#ffffff0d;color:#e6e9dc;font-size:15px;cursor:pointer}
.first-mode-choice[aria-pressed=true]{border-color:#ecd9a6;background:#ecd9a626;color:#fff3d2}
.first-hint{margin:0 0 12px;color:#c1cebd;font-size:13.5px;word-break:keep-all}
/* Two together: both figures stay lit; the chosen one is marked as "me". */
.pair .first-look{background:#ffffff14}.pair .first-look[aria-pressed=true]::after{content:'나';position:absolute;top:10px;left:12px;padding:3px 10px;border-radius:14px;background:#ecd9a6;color:#343f35;font-size:12.5px;font-weight:700}
.pair .first-look[aria-pressed=false]::after{content:'함께';position:absolute;top:10px;left:12px;padding:3px 10px;border-radius:14px;background:#ffffff26;color:#eef0e6;font-size:12.5px}
/* Unofficial notice: said once on the first screen, quietly. */
.title-prefix{display:block;font-family:var(--sans);font-size:.2em;font-weight:700;letter-spacing:.3em;color:var(--accent);margin-bottom:.35em}
.unofficial{margin:18px 0 0!important;font-size:12px!important;line-height:1.7;color:#c9cdbb!important;opacity:.9;word-break:keep-all}
.unofficial a,.guide-links a{color:#e6d6a8;text-underline-offset:3px}.guide-links{font-size:13px}
.brand small{letter-spacing:.04em!important}
/* The bar fills as the scene arrives instead of sliding back and forth. */
.loading-bar i{width:0;animation:none!important;transform:none!important;transition:width .25s ease}
.loading-note{font-variant-numeric:tabular-nums}
/* Sound: one small button, always at hand. */
.sound-quick{display:inline-grid;place-items:center;width:44px;padding:0!important}.sound-quick svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sound-quick .wave{display:none}.sound-quick[aria-pressed=true] .wave{display:inline}.sound-quick[aria-pressed=true] .mute{display:none}.sound-quick[aria-pressed=true]{border-color:#ecd9a6aa;color:#fff0c8}
/* Lantern: who may read it. */
.lantern-share{display:grid;gap:8px;margin:10px 0 4px}.share-choice{display:grid;gap:2px;text-align:left;padding:10px 12px;border:1.5px solid #c8cdb238;border-radius:12px;background:#ffffff0a;color:#e6e9dc;cursor:pointer}
.share-choice[aria-checked=true]{border-color:#ecd9a6;background:#ecd9a61c}.share-choice strong{font-size:14px}.share-choice small{font-size:12px;color:#c1cebd}
/* On a phone the brand drops its prefix so it does not crowd the buttons. */
@media(max-width:560px){.brand .brand-prefix{display:none}.unofficial{text-shadow:0 1px 6px #0b120ecc}}
/* Who else is in the hall: a quiet line beside the place name. */
.presence-note{margin:0;padding:7px 12px;border-radius:30px;background:#24392ab8;color:#dfe5d6;font-size:12px;max-width:260px;word-break:keep-all}.presence-note:empty,.presence-note[hidden]{display:none}

.pet-name{position:absolute;left:0;top:0;z-index:3;pointer-events:none;opacity:0;padding:3px 10px 4px;border-radius:20px;background:#1f2b23a6;color:#f1ead8;font:13px/1.2 'Gowun Dodum',system-ui,sans-serif;letter-spacing:.06em;white-space:nowrap;will-change:transform,opacity}
.experience.viewing .pet-name{display:none}
