:root{--cream:#fffaf0;--gold:#dfba7f;--glass:#1119185c;--glass-blur:blur(20px) saturate(1.35);--line:#f7e3b629}*{box-sizing:border-box}html,body{width:100%;height:100%;color:var(--cream);-webkit-user-select:none;user-select:none;background:#222e30;margin:0;font-family:Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}button,select,input{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.hidden{display:none!important}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#vignette{pointer-events:none;z-index:2;background:radial-gradient(at 50% 42%,#0000 50%,#0e15154d 100%);position:fixed;inset:0}#app{z-index:5;pointer-events:none;position:absolute;inset:0}#app button,#app input,#app select,#app label{pointer-events:auto}.glass{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 13px 34px #00000021}.topbar{background:linear-gradient(#080e0e7a,#0000);justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 28px;display:flex;position:absolute;top:0;left:0;right:0}.top-left{align-items:flex-start;gap:12px;min-width:0;display:flex}.brand-icon{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#352f2273;border:1px solid #fad89075;border-radius:16px;flex:none;place-items:center;width:50px;height:50px;display:grid}.brand-icon svg{stroke:#efd49c;fill:none;stroke-width:1.3px;stroke-linejoin:round;width:34px;height:34px}.top-actions{gap:8px;display:flex}.icon-btn{color:#f8ecdb;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:13px;place-items:center;width:40px;height:40px;transition:all .18s;display:grid}.icon-btn.on{color:#ffd99a;border-color:#d8ad76}.icon-btn:hover{background:#82714e61}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;width:19px;height:19px}.eyebrow,.eyebrow-sm{letter-spacing:2.6px;text-transform:uppercase;color:#f6d69c;font-size:11px;font-weight:600}.eyebrow-sm{letter-spacing:2px;margin-bottom:6px;font-size:10px}.perf{color:#e9f3e4;white-space:pre;border-radius:12px;min-width:190px;padding:10px 12px;font:11px/1.6 ui-monospace,Consolas,monospace;position:absolute;top:100px;left:30px}.side-panel{pointer-events:auto;border-radius:18px;width:260px;padding:20px;display:none;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.side-panel.show{display:block}.side-panel,.hero-card{text-shadow:0 1px 6px #00000073}.side-panel h3{margin:0 0 9px;font-family:Playfair Display,serif;font-size:21px;font-weight:500}.side-panel p{color:#ddd3c2;margin:0 0 12px;font-size:11.5px;line-height:1.7}.counter{color:#efd095;align-items:baseline;gap:5px;display:flex}.counter strong{font-size:36px;font-weight:600}.counter span{color:#d3c5b1;font-size:11px}.primary-btn{color:#2d251e;background:linear-gradient(125deg,#eed4a0,#c5a16f);border:0;border-radius:11px;width:100%;margin-top:12px;padding:12px 14px;font-size:12px;font-weight:700}.ghost-btn{border:1px solid var(--line);color:#f3e4c7;background:#ffffff0f;border-radius:10px;flex:1;padding:9px;font-size:12px}.row-btns{gap:8px;display:flex}.closeup-meta{color:#cfc6b4;margin-bottom:10px;font-size:11px;line-height:1.6}.closeup-meta b{color:#f0d9a8;font-weight:600}.avatar-panel{width:290px;max-height:80vh;overflow-y:auto}.avatar-panel label{color:#e8dfcc;justify-content:space-between;align-items:center;gap:10px;margin:9px 0;font-size:12px;display:flex}.avatar-panel select,.avatar-panel input[type=range]{width:150px}.avatar-panel select{color:#f6ead2;border:1px solid var(--line);background:#ffffff14;border-radius:8px;padding:5px}.avatar-panel select option{color:#222}.avatar-panel input[type=color]{background:0 0;border:0;width:44px;height:26px}.file-label .file-btn{cursor:pointer;flex:none;padding:6px 12px}.bottom-area{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.toolbar{border-radius:19px;align-items:center;gap:4px;padding:7px;display:flex}.nav-btn{color:#eae6db;background:0 0;border:1px solid #0000;border-radius:13px;align-items:center;height:46px;padding:0 16px;font-size:12px;font-weight:500;transition:all .18s;display:flex}.nav-btn:hover{background:#82714e61}.nav-btn.active{color:#29231c;background:linear-gradient(145deg,#f2d59c,#bd9157);font-weight:700}.nav-btn.primary:not(.active){border-color:#e5cb9766}.divider{background:var(--line);width:1px;height:28px;margin:0 3px}.bottom-caption{text-align:center;color:#d8d3c8;filter:drop-shadow(0 2px 8px #111);margin-top:10px;font-size:10px}.toast{color:#ffefd0;opacity:0;text-align:center;z-index:15;border-radius:13px;max-width:calc(100vw - 35px);padding:12px 18px;font-size:12px;transition:all .35s;position:absolute;top:100px;left:50%;transform:translate(-50%,-10px)}.toast.show{opacity:1;transform:translate(-50%)}#hotspotLayer{pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.hotspot{pointer-events:auto;cursor:pointer;color:#fff3dc;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.hotspot .dot{background:#ffda96e6;border-radius:50%;width:16px;height:16px;animation:2.2s infinite pulse;box-shadow:0 0 0 5px #ffda9640,0 0 18px #ffd282cc}.hotspot .label{border:1px solid var(--line);white-space:nowrap;opacity:0;background:#111918b8;border-radius:8px;padding:5px 9px;font-size:11px;transition:all .2s}.hotspot:hover .label{opacity:1}@keyframes pulse{50%{box-shadow:0 0 0 9px #ffda9614,0 0 22px #ffd282e6}}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#090f0d9e;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal{text-align:center;background:linear-gradient(135deg,#28342ef7,#19231ff7);border:1px solid #e7cb9447;border-radius:25px;width:100%;max-width:570px;padding:34px;position:relative}.modal .supertitle{letter-spacing:3px;color:#e3c08c;text-transform:uppercase;font-size:10px;font-weight:700}.modal h2{margin:12px 0;font-family:Playfair Display,serif;font-size:34px;font-weight:500}.modal p{color:#d4d0c3;max-width:440px;margin:10px auto 24px;font-size:12.5px;line-height:2}.modal-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.start-btn{color:#332717;background:linear-gradient(130deg,#eddaaf,#c9a56f);border:1px solid #f7e0ad59;border-radius:13px;padding:14px 10px;font-size:12px;font-weight:700}.start-btn.alt{color:#f3e4c7;background:#ffffff0f}.modal small{color:#999e95;margin-top:22px;font-size:10px;line-height:1.7;display:block}.dz-shell{background:#131a18;border:1px solid #e7cb9447;border-radius:20px;grid-template-columns:1fr 300px;width:min(1200px,100%);height:min(760px,92vh);display:grid;overflow:hidden}.dz-viewer{background:#0d1210;width:100%;height:100%}.dz-info{background:linear-gradient(160deg,#28342ef7,#19231ff7);padding:22px;overflow-y:auto}.dz-info h3{margin:4px 0 14px;font-family:Playfair Display,serif;font-size:22px;font-weight:500}.dz-original{letter-spacing:3px;color:#f3d38f;margin-bottom:14px;font-family:Palatino Linotype,Book Antiqua,Cambria,Times New Roman,serif;font-size:28px;font-weight:700;line-height:1.3}.dz-row{margin-bottom:12px;font-size:12px}.dz-row span{color:#b9b19f;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px;font-size:10px;display:block}.dz-row p{color:#e8e0cf;margin:0;line-height:1.7}.dz-note{color:#a9a593;font-size:11px;line-height:1.7}.loader{z-index:100;background:#17241f;flex-direction:column;justify-content:center;align-items:center;gap:15px;transition:opacity .7s,visibility .7s;display:flex;position:fixed;inset:0}.loader.done{opacity:0;visibility:hidden}.loader .ring{border:2px solid #826e4b;border-top-color:#f2d9a5;border-radius:50%;width:46px;height:46px;animation:1s linear infinite spin}.loader .loading-title{color:#eed3a0;font-family:Playfair Display,serif;font-size:24px}.loader .loading-text{color:#c8c5b8;letter-spacing:1px;font-size:11px}.loader .progress{background:#ffffff1a;border-radius:2px;width:240px;height:3px;overflow:hidden}.loader .progress-bar{background:#e6c48a;width:0;height:100%;transition:width .25s}.loader .error{text-align:center;color:#f1d2bb;max-width:460px;padding:0 16px;font-size:12px;line-height:1.8}@keyframes spin{to{transform:rotate(360deg)}}.nav-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;flex:none;width:18px;height:18px;margin-right:7px}.sheet-handle{display:none}.field{color:#e8dfcc;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 2px;font-size:12px;display:flex}.field select{color:#f6ead2;border:1px solid var(--line);background:#ffffff14;border-radius:8px;flex:1;min-width:0;padding:6px}.field select option{color:#222}#hallPanel .row-btns{margin-top:10px}.hall-counters{flex-wrap:wrap;gap:6px 18px;margin-top:10px;display:flex}.studio-off{display:none!important}.journey-btns{margin-top:8px}.journey-btn{background:#a834262e;border-color:#e9b47873}.journey-btn.locked{opacity:.62}.journey-btn.locked:after{content:" · khóa";color:#e9c98f;font-size:10px}.hall-counters .counter strong{font-size:28px}.primary-btn:disabled,.ghost-btn:disabled{opacity:.5}#worshipPanel .row-btns,#worshipPanel .counter{margin-top:10px}.chant-caption{text-align:center;pointer-events:none;border-radius:16px;width:min(760px,100vw - 24px);padding:12px 18px;position:absolute;bottom:118px;left:50%;transform:translate(-50%)}.cc-title{letter-spacing:2px;text-transform:uppercase;color:#e9c98f;margin-bottom:6px;font-size:10px}.cc-line{color:#f3ead8;font-family:Playfair Display,Georgia,serif;font-size:20px;line-height:1.55}.cc-line span{opacity:.7;transition:color .15s,text-shadow .15s}.cc-line span.on{color:#ffd98c;opacity:1;text-shadow:0 0 14px #ffc86eb3}.cc-line span.done{opacity:1}.menu-page[hidden]{display:none!important}.menu-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:4px;display:grid}.menu-tile{color:#f6e6c6;background:linear-gradient(160deg,#a834263d,#50281433);border:1px solid #e9b47866;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;font-size:11.5px;display:flex}.menu-tile b{font-size:18px;font-weight:400;line-height:1}.menu-tile:hover{background:#d6a04638;border-color:#e8c27a}.menu-head{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:2px 0 6px;display:flex}.menu-head[hidden]{display:none}.menu-back{border:1px solid var(--line);color:#f3e4c7;background:#ffffff14;border-radius:999px;flex:none;padding:5px 11px;font-size:11px}.menu-back:hover{color:#ffe0a0;border-color:#e8c27a}.menu-title{letter-spacing:1.5px;text-transform:uppercase;color:#e9c98f;white-space:nowrap;font-size:11px}.menu-list{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;display:grid}.menu-list .ghost-btn{width:100%}.menu-list .duty-done{opacity:.55}.menu-note{color:#d8ccb6!important;margin:0 0 4px!important;font-size:11px!important}.menu-page .primary-btn{margin-top:4px}.side-panel.panel-off{display:none!important}.journey-btn.on,#beadsBtn.on{color:#ffe0a0;background:#d6a04638;border-color:#e8c27a}.practice-tabs{flex-wrap:wrap;gap:5px;margin:2px 0 10px;display:flex}.practice-tabs button{border:1px solid var(--line);color:#e9dcc2;background:#ffffff0d;border-radius:999px;flex:auto;padding:6px 9px;font-size:11px}.practice-tabs button.on{color:#2d251e;background:linear-gradient(125deg,#eed4a0,#c5a16f);border-color:#0000;font-weight:700}.practice-pane .primary-btn{margin-top:8px}.pane-note{color:#cfc4b0!important;margin:0 0 4px!important;font-size:11px!important;line-height:1.6!important}.pane-progress{color:#d3c5b1;margin-top:8px;font-size:12px}.pane-progress strong{color:#efd095;font-size:22px;font-weight:600}.seg-btns{gap:5px;margin:8px 0 0;display:flex}.seg-btns button,.seg-btns label{border:1px solid var(--line);text-align:center;color:#efe2c7;cursor:pointer;background:#ffffff0d;border-radius:9px;flex:1;padding:7px 4px;font-size:11px}.seg-btns button.on{color:#ffe3a8;background:#e2b96f38;border-color:#e2b96f}.seg-btns label:has(input:checked){color:#ffe3a8;background:#e2b96f38;border-color:#e2b96f}.seg-btns label input{opacity:0;pointer-events:none;position:absolute}.check-row{color:#d8ccb6;align-items:flex-start;gap:7px;margin-top:8px;font-size:11px;line-height:1.5;display:flex}.meditation{pointer-events:none;text-shadow:0 2px 12px #0009;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.breath-ring{background:radial-gradient(circle,#ffde9614,#0000 70%);border:1px solid #ffe4aa80;border-radius:50%;place-items:center;width:150px;height:150px;display:grid}.breath-dot{width:120px;height:120px;animation:breathe var(--breath,10s) ease-in-out infinite;background:radial-gradient(circle,#ffe2a08c,#ffc8781f 70%);border-radius:50%}@keyframes breathe{0%{transform:scale(.45)}40%{transform:scale(1)}to{transform:scale(.45)}}.breath-cue{color:#fbeccc;font-family:Playfair Display,Georgia,serif;font-size:20px}.meditation-left{letter-spacing:3px;color:#e9cf98;font-size:13px}.meditation .ghost-btn{pointer-events:auto;flex:none;padding:8px 18px}.beads-hud{pointer-events:auto;border-radius:18px;flex-direction:column;align-items:center;width:150px;padding:14px 14px 12px;display:flex;position:absolute;bottom:120px;left:30px}.beads-ring{width:86px;height:86px;transform:rotate(-90deg)}.beads-track{fill:none;stroke:#ffffff1f;stroke-width:5px}.beads-arc{fill:none;stroke:#e8bd6a;stroke-width:5px;stroke-linecap:round;stroke-dasharray:213.6;stroke-dashoffset:213.6px;transition:stroke-dashoffset .25s}.beads-num{color:#f3d690;height:32px;margin-top:-58px}.beads-num strong{font-size:24px;font-weight:600}.beads-num span{color:#cdbf9f;font-size:11px}.beads-rounds{color:#d6c8ad;letter-spacing:1px;margin-top:22px;font-size:11px}.beads-hud .primary-btn{margin-top:8px;padding:10px}.beads-hud .ghost-btn{flex:none;width:100%;margin-top:6px;padding:7px;font-size:11px}.beads-hud .ghost-btn.on{color:#ffe0a0;border-color:#e8c27a}.beads-close{color:#e9dcc2;background:0 0;border:0;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}.petition-modal{text-align:left;-webkit-user-select:text;user-select:text;grid-template-columns:1fr 300px;gap:26px;max-width:860px;max-height:94vh;padding:28px;display:grid;overflow-y:auto}.petition-modal h2{margin:6px 0 12px;font-size:28px}.petition-form .field{flex-direction:column;align-items:stretch;gap:5px;margin-top:10px;position:relative}.petition-form input,.petition-form textarea{color:#f6ead2;border:1px solid var(--line);resize:vertical;-webkit-user-select:text;user-select:text;background:#ffffff12;border-radius:9px;width:100%;padding:8px 10px;font:13px/1.5 inherit}.petition-form input:focus,.petition-form textarea:focus{border-color:#d9b06a;outline:none}.field-count{color:#a9a08c;font-size:10px;position:absolute;top:0;right:0}.petition-kind{margin-top:4px}.petition-privacy{color:#b9b3a2!important;max-width:none!important;margin:12px 0 4px!important;font-size:11px!important;line-height:1.7!important}.petition-form .primary-btn{margin-top:0}.petition-preview{align-self:center}.petition-preview canvas{border-radius:6px;width:100%;height:auto;display:block;box-shadow:0 10px 30px #00000073}.is-touch .hotspot .label{opacity:1}.is-mobile .topbar{padding:calc(env(safe-area-inset-top) + 10px) calc(env(safe-area-inset-right) + 12px) 10px calc(env(safe-area-inset-left) + 12px);align-items:center}.is-mobile .brand-icon{border-radius:12px;width:40px;height:40px}.is-mobile .brand-icon svg{width:28px;height:28px}.is-mobile .top-left{flex:auto;align-items:center;gap:8px}.is-mobile .top-actions{flex:none;gap:6px}.is-mobile .top-actions .icon-btn{border-radius:12px;width:40px;height:40px}.is-mobile #perfBtn,.is-mobile #splatBtn,.is-mobile #fullBtn{display:none}.is-mobile .perf{top:calc(env(safe-area-inset-top) + 60px);left:10px}.is-mobile .toast{top:calc(env(safe-area-inset-top) + 66px);font-size:12px}.is-mobile .bottom-area{width:100%;padding:0 8px calc(env(safe-area-inset-bottom) + 8px);bottom:0;left:0;right:0;transform:none}.is-mobile .toolbar{border-radius:18px;justify-content:space-around;gap:0;width:100%;padding:4px}.is-mobile .nav-btn{border-radius:13px;flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;height:54px;padding:0 2px;font-size:10px}.is-mobile .nav-btn svg{width:21px;height:21px;margin:0}.is-mobile .nav-btn span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.is-mobile .divider,.is-mobile .bottom-caption{display:none}.is-mobile .side-panel{width:auto;top:auto;left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom) + 74px);border-radius:18px;max-height:38vh;padding:8px 16px 14px;overflow-y:auto;transform:none}.is-mobile .sheet-handle{background:0 0;border:0;width:100%;height:22px;margin-bottom:2px;display:block;position:relative}.is-mobile .sheet-handle:after{content:"";background:#fff0d273;border-radius:2px;width:42px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.is-mobile .side-panel.collapsed>:not(.sheet-handle):not(h3){display:none!important}.is-mobile .side-panel.collapsed{padding-bottom:8px}.is-mobile .side-panel h3{margin-bottom:4px;font-size:18px}.is-mobile .side-panel p{margin-bottom:6px;font-size:12px}.is-mobile .primary-btn{padding:13px;font-size:13px}.is-mobile .ghost-btn{padding:11px 6px;font-size:12px}.is-mobile .closeup-meta{display:none}.is-mobile .avatar-panel{max-height:58vh}.is-mobile .avatar-panel select,.is-mobile .avatar-panel input[type=range]{width:55%}.is-mobile.is-short .side-panel{width:min(360px,48vw);max-height:calc(100vh - 140px);left:auto;bottom:calc(env(safe-area-inset-bottom) + 70px)}.is-mobile.is-short .chant-caption{width:calc(100vw - min(360px,48vw) - 36px);bottom:74px;left:12px;transform:none}.is-mobile.is-short .nav-btn{height:46px}.is-mobile.is-short #worshipEyebrow,.is-mobile.is-short #worshipHint,.is-mobile.is-short #seatActions .counter{display:none}.is-mobile.is-short #seatActions .primary-btn,.is-mobile.is-short #seatActions .ghost-btn{padding:8px 6px}.is-mobile.is-short #seatActions .field{margin-bottom:6px}.is-mobile:not(.is-short) .chant-caption{top:calc(env(safe-area-inset-top) + 68px);padding:8px 12px;bottom:auto}.is-mobile .cc-line{font-size:16px}.is-mobile #hallEyebrow,.is-mobile #worshipEyebrow{display:none}.is-mobile #hallPanel{padding-bottom:10px}.is-mobile #hallPanel .primary-btn{margin-top:4px}.is-mobile #hallPanel .row-btns,.is-mobile #worshipPanel .row-btns,.is-mobile .hall-counters{margin-top:6px}.is-mobile .hall-counters .counter strong,.is-mobile #worshipPanel .counter strong{font-size:20px}.is-mobile #worshipPanel .counter{margin-top:4px}.is-mobile #hallHint,.is-mobile .hall-counters{display:none}.is-mobile #hallActions .ghost-btn{padding:10px 4px}.is-mobile .menu-grid,.is-mobile .menu-list{grid-template-columns:repeat(3,1fr);gap:6px}.is-mobile .menu-tile{padding:7px 2px;font-size:11px}.is-mobile #hallPanel h3{margin-bottom:6px;font-size:16px}.is-mobile .hotspot .label{padding:4px 7px;font-size:10px}.is-mobile .hotspot .dot{width:20px;height:20px}.is-mobile .dz-shell{border-radius:14px;grid-template-rows:1fr auto;grid-template-columns:1fr;height:100%}.is-mobile .dz-info{max-height:40vh}.is-mobile .modal{padding:24px 18px}.is-mobile .modal h2{font-size:26px}.is-mobile .modal-options{grid-template-columns:1fr}.is-mobile .petition-modal{grid-template-columns:1fr;gap:14px;padding:20px 16px}.is-mobile .petition-preview{order:-1;width:46%;margin:0 auto}.is-mobile .beads-hud{left:calc(env(safe-area-inset-left) + 10px);bottom:auto;right:auto;top:calc(env(safe-area-inset-top) + 140px);width:118px;padding:10px}.is-mobile .beads-ring{width:64px;height:64px}.is-mobile .beads-num{margin-top:-46px}.is-mobile .beads-rounds{margin-top:14px}.is-mobile .meditation{top:34%}.is-mobile .breath-ring{width:110px;height:110px}.is-mobile .breath-dot{width:88px;height:88px}.is-mobile .practice-tabs button{padding:7px 6px}@media (max-width:900px){.side-panel{width:210px;padding:14px;top:42%;right:10px}.side-panel p{display:none}.bottom-area{width:100%;padding:0 8px;bottom:12px}.toolbar{justify-content:space-around;width:100%;padding:5px}.nav-btn{height:42px;padding:0 8px;font-size:10px}.divider,.bottom-caption{display:none}.icon-btn{width:34px;height:34px}.dz-shell{grid-template-rows:1fr auto;grid-template-columns:1fr}.dz-info{max-height:40vh}.modal-options{grid-template-columns:1fr}}@media (max-width:900px) and (orientation:portrait){.side-panel{width:auto;padding:12px 14px;inset:auto 10px 74px;transform:none}.side-panel h3{margin-bottom:4px;font-size:17px}.side-panel .primary-btn{margin-top:8px;padding:10px}.avatar-panel{max-height:55vh}.closeup-meta{display:none}}.avatar-studio{overscroll-behavior:contain;width:min(390px,100vw - 24px);max-height:min(84vh,850px);-webkit-backdrop-filter:var(--glass-blur);scrollbar-width:thin;scrollbar-color:#b8a080 transparent;background:linear-gradient(155deg,#2a303a8f,#343d457a 55%,#2a393a99);border:1px solid #f7e0bc6b;border-radius:24px;padding:22px;overflow-y:auto;box-shadow:0 22px 75px #0a121363,inset 0 1px #ffffff21}.avatar-studio-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.avatar-studio .eyebrow-sm{color:#e5c9a2;letter-spacing:2px;font-size:9px;font-weight:800}.avatar-studio h3{letter-spacing:-.5px;margin:4px 0 0;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:20px;font-weight:700;line-height:1.35}.avatar-studio .lotus-mark{color:#ffc4d2;font-family:serif}.studio-chip{letter-spacing:1px;color:#f1d6b8;background:#ebc09226;border:1px solid #f2d4b152;border-radius:99px;flex:none;padding:7px 9px;font-size:9px;font-weight:800;display:inline-flex}.avatar-studio-intro{color:#e4e0da!important;margin:0 0 15px!important;font-size:11px!important;line-height:1.7!important}.avatar-studio label.avatar-field{color:#f3e9dd;min-height:29px;margin:9px 0;font-size:11.5px;font-weight:500}.avatar-studio select{color:#fff4e8;background:#f5eee01c;border-color:#f6debf45;border-radius:10px;max-width:58%;padding:7px 8px}.avatar-studio input[type=range]{accent-color:#eab89e;cursor:pointer}.avatar-studio .avatar-hint{color:#f3e9ddb3;margin:-4px 0 8px;font-size:10.5px;line-height:1.35}.avatar-studio input[type=color]{cursor:pointer;background:0 0;border:1px solid #fadcca52;border-radius:8px;width:48px;height:29px;padding:2px}.avatar-studio .studio-section-title{color:#f3d9ba;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 9px;font-size:11px;font-weight:700;display:flex}.studio-section-title span:last-child{color:#ddd3cd;font-size:10px;font-weight:500}.animal-species-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.animal-species-choice{color:#f3e7d8;background:#fff8ee14;border:1px solid #fce6d140;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;padding:10px 3px 9px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex}.animal-species-choice .animal-emoji{filter:drop-shadow(0 4px 5px #00000040);font-size:28px;line-height:1.2}.animal-species-choice b{text-align:center;white-space:nowrap;font-size:9px;font-weight:600}.animal-species-choice:hover{background:#f8ddb82e;transform:translateY(-2px)}.animal-species-choice.active{background:linear-gradient(155deg,#f4c29e52,#ddaeb82e);border-color:#fcdea7db;box-shadow:0 0 0 1px #f9d4ae33,0 4px 14px #00000026}.avatar-studio .studio-row{grid-template-columns:1.6fr 1fr;align-items:center;gap:8px;display:grid}.avatar-studio .studio-row .avatar-field{min-width:0}.avatar-studio .studio-row select{width:58%;max-width:58%}.avatar-studio .studio-row input[type=range]{width:55%;max-width:55%}.avatar-studio .studio-row .mini-color{justify-content:flex-end;gap:7px}.animal-color-swatches{flex-wrap:wrap;gap:10px;margin:7px 0 3px;display:flex}.animal-fur-swatch{background:var(--fur-color);cursor:pointer;border:2px solid #fff6;border-radius:50%;flex:none;width:27px;height:27px;transition:transform .16s;box-shadow:0 1px 8px #00000036}.animal-fur-swatch:hover{transform:scale(1.13)}.animal-fur-swatch.active{outline-offset:3px;outline:2px solid #ffe2ba;transform:scale(1.06)}.studio-surprise{color:#f9dfb6;background:#fff2dc1a;border:1px dashed #eed6b873;border-radius:10px;width:100%;margin-top:13px;padding:8px 12px;font-size:11px;font-weight:600}.studio-surprise:hover{background:#fff0d72b}.avatar-studio .avatar-studio-note{display:block;color:#c9c7c1!important;margin:12px 0 4px!important;font-size:10px!important}.avatar-studio-finish{background:linear-gradient(115deg,#f1ce9e,#e7a4aa);box-shadow:0 6px 16px #e1aa8e36}.avatar-studio .human-only-field.hidden,.avatar-studio .animal-controls.hidden,.avatar-studio .studio-off,.animal-species-choice.studio-off{display:none!important}.studio-advanced{border-top:1px solid #f6debf2e;margin:12px 0 4px;padding-top:8px}.studio-advanced summary{cursor:pointer;color:#f3d9ba;padding:4px 0;font-size:11px;font-weight:700;list-style:none}.studio-advanced summary:before{content:"＋ ";color:#e5c9a2}.studio-advanced[open] summary:before{content:"－ "}.avatar-studio .avatar-file-upload{line-height:1.45;font-size:10px!important}@media (max-width:900px){.avatar-studio.side-panel{width:min(350px,100vw - 24px);max-height:80vh;padding:16px;inset:50% 10px auto auto;transform:translateY(-50%)}.avatar-studio .avatar-studio-intro,.avatar-studio .avatar-studio-note{display:block!important}.animal-species-choice .animal-emoji{font-size:23px}}@media (max-width:600px) and (orientation:portrait){.avatar-studio.side-panel{left:8px;right:8px;bottom:calc(82px + env(safe-area-inset-bottom));border-radius:20px;width:auto;max-height:55vh;padding:14px;top:auto;transform:none}.avatar-studio .animal-species-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-studio .avatar-studio-intro{display:none!important}}.hero-card{pointer-events:auto;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 11px;width:262px;padding:8px 12px 9px 8px;display:grid;position:relative}.hero-card[hidden]{display:none}.hero-portrait{background:radial-gradient(circle at 50% 35%,#ffeccd52,#50423066);border:1px solid #fad89080;border-radius:16px;width:52px;height:52px;padding:3px;transition:transform .18s,border-color .18s;position:relative}.hero-portrait img{object-fit:contain;width:100%;height:100%;display:block}.hero-portrait:hover{border-color:#f2d59c;transform:scale(1.05)}.hero-portrait:after{content:"🐾";width:18px;height:18px;text-shadow:none;background:linear-gradient(120deg,#fff4df,#ffd5cc);border:1px solid #fdebc7cc;border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;bottom:-5px;right:-5px}.hero-portrait.no-studio{pointer-events:none}.hero-portrait.no-studio:after{display:none}.hero-meta{min-width:0}.hero-name{color:#fff6e6;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:0;font:600 14px/1.3 Be Vietnam Pro,system-ui,sans-serif;display:block;overflow:hidden}.hero-name:after{content:" ✎";color:#d9b98a;opacity:.8;font-size:11px}.hero-level{color:#f6d69c;letter-spacing:.2px;margin-top:2px;font-size:11px;font-weight:600}.hero-bar{background:#fff0d229;border-radius:3px;height:5px;margin-top:5px;overflow:hidden}.hero-bar i{background:linear-gradient(90deg,#f4c58f,#f2a7b3);border-radius:3px;width:0;height:100%;transition:width .8s;display:block}.hero-points{color:#cfc4b0;margin-top:3px;font-size:9.5px}.points-pop{color:#ffe0a0;opacity:0;pointer-events:none;text-shadow:0 2px 8px #00000080;font-size:12px;font-weight:800;position:absolute;top:8px;right:14px}.points-pop.go{animation:1.4s ease-out points-pop}@keyframes points-pop{0%{opacity:0;transform:translateY(6px)}15%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.hero-card.level-glow{animation:2.4s ease-out hero-glow}@keyframes hero-glow{0%,to{box-shadow:0 13px 34px #00000021}25%{box-shadow:0 0 0 2px #ffd696cc,0 0 34px #ffc49699}}body:has(.avatar-panel.show) .perf{top:200px}.level-up{z-index:30;text-align:center;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(16px);background:radial-gradient(at 50% 0,#ffdcaa52,#1e201c8c 70%);border:1px solid #ffdea88c;border-radius:22px;min-width:280px;padding:18px 30px 20px;transition:opacity .5s,transform .5s;position:absolute;top:18%;left:50%;transform:translate(-50%,-12px)scale(.96);box-shadow:0 18px 50px #00000059}.level-up.show{opacity:1;transform:translate(-50%)scale(1)}.level-up-eyebrow{letter-spacing:4px;color:#f6d69c;font-size:10px;font-weight:700}.level-up-title{color:#fff4dc;margin:6px 0 4px;font-family:Playfair Display,Georgia,serif;font-size:30px}.level-up-sub{color:#e8dcc6;font-size:12px}.level-up-petals{position:absolute;inset:0;overflow:visible}.level-up-petals i{opacity:0;background:linear-gradient(#ffd6de,#f39aac);border-radius:60%/80% 80% 40% 40%;width:12px;height:18px;margin:-9px 0 0 -6px;position:absolute;top:50%;left:50%}.level-up.show .level-up-petals i{animation:2.6s ease-out forwards petal}.level-up-petals i:first-child{--a:0deg}.level-up-petals i:nth-child(2){--a:45deg}.level-up-petals i:nth-child(3){--a:90deg}.level-up-petals i:nth-child(4){--a:135deg}.level-up-petals i:nth-child(5){--a:180deg}.level-up-petals i:nth-child(6){--a:225deg}.level-up-petals i:nth-child(7){--a:270deg}.level-up-petals i:nth-child(8){--a:315deg}@keyframes petal{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-150px) rotate(90deg) scale(1)}}#nameLayer{pointer-events:none;contain:strict;z-index:0;position:fixed;inset:0;overflow:hidden}.name-tag{text-align:center;white-space:nowrap;color:#fff4e2;will-change:transform;background:#141a189e;border:1px solid #fadeaa52;border-radius:10px;padding:3px 9px 4px;position:absolute;top:0;left:0}.name-tag b{font-size:12px;font-weight:600;line-height:1.25;display:block}.name-tag span{color:#f3d39b;font-size:9.5px;line-height:1.25;display:block}.name-tag.self{background:#34281ab3;border-color:#ffd696b3}.name-tag.npc b{font-size:11px;font-weight:500}.name-tag.npc span{color:#cfe0c8}.studio-name input{color:#fff4e8;-webkit-user-select:text;user-select:text;background:#f5eee01c;border:1px solid #f6debf52;border-radius:10px;width:62%;padding:7px 9px;font-size:13px}.studio-name input:focus{border-color:#f1ce9e;outline:none}.studio-level{color:#e9d3ad;margin:-2px 0 6px;font-size:10.5px}.is-mobile .hero-card{border-radius:14px;flex:0 auto;gap:0 8px;width:auto;min-width:0;max-width:230px;padding:4px 10px 4px 4px}.is-mobile .hero-portrait{border-radius:11px;width:36px;height:36px;padding:2px}.is-mobile .hero-portrait:after{width:15px;height:15px;font-size:8px;bottom:-4px;right:-4px}.is-mobile .hero-name{font-size:12px}.is-mobile .hero-level{margin-top:0;font-size:10px}.is-mobile .hero-bar{height:4px;margin-top:3px}.is-mobile .hero-points{display:none}.is-mobile .level-up{top:calc(env(safe-area-inset-top) + 120px);width:calc(100vw - 40px);min-width:0;padding:14px 18px 16px}.is-mobile .level-up-title{font-size:24px}.is-mobile .name-tag b{font-size:11px}.animal-species-choice .animal-portrait{object-fit:contain;filter:drop-shadow(0 4px 5px #00000024);width:53px;height:53px;display:block}@media (max-width:600px){.animal-species-choice .animal-portrait{width:46px;height:46px}}#heroToggle.on{color:#ffe3a8;background:#82714e4d;border-color:#e5cb9799}#heroToggle.pulse svg{animation:1s ease-out hero-pulse}@keyframes hero-pulse{30%{color:#ffd98c;transform:scale(1.35)}}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel){left:auto;right:calc(env(safe-area-inset-right) + 8px);top:auto;bottom:calc(env(safe-area-inset-bottom) + 74px);width:116px;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 214px);overscroll-behavior:contain;scrollbar-width:none;border-radius:16px;padding:4px 7px 8px;overflow-y:auto;transform:none}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel) h3{text-align:center;color:#f6d69c;margin:0 0 6px;font:600 11.5px/1.3 Be Vietnam Pro,system-ui,sans-serif}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel) :is(p,.eyebrow-sm,.hall-counters,.counter,.pane-note,.check-row,.closeup-meta){display:none}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel) .sheet-handle{height:16px;margin:0}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel) .sheet-handle:after{width:30px;top:6px}.is-mobile:not(.is-short) #hallPanel :is(.menu-grid,.menu-list),.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel) .row-btns,.is-mobile:not(.is-short) #worshipPanel .practice-tabs{flex-direction:column;flex:none;gap:5px;margin:0;display:flex}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel) .row-btns,.is-mobile:not(.is-short) #worshipPanel .practice-tabs{margin-top:5px}.is-mobile:not(.is-short) :is(#hallPanel,#worshipPanel,#closeupPanel) :is(.primary-btn,.ghost-btn,.practice-tabs button){border-radius:10px;flex:none;width:100%;margin:0;padding:9px 4px;font-size:11px;line-height:1.25}.is-mobile:not(.is-short) #worshipPanel .practice-pane .primary-btn{margin-top:5px}.is-mobile:not(.is-short) #worshipPanel .field{flex-direction:column;align-items:stretch;gap:3px;margin-top:5px;font-size:10px}.is-mobile:not(.is-short) #worshipPanel .seg-btns{flex-wrap:wrap;gap:4px;margin-top:5px}.is-mobile:not(.is-short) #worshipPanel .seg-btns :is(button,label){flex:40%;padding:6px 2px;font-size:10px}.is-mobile:not(.is-short) #worshipPanel .pane-progress{text-align:center;margin-top:5px;font-size:10px}.is-mobile:not(.is-short) #worshipPanel .pane-progress strong{font-size:16px}.is-mobile:not(.is-short) .chant-caption{width:auto;left:8px;right:8px;transform:none}.quality-menu,.quality-hint{z-index:25;color:#f3e6cc;border-radius:16px;width:300px;padding:14px 16px;position:absolute;top:84px;right:30px}.quality-menu .eyebrow-sm{margin-top:4px}.qm-tiers{gap:6px;margin-bottom:10px;display:grid}.qm-tiers button{text-align:left;border:1px solid var(--line);color:#f3e4c7;background:#ffffff0d;border-radius:11px;padding:8px 10px}.qm-tiers button strong{font-size:12.5px;display:block}.qm-tiers button span{color:#cfc2a8;font-size:10.5px}.qm-tiers button.on{background:#e2b96f33;border-color:#e2b96f}.qm-tiers button.on strong{color:#ffe3a8}.qm-tiers button em{color:#a8e0b4;margin-left:6px;font-size:10px;font-style:normal}.qm-fps{flex-wrap:wrap;gap:5px;display:flex}.qm-fps button{border:1px solid var(--line);color:#efe2c7;background:#ffffff0d;border-radius:9px;flex:22%;padding:6px 2px;font-size:11px}.qm-fps button.on{color:#ffe3a8;background:#e2b96f38;border-color:#e2b96f}.qm-note{color:#cdbfa5;margin:8px 0 0;font-size:10.5px;line-height:1.5}.quality-hint{top:auto;bottom:110px}.quality-hint p{margin:0 0 10px;font-size:12px;line-height:1.55}.quality-hint .row-btns button{flex:1}.is-mobile .quality-menu{width:auto;left:8px;right:8px;top:calc(env(safe-area-inset-top) + 64px);max-height:70vh;overflow-y:auto}.is-mobile .quality-hint{width:auto;left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom) + 84px)}.hero-code-row{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px;display:flex}.hero-code{color:#f3d9a4;background:#f0c87814;border:1px dashed #f0cd8c8c;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:600}.hero-code.on{border-style:solid}.hero-more{border-top:1px solid #fadeaa24;grid-column:1/-1;margin-top:2px;padding-top:6px}.hero-more[hidden]{display:none}.hero-id{color:#cfc4b0;margin-top:4px;font-size:10px}.hero-id b{color:#f3d9a4;letter-spacing:.6px;font-family:ui-monospace,Consolas,monospace}.hero-id:empty{display:none}.hero-expand{color:#f0d9a8;background:#ffffff0f;border:0;border-radius:7px;place-items:center;width:22px;height:18px;padding:0;display:grid;position:absolute;bottom:4px;right:6px}.hero-expand svg{fill:none;stroke:currentColor;stroke-width:2px;width:14px;height:14px;transition:transform .2s}.hero-expand[aria-expanded=true] svg{transform:rotate(180deg)}.hero-card{padding-bottom:14px}.top-left:has(.hero-card:not([hidden])) .brand-icon{display:none}.is-mobile .hero-more{font-size:10px}.is-mobile .hero-more .hero-points{display:block}.hero-wallet{flex-wrap:wrap;align-items:center;gap:3px 8px;margin-top:4px;display:flex}.hero-balance{color:#e9c98d;font-size:10px;font-weight:600}.hero-leaves{color:#cfeec0;background:#6eaa6424;border:1px solid #96d28c80;border-radius:999px;padding:1px 8px;font-size:10px}.hero-leaves b{color:#eaffdc}.hero-leaves.studio-off{display:none}.identity-modal{max-width:460px;padding:30px 30px 24px}.identity-modal .identity-lotus{color:#f0c98a;text-shadow:0 0 18px #f0be6e8c;margin-bottom:6px;font-size:30px;line-height:1}.identity-modal h2{margin:8px 0 6px;font-size:30px}.identity-modal p.identity-intro{margin:0 auto 14px;line-height:1.7}.identity-modal .identity-reason{color:#f6dca8;background:#f0c8781a;border-radius:10px;margin:0 auto 12px;padding:8px 12px;line-height:1.6}.identity-field{text-align:left;flex-direction:column;align-items:stretch;gap:6px;position:relative}.identity-field input{color:#fff3d8;letter-spacing:2px;text-align:center;-webkit-user-select:text;user-select:text;background:#00000040;border:1px solid #e7cb9473;border-radius:12px;width:100%;padding:13px 14px;font:600 20px/1.2 ui-monospace,Consolas,monospace}.identity-field input:focus{border-color:#f0c98a;outline:none;box-shadow:0 0 0 3px #f0c8782e}.identity-modal p.identity-reminder{color:#f3d9a4;margin:10px auto 2px;font-weight:600;line-height:1.6}.identity-modal p.identity-error{color:#f2a48f;min-height:18px;margin:4px auto 8px;font-size:11px;line-height:1.5}.identity-modal p.identity-current{margin:0 auto 10px;font-size:11.5px;line-height:1.6}.identity-modal .row-btns button{flex:1;padding:12px}.link-btn{color:#f0c98a;font-size:inherit;background:0 0;border:0;padding:0 2px;text-decoration:underline}.is-mobile .identity-modal{padding:22px 18px 18px}.is-mobile .identity-modal h2{font-size:25px}.memorial-modal{text-align:left;grid-template-columns:1fr 250px;gap:24px;max-width:800px;max-height:94vh;padding:26px;display:grid;overflow-y:auto}.memorial-modal h2{margin:6px 0 10px;font-size:28px}.memorial-form .field{flex-direction:column;align-items:stretch;gap:5px;margin-top:10px}.memorial-form input:not([type]),.memorial-form input[inputmode],.lantern-modal input{color:#f6ead2;border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#ffffff12;border-radius:9px;width:100%;padding:8px 10px;font:13px/1.5 inherit}.memorial-form input:focus,.lantern-modal input:focus{border-color:#d9b06a;outline:none}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.memorial-avatars{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:10px;display:grid}.memorial-avatars button{border:1px solid var(--line);color:#e9dcc2;background:#ffffff0a;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;font-size:10px;display:flex}.memorial-avatars button img{background:#2a1a12;border-radius:50%;width:44px;height:44px}.memorial-avatars button.on{color:#ffe3a8;background:#e2b96f38;border-color:#e2b96f}.memorial-photo{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.file-btn{cursor:pointer}.memorial-photo-note{color:#cfc4b0;font-size:11px}.memorial-modal p.memorial-count{color:#cfc4b0;max-width:none;margin:10px 0 0;font-size:11px;line-height:1.5}.memorial-modal p.identity-error{color:#f2a48f;max-width:none;min-height:16px;margin:4px 0 8px;font-size:11px;line-height:1.5}.memorial-modal .row-btns button{flex:1;padding:11px}.memorial-list{color:#d8ccb6;margin-top:12px;font-size:12px}.memorial-list summary{cursor:pointer;color:#f0d9a8}.memorial-list ul{max-height:140px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.memorial-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:4px 0;display:flex}.memorial-preview{align-self:center}.memorial-preview canvas{border-radius:6px;width:100%;height:auto;display:block;box-shadow:0 10px 30px #00000080}.is-mobile .memorial-modal{grid-template-columns:1fr;padding:20px 16px}.is-mobile .memorial-preview{order:-1;justify-self:center;max-width:170px}.is-mobile .memorial-avatars{grid-template-columns:repeat(3,1fr)}.rejoice-btn{z-index:30;color:#3a2410;letter-spacing:.3px;background:linear-gradient(125deg,#ffe7b0,#e2b36a);border:1px solid #ffe2a0b3;border-radius:999px;padding:13px 26px;font-size:14px;font-weight:700;animation:2.2s ease-out infinite rejoicePulse;position:absolute;bottom:150px;left:50%;transform:translate(-50%);box-shadow:0 0 #ffd28299,0 10px 26px #0006}.rejoice-btn.hidden{display:none}@keyframes rejoicePulse{0%{box-shadow:0 0 #ffd2828c,0 10px 26px #0006}to{box-shadow:0 0 0 22px #ffd28200,0 10px 26px #0006}}.is-mobile .rejoice-btn{padding:11px 20px;font-size:13px;bottom:calc(46vh + 14px)}.lantern-modal{max-width:460px;padding:28px}.lantern-modal .identity-lotus{font-size:34px;line-height:1}.lantern-modal h2{margin:8px 0 4px;font-size:28px}.lantern-modal p{margin:4px auto 12px;line-height:1.7}.lantern-modal .field{text-align:left;flex-direction:column;align-items:stretch;gap:6px;position:relative}.lantern-modal p.lantern-stock{color:#f3d9a4;min-height:18px;margin:10px auto}.lantern-modal .row-btns{flex-wrap:wrap}.lantern-modal .row-btns button{flex:1;padding:11px}.shop-modal{max-width:620px;max-height:92vh;padding:0 26px 26px;overflow-y:auto}.shop-modal h2{margin:6px 0 0;font-size:28px}.shop-head{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#26322cfc 75%,#26322ce6);border-bottom:1px solid #e7cb9424;border-radius:25px 25px 0 0;margin:0 -26px 8px;padding:18px 56px 12px;position:sticky;top:0}.modal-x{color:#f3e2bd;background:#ffffff0f;border:1px solid #e7cb9459;border-radius:50%;place-items:center;width:36px;height:36px;font-size:22px;line-height:1;display:grid;position:absolute;top:14px;right:14px}.modal-x:hover{background:#ffffff24}.is-mobile .shop-modal{padding:0 16px 20px}.is-mobile .shop-head{margin:0 -16px 8px;padding:14px 50px 10px}.is-mobile .shop-head h2{font-size:22px}.wallet-bar{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;margin:6px 0 10px;display:flex}.wallet-chip{border:1px solid var(--line);background:#ffffff0d;border-radius:12px;flex-direction:column;align-items:center;min-width:96px;padding:6px 14px;display:flex}.wallet-chip span{color:#d8ccb6;letter-spacing:.4px;font-size:10.5px}.wallet-chip strong{color:#ffe0a0;font-size:19px}.wallet-chip.leaves{background:#6eaa641a;border-color:#96d28c73}.wallet-chip.leaves strong{color:#d9f7c8}.wallet-bar .primary-btn{margin:0;padding:8px 16px;font-size:12.5px}.shop-tabs{justify-content:center;margin:0 0 10px}.shop-tabs button{flex:0 auto;padding:6px 14px}.shop-items{text-align:left;gap:8px;display:grid}.shop-item{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.shop-icon{text-align:center;font-size:30px}.shop-icon svg{filter:drop-shadow(0 2px 3px #00000073);width:52px;height:34px;display:block}.wear-icon{background:radial-gradient(circle at 50% 40%,#ffecc829,#0000 70%);border-radius:12px}.shop-icon.wear-icon svg{width:52px;height:56px}.shop-icon .mascot-portrait{object-fit:contain;width:52px;height:52px}.animal-species-choice.locked{opacity:.62}.animal-species-choice.locked .animal-portrait{filter:grayscale(.55)}.animal-species-choice .mascot-lock{color:#e7c27c;font-size:10px;line-height:1.2}.shop-body strong{color:#f6e3bb;font-size:14px}.shop-body p{max-width:none!important;margin:2px 0 0!important;font-size:11.5px!important;line-height:1.5!important}.shop-body small{color:#e7c27c;font-size:11px}.shop-buy{flex-direction:column;gap:5px;display:flex}.shop-buy button{white-space:nowrap;min-width:132px;margin:0;padding:7px 12px;font-size:12px}.shop-buy .leaves-btn{color:#dcf6cd;background:#6eaa6429;border-color:#96d28c8c}.shop-buy .leaves-btn:not(:disabled):hover{background:#6eaa644d}.shop-buy button:disabled{opacity:.45;cursor:not-allowed}.shop-modal p.shop-note{margin:12px auto;font-size:11px;line-height:1.6}.is-mobile .shop-item{grid-template-columns:42px 1fr}.is-mobile .shop-buy{flex-direction:row;grid-column:1/-1}.is-mobile .shop-buy button{flex:1;min-width:0}.donate-modal,.topup-modal,.fish-modal{max-width:520px;max-height:94vh;padding:26px;overflow-y:auto}.donate-modal .identity-lotus,.topup-modal .identity-lotus,.fish-modal .identity-lotus{color:#f0c98a;text-shadow:0 0 18px #f0be6e80;font-size:32px;line-height:1}.donate-modal h2,.topup-modal h2,.fish-modal h2{margin:6px 0 4px;font-size:28px}.donate-modal p,.topup-modal p,.fish-modal p{margin:4px auto 10px;line-height:1.65}.pay-box{text-align:left;grid-template-columns:190px 1fr;align-items:center;gap:16px;margin:10px 0;display:grid}.pay-qr{background:#fff;border-radius:14px;place-items:center;width:190px;height:190px;display:grid;overflow:hidden;box-shadow:0 8px 24px #00000073}.pay-qr img{object-fit:contain;width:100%;height:100%}.pay-qr .pay-empty{color:#6b5a44;text-align:center;padding:14px;font-size:11.5px;line-height:1.5}.pay-info{gap:7px;margin:0;font-size:12.5px;display:grid}.pay-info div{gap:1px;display:grid}.pay-info dt{color:#cdbfa5;letter-spacing:.3px;font-size:10.5px}.pay-info dd{color:#fbe9c4;word-break:break-all;align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.pay-info dd.big{color:#ffe0a0;font-size:17px}.copy-btn{border:1px solid var(--line);color:#f0d9a8;background:#ffffff0f;border-radius:7px;flex:none;padding:1px 7px;font-size:10px}.donate-modal p.donate-thanks{color:#f3d9a4;font-style:italic}.donate-modal .row-btns button,.topup-modal .row-btns button,.fish-modal .row-btns button{flex:1;padding:11px}.topup-modal .row-btns,.fish-modal .row-btns{flex-wrap:wrap}.topup-modal p.topup-rate{color:#d9f7c8;margin:0 auto 10px;font-size:12px}.topup-packages{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:7px;display:grid}.topup-packages button{border:1px solid var(--line);color:#efe2c7;background:#ffffff0a;border-radius:12px;gap:2px;padding:9px 6px;display:grid}.topup-packages button strong{color:#fbe9c4;font-size:15px}.topup-packages button span{color:#d9f7c8;font-size:11.5px}.topup-packages button em{color:#ffcf7a;font-size:10px;font-style:normal}.topup-packages button.on{background:#6eaa6438;border-color:#b6e39d}.topup-modal .field,.fish-modal .field{text-align:left;flex-direction:column;align-items:stretch;gap:6px;margin-top:10px}.topup-modal input,.fish-modal input:not([type]){color:#f6ead2;border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#ffffff12;border-radius:9px;width:100%;padding:8px 10px;font:13px/1.5 inherit}.topup-modal p.topup-get{color:#d9f7c8;min-height:20px;margin:8px auto 2px;font-weight:600}.topup-modal p.identity-error{color:#f2a48f;min-height:16px;margin:2px auto 6px;font-size:11px}.topup-history{color:#d8ccb6;text-align:left;margin-top:12px;font-size:12px}.topup-history summary{cursor:pointer;color:#f0d9a8}.topup-history ul{max-height:150px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.topup-history li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:4px 0;display:flex}.topup-history .st-pending{color:#ffcf7a}.topup-history .st-done{color:#b6e39d}.topup-history .st-rejected{color:#f2a48f}.fish-pick{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px;margin-top:6px;display:grid}.fish-pick button{border:1px solid var(--line);color:#efe2c7;background:#ffffff0a;border-radius:12px;justify-items:center;gap:2px;padding:8px 4px;font-size:11.5px;display:grid}.fish-pick button svg{width:58px;height:36px}.fish-pick button small{color:#e7c27c}.fish-pick button.on{color:#ffe3a8;background:#e2b96f38;border-color:#e2b96f}.fish-modal p.lantern-stock{color:#f3d9a4;min-height:18px;margin:10px auto}.is-mobile .pay-box{grid-template-columns:1fr;justify-items:center}.is-mobile .pay-qr{width:170px;height:170px}.is-mobile :is(.donate-modal,.topup-modal,.fish-modal){padding:20px 16px}.donate-tag{z-index:12;white-space:nowrap;color:#3a2410;will-change:transform;background:linear-gradient(125deg,#ffe7b0,#e2b36a);border:1px solid #ffe2a0cc;border-radius:999px;padding:7px 14px 7px 11px;font-size:12.5px;font-weight:700;animation:2.6s ease-in-out infinite donateGlow;position:absolute;top:0;left:0;box-shadow:0 6px 18px #00000073}.donate-tag:after{content:"";background:#e7bb73;border-bottom:1px solid #ffe2a0cc;border-right:1px solid #ffe2a0cc;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.donate-tag.hidden{display:none}@keyframes donateGlow{0%,to{box-shadow:0 6px 18px #00000073,0 0 #ffd28200}50%{box-shadow:0 6px 18px #00000073,0 0 16px 3px #ffd2828c}}.xam-stage{z-index:25;pointer-events:none;filter:drop-shadow(0 10px 24px #0000008c);flex-direction:column;align-items:center;display:flex;position:absolute;top:42%;left:24%;transform:translate(-50%,-50%)}.xam-stage.hidden{display:none}.xam-tube-wrap{transform-origin:50% 92%;width:150px;height:250px;transition:transform .6s;position:relative;transform:rotate(-14deg)}.xam-tube-wrap.shaking{animation:.3s ease-in-out infinite xamShake}.xam-stage.dropped .xam-tube-wrap{transform:rotate(-38deg)}@keyframes xamShake{0%,to{transform:rotate(-20deg)translateY(0)}25%{transform:rotate(-30deg)translateY(-8px)}50%{transform:rotate(-16deg)translateY(2px)}75%{transform:rotate(-28deg)translateY(-5px)}}.xam-svg{width:100%;height:100%;overflow:visible}.xam-sticks rect{fill:#e2c27f;stroke:#8a6526;stroke-width:1px}.xam-tube-wrap.shaking .xam-sticks{animation:.15s linear infinite xamRattle}@keyframes xamRattle{50%{transform:translateY(-5px)}}.xam-body{fill:#b8893f;stroke:#6e4a1c;stroke-width:2px}.xam-band{fill:#9c2318}.xam-char{letter-spacing:2px;fill:#6e1a10;text-anchor:middle;opacity:.85;font:700 22px Playfair Display,Georgia,serif}.xam-stick{opacity:0;background:linear-gradient(90deg,#e9cc8a,#f6e2b0 45%,#d2a95e);border:1px solid #8a6526;border-radius:4px;justify-content:center;align-items:flex-start;width:14px;height:120px;margin-left:-7px;display:flex;position:absolute;top:0;left:50%}.xam-stick span{writing-mode:vertical-rl;color:#8a1a10;margin-top:6px;font:700 11px/1 Be Vietnam Pro,sans-serif}.xam-stick.fall{animation:1.4s cubic-bezier(.3,.1,.4,1) forwards xamFall}@keyframes xamFall{0%{opacity:1;transform:translate(0)rotate(0)}35%{opacity:1;transform:translate(-70px,-30px)rotate(-60deg)}75%{opacity:1;transform:translate(-150px,170px)rotate(-200deg)}88%{transform:translate(-160px,158px)rotate(-268deg)}to{opacity:1;transform:translate(-165px,170px)rotate(-270deg)}}.xam-caption{color:#ffe7b8;white-space:nowrap;background:#14100c99;border-radius:999px;margin-top:18px;padding:8px 16px;font-size:13px}.is-mobile .xam-stage{top:26%;left:50%;transform:translate(-50%,-50%)scale(.66)}.xam-modal{-webkit-user-select:text;user-select:text;background:linear-gradient(160deg,#461e14f7,#241610f7);max-width:560px;max-height:94vh;padding:26px 28px;overflow-y:auto}.xam-modal h2{color:#ffe2a6;margin:6px 0 2px;font-size:30px}.xam-modal p.xam-story{color:#e9c98f;margin:0 auto 10px}.xam-poem{background:#ffe6aa0f;border:1px solid #f0c87859;border-radius:12px;gap:6px;margin:4px auto 14px;padding:12px 14px;display:grid}.xam-poem div{flex-direction:column;gap:1px;display:flex}.xam-poem .zh{color:#ffe6b2;letter-spacing:3px;font:600 18px/1.4 Noto Serif TC,Songti TC,serif}.xam-poem .hv{color:#e8d6b4;font-size:13px;font-style:italic}.xam-modal h4{letter-spacing:2px;text-transform:uppercase;color:#e3c08c;margin:10px 0 2px;font-size:12px}.xam-modal p{text-align:left;max-width:none;margin:2px auto 6px;line-height:1.75}.xam-source{text-align:left;color:#d7c7a6;margin-top:8px;font-size:12px}.xam-source summary{cursor:pointer;color:#e9c98f}.xam-modal small{margin-top:12px}.xam-modal .row-btns{justify-content:center;margin-top:12px}.joystick{display:none}.is-touch .joystick.visible{z-index:12;left:calc(env(safe-area-inset-left) + 22px);bottom:calc(var(--ui-bottom,0px) + 14px);pointer-events:auto;touch-action:none;background:radial-gradient(circle,#19231d4d,#19231d94);border:1px solid #fff0d24d;border-radius:50%;width:128px;height:128px;display:block;position:absolute;box-shadow:inset 0 0 0 10px #fff0d20d}.joystick.active{border-color:#f2d59cb3}.joystick .knob{background:linear-gradient(145deg,#f2d59cf2,#bd9157f2);border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #00000059}.photo-mode .joystick{display:none!important}body:has(.avatar-panel.show) .joystick{display:none!important}.top-right{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.online-badge{color:#e9dcc2;cursor:pointer;-webkit-backdrop-filter:blur(8px);white-space:nowrap;font:inherit;text-align:left;background:#141a1838;border:1px solid #ffecc829;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;column-gap:9px;padding:5px 12px 5px 9px;transition:background .18s,border-color .18s;display:grid}.online-badge:hover{background:#282e266b;border-color:#e8c98c73}.ob-count{border-right:1px solid #ffecc82e;grid-row:1/span 2;align-items:center;gap:6px;padding-right:9px;display:flex}.ob-count b{color:#c8f2b0;font-size:19px;font-weight:700;line-height:1}.ob-lobby{color:#f1d39a;font-size:11.5px;font-weight:600;line-height:1.25}.ob-cap{color:#cfc2a8;font-size:10.5px;line-height:1.25}.online-dot{background:#79d96a;border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse;box-shadow:0 0 0 3px #79d96a38}.online-badge.studio-off{display:none}.is-mobile .top-right{gap:6px}.is-mobile .online-badge{column-gap:7px;padding:4px 9px 4px 7px}.is-mobile .ob-count b{font-size:16px}.inv-btn{color:#f1e2c2;-webkit-backdrop-filter:blur(8px);font:inherit;cursor:pointer;background:#141a1838;border:1px solid #ffecc829;border-radius:14px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.inv-btn:hover{background:#282e266b;border-color:#e8c98c73}.inv-btn b{color:#2a1d08;text-align:center;background:#d9a441;border-radius:999px;min-width:18px;padding:1px 5px;font-size:10.5px}.inv-btn.studio-off{display:none}.is-mobile .inv-btn{padding:4px 8px;font-size:11px}.is-mobile .inv-label{display:none}.photo-mode .inv-btn{visibility:hidden}.inv-modal .row-btns button{white-space:nowrap;flex:1}.inv-where{color:#f0d9a8;margin:4px 0 10px;font-size:13px}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;display:grid}.inv-tile{border:1px solid var(--line);color:#f3e7cf;font:inherit;cursor:pointer;aspect-ratio:1/1.08;background:#ffffff0d;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 8px;display:flex;position:relative}.inv-tile:hover:not(:disabled){background:#e8c98c1a;border-color:#e8c98c8c}.inv-tile.on{background:#e2b96f33;border-color:#e2b96f}.inv-tile:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.6)}.inv-icon{font-size:30px;line-height:1.1}.inv-icon svg{width:52px;height:34px;display:block}.inv-name{text-align:center;font-size:12px;font-weight:600;line-height:1.25}.inv-n{color:#2a1d08;background:#d9a441;border-radius:999px;min-width:22px;padding:1px 6px;font-size:11px;position:absolute;top:6px;right:6px}.inv-tile small{color:#cfc2a8;text-align:center;font-size:10px;line-height:1.3}.inv-detail{text-align:left;background:#e2b96f1a;border:1px solid #e2b96f;border-radius:14px;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:grid}.inv-detail[hidden]{display:none}.inv-detail-icon{text-align:center;font-size:30px}.inv-detail-icon svg{width:52px;height:34px}.inv-detail p{color:#d8ccb6;margin:2px 0 0;font-size:12px}.inv-history{color:#d8ccb6;text-align:left;max-height:50vh;margin:4px 0 0;padding:0;font-size:12px;list-style:none;overflow-y:auto}.inv-history li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:6px 0;display:flex}.inv-history .st-done{color:#b6e39d}.inv-history .st-pending{color:#ffcf7a}.shop-where{color:#ffcf7a;margin:0 0 8px;font-size:12.5px}.is-mobile .ob-lobby{font-size:10.5px}.is-mobile .ob-cap{font-size:9.5px}.lobby-modal{width:min(440px,100vw - 24px)}.lobby-list{flex-direction:column;gap:8px;max-height:52vh;margin-top:10px;display:flex;overflow:auto}.lobby-row{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.lobby-row.on{background:#e8c98c1a;border-color:#e8c98c99}.lobby-name{text-align:left;flex-direction:column;flex:1;gap:3px;display:flex}.lobby-name b{color:#f3dfb5}.lobby-name small{color:#cdbf9f;font-size:11.5px}.lobby-bar{background:#ffffff14;border-radius:3px;height:4px;display:block;overflow:hidden}.lobby-bar>i{background:linear-gradient(90deg,#79d96a,#e3c08c);height:100%;display:block}.lobby-row button{flex:none;padding:8px 14px}.sys-notice{z-index:16;color:#fff1d6;background:linear-gradient(120deg,#78281adb,#3c2416db);border-color:#f0c4788c;border-radius:14px;align-items:center;gap:10px;width:min(640px,100vw - 24px);padding:10px 12px 10px 14px;font-size:12.5px;line-height:1.55;animation:.4s noticeIn;display:flex;position:absolute;top:84px;left:50%;transform:translate(-50%)}.sys-notice.hidden{display:none}.sys-notice-tag{letter-spacing:1.6px;color:#3a220e;background:linear-gradient(125deg,#f6d48e,#e0a85a);border-radius:6px;flex:none;padding:3px 7px;font-size:9.5px;font-weight:700}.sys-notice #sysNoticeText{flex:1}.sys-notice button{color:#ffe5b8;background:0 0;border:1px solid #ffdca066;border-radius:50%;flex:none;width:26px;height:26px;font-size:16px;line-height:1}@keyframes noticeIn{0%{opacity:0;transform:translate(-50%,-10px)}}.is-mobile .sys-notice{font-size:11.5px;top:70px}.rehearsal-band{z-index:17;color:#fff3d8;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#961812e0;border:1px solid #ffd77880;border-radius:999px;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:5px 14px;font-size:12px;animation:.4s noticeIn;display:flex;position:absolute;top:56px;left:50%;overflow:hidden;transform:translate(-50%)}.rehearsal-band.hidden{display:none}.rehearsal-dot{background:#ffd75e;border-radius:50%;flex:none;width:8px;height:8px;animation:1.4s ease-in-out infinite rehearsalPulse}@keyframes rehearsalPulse{50%{opacity:.25}}.is-mobile .rehearsal-band{font-size:11px;top:48px}.map-modal{max-width:560px;max-height:94vh;padding:0 20px 20px;overflow-y:auto}.map-modal .shop-head{margin:0 -20px 6px}.map-modal p.map-hint{margin:4px auto 8px;font-size:11.5px;line-height:1.6}.map-wrap{border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#3e5a3a,#23342a);border-radius:16px;overflow:hidden}#mapSvg{width:100%;height:min(62vh,560px);display:block}#mapSvg .m-ground{fill:#d6c4a047;stroke:#f0dcb459;stroke-width:.4px}#mapSvg .m-stair{fill:#c8beaa80}#mapSvg .m-glade{fill:#78aa5a59}#mapSvg .m-water{fill:#5aa0bebf}#mapSvg .m-hall{fill:#aa3426d9;stroke:#e8c27a;stroke-width:.5px}#mapSvg .m-house{fill:#8c5032cc;stroke:#e8c27a99;stroke-width:.4px}#mapSvg .m-pin{cursor:pointer}#mapSvg .m-pin circle{fill:#1e1812d1;stroke:#f0cf8e;stroke-width:.6px}#mapSvg .m-pin text{fill:#fff;pointer-events:none;font-size:4.2px}#mapSvg .m-pin text.m-label{fill:#ffeccb;paint-order:stroke;stroke:#14100cd9;stroke-width:.9px;font-size:3.6px}#mapSvg .m-pin:hover circle,#mapSvg .m-pin:focus circle{fill:#a83426f2}#mapSvg .m-others circle{fill:#9fd8ff;stroke:#fff;stroke-width:.3px;opacity:.85}#mapSvg .m-me path{fill:#ffd34e;stroke:#3a2a0a;stroke-width:.6px;filter:drop-shadow(0 0 2px #ffd250e6)}.map-legend{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.map-legend .ghost-btn{flex:30%;padding:7px 6px;font-size:11px}.promo-banner{color:#3a220e;background:linear-gradient(120deg,#f8dc96,#eab36a);border-radius:12px;margin:4px 0 10px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.55}.promo-banner[hidden]{display:none}.donate-amounts{flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 6px;display:flex}.donate-amounts button{border:1px solid var(--line);color:#e9dcc2;background:#ffffff0d;border-radius:999px;padding:6px 12px;font-size:11.5px}.donate-amounts button.on{color:#2d251e;background:linear-gradient(125deg,#eed4a0,#c5a16f);border-color:#0000;font-weight:700}.proof-box{text-align:left;border-top:1px solid #e7cb942e;margin-top:18px;padding-top:14px}.proof-box[hidden]{display:none}.donate-modal p.proof-hint{max-width:none;margin:2px 0 8px;font-size:11.5px;line-height:1.6}.proof-drop{cursor:pointer;color:#f0d9a8;background:#ffffff0a;border:1.5px dashed #e7cb9473;border-radius:14px;place-items:center;min-height:92px;font-size:12.5px;display:grid;overflow:hidden}.proof-drop:hover{background:#ffffff14}.proof-drop img{max-width:100%;max-height:220px;display:block}.proof-drop img[hidden]{display:none}.proof-status{color:#d8ccb6;min-height:18px;margin:8px 0;font-size:12px;line-height:1.55}.proof-status.wait{color:#ffd98a}.proof-status.ok{color:#b6e39d}.proof-status.bad{color:#f2a48f}.proof-box .primary-btn{width:100%}.duty-decor,.duty-job{background:#a834261f;border:1px solid #e9b47859;border-radius:12px;grid-column:1/-1;margin-top:8px;padding:10px 12px}.duty-decor[hidden],.duty-job[hidden]{display:none}.duty-decor-head{color:#f3e2bd;justify-content:space-between;gap:8px;font-size:12px;display:flex}.duty-decor-head span{color:#e3c08c}.duty-decor p,.duty-decor .menu-note{margin:6px 0 8px!important}.duty-decor .primary-btn{width:100%}.duty-job-title{color:#ffe0a0;font-size:12px}.duty-job-left{color:#f3e2bd;margin:6px 0;font:600 13px ui-monospace,Consolas,monospace}.duty-job .ghost-btn{width:100%}.fest-schedule{flex-direction:column;gap:5px;margin:6px 0 2px;padding:0;list-style:none;display:flex}.fest-schedule[hidden]{display:none}.fest-schedule li{background:#ffffff09;border:1px solid #e9c48238;border-radius:11px;align-items:center;gap:9px;padding:7px 10px;display:flex}.fest-schedule li.on{background:#e8a85229;border-color:#f6d48eb3;box-shadow:inset 0 0 14px #f6be642e}.fs-ic{flex:none;font-size:17px}.fs-main{flex-direction:column;flex:1;min-width:0;display:flex}.fs-main b{color:#f6e2b8;font-size:12px}.fs-main small{color:#cdbf9f;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.fest-schedule em{color:#3a220e;background:#e8c88e;border-radius:6px;flex:none;padding:2px 6px;font-size:10px;font-style:normal;font-weight:700}.fest-schedule li.on em{background:linear-gradient(125deg,#ffd27a,#ff9f4a)}.is-mobile .fest-schedule li{grid-template-columns:1fr;gap:3px;padding:6px 8px;display:grid}.is-mobile .fs-ic{display:none}.is-mobile .fest-schedule em{justify-self:start}.is-mobile .fest-try .menu-list{grid-template-columns:1fr}.fest-try{border:1px dashed #e9c48259;border-radius:12px;margin-top:10px;padding:9px 10px 10px}.fest-try .eyebrow-sm{color:#e3c08c;margin:0}.fest-try .menu-list{grid-template-columns:repeat(3,1fr);margin-top:6px}.fest-try .ghost-btn{padding:8px 4px;font-size:11.5px}.sky-colors{grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 12px;display:grid}.sky-color{color:#e9dcc2;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffecc82e;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 6px;font-size:11px;display:flex}.sky-color i{background:radial-gradient(circle at 50% 75%, #fff6d0 0%, var(--c) 55%, color-mix(in srgb, var(--c) 70%, #000) 100%);width:26px;height:32px;box-shadow:0 0 14px color-mix(in srgb, var(--c) 60%, transparent);border-radius:45% 45% 30% 30%/55% 55% 30% 30%}.sky-color.on{color:#fff2d6;background:#f2cf8a24;border-color:#f2cf8a}.sky-color:hover{background:#ffffff14}.photo-mode .topbar>:not(.top-right),.photo-mode .top-right .online-badge,.photo-mode .side-panel,.photo-mode .bottom-area,.photo-mode #hotspotLayer,.photo-mode .chant-caption,.photo-mode .sys-notice{visibility:hidden!important}.photo-mode .top-actions>:not(#photoBtn){visibility:hidden}.photo-bar{z-index:25;left:50%;bottom:calc(env(safe-area-inset-bottom) + 18px);pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;transform:translate(-50%)}.photo-bar.hidden{display:none}.photo-tip{color:#fff3dc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;background:#0c0e0c73;border-radius:999px;max-width:88vw;padding:6px 12px;font-size:12px}.photo-ctrls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e121080;border:1px solid #ffecc833;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;display:flex}.photo-ctl{color:#fff1d6;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffff14;border:1px solid #ffecc84d;border-radius:50%;width:44px;height:44px;font:700 18px/1 inherit}.photo-ctl:active{background:#f2cf8a4d}.photo-close{background:#a8342659;margin-left:6px}.photo-shot{cursor:pointer;background:0 0;border:3px solid #fff4dc;border-radius:50%;width:66px;height:66px;padding:5px}.photo-shot i{background:radial-gradient(circle at 40% 35%,#fff8e6,#f2cf8a 70%);border-radius:50%;width:100%;height:100%;transition:transform .12s;display:block}.photo-shot:active i{transform:scale(.86)}.photo-flash{z-index:60;opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}.photo-flash.go{animation:.45s ease-out photoFlash}@keyframes photoFlash{0%{opacity:.85}to{opacity:0}}.rescue-fade{z-index:59;opacity:0;pointer-events:none;background:#0d0b08;position:fixed;inset:0}.rescue-fade.go{animation:.9s ease-out rescueFade}@keyframes rescueFade{0%{opacity:.9}to{opacity:0}}.menu-safe{width:100%;margin-top:10px;font-size:12.5px;display:block}.photo-result{width:min(760px,100vw - 24px)}.photo-result img{object-fit:contain;background:#000;border-radius:12px;width:100%;max-height:62vh;margin:10px 0 12px;display:block}.photo-result .row-btns button{flex:1}.photo-share-btn{width:100%;margin-bottom:8px;display:block}.photo-share-menu{gap:8px;margin-bottom:8px;display:flex}.photo-share-menu.hidden{display:none}.photo-share-menu button{flex:1}.photo-ask{max-width:440px}.photo-ask p{line-height:1.65}.is-mobile .photo-ctl{width:40px;height:40px}.is-mobile .photo-shot{width:58px;height:58px}.photo-opts{align-items:center;gap:10px;display:flex}.photo-front,.photo-lens{color:#fff3dc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0e121080;border:1px solid #ffecc840;border-radius:999px;padding:6px 12px;font-size:12px}.photo-lens{align-items:center;gap:6px;display:inline-flex}.photo-lens input{accent-color:#f2cf8a;margin:0}.photo-quality{z-index:26;top:calc(env(safe-area-inset-top) + 66px);color:#fff3dc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#7a1f17b8;border:1px solid #f6dca480;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:min(560px,92vw);padding:8px 12px;font-size:12.5px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.photo-quality.hidden{display:none}.photo-quality button{flex:none;width:auto;margin:0;padding:6px 12px;font-size:12px}@media (max-width:520px){.photo-ctrls{gap:5px;padding:6px 8px}.is-mobile .photo-ctl{width:34px;height:34px;font-size:15px}}.preview-mode #app,.preview-mode .modal-backdrop,.preview-mode .rejoice-btn,.preview-mode .donate-tag,.preview-mode .xam-stage{display:none!important}.preview-badge{z-index:50;color:#ffd98a;letter-spacing:.02em;pointer-events:none;background:#140e08b8;border-radius:999px;padding:5px 14px;font-size:12px;position:fixed;top:10px;left:50%;transform:translate(-50%)}.preview-badge.denied{color:#fff;background:#781410d9}
