:root{color:#fff8e9;font-synthesis:none;--gold:#f0d7a1;--paper:#f6f0e2;--ink:#34372d;--muted:#686d5d;--glass:#26281ec7;--edge:#fff1d03b;--left:max(16px, env(safe-area-inset-left));--right:max(16px, env(safe-area-inset-right));--top:max(16px, env(safe-area-inset-top));--bottom:max(16px, env(safe-area-inset-bottom));font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{background:#363b30;margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible,canvas:focus-visible{outline-offset:-3px;outline:2px solid #f5d98b}[hidden]{display:none!important}svg{width:22px;height:22px;display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app{isolation:isolate;background:#555747;height:100dvh;min-height:0;position:relative;overflow:hidden}#world,.shade,#labels{position:absolute;inset:0}#world{z-index:0}#world.fallback{background:#555747 url(/courtyard-preview.webp) 50%/cover no-repeat}#world.fallback canvas{visibility:hidden}#world canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}#world canvas:active{cursor:grabbing}#labels{pointer-events:none;overflow:hidden}.shade{pointer-events:none;background:linear-gradient(#141a11aa 0,#171b1265 5%,#0000 21% 77%,#171a1266)}.avatar-label{color:#fdf6e5;white-space:nowrap;background:#353b2bd9;border:1px solid #f8e7ba50;border-radius:20px;align-items:center;gap:5px;min-height:24px;padding:2px 9px 2px 5px;font-size:11px;display:inline-flex;position:absolute;top:0;left:0}.avatar-label[data-self]{color:#353527;background:#eee1bff5;border-color:#fff4d8}.avatar-label .me{color:#fff8e5;background:#555e43;border-radius:50%;padding:2px 4px;font-size:9px}.glass{background:var(--glass);border:1px solid var(--edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 25px #1e1d1320,inset 0 1px #fff3cf15}.toolbar{inset:var(--top) var(--right) auto var(--left);pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute}.toolbar>*{pointer-events:auto}.brand-bar,.tools{border-radius:30px;align-items:center;min-width:0;display:flex}.brand-bar{padding:0 4px 0 10px}.brand{flex:none;align-items:center;gap:7px;display:flex}.brand img{width:24px;height:24px}.brand h1{letter-spacing:.1em;white-space:nowrap;margin:0;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:19px;font-weight:650}.bar-rule{background:var(--edge);flex:none;width:1px;height:15px;margin:0 5px 0 8px}.room-button,.people-button,.tool,.ritual,.close-button{background:0 0;border:0;border-radius:24px;min-width:44px;min-height:44px}.room-button,.people-button{white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:12px;display:flex}.room-button{color:#f5ebd5}.small-icon svg{width:12px;height:12px}.people-button{color:#eee2c6;font-variant-numeric:tabular-nums}.connection-dot{background:#b2a88c;border-radius:50%;flex:none;width:6px;height:6px}.connection-dot[data-online]{background:#b8d09e;box-shadow:0 0 7px #b8d09e60}.tools{padding:0 4px}.tool{place-items:center;padding:0;display:grid}.tool svg{width:18px;height:18px}.tool[aria-pressed=true]{color:var(--gold)}.scene-note{top:calc(var(--top) + 11px);color:#fff2d1;letter-spacing:.22em;pointer-events:none;text-shadow:0 1px 6px #201a11,0 1px 2px #201a11;align-items:center;gap:12px;font-family:Songti SC,serif;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scene-note-rule{background:#fae8bba0;width:20px;height:1px}.controls-note{left:var(--left);bottom:calc(var(--bottom) + 5px);color:#f7ead1;pointer-events:none;background:#25281dbd;border:1px solid #eee1bf26;border-radius:20px;align-items:center;gap:8px;min-height:36px;margin:0;padding:0 10px;font-size:11px;display:flex;position:absolute}.controls-note svg{width:15px;height:15px}.help{right:var(--right);bottom:var(--bottom);border-radius:50%;position:absolute}.ritual-area{left:50%;bottom:var(--bottom);width:min(410px, calc(100% - 2 * max(var(--left), var(--right))));pointer-events:none;justify-items:center;gap:8px;display:grid;position:absolute;transform:translate(-50%)}.ritual-area>:is(nav,section){pointer-events:auto}.ritual-dock{border-radius:34px;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;width:100%;padding:4px;display:grid}.ritual{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;padding:4px 0;font-size:12px;display:flex}.ritual[data-active]{color:var(--gold);background:#fff1bc21}.ritual.sit-entry{color:var(--gold);background:#fff1bc15;position:relative}.sit-entry:not([data-state=idle]):after{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:8px}@media (hover:hover){:is(.room-button,.people-button,.tool,.ritual):hover{background:#fff1bc20}}#feedback{color:#f6ebd1;text-align:center;background:#24291ee8;border-radius:20px;max-width:100%;min-height:0;padding:6px 12px;font-size:12px;line-height:1.5}#feedback:empty{padding:0}.beads-panel{border-radius:18px;align-items:center;gap:12px;width:min(288px,100%);padding:8px 10px 8px 15px;display:flex}.beads-panel small{color:#e0d4ba;font-size:10px;display:block}.beads-panel p{white-space:nowrap;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:11px}.beads-panel strong{color:var(--gold);font-size:17px}.bead-track{background:#fff1b82e;border-radius:4px;flex:1;height:4px;overflow:hidden}.bead-track i{background:#eed49f;width:0;height:100%;display:block}.subtle-button{background:#fff1b819;border:0;border-radius:12px;min-width:44px;min-height:44px;font-size:12px}.panel{background:var(--paper);width:min(416px,100% - 32px);max-height:calc(100% - 32px);color:var(--ink);overscroll-behavior:contain;border:1px solid #e5d9bd;border-radius:23px;margin:auto;padding:23px;box-shadow:0 16px 70px #171a165b}.panel::backdrop{background:#1f211a9e}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-heading h2{margin:0;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:28px;font-weight:650}.eyebrow{color:#70664c;letter-spacing:.16em;margin:0 0 5px;font-size:11px}.close-button{background:#eae1cc;place-items:center;padding:0;display:grid}.close-button svg{width:18px;height:18px}.panel button:focus-visible,.panel input:focus-visible{outline-color:#6b643d}.panel-intro{color:var(--muted);margin:10px 0 14px;font-size:13px;line-height:1.65}.setting{border-top:1px solid #e0d6bf;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:8px 0;display:flex}.setting strong,.setting small{display:block}.setting strong{font-size:14px;font-weight:600}.setting small{color:var(--muted);margin-top:3px;font-size:11px}.setting input[type=range]{accent-color:#637250;width:min(110px,37%);height:44px}.setting input[role=switch]{appearance:none;cursor:pointer;flex:none;width:46px;height:44px;margin:0;position:relative}.setting input[role=switch]:before{content:"";background:#ddd1b6;border:1px solid #aa9b7b;border-radius:15px;position:absolute;inset:10px 0}.setting input[role=switch]:after{content:"";background:#fff9e9;border-radius:50%;width:18px;height:18px;position:absolute;top:13px;left:3px}.setting input[role=switch]:checked:before{background:#637250;border-color:#637250}.setting input[role=switch]:checked:after{transform:translate(22px)}.room-list,.visitor-list{margin:0;padding:0;list-style:none}.room-list li+li{margin-top:8px}.room-choice{text-align:left;width:100%;min-height:52px;color:var(--ink);background:#efe6d4;border:1px solid #ded4ba;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.room-choice:disabled{opacity:.7}.room-choice[aria-current=true]{opacity:1;background:#e1e5d3;border-color:#879274}.room-choice span:last-child{color:#515b47;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.visitor-list li{border-bottom:1px solid #e0d6bf;padding:9px 0;font-size:14px}.guide{margin:15px 0}.guide div{border-top:1px solid #e0d6bf;padding:9px 0}.guide dt{font-size:14px;font-weight:650}.guide dd{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.6}.panel-action{color:#fff8e9;background:#546247;border:0;border-radius:12px;width:100%;min-height:44px}.boot,.no-script{z-index:2;text-align:center;color:#e7d9b5;background:#32382c;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.boot{pointer-events:none}.boot p{margin:0;font-size:13px}.boot .boot-title{font-family:Songti SC,serif;font-size:34px}.boot>span{background:#e7d9b5;border-radius:50%;width:4px;height:4px}@media (width<=680px){:root{--left:max(8px, env(safe-area-inset-left));--right:max(8px, env(safe-area-inset-right));--top:max(9px, env(safe-area-inset-top));--bottom:max(9px, env(safe-area-inset-bottom))}.scene-note{display:none}.brand-bar{padding-left:7px}.brand{gap:3px}.brand img{width:20px;height:20px}.brand h1{font-size:17px}.bar-rule{margin-inline:3px}.people-button,.room-button{gap:3px;padding-inline:5px;font-size:11px}.tools{padding:0}.controls-note{top:calc(var(--top) + 55px);min-height:27px;bottom:auto}.help{top:calc(var(--top) + 51px);bottom:auto}.ritual-dock{padding:3px}}@media (width<=350px){.brand img{display:none}.panel{padding:17px}}.map-control{right:calc(var(--right) + 54px);bottom:var(--bottom);border-radius:25px;position:absolute}.map-button{background:0 0;border:0;border-radius:24px;justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:0 11px;font-size:11px;display:flex}.map-button svg{width:18px;height:18px}.landmark-choice{justify-content:flex-start}.landmark-choice .landmark-number{color:#565f4c;border:1px solid #c9c4a9;border-radius:50%;flex:0 0 30px;place-items:center;height:30px;font-size:11px;display:grid}.landmark-choice strong,.landmark-choice small{display:block}.landmark-choice small{white-space:normal;color:var(--muted);margin-top:3px}@media (hover:hover){.map-button:hover{background:#fff1bc20}.landmark-choice:not(:disabled):hover{background:#e4e7d5}}@media (width<=680px){.map-control{right:var(--right);bottom:calc(var(--bottom) + 70px)}.map-button{padding:0}.map-text{display:none}}.asset-credit{color:var(--muted);margin:0 0 13px;font-size:12px;line-height:1.55}.asset-credit summary{cursor:pointer;color:var(--ink);min-height:30px}.asset-credit a{color:#434f38;text-underline-offset:3px}.sit-dialog{--sit-accent:#4a583d;width:min(380px, calc(100% - var(--left) - var(--right) - 12px));max-height:calc(100% - var(--top) - var(--bottom));overscroll-behavior:contain;color:var(--ink);background:var(--paper);border:1px solid #e5d9bd;border-radius:24px;margin:auto;padding:clamp(16px,5vw,26px);overflow:auto;box-shadow:0 16px 70px #171a1660}.sit-dialog::backdrop{background:#1c221b9e}#app:has(.sit-dialog[open]) :is(.toolbar,.scene-note,.controls-note,.map-control,.help,.ritual-area,#labels){opacity:0}.sit-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.sit-heading h2{text-wrap:balance;margin:0;font:650 29px/1.2 Songti SC,Noto Serif CJK SC,serif}.sit-dialog :is(button:focus-visible,input:focus-visible+span){outline:2px solid var(--sit-accent);outline-offset:2px}.sit-dialog .panel-action:focus-visible{outline-offset:3px}.sit-clock{text-align:center;background:#ebe9d8;border:1px solid #e0ddc8;border-radius:16px;margin:18px 0 24px;padding:18px 14px}#sit-time{color:#38432d;font-variant-numeric:lining-nums tabular-nums;margin:0;font:400 clamp(48px,12vw,62px)/1.06 Georgia,serif}#sit-progress{appearance:none;width:min(144px,100%);height:4px;color:var(--sit-accent);background:#d5d6bd;border:0;border-radius:4px;margin:15px auto 0;display:block;overflow:hidden}#sit-progress::-webkit-progress-bar{background:#d5d6bd}#sit-progress::-webkit-progress-value{background:var(--sit-accent)}#sit-progress::-moz-progress-bar{background:var(--sit-accent)}.sit-options{align-items:center;min-height:44px;display:grid}.sit-durations{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0;margin:0;padding:0;display:grid}.sit-durations label{cursor:pointer;position:relative}.sit-durations input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.sit-durations span,.sit-secondary{color:var(--sit-accent);background:#f1eadb;border:1px solid #ded3b8;border-radius:10px}.sit-durations span{font-variant-numeric:tabular-nums;text-align:center;place-items:center;min-height:44px;padding:0 2px;font-size:12px;display:grid}.sit-durations input:checked+span{color:#35432b;background:#e1e5d0;border-color:#7c8869;font-weight:650}.sit-status{color:var(--sit-accent);text-align:center;text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}.sit-actions{gap:8px;margin-top:12px;display:flex}.sit-actions button{width:auto;min-width:0;min-height:48px;padding:6px 10px;font-size:14px}.sit-actions .panel-action{flex:1;font-weight:650}.sit-footer{border-top:1px solid #e0d6bf;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:8px;display:flex}.sit-footer p{color:#58604e;text-wrap:pretty;margin:0;font-size:12px;line-height:1.5}.sit-sound{min-height:44px;color:var(--sit-accent);background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:4px;padding:0 6px;font-size:12px;display:flex}.sit-sound svg{width:16px;height:16px}.sit-sound span:last-child{font-weight:650}.sit-sound[aria-pressed=true] [data-icon=mute],.sit-sound[aria-pressed=false] [data-icon=sound]{display:none}@media (hover:hover){.sit-actions .panel-action:hover{background:#455437}:is(.sit-sound,.sit-secondary):hover{background:#e5e6d3}}@media (height<=450px){.sit-clock{margin-block:10px 14px;padding-block:10px}.sit-footer{margin-top:10px}}.sansa-moktak-view{left:50%;bottom:calc(var(--bottom) + 112px);z-index:5;color:#fffdf4;pointer-events:none;flex-direction:column;align-items:center;width:266px;max-width:calc(100% - 24px);display:flex;position:absolute;transform:translate(-50%)}.sansa-moktak-view[hidden]{display:none!important}.moktak-instrument{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:40%;place-items:center;width:236px;height:180px;padding:0;display:grid;position:relative}.moktak-instrument img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 7px #060a0550);-webkit-user-select:none;user-select:none;width:220px;height:180px;display:block}.moktak-instrument:active:not(:disabled){transform:none}.moktak-controls{-webkit-backdrop-filter:blur(7px);color:#fffdf4;text-shadow:0 1px 4px #0d1c1670;pointer-events:auto;background:linear-gradient(145deg,#ffffff19,#ffffff04 52%,#ffffff0b),#17291f40;border:1px solid #f5f7ef59;border-radius:26px;align-items:center;width:170px;height:46px;margin-top:8px;padding:0 4px;display:flex;box-shadow:inset 0 1px #ffffff28,0 4px 18px #06150b18}.moktak-controls>button{min-height:44px;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-shrink:0;margin:0;font-family:inherit;position:relative}.moktak-controls>button:hover{background:#ffffff0b}.moktak-play{white-space:nowrap;border-radius:23px;flex:1;align-items:center;gap:8px;min-width:0;padding:0 10px;font-size:13px;display:flex}.moktak-play svg{width:16px;height:16px}.moktak-close{border-radius:22px;place-items:center;width:44px;min-width:44px;height:44px;padding:0;display:grid}.moktak-close svg{width:17px;height:17px}.moktak-close:before{content:"";background:#ffffff28;width:1px;height:14px;position:absolute;top:15px;left:0}.moktak-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sansa-beads-view{--beads-ink:#fffaf0;--beads-muted:#f6eddd;--beads-count-ink:#f7e2bc;--beads-count-highlight:#fff0cf;--beads-guide:#fff2d9;--beads-focus:#ffe0a3;z-index:4;isolation:isolate;pointer-events:none;color:var(--beads-ink);opacity:0;background:0 0;transition:opacity .42s;position:absolute;inset:0;overflow:hidden}.sansa-beads-view[hidden]{display:none!important}.sansa-beads-view.is-visible{opacity:1}.beads-stage{top:max(76px, calc(env(safe-area-inset-top) + 66px));z-index:1;touch-action:none;pointer-events:auto;width:min(420px,100% - 44px);position:absolute;bottom:168px;left:50%;transform:translate(-50%)}.beads-stage canvas{cursor:ns-resize;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none;width:100%;height:100%;display:block}.is-dragging .beads-stage canvas{cursor:grabbing}.beads-stage canvas:focus-visible{outline:1px solid var(--beads-focus);outline-offset:-8px;border-radius:16px}.beads-header{z-index:3;bottom:calc(var(--bottom) + 112px);-webkit-backdrop-filter:blur(7px);text-shadow:0 1px 4px #0d1c1670;pointer-events:auto;background:linear-gradient(145deg,#ffffff1a,#ffffff06 52%,#ffffff0d),#20332945;border:1px solid #ffffff45;border-radius:26px;justify-content:space-between;align-items:center;width:156px;min-height:46px;padding:0 4px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff20,0 3px 12px #001b1420}.beads-back{min-width:44px;min-height:44px;color:var(--beads-ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:23px;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:450;transition:background .2s;display:flex}.beads-back:hover,.beads-sound:hover{background:#ffffff14}.beads-back svg{width:17px;height:17px;display:block}.beads-sound{width:44px;height:44px;color:var(--beads-ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:23px;flex:none;place-items:center;padding:11px;transition:background .2s;display:grid;position:relative}.beads-sound:before{content:"";background:#ffffff28;width:1px;height:14px;position:absolute;top:15px;left:0}.beads-sound svg{width:20px;height:20px;display:block}.beads-footer{z-index:3;text-align:left;pointer-events:none;text-shadow:0 1px 6px #07130cbf;position:absolute;bottom:168px;left:max(22px,50% - 205px)}.beads-counter{color:var(--beads-muted);align-items:baseline;gap:7px;display:flex}.beads-count{letter-spacing:-.055em;min-width:19px;color:var(--beads-count-ink);font-variant-numeric:tabular-nums;font-family:inherit;font-size:34px;font-weight:550;line-height:1.2}.beads-counter>span{font-size:13px;font-weight:400}.beads-round{letter-spacing:-.02em;color:var(--beads-muted);min-height:16px;margin-top:5px;font-size:11px}.beads-gesture-guide{letter-spacing:-.025em;color:var(--beads-guide);white-space:nowrap;opacity:1;margin:10px 0 0;font-size:12px;line-height:1.5;transition:opacity .4s}.has-bead-input .beads-gesture-guide{opacity:0}.sansa-beads-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}
