*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow-x:clip;overflow-y:hidden}body{font-family:var(--font-body);color:var(--ink);background:var(--sky);font-size:14px;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{border:0}button,svg{flex-shrink:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}#game,#world{width:100%;height:100%;height:100dvh;display:block;position:relative}#world{touch-action:none;outline:none;position:absolute;inset:0}.topbar{position:absolute;top:28px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:3}.brand{display:flex;gap:14px;align-items:center;pointer-events:auto}.brand-mark{width:54px;height:58px;border:1px solid var(--green);border-radius:16px 16px 5px 5px;display:grid;place-items:center;background:var(--paper-glass);color:var(--green)}.brand-mark svg{width:37px;height:37px}.brand h1{font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:.17em;margin:0 0 5px}.brand p{font-size:11px;letter-spacing:.18em;margin:0;color:var(--muted)}.brand p span{font-size:10px}.seal{display:inline-grid;place-items:center;font-family:var(--font-display);font-size:11px;line-height:1.4;width:17px;height:21px;border:1px solid var(--red);color:var(--red);letter-spacing:0;margin-left:9px;vertical-align:middle;transform:rotate(-5deg)}.tools{pointer-events:auto;display:flex;align-items:center;padding:7px 11px;border-radius:50px;background:var(--paper-glass);backdrop-filter:blur(16px);border:1px solid var(--white-line);box-shadow:var(--shadow-small);gap:4px}.weather{display:flex;align-items:center;gap:8px;background:none;font-size:12px;padding:6px 10px;white-space:nowrap}.weather svg{width:19px;height:19px;color:var(--bronze)}.tool-divider{height:20px;width:1px;background:var(--line);margin:0 5px}.icon-button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:transparent;transition:background .2s,transform .2s}.icon-button:hover{background:var(--pale-green);transform:translateY(-1px)}.icon-button svg{width:19px;height:19px}.visit-note{position:absolute;left:32px;top:126px;width:234px;padding:19px 21px 0;background:var(--paper-glass);border:1px solid var(--white-line);border-radius:3px 22px 3px 3px;box-shadow:var(--shadow-small);backdrop-filter:blur(12px);z-index:2}.note-top{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:500}.note-top button{width:24px;height:24px;border-radius:50%;background:none;font-size:17px}.visit-note h2{font-family:var(--font-display);font-size:21px;font-weight:500;margin:8px 0 7px;letter-spacing:.06em}.visit-note p{font-size:11px;color:var(--muted);margin:0 0 19px;line-height:1.8}#visit-checklist{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}#visit-checklist>div{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.check-dot{width:13px;height:13px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center}.done .check-dot{background:var(--green);color:var(--cream);border-color:var(--green)}.done .check-dot:after{content:'✓';font-size:9px}.done>span:last-child{color:var(--green)}.note-foot{border-top:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.note-foot span:first-child{color:var(--green)}.visit-note.collapsed h2,.visit-note.collapsed>p,.visit-note.collapsed #visit-checklist,.visit-note.collapsed .note-foot{display:none}.visit-note.collapsed{padding-bottom:15px}.world-label{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--paper-glass);border:1px solid var(--white-line);border-radius:30px;box-shadow:var(--shadow-small);font-size:11px;white-space:nowrap;transform:translate(-50%,-100%);transition:background .2s,opacity .3s;color:var(--green);backdrop-filter:blur(8px)}.world-label:hover{background:var(--cream)}.world-label svg{width:16px;height:16px}.world-label:after{content:'';position:absolute;left:calc(50% - 3px);bottom:-6px;border:3px solid transparent;border-top-color:var(--cream)}.bottom-ui{position:absolute;left:32px;right:32px;bottom:max(25px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;gap:20px;z-index:3}.activity-dock{pointer-events:auto;display:flex;align-items:center;background:var(--cream);border:1px solid var(--white-line);padding:10px 10px;border-radius:22px;box-shadow:var(--shadow-dock);gap:6px}.activity-dock button{background:transparent;min-width:108px;padding:6px 10px 5px;display:grid;grid-template-columns:26px auto;grid-template-rows:22px 15px;column-gap:9px;align-items:center;text-align:left;border-radius:13px;transition:background .2s,transform .2s;white-space:nowrap}.activity-dock button:hover{background:var(--pale-green);transform:translateY(-2px)}.activity-dock button.active{background:var(--pale-green);color:var(--green)}.activity-dock svg{width:26px;height:26px;grid-row:1/3;color:var(--green)}.activity-dock span{font-size:12px;font-weight:600}.activity-dock small{font-size:10px;color:var(--muted);letter-spacing:.15em}.dock-divider{height:27px;width:1px;background:var(--line)}.controls-hint{font-size:10px;color:var(--muted);line-height:2.4;min-width:180px}.controls-hint>span{display:block}.key-hint{letter-spacing:1px}kbd{font:9px var(--font-body);display:inline-grid;place-items:center;min-width:17px;height:18px;background:var(--paper-glass);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;margin-right:2px}.view-controls{min-width:180px;display:flex;align-items:center;gap:10px;justify-content:flex-end;pointer-events:auto;font-size:11px;color:var(--muted)}.view-controls button{background:var(--paper-glass);border:1px solid var(--white-line);width:40px;height:40px}.world-caption{position:absolute;bottom:116px;right:35px;writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:.2em;font-size:12px;color:var(--muted);line-height:2.3;pointer-events:none}.world-caption span{margin:5px 0}.walking-status,.toast{position:absolute;bottom:125px;left:50%;transform:translateX(-50%);z-index:5;background:var(--green);color:var(--cream);padding:12px 20px;border-radius:30px;font-size:12px;box-shadow:var(--shadow-small);max-width:calc(100% - 35px);text-align:center;white-space:normal;line-height:1.6}.toast{bottom:170px;background:var(--cream);color:var(--green)}.nearby{position:absolute;left:50%;bottom:124px;transform:translateX(-50%);z-index:4}.nearby button{background:var(--green);color:var(--cream);padding:12px 17px;border-radius:24px;display:flex;align-items:center;gap:16px;white-space:nowrap;font-size:12px;box-shadow:var(--shadow-small)}.nearby kbd{background:var(--green-light);border:1px solid var(--cream)}.chant-world{position:absolute;top:20%;left:50%;transform:translateX(-50%);text-align:center;z-index:2;pointer-events:none}.chant-world span{display:block;font-family:var(--font-display);color:var(--green);font-size:27px;letter-spacing:.35em;text-shadow:0 1px 15px var(--cream)}.chant-world small{display:block;margin-top:12px;font-size:11px;color:var(--green);letter-spacing:.15em}.loading{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--sky);transition:opacity .15s}.loading h1{font-family:var(--font-display);font-size:32px;letter-spacing:.3em;font-weight:500}.loading p{font-size:12px;color:var(--muted);letter-spacing:.1em}.loading-line{width:130px;height:2px;margin-top:30px;background:var(--line);position:relative;overflow:hidden}.loading-line:after{content:'';position:absolute;inset:0;background:var(--green);transform-origin:left;animation:load 1.5s infinite ease-in-out}.loading.loaded{opacity:0;pointer-events:none}@keyframes load{from{transform:scaleX(0)}to{transform:scaleX(1)}}
dialog{position:fixed;top:94px;right:25px;left:auto;bottom:auto;margin:0;width:385px;max-width:calc(100% - 24px);max-height:calc(100dvh - 120px);padding:23px 27px 28px;border:1px solid var(--white-line);border-radius:22px;background:var(--cream);color:var(--ink);box-shadow:var(--shadow-panel);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(1px)}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-top .icon-button{width:30px;height:30px}.panel-icon{width:45px;height:45px;color:var(--green);margin:2px 0 12px}.panel-icon svg{width:45px;height:45px;stroke-width:1}#panel-title{font-family:var(--font-display);font-weight:500;font-size:29px;letter-spacing:.1em;margin:8px 0 13px;overflow-wrap:anywhere}.panel-copy{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 24px}.quote{border-left:2px solid var(--bronze);padding:3px 0 3px 15px;margin:20px 0 24px;font-family:var(--font-display);font-size:15px;line-height:2;color:var(--green)}.field-label{font-size:12px;display:block;margin:19px 0 9px}input,textarea,select{background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);border-radius:9px;padding:12px;width:100%;font-size:13px}textarea{resize:vertical;min-height:89px;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--muted)}.primary{background:var(--green);color:var(--cream);min-height:47px;width:100%;border-radius:12px;padding:13px 17px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:23px;transition:background .2s,transform .2s;white-space:nowrap}.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.primary svg{width:19px;height:19px}.secondary{border:1px solid var(--line-strong);color:var(--green);background:transparent;min-height:42px;border-radius:10px;width:100%;padding:10px;margin-top:12px;font-size:12px;white-space:nowrap}.fine-print{font-size:10px;line-height:1.8;color:var(--muted);margin:14px 0 0}.ritual-view{margin:16px 0;min-height:110px;display:flex;align-items:center;justify-content:center;position:relative}.prayer-orb{width:100px;height:100px;border-radius:50%;background:var(--pale-green);border:1px solid var(--line);display:grid;place-items:center;color:var(--green)}.prayer-orb svg{width:50px;height:50px;stroke-width:1}.breathing{animation:breathe 4s infinite ease-in-out}@keyframes breathe{50%{transform:scale(1.12);box-shadow:0 0 0 16px var(--green-haze)}}.ritual-status{text-align:center;font-family:var(--font-display);font-size:20px;line-height:1.7;color:var(--green);min-height:34px;letter-spacing:.09em}.ritual-sub{text-align:center;font-size:11px;color:var(--muted);line-height:1.8;min-height:20px}.progress-track{height:4px;background:var(--line);border-radius:4px;margin:20px 0 6px;overflow:hidden}.progress-fill{height:100%;background:var(--green);width:0;transition:width .3s}.blocks-stage{perspective:600px;gap:30px;min-height:125px}.moon-block{height:86px;width:40px;background:var(--red);border-radius:50% 8px 8px 50%;transform:rotate(22deg);border:3px solid var(--red-dark);box-shadow:5px 5px 0 var(--red-dark);position:relative;transition:transform .7s}.moon-block:nth-child(2){transform:rotate(-28deg) scaleX(-1)}.moon-block.flat{background:var(--red-flat);box-shadow:2px 3px 0 var(--red-dark)}.moon-block:after{content:'凸';position:absolute;inset:0;display:grid;place-items:center;color:var(--cream);font-size:12px}.moon-block.flat:after{content:'平'}.moon-block:nth-child(2):after{transform:scaleX(-1)}.blocks-stage.tossing .moon-block{animation:toss .52s infinite}.blocks-stage.tossing .moon-block:nth-child(2){animation-delay:.13s}@keyframes toss{0%{transform:translateY(12px) rotate(15deg)}50%{transform:translateY(-27px) rotateY(170deg) rotate(100deg)}100%{transform:translateY(12px) rotateY(340deg) rotate(190deg)}}.result-card{border:1px solid var(--line);background:var(--paper);padding:19px;border-radius:10px;text-align:center;margin-top:16px}.result-card h3{font-family:var(--font-display);font-weight:500;font-size:26px;margin:0 0 9px;color:var(--green)}.result-card p{font-size:12px;line-height:1.9;margin:6px 0;color:var(--muted)}.slap-stage{gap:15px}.paper-person{width:61px;height:90px;background:var(--paper-yellow);clip-path:polygon(35% 0,65% 0,65% 21%,100% 30%,92% 46%,68% 36%,65% 67%,81% 95%,61% 100%,50% 76%,39% 100%,19% 95%,35% 67%,32% 36%,8% 46%,0 30%,35% 21%)}.slipper{font-size:50px;width:75px;height:30px;background:var(--red);border-radius:50% 10px 10px 50%;border:5px solid var(--bronze);transform:rotate(-40deg);transform-origin:90% 50%;box-shadow:0 3px 0 var(--red-dark);position:absolute;right:58px;top:20px}.slipper:after{content:'';position:absolute;left:17px;top:-7px;width:23px;height:30px;border:5px solid var(--red-flat);border-radius:10px}.slapping .slipper{animation:slap .45s infinite}.slapping .paper-person{animation:paper .45s infinite}@keyframes slap{0%,100%{transform:rotate(-50deg) translateY(-16px)}50%{transform:rotate(10deg) translateY(30px)}}@keyframes paper{50%{transform:translateX(-5px) rotate(-6deg)}}.fortune-tube{position:relative;width:61px;height:80px;border-radius:4px 4px 22px 22px;background:var(--red);border:4px solid var(--bronze);margin-top:28px;display:grid;place-items:center;color:var(--paper-yellow);font-family:var(--font-display);font-size:26px}.fortune-tube:before{content:'';position:absolute;width:5px;height:38px;top:-38px;left:25px;background:var(--bronze);box-shadow:-15px 4px 0 var(--bronze),14px -2px 0 var(--bronze),-7px -7px 0 var(--paper-yellow),6px 4px 0 var(--paper-yellow)}.shaking{animation:shake .2s infinite}@keyframes shake{25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}.fortune-poem{font-family:var(--font-display);font-size:20px;line-height:2;letter-spacing:.13em;margin:18px 0}.fortune-task{border-top:1px solid var(--line);padding-top:13px}.swatches{display:flex;gap:12px;margin-top:11px}.swatch{width:37px;height:37px;border-radius:50%;border:3px solid var(--cream);outline:1px solid var(--line-strong)}.swatch[aria-pressed=true]{outline:2px solid var(--green);outline-offset:3px}.avatar-preview{height:90px;display:flex;align-items:center;justify-content:center}.avatar-preview svg{height:73px;width:73px;color:var(--green)}.help-list{padding-left:18px;color:var(--muted);font-size:12px;line-height:2.2}.help-list li{padding-left:3px;margin:8px 0}.help-link{color:var(--green);font-size:11px}.joystick{display:none}.error-state{padding:25px;line-height:1.8;text-align:center;max-width:440px}.error-state button{margin:20px auto}.hint-tag{display:inline-block;background:var(--pale-green);border-radius:5px;padding:5px 8px;color:var(--green);font-size:10px;margin-top:6px}.field-error{font-size:11px;color:var(--red-dark);margin-top:8px}.hidden-ui .world-label{opacity:0;pointer-events:none}
@media(min-width:1600px){.activity-dock button{min-width:128px}.visit-note{top:140px;left:40px}.topbar{left:40px;right:40px}}
@media(max-width:1200px){.controls-hint{min-width:0}.view-controls{min-width:0}.view-controls span,.key-hint{display:none!important}.controls-hint{max-width:130px;font-size:9px}.activity-dock button{min-width:100px}.activity-dock{gap:1px}.visit-note{width:217px;left:24px;top:115px}.bottom-ui{left:24px;right:24px;gap:12px}}
@media(max-width:800px){.topbar{top:max(17px,env(safe-area-inset-top));left:18px;right:18px}.brand{gap:10px}.brand-mark{width:43px;height:47px;border-radius:13px 13px 4px 4px}.brand-mark svg{width:31px;height:31px}.brand h1{font-size:22px}.brand p{font-size:9px}.brand p span{display:none}.tools{padding:5px;gap:1px}.weather{padding:6px}.weather span,.tool-divider{display:none}.icon-button{width:31px;height:31px}.visit-note{width:200px;left:18px;top:96px;padding:13px 16px 0}.visit-note h2{font-size:18px}.visit-note p{font-size:10px;margin-bottom:13px}.visit-note .eyebrow{font-size:9px}#visit-checklist{gap:10px;margin-bottom:15px}#visit-checklist>div{font-size:10px}.note-foot{font-size:9px}.bottom-ui{bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;justify-content:center}.controls-hint,.view-controls,.world-caption{display:none}.activity-dock{padding:8px;border-radius:20px;gap:0;width:min(480px,100%);justify-content:space-around}.activity-dock button{min-width:0;padding:7px 10px;grid-template-columns:1fr;grid-template-rows:29px 18px;justify-items:center;text-align:center;gap:3px}.activity-dock svg{grid-row:1;width:25px;height:25px}.activity-dock span{font-size:11px}.activity-dock small{display:none}.dock-divider{height:30px}.joystick{display:grid;place-items:center;width:86px;height:86px;border:1px solid var(--white-line);border-radius:50%;position:absolute;left:22px;bottom:128px;z-index:3;touch-action:none;background:var(--joystick-glass)}#stick{width:38px;height:38px;background:var(--paper-glass);border:1px solid var(--white-line);border-radius:50%;pointer-events:none;box-shadow:var(--shadow-small)}.walking-status{bottom:124px;left:auto;right:18px;transform:none;font-size:11px;max-width:calc(100% - 133px);padding:10px 14px}.nearby{bottom:127px;left:auto;right:18px;transform:none}.nearby button{padding:11px 15px;font-size:11px}.nearby kbd{display:none}.toast{bottom:226px;max-width:85%;width:max-content;font-size:11px}.world-label{padding:6px 9px;font-size:10px}.world-label svg{width:14px;height:14px}.chant-world{top:32%;width:100%}.chant-world span{font-size:19px}.chant-world small{font-size:10px}dialog{top:auto;left:50%;right:auto;bottom:12px;transform:translateX(-50%);width:430px;max-height:73dvh;border-radius:23px;padding:19px 24px 25px}.panel-top{margin-bottom:7px}#panel-title{font-size:26px}.panel-icon{display:none}.panel-copy{font-size:12px;margin-bottom:17px}.ritual-view{min-height:100px;margin:12px 0}}
@media(max-width:480px){.brand h1{font-size:20px;letter-spacing:.1em}.brand .seal{margin-left:3px}.brand p{font-size:8px}.brand-mark{width:36px;height:41px}.brand-mark svg{width:28px;height:28px}.brand{gap:8px}.topbar{left:14px;right:14px}.tools{gap:0}.tools .icon-button{width:29px;height:31px}.weather svg{width:17px}.visit-note{top:82px;width:181px;left:14px}.visit-note>p,#visit-checklist,.visit-note h2{display:none}.visit-note{padding:8px 12px 0;border-radius:3px 13px 3px 3px}.note-foot{padding:8px 0;border:0}.note-top .eyebrow{font-size:8px}.note-top button{display:none}.visit-note.collapsed .note-foot{display:flex}.activity-dock button{padding:6px 7px}.activity-dock span{font-size:10px}.activity-dock{border-radius:18px}.joystick{width:76px;height:76px;left:18px;bottom:120px}.world-label{font-size:9px;padding:6px 8px;gap:4px}.world-label svg{width:12px;height:12px}.world-caption{display:none}.nearby{bottom:123px}.walking-status{bottom:122px}.primary{margin-top:19px}}
@media(max-width:350px){.brand h1{font-size:17px}.brand-mark{display:none}.topbar{left:12px;right:12px}.activity-dock button{padding:6px 4px}.bottom-ui{left:8px;right:8px}.visit-note{top:76px}.tools{padding:3px}}
dialog::backdrop{backdrop-filter:none;background:var(--backdrop)}
.has-dialog .visit-note{visibility:hidden}
@media(max-width:800px){.has-dialog .topbar,.has-dialog .joystick,.has-dialog .bottom-ui{visibility:hidden}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.room-bar{position:absolute;top:108px;left:32px;display:flex;align-items:center;gap:8px;z-index:4;max-width:calc(100% - 48px)}#room-toggle{background:var(--cream);border:1px solid var(--white-line);border-radius:24px;padding:11px 16px;min-height:44px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-small);font-size:12px;white-space:nowrap}.connection-dot{width:7px;height:7px;border-radius:50%;background:var(--bronze);flex-shrink:0}.connection-dot.connected{background:var(--green)}.room-chevron{margin-left:3px;color:var(--muted);font-size:15px}.room-bar>.icon-button{background:var(--paper-glass);border:1px solid var(--white-line);height:40px;width:40px}.visit-note{top:170px}.visit-note.collapsed{padding:9px 14px;width:207px;border-radius:4px 15px 4px 4px}.visit-note.collapsed .eyebrow{font-size:9px}.room-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.room-choices button{border:1px solid var(--line-strong);background:var(--paper);border-radius:12px;padding:15px 6px;color:var(--green);display:flex;flex-direction:column;gap:8px;align-items:center}.room-choices small{color:var(--muted);font-size:10px}.room-choices [aria-pressed=true]{border-color:var(--green);background:var(--pale-green)}.room-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin:19px 0;max-height:150px;overflow-y:auto}.room-people>div{display:flex;align-items:center;gap:8px;font-size:11px;overflow-wrap:anywhere}.person-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}#invite-link{font-size:11px}.hair-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.hair-choices button{border:1px solid var(--line-strong);background:var(--paper);border-radius:9px;min-height:45px;font-size:11px;padding:8px 3px}.hair-choices [aria-pressed=true]{background:var(--pale-green);border-color:var(--green);color:var(--green)}
.ritual-film{position:absolute;inset:0;pointer-events:none;z-index:10;background:linear-gradient(180deg,rgba(250,246,236,.36),transparent 20%,transparent 64%,rgba(33,45,34,.2))}.film-heading{position:absolute;top:max(24px,env(safe-area-inset-top));left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;color:var(--green);font-family:var(--font-display);letter-spacing:.12em;font-size:16px}.film-heading>span{background:var(--cream);padding:12px 20px;border-radius:30px;border:1px solid var(--white-line);box-shadow:var(--shadow-small)}.film-heading button{pointer-events:auto;background:var(--cream);width:44px;height:44px;box-shadow:var(--shadow-small)}.film-caption{position:absolute;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(440px,calc(100% - 32px));padding:19px 26px;background:var(--cream);border:1px solid var(--white-line);box-shadow:var(--shadow-panel);border-radius:18px;text-align:center;pointer-events:auto}.film-caption h2{font-family:var(--font-display);font-size:23px;font-weight:500;line-height:1.5;color:var(--green);margin:8px 0;overflow-wrap:anywhere}.film-caption p{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0}.film-caption .progress-track{margin:14px 0 0}.film-caption .secondary{margin-top:14px;background:var(--pale-green)}.cinematic .topbar,.cinematic .room-bar,.cinematic .visit-note,.cinematic #world-labels,.cinematic .bottom-ui,.cinematic .joystick,.cinematic .world-caption,.cinematic .toast,.cinematic .walking-status,.cinematic .nearby{visibility:hidden}.has-dialog .room-bar{visibility:hidden}
@media(max-width:800px){.room-bar{top:82px;left:18px}.visit-note{top:140px}.film-heading{top:max(17px,env(safe-area-inset-top));left:16px;right:16px;font-size:13px}.film-heading>span{padding:12px 15px}.film-caption{bottom:max(18px,env(safe-area-inset-bottom));padding:16px 20px}.film-caption h2{font-size:21px}.film-caption p{font-size:11px}}
@media(max-width:480px){.room-bar{left:14px;top:77px;gap:7px;max-width:calc(100% - 28px)}#room-toggle{padding:10px 13px;font-size:11px}.visit-note{top:130px}.visit-note.collapsed{padding:5px 11px;width:174px}.visit-note.collapsed .eyebrow{font-size:8px}.visit-note.collapsed .note-foot{display:none}.note-top button{display:block}.visit-note:not(.collapsed) h2,.visit-note:not(.collapsed)>p{display:block}.visit-note:not(.collapsed) #visit-checklist{display:flex}.visit-note:not(.collapsed){width:200px;padding-bottom:3px}.visit-note:not(.collapsed) .note-foot{border-top:1px solid var(--line)}.film-caption h2{font-size:20px}.film-caption{padding:14px 18px}.film-caption .eyebrow{font-size:9px}}
@media(max-height:540px) and (min-width:600px){.film-caption{left:auto;right:20px;transform:none;width:260px;bottom:18px}.film-heading{top:14px}.film-caption h2{font-size:19px}}
@media(max-width:800px){.brand{padding:7px 10px;background:var(--paper-glass);border-radius:15px;border:1px solid var(--white-line);backdrop-filter:blur(10px)}.brand-mark{background:transparent}.brand h1{font-size:19px}.brand p{font-size:8px}.topbar{top:max(10px,env(safe-area-inset-top))}.room-bar{top:82px}.visit-note{top:137px}}
@media(max-width:480px){.brand{padding:6px 8px;gap:7px}.brand-mark{width:28px;height:34px;border:0}.brand h1{font-size:18px}.brand p{font-size:7px}.brand .seal{display:none}.tools{padding:3px}.tools .icon-button{width:28px}.weather{padding:5px}.room-bar{top:77px}.visit-note{top:130px}}
@media(max-width:350px){.brand h1{font-size:17px}.brand-mark{display:none}}

.name-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px}.name-label .field-label{margin:0}.name-label button{min-height:36px;padding:7px 11px;background:var(--pale-green);color:var(--green);border:1px solid var(--line);border-radius:8px;font-size:11px;white-space:nowrap}.name-label button:hover{border-color:var(--green)}

.support-toggle{position:absolute;right:32px;top:110px;z-index:4;display:flex;align-items:center;gap:8px;padding:10px 15px;min-height:42px;border:1px solid var(--line-strong);border-radius:23px;background:var(--cream);box-shadow:var(--shadow-small);color:var(--green);font-size:12px}.support-toggle svg{width:21px;height:21px;color:var(--bronze)}.support-toggle small{font-size:10px;margin-left:6px;color:var(--muted)}.support-toggle:hover{background:var(--pale-green)}.has-dialog .support-toggle,.cinematic .support-toggle{visibility:hidden}.support-amount{margin:20px 0;padding:21px 12px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--green)}.support-amount>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.support-amount strong{font-family:var(--font-display);font-size:70px;line-height:1.2;font-weight:500}.support-amount strong small{font:500 20px var(--font-body);margin-right:10px}.support-purpose{font-size:12px;line-height:1.9;color:var(--muted)}.support-pay{text-decoration:none}.support-pay:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media(max-width:800px){.support-toggle{right:18px;top:137px;padding:8px 12px;font-size:11px;gap:6px}.support-toggle svg{width:18px;height:18px}.support-toggle small{margin-left:3px;font-size:10px}}
@media(max-width:480px){.support-toggle{right:14px;top:130px;padding:7px 10px;min-height:36px;font-size:10px;gap:5px}.support-toggle svg{width:16px;height:16px}.support-toggle small{font-size:9px}.support-amount{padding:15px 10px;margin:16px 0}.support-amount strong{font-size:62px}}

.note-top #cultivation-toggle{display:flex;align-items:center;gap:6px;width:auto;max-width:calc(100% - 25px);height:28px;padding:0;text-align:left;border-radius:4px;color:var(--green);font-size:11px;white-space:nowrap}.note-top #cultivation-toggle svg{width:16px;height:16px}.note-top #cultivation-toggle:hover{color:var(--focus)}
dialog .panel-top{position:sticky;top:0;z-index:2;background:var(--cream);box-shadow:0 -24px 0 var(--cream)}
.xp-track{height:5px;border-radius:6px;overflow:hidden;background:var(--line)}.xp-track>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--green-light);transition:width .5s ease}.xp-mini{height:3px;margin:5px 0 3px}.cultivation-card{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:15px;margin:17px 0}.cultivation-heading{display:flex;align-items:center;gap:15px}.cultivation-heading h3{font-family:var(--font-display);font-size:24px;font-weight:500;margin:5px 0;color:var(--green)}.level-medallion{width:58px;height:58px;flex-shrink:0;border:1px solid var(--bronze);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--bronze);font-size:9px;line-height:1.2}.level-medallion strong{font-family:var(--font-display);font-size:28px;font-weight:500}.xp-totals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;font-size:10px;color:var(--muted);margin:17px 0 9px}.xp-next{margin:10px 0 0;font-size:11px;line-height:1.7;color:var(--green)}.progress-chants{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 24px}.level-list-heading{font-family:var(--font-display);font-size:17px;font-weight:500;letter-spacing:.08em;margin:22px 0 12px}.level-list{list-style:none;margin:0;padding:0}.level-list li{display:flex;gap:12px;align-items:center;padding:12px 6px;border-top:1px solid var(--line)}.level-list li:last-child{border-bottom:1px solid var(--line)}.level-step{font-size:11px;letter-spacing:.04em;color:var(--muted);width:26px;text-align:center}.level-list li>div{display:flex;flex-direction:column;gap:5px}.level-list strong{font-weight:500;font-size:13px}.level-list small{font-size:10px;color:var(--muted)}.level-state{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.level-list .current{color:var(--green);background:var(--pale-green);border-radius:9px;padding-right:12px}.level-list .current .level-state{color:var(--green);font-weight:600}.level-list .future strong{color:var(--muted)}.level-list .reached .level-step{color:var(--bronze)}
.prayer-xp-rule{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--green);padding:10px 12px;background:var(--pale-green);border-radius:9px;margin:12px 0}.prayer-reward{padding:12px 15px;margin-top:14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--pale-green);color:var(--green);text-align:center}.prayer-reward strong{display:block;font-size:17px;font-weight:500;letter-spacing:.06em}.prayer-reward span{display:block;font-size:11px;line-height:1.7;margin-top:5px}.prayer-reward small{display:block;font-size:10px;margin-top:7px;line-height:1.7}.prayer-reward.leveled{border-color:var(--bronze);background:var(--cream);animation:level-glow 1s ease-out}.prayer-reward.leveled strong{color:var(--focus)}@keyframes level-glow{from{box-shadow:0 0 0 7px #ae8a4a25}to{box-shadow:0 0 0 0 #ae8a4a00}}
#profile-progress .cultivation-card{padding:13px 15px;margin:14px 0 20px}#profile-progress .level-medallion{width:43px;height:43px}#profile-progress .level-medallion strong{font-size:22px}#profile-progress .cultivation-heading h3{font-size:20px}#profile-progress .xp-totals{margin-top:12px}
@media(max-width:480px){.note-top #cultivation-toggle{font-size:10px;gap:5px;height:26px}.note-top #cultivation-toggle svg{width:14px;height:14px}.cultivation-card{padding:14px}.cultivation-heading{gap:12px}.cultivation-heading h3{font-size:22px}.level-medallion{width:52px;height:52px}.prayer-xp-rule{font-size:10px}.level-list li{padding-top:11px;padding-bottom:11px}}

.people-toggle{height:40px;flex-shrink:0;padding:0 12px;display:flex;align-items:center;gap:6px;border:1px solid var(--white-line);border-radius:23px;background:var(--cream);color:var(--green);font-size:11px}.people-toggle svg{width:19px;height:19px}.people-toggle:hover{background:var(--pale-green)}.room-bar>.icon-button{flex-shrink:0}#room-toggle{min-width:0}#room-status{overflow:hidden;text-overflow:ellipsis}.people-heading{display:flex;justify-content:space-between;align-items:center;font:500 18px var(--font-display);margin:25px 0 12px}.people-heading small{font:10px var(--font-body);color:var(--muted);letter-spacing:.1em}.people-empty{font-size:12px;line-height:1.9;color:var(--muted);padding:14px;background:var(--paper);border-radius:12px}
.people-row,#room-people .people-row{width:100%;display:flex;align-items:center;gap:10px;background:var(--paper);padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--green);text-align:left;margin:7px 0;font-size:12px}.people-row>span:nth-child(2){overflow-wrap:anywhere}.people-row .person-dot{flex-shrink:0}.people-row small{margin-left:auto;white-space:nowrap;font-size:10px;color:var(--muted)}button.people-row:hover{background:var(--pale-green)}.npc-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.npc-card{display:flex;align-items:center;gap:9px;text-align:left;padding:12px 9px;background:var(--paper);border:1px solid var(--line);border-radius:12px;color:var(--green)}.npc-card:hover{background:var(--pale-green)}.npc-card strong{display:block;font-size:12px;font-weight:500;line-height:1.6}.npc-card small{display:block;font-size:9px;line-height:1.8;color:var(--muted)}.npc-mark{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--npc-color);color:var(--npc-color);background:var(--cream);font:500 19px var(--font-display)}.npc-portrait{width:52px;height:52px;font-size:27px;margin:4px 0 17px}.npc-role{font-size:11px;color:var(--muted);letter-spacing:.13em;margin:6px 0 20px}.npc-dialogue{border-left:2px solid var(--bronze);background:var(--paper);padding:16px 17px;border-radius:0 12px 12px 0;font:400 16px/1.9 var(--font-display);min-height:94px}.npc-topics{display:grid;gap:8px;margin:9px 0 20px}.npc-topics button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;text-align:left;background:var(--cream);border:1px solid var(--line-strong);border-radius:10px;font-size:12px;color:var(--green)}.npc-topics button svg{width:16px;height:16px;flex-shrink:0}.npc-topics button[aria-pressed=true]{background:var(--pale-green);border-color:var(--green-light)}.text-button{display:block;margin:18px auto 0;background:none;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:4px}.peer-status{font-size:11px;line-height:1.8;color:var(--muted);margin:17px 0}.greeting-actions{display:grid;gap:12px;margin:17px 0}.greeting-actions button{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line-strong);border-radius:15px;padding:18px 14px;text-align:left;color:var(--green)}.greeting-actions button:enabled:hover{background:var(--pale-green)}.greeting-actions svg{width:24px;height:24px;flex-shrink:0}.greeting-actions svg:last-child{width:17px;margin-left:auto}.greeting-actions strong{display:block;font:500 18px var(--font-display)}.greeting-actions small{display:block;font-size:10px;line-height:1.8;margin-top:5px;color:var(--muted)}
.social-notice{padding:14px 17px;border:1px solid var(--line-strong);border-radius:15px;background:var(--cream);color:var(--green);box-shadow:var(--shadow-small);font-size:12px;line-height:1.7}.social-notice strong{font-weight:500;display:block;overflow-wrap:anywhere}.social-notice>span{display:block;font-size:11px;color:var(--muted)}.social-notice button{margin-top:8px;background:var(--green);color:var(--cream);border-radius:12px;padding:7px 12px;font-size:11px}#social-notice{position:absolute;bottom:175px;left:50%;transform:translateX(-50%);z-index:7;width:310px;max-width:calc(100% - 32px)}.social-inline{position:sticky;top:40px;z-index:3;margin:8px 0 18px}dialog .panel-top{z-index:4}.has-dialog #social-notice,.cinematic #social-notice{display:none}
@media(max-width:800px){#social-notice{bottom:227px}.nearby button{max-width:calc(100vw - 150px);white-space:normal;text-align:left}}
@media(max-width:480px){.people-toggle{padding:0 10px;gap:4px;font-size:10px;height:38px}.people-toggle svg{width:17px;height:17px}.room-bar>.icon-button{width:36px;height:38px}#room-toggle{padding:10px 11px;gap:7px;font-size:10px}.npc-grid{gap:7px}.npc-card{padding:10px 7px;gap:7px}.npc-card strong{font-size:11px}.npc-mark{width:30px;height:30px;font-size:17px}.npc-portrait{width:48px;height:48px;font-size:25px}.npc-dialogue{font-size:15px;padding:14px}.greeting-actions button{padding:15px 12px;gap:10px}.greeting-actions strong{font-size:17px}}
