@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;450;500;550;600;650;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#3c4034;--muted:#7b7c6d;--paper:#f3f0e7;--green:#64765a;--line:#d9d7ca;--glass:rgba(245,241,230,.91)}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#211c15;color:var(--ink);font-family:'Be Vietnam Pro',sans-serif;font-size:13px}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #98a584;outline-offset:5px}button{border:0}button svg{pointer-events:none}svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}button{transition:background .2s,transform .2s,color .2s}button:hover{color:#385233}button:active{transform:scale(.97)}[hidden]{display:none!important}#scene{position:absolute;inset:0;touch-action:none}#scene canvas{display:block;width:100%;height:100%}.vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,20,13,.2),transparent 35%,transparent 85%,rgba(17,20,13,.15)),linear-gradient(0deg,rgba(19,16,11,.46),transparent 23%);pointer-events:none}.topbar{position:absolute;top:20px;left:24px;right:24px;height:74px;z-index:5;border:1px solid rgba(255,255,255,.5);border-radius:17px;background:var(--glass);backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:space-between;padding:0 26px;box-shadow:0 8px 40px #110e0a15}.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink);gap:12px}.brand>span:nth-child(2){font-family:'Lora',serif;font-size:34px;font-weight:500;letter-spacing:-1.7px}.brand-dot{color:var(--green)}.brand-symbol{color:var(--green)}.brand-symbol svg{width:35px;height:35px;stroke-width:1.2}.brand-caption{font-size:8px;letter-spacing:1.7px;max-width:72px;line-height:1.8;border-left:1px solid #c5c7b8;margin-left:6px;padding-left:16px}.header-thought{font-size:11px;color:#787b6e;letter-spacing:.1px}.header-thought i{font-family:'Lora',serif;font-size:13px;color:#535e4a;margin-left:5px}.header-actions{display:flex;align-items:center;gap:13px}.icon-button{background:transparent;width:33px;height:36px;display:grid;place-items:center;border-radius:50%}.icon-button:hover{background:#dddfd0}.icon-button svg{width:19px;height:19px}.header-divider{height:22px;width:1px;background:var(--line);margin:0 6px}.about-button{display:flex;align-items:center;gap:13px;background:none;font-size:11px}.about-button svg{width:16px;height:16px}.interface{position:absolute;inset:0;pointer-events:none}.interface button,.interface a,.interface input,.popover{pointer-events:auto}.place-control{position:absolute;top:118px;left:35px;z-index:4}.room-button{display:flex;align-items:center;gap:13px;background:rgba(33,34,25,.52);backdrop-filter:blur(15px);color:#f0ebdc;border:1px solid #fff3;border-radius:14px;padding:13px 17px;min-width:246px;text-align:left;box-shadow:0 4px 25px #0001}.room-button:hover{color:#fff;background:#3b402abb}.room-button strong{display:block;font-size:12px;font-weight:500}.room-button small{display:block;font-size:9px;color:#e0dcc9aa;margin-top:5px}.room-button>span:last-child{margin-left:auto}.room-button>span:last-child svg{width:14px}.temple-icon svg{width:25px;height:25px;stroke-width:1.2}.popover{background:#f0ede3f5;backdrop-filter:blur(24px);border:1px solid #ffffff66;border-radius:17px;box-shadow:0 14px 50px #0003}.room-menu{margin-top:10px;padding:20px 12px 12px;width:275px}.room-menu>.eyebrow{margin:0 10px 15px;display:block}.room-option{display:flex;text-align:left;gap:13px;align-items:center;width:100%;padding:13px 10px;border-radius:10px;background:transparent}.room-option:hover,.room-option.selected{background:#e1e3d4}.room-option strong,.room-option small{display:block}.room-option strong{font-size:12px;font-weight:500}.room-option small{font-size:10px;margin-top:5px;color:var(--muted)}.selection-dot{margin-left:auto;width:6px;height:6px;border-radius:50%}.selected .selection-dot{background:var(--green)}.presence{position:absolute;right:38px;top:136px;font-size:10px;color:#ede8d8cc;display:flex;align-items:center;gap:8px;letter-spacing:.15px}.live-dot{width:5px;height:5px;background:#b0c293;border-radius:50%;box-shadow:0 0 9px #b7ca8b6b}.welcome{position:absolute;left:6.3%;top:31%;color:#eee9da;transition:opacity .6s,transform .6s;max-width:320px;text-shadow:0 2px 16px #17140b66}.welcome.dismissed{opacity:0;transform:translateY(-12px);pointer-events:none}.welcome.dismissed button{pointer-events:none}.eyebrow{font-size:8px;font-weight:500;letter-spacing:1.8px;color:var(--muted)}.welcome .eyebrow{color:#d4d7bd;letter-spacing:2.2px;font-size:8px}.welcome h1{font-family:'Lora',serif;font-size:clamp(32px,3.25vw,49px);line-height:1.4;font-weight:400;letter-spacing:-1px;margin:19px 0}.welcome h1 em{font-weight:400;color:#e9dfb4}.welcome p{font-size:11px;line-height:2;color:#dedac9b8;font-weight:300}.welcome button{display:flex;align-items:center;gap:18px;padding:0 0 7px;border-bottom:1px solid #d3d8b65c;margin-top:28px;background:none;color:#e6e8d4;font-size:10px}.welcome button svg{width:17px;height:17px}.avatar-label{position:absolute;display:flex;align-items:center;gap:6px;background:#f2eedfe6;border:1px solid #fff4;border-radius:30px;padding:6px 10px;color:#4f5547;font-size:8px;white-space:nowrap;box-shadow:0 2px 12px #0002;transform:translate(-50%,-100%)}.avatar-label>span:first-child{width:5px;height:5px;border-radius:50%;background:#8b9a71}.action-message{position:absolute;left:50%;bottom:207px;transform:translateX(-50%);font-family:'Lora',serif;font-size:14px;color:#e9e4d3;white-space:nowrap;opacity:0;transition:opacity .5s;text-shadow:0 2px 9px #0008}.action-message.visible{opacity:1}.session-card{position:absolute;bottom:112px;left:35px;display:flex;align-items:center;gap:12px;color:#e2e1cf;padding:12px 15px;border:1px solid #e7e2cc27;border-radius:13px;background:#20251d47;backdrop-filter:blur(15px)}.session-icon{color:#afba92}.session-icon svg{width:24px}.session-card small{font-size:8px;color:#d5d6c1aa;display:block}.session-card strong{font-size:17px;letter-spacing:2px;font-weight:300;display:block;margin-top:5px;font-variant-numeric:tabular-nums}.session-line{height:27px;width:1px;background:#dfe1c62a;margin:0 4px}.session-card>span:last-child{font-size:9px;color:#d5d6c1aa}.bottom-controls{position:absolute;bottom:69px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px}.practice-bar{display:flex;align-items:center;padding:6px 9px;background:var(--glass);backdrop-filter:blur(24px);border:1px solid #ffffff70;border-radius:21px;box-shadow:0 8px 50px #0002}.practice{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;min-width:91px;padding:10px 16px 8px;background:transparent;border-radius:14px}.practice>span:first-child svg{width:28px;height:28px;stroke-width:1.2}.practice>span:nth-child(2){font-size:10px}.practice kbd{position:absolute;right:7px;top:6px;font:8px 'Be Vietnam Pro',sans-serif;opacity:.3}.practice:hover,.practice.active{background:#dee3d1}.practice.active{color:#45623a}.practice-divider{height:31px;width:1px;background:#d6d6c7}.breathe-button{display:flex;flex-direction:column;align-items:center;gap:9px;border-radius:20px;background:#637357e8;border:1px solid #afbb965c;color:#f4f0e3;padding:18px 20px;min-width:83px;height:92px;backdrop-filter:blur(20px);box-shadow:0 8px 40px #0002}.breathe-button span:last-child{font-size:10px}.breathe-button svg{width:26px;height:26px;stroke-width:1.4}.breathe-button:hover{background:#788666;color:white}.navigation-hint{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;color:#e7e6d29c;white-space:nowrap;font-size:8px;font-weight:300}.navigation-hint>span:first-child svg{width:14px;height:14px}.navigation-hint b{font-weight:300;margin:0 7px;opacity:.5}.navigation-hint button{margin-left:10px;padding:0;background:none;color:inherit}.navigation-hint button svg{width:13px;height:13px}.bell-control{position:absolute;right:35px;bottom:107px;display:flex;align-items:center;gap:13px;color:#dddcc8aa;font-size:9px}.bell-control button{width:56px;height:56px;display:grid;place-items:center;border:1px solid #e1dfc857;border-radius:50%;background:#dddcca17;color:#e7e2ca;backdrop-filter:blur(20px)}.bell-control button:hover{background:#d2d4b937}.bell-control button.ringing{animation:ring 1s ease-in-out}.bell-control svg{width:26px;height:26px;stroke-width:1.1}.loading{position:absolute;inset:0;z-index:20;background:#eeeadf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .8s;pointer-events:none}.loading>span:first-child{color:var(--green)}.loading svg{width:64px;height:64px;stroke-width:1}.loading strong{font:44px 'Lora',serif;letter-spacing:-2px}.loading>span:nth-child(3){font-size:11px;color:var(--muted);margin-top:6px}.loading-track{height:2px;width:110px;background:#d5d9c8;overflow:hidden;margin-top:10px}.loading-track i{display:block;height:100%;width:50%;background:#7b8a67;animation:load 1.3s infinite ease-in-out}.loading.done{opacity:0}dialog{color:var(--ink);font-family:inherit;background:#f2efe5;border:1px solid #ffffff80;border-radius:24px;padding:42px;width:min(430px,calc(100vw - 32px));box-shadow:0 24px 100px #151b1050;outline:none}dialog::backdrop{background:#181d1770;backdrop-filter:blur(9px)}.dialog-close{position:absolute;top:18px;right:18px;width:28px;height:28px;border-radius:50%;background:#e7e7db;display:grid;place-items:center}.dialog-close svg{width:15px;height:15px}dialog h2{font:400 27px/1.5 'Lora',serif;letter-spacing:-.4px;margin:14px 0}dialog p{font-size:11px;color:var(--muted);line-height:1.95}dialog label{font-size:10px;display:block;margin:25px 0 10px}dialog input[type=text],dialog input:not([type]){border:1px solid #d6d9c7;background:#fff8;border-radius:9px;padding:13px;color:var(--ink);width:100%;font-size:12px}dialog input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}.range-label{display:flex;justify-content:space-between}.switch-row{display:flex;align-items:center;justify-content:space-between}.switch-row small{display:block;color:var(--muted);font-size:9px;margin-top:6px}.switch-row input{accent-color:var(--green);width:17px;height:17px}.primary-button{display:block;width:100%;margin-top:28px;padding:15px;background:var(--green);color:#f8f7ef;border-radius:10px;font-size:11px}.primary-button:hover{background:#516546;color:white}.about-lotus{color:var(--green);margin-bottom:24px}.about-lotus svg{width:42px;height:42px;stroke-width:1.1}.about-guide{display:flex;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:12px 0;align-items:center}.about-guide>span{flex-shrink:0}.about-guide p{font-size:10px}.privacy-note{font-size:9px!important;color:#929383!important}.breathing-dialog{text-align:center;padding-top:44px;width:min(440px,calc(100vw - 32px))}.breath-orbit{position:relative;width:190px;height:190px;margin:40px auto 30px;display:grid;place-items:center;border:1px solid #c9d0b7;border-radius:50%}.breath-orbit:after{content:'';position:absolute;inset:-16px;border:1px solid #dce0d1;border-radius:50%}.breath-ring{width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#acb997,#81946a);color:#fffbed;display:flex;flex-direction:column;justify-content:center;gap:8px;box-shadow:0 0 45px #97a77b33;transition:transform 4s ease-in-out}.breath-ring.expand{transform:scale(1.22)}.breath-ring span{font-family:'Lora',serif;font-size:23px}.breath-ring small{font-size:12px;opacity:.65}.breathing-dialog h2{font-size:24px}.breath-duration{display:flex;justify-content:center;gap:8px;margin:24px 0}.breath-duration button{padding:9px 14px;background:#e7e8dc;border-radius:22px;font-size:10px}.breath-duration button.selected{background:#657759;color:#fff}.breath-remaining{display:block;font-size:13px;color:var(--muted);letter-spacing:2px}.text-button{font-size:10px;background:none;padding:12px;color:var(--muted)}#end-breath{margin-top:12px}@keyframes load{0%{transform:translateX(-100%)}100%{transform:translateX(210%)}}@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(15deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
@media(min-width:1700px){.welcome{left:9%}.topbar{left:32px;right:32px}}
@media(max-width:1100px){.header-thought{display:none}.welcome{left:5%;max-width:250px;top:32%}.welcome h1{font-size:34px}.session-card{left:25px;bottom:185px}.bell-control>span{display:none}.bell-control{right:25px;bottom:185px}.presence{font-size:8px;right:30px}.bottom-controls{bottom:62px}.bead-counter{bottom:260px;right:25px}}
@media(max-width:650px){.topbar{top:12px;left:12px;right:12px;height:60px;border-radius:14px;padding:0 15px}.brand{gap:7px}.brand>span:nth-child(2){font-size:29px}.brand-symbol svg{width:29px;height:29px}.brand-caption{display:none}.header-actions{gap:7px}.header-divider{margin:0 2px}.about-button{font-size:9px;gap:6px}.about-button svg{width:13px}.icon-button{width:28px}.place-control{top:89px;left:15px}.room-button{padding:10px 12px;min-width:202px;border-radius:12px;gap:10px}.room-button strong{font-size:11px}.room-button small{font-size:8px}.temple-icon svg{width:21px}.presence{top:153px;left:18px;right:auto;font-size:8px}.welcome{top:24%;left:24px;max-width:220px}.welcome .eyebrow{font-size:7px;letter-spacing:1.4px}.welcome h1{font-size:31px;margin:14px 0}.welcome p{display:none}.welcome button{margin-top:18px;font-size:9px}.session-card{left:16px;bottom:172px;padding:9px 11px;gap:9px;border-radius:11px}.session-card small{font-size:7px}.session-card strong{font-size:14px}.session-card>span:last-child{font-size:8px}.session-icon svg{width:19px}.session-line{margin:0}.bell-control{bottom:175px;right:17px}.bell-control button{width:44px;height:44px}.bell-control svg{width:23px}.bottom-controls{bottom:57px;gap:8px}.practice-bar{padding:5px;border-radius:17px}.practice{min-width:72px;padding:11px 11px 8px;gap:7px}.practice>span:first-child svg{width:26px;height:26px}.practice>span:nth-child(2){font-size:9px}.practice kbd{display:none}.breathe-button{height:84px;min-width:70px;padding:16px 11px;border-radius:17px}.breathe-button span:last-child{font-size:9px}.navigation-hint{bottom:24px;font-size:6.5px;gap:5px}.navigation-hint b{margin:0 3px}.navigation-hint button{margin-left:4px}.navigation-hint>span:first-child{display:none}.action-message{font-size:11px;bottom:154px}.bead-counter{right:16px;bottom:235px;width:205px;padding:18px}.room-menu{width:250px}dialog{padding:35px 28px}.avatar-label{font-size:7px}.breath-orbit{margin-top:32px}.bead-counter .eyebrow{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* Shared rooms and seat selection */
.presence{border:0;background:none;padding:6px;pointer-events:auto}.presence:hover{color:#fff}.presence.offline .live-dot{background:#c9a47a;box-shadow:none}.remote-label{background:#e0e7d5e6;z-index:1;pointer-events:none}.seat-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:94px;height:92px;padding:10px 14px;border:1px solid #ffffff65;border-radius:20px;background:var(--glass);backdrop-filter:blur(24px);box-shadow:0 8px 40px #0002}.seat-button>span:nth-child(2){font-size:10px}.seat-button>small{font-size:7px;color:var(--muted)}.seat-button:hover,.seat-button.active{background:#dce3ce}.stand-button{position:absolute;bottom:180px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:9px 14px;color:#eeeedd;background:#333c2abf;border:1px solid #b3bc925c;border-radius:30px;font-size:10px;backdrop-filter:blur(14px)}.stand-button svg{width:14px;height:14px}.seat-dialog{text-align:center;width:min(450px,calc(100vw - 28px))}.seat-dialog h2{font-size:25px}.seat-altar{display:flex;align-items:center;justify-content:center;gap:10px;font-size:8px;letter-spacing:2px;color:#8b9177;border-bottom:1px solid #cbd0bc;padding:12px 0;margin:15px 12px 17px}.seat-altar svg{width:23px;height:23px}.seat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:0 15px}.seat-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#e0e5d3;border:1px solid #b9c4a3;border-radius:10px;height:58px;color:#5f7350;box-shadow:0 3px 0 #bcc8aa}.seat-choice:hover{background:#d1dfbc;transform:translateY(-2px)}.seat-choice svg{width:25px;height:25px}.seat-choice small{font-size:7px}.seat-choice.occupied{background:#e4d9cc;color:#ac9780;border-color:#d4c2ab;box-shadow:0 3px 0 #d1c0a9;cursor:default}.seat-choice.mine{background:#6a7e58;color:white;border-color:#6a7e58;box-shadow:0 3px 0 #506740}.seat-choice:disabled:not(.occupied){opacity:.5;cursor:wait}.seat-legend{display:flex;justify-content:center;gap:16px;font-size:8px;color:var(--muted);margin-top:23px}.seat-legend span{display:flex;align-items:center;gap:5px}.seat-legend i{width:7px;height:7px;border-radius:2px;background:#bccba8}.seat-legend .occupied{background:#cfb99f}.seat-legend .mine{background:#647a52}.seat-feedback{font-size:9px!important;min-height:20px;margin-top:20px!important}.seat-dialog .primary-button{margin-top:8px}.primary-button:disabled{opacity:.5;cursor:default}.people-list{list-style:none;padding:0;margin:22px 0;max-height:280px;overflow:auto}.people-list li{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:10px}.people-list strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.people-list small{color:var(--muted);font-size:9px;text-align:right}.bottom-controls{gap:10px}.action-message{bottom:216px}
@media(max-width:650px){.bottom-controls{gap:6px;bottom:54px}.practice{min-width:57px;padding:10px 8px 8px}.practice-bar{padding:4px}.practice>span:nth-child(2){font-size:8px}.breathe-button{height:78px;min-width:59px;padding:14px 7px}.breathe-button span:last-child{font-size:8px}.seat-button{height:78px;min-width:70px;padding:10px 7px;gap:5px;border-radius:17px}.seat-button>span:nth-child(2){font-size:8px}.seat-button>small{font-size:6px}.seat-button svg{width:23px;height:23px}.stand-button{bottom:146px;font-size:9px;padding:8px 12px}.action-message{bottom:202px;font-size:10px;max-width:calc(100vw - 36px);text-align:center;white-space:normal;line-height:1.6}.seat-grid{gap:9px;margin:0 8px}.seat-choice{height:52px}.seat-legend{gap:12px;font-size:7px}.presence{left:12px;top:148px;font-size:7px}.navigation-hint{font-size:6px}.seat-dialog{max-height:calc(100dvh - 30px);overflow:auto;padding:32px 22px 24px}}
/* An immersive wooden mala, held in a quiet, separate space. */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog.beads-experience{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#29373e 0%,#1d2a31 42%,#111b21 100%);color:#d8d0bb;box-shadow:none;touch-action:none}
dialog.beads-experience::backdrop{background:#111b21;backdrop-filter:none}.bead-stage{position:absolute;inset:0;touch-action:none}.bead-stage canvas{display:block;width:100%;height:100%;touch-action:none}.bead-stage.grabbing canvas{cursor:grabbing!important}
.beads-topbar{position:absolute;top:max(27px,env(safe-area-inset-top));left:30px;right:30px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;z-index:2}.beads-topbar button{pointer-events:auto;background:#cad5d50a;border:1px solid #cad5d54a;color:#e1e4de;backdrop-filter:blur(12px)}.beads-topbar button:hover{background:#d7e4e419;color:#fff}.beads-back{display:flex;align-items:center;gap:10px;padding:12px 17px;border-radius:30px;font-size:11px}.beads-back svg{width:17px;height:17px;transform:rotate(180deg)}.beads-sound{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;margin-left:auto}.beads-sound svg{width:19px;height:19px}
.beads-progress{position:absolute;left:35px;bottom:max(33px,env(safe-area-inset-bottom));pointer-events:none;z-index:2}.beads-count{display:flex;align-items:baseline;gap:10px;font-variant-numeric:tabular-nums}.beads-count strong{font-size:48px;line-height:1.2;letter-spacing:-2px;color:#e5c99d;font-weight:300}.beads-count>span{font-size:12px;color:#bab7aa}.beads-progress>#bead-round{font-size:9px;display:block;margin-top:9px;color:#b9b9a9}.beads-progress-track{height:1px;width:130px;background:#9eaaa826;margin-top:16px}.beads-progress-track>i{display:block;height:100%;background:#cbb184;transition:width .25s ease}.beads-progress p{margin:16px 0 0;font-family:'Lora',serif;font-size:12px;font-style:italic;color:#9daba8;line-height:1.7}.beads-guidance{position:absolute;right:35px;bottom:33px;display:flex;align-items:center;gap:13px;pointer-events:none;color:#bac5c0}.beads-guidance>span{opacity:.65}.beads-guidance svg{width:23px;height:27px;stroke-width:1.2}.beads-guidance p{font-size:10px;line-height:1.8;margin:0}.beads-guidance small{font-size:8px;display:block;color:#819291;margin-top:4px}.beads-next{position:absolute;right:35px;bottom:99px;border:1px solid #a8b8b124;border-radius:32px;background:#c6d1c907;color:#b4c2b9;font-size:10px;display:flex;align-items:center;gap:9px;padding:10px 16px;backdrop-filter:blur(12px);z-index:2}.beads-next:hover{color:#f3e2c2;background:#d7e4ce0e;border-color:#c5cfad52}.beads-next:active{transform:scale(.97)}.beads-next svg{width:15px;height:15px}.completed .beads-count strong{color:#f5dcaa}.completed #bead-phrase{color:#d9c79e}.completed .beads-progress-track>i{box-shadow:0 0 12px #d9bd7655}
@media(max-width:700px){.beads-topbar{left:18px;right:18px;top:max(18px,env(safe-area-inset-top))}.beads-back{font-size:9px;padding:10px 12px;gap:6px}.beads-back svg{width:14px;height:14px}.beads-sound{width:36px;height:36px}.beads-sound svg{width:17px;height:17px}.beads-progress{left:22px;bottom:30px}.beads-count strong{font-size:37px}.beads-count>span{font-size:10px}.beads-progress>#bead-round{font-size:8px;margin-top:6px}.beads-progress-track{width:90px;margin-top:12px}.beads-progress p{font-size:10px;max-width:130px;margin-top:12px}.beads-guidance{right:21px;bottom:100px;gap:8px;max-width:135px}.beads-guidance>span{display:none}.beads-guidance p{font-size:9px}.beads-guidance small{font-size:7px}.beads-next{right:21px;bottom:30px;font-size:9px;padding:9px 14px}.beads-next svg{width:13px;height:13px}}
@media(max-width:390px){.beads-progress{left:18px}.beads-guidance{right:17px;max-width:120px}.beads-progress p{max-width:115px}}
.audio-unlock{position:fixed;right:30px;top:108px;z-index:12;display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #c8d2b9;border-radius:28px;background:#f1f2e6;color:#4e6644;box-shadow:0 4px 24px #0002;font-size:10px}.audio-unlock svg{width:17px;height:17px}.bead-audio-unlock{position:absolute;top:84px;background:#25383d;color:#ecd5ac;border-color:#b4b99d4a;backdrop-filter:blur(12px)}.audio-unlock:hover{background:#e2e8d3}.bead-audio-unlock:hover{background:#354b4d;color:#fff0d1}@media(max-width:650px){.audio-unlock{top:170px;right:17px;font-size:9px;padding:10px 12px}.bead-audio-unlock{top:72px;font-size:8px}}
/* Immersive guided breathing */
dialog.breathing-dialog{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:auto;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 45%,#53664f 0%,#34463b 37%,#192922 100%);color:#f0ecdc;box-shadow:none}
dialog.breathing-dialog::backdrop{background:#101712d9;backdrop-filter:blur(10px)}
.breath-shell{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100%;padding:clamp(18px,3.5vh,38px) clamp(22px,5.2vw,82px);overflow:hidden}
.breath-shell::before{content:"";position:absolute;z-index:-1;width:min(72vw,820px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#b5c09812 0%,#a9b88b08 47%,transparent 72%);pointer-events:none}
.breath-top{display:flex;align-items:center;min-height:34px}
.breath-top>.eyebrow{color:#d5dcc5a8;letter-spacing:2.3px}
.dialog-close.breath-close{position:relative;inset:auto;margin-left:auto;flex-shrink:0;width:38px;height:38px;background:#edf0df12;border:1px solid #f0efd732;color:#eceedd}
.dialog-close.breath-close:hover{background:#edf0df25;color:#fff}
.dialog-close.breath-close svg{width:17px;height:17px}
.breath-content{flex:1;width:100%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(225px,.88fr) minmax(290px,1.15fr) minmax(230px,.86fr);align-items:center;gap:clamp(24px,4.2vw,72px)}
.breath-intro>.eyebrow{color:#c5d0ad;letter-spacing:2px}
.breath-intro h2{margin:17px 0 13px;color:#f2efdf;font:400 clamp(31px,3.3vw,48px)/1.28 'Lora',serif;letter-spacing:-1.4px}
.breath-intro h2 em{color:#ced7b5;font-weight:400}
.breath-intro>p{max-width:290px;margin:0;color:#e0e5d3b8;font-size:12px;line-height:2}
.breath-rhythm-card{margin-top:30px;padding:18px 19px;border:1px solid #e7ecd42a;border-radius:16px;background:#eff3df0a;backdrop-filter:blur(12px)}
.breath-rhythm-card>span{display:block;color:#d5dcc5a1;font-size:7px;letter-spacing:1.7px}
.breath-rhythm-card>div{display:flex;align-items:baseline;gap:8px;margin:12px 0 8px;color:#eef0df}
.breath-rhythm-card b{font:400 27px 'Lora',serif}
.breath-rhythm-card small,.breath-rhythm-card i{color:#d3d9c1aa;font-size:10px;font-style:normal}
.breath-rhythm-card p{margin:0;color:#d7deca9c;font-size:9px;line-height:1.8}
.breath-stage{position:relative;isolation:isolate;display:grid;place-items:center;width:min(31vw,370px);aspect-ratio:1;margin:auto;--phase-duration:4s}
.breath-halo{position:absolute;display:block;inset:0;border:1px solid #d9e0c329;border-radius:50%;pointer-events:none}
.breath-halo-outer{inset:1%;animation:breath-orbit 38s linear infinite}
.breath-halo-middle{inset:10%;border-style:dashed;border-color:#d9e0c32b;animation:breath-orbit 52s linear infinite reverse}
.breath-stage::before,.breath-stage::after{content:"";position:absolute;inset:19%;border:1px solid #e1e6d32c;border-radius:50%;pointer-events:none}
.breath-stage::after{inset:28%;border-color:#e1e6d322}
.breath-center{position:relative;z-index:1;width:43%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:12px;background:radial-gradient(circle at 32% 27%,#c6d2a9 0%,#9eaf82 38%,#667d61 100%);color:#fbf8e8;box-shadow:0 0 45px #dce7b02e,inset 0 2px 14px #f7f7dc68;transform:scale(.82);transition:transform var(--phase-duration,4s) cubic-bezier(.24,.7,.24,1),box-shadow var(--phase-duration,4s) ease,filter var(--phase-duration,4s) ease}
.breath-mark{margin-bottom:4px;color:#fbf7e5c4}
.breath-mark svg{width:21px;height:21px;stroke-width:1.05}
.breath-center>#breath-word{font-family:'Lora',serif;font-size:clamp(13px,1.3vw,18px);white-space:nowrap}
.breath-center>#breath-countdown{font:300 clamp(28px,3vw,42px)/1 'Be Vietnam Pro',sans-serif;font-variant-numeric:tabular-nums;color:#fffdeb}
.breath-center>#breath-cue{max-width:140px;color:#f8f5e2c4;font-size:8px;line-height:1.5}
.breath-stage[data-phase="inhale"] .breath-center{transform:scale(1.16);box-shadow:0 0 75px #e2edbc48,inset 0 2px 20px #fffbdc88;filter:brightness(1.06)}
.breath-stage[data-phase="exhale"] .breath-center{transform:scale(.82);box-shadow:0 0 32px #b7c89825,inset 0 2px 13px #f7f7dc50;filter:brightness(.91)}
.breath-stage[data-phase="done"] .breath-center{transform:scale(1);box-shadow:0 0 70px #e2edbc42,inset 0 2px 18px #fffbdc77}
.breath-stage.paused .breath-center{transition:none!important}
.breath-stage.paused::before{opacity:.42}
.breath-orbit-dot{position:absolute;z-index:2;top:7%;left:50%;width:7px;height:7px;border-radius:50%;background:#f1e8be;box-shadow:0 0 14px #eee5b5;transform-origin:0 calc(min(31vw,370px)*.43);animation:breath-dot 10s linear infinite;pointer-events:none}
.breath-stage[data-phase="exhale"] .breath-orbit-dot{animation-direction:reverse}
.breath-stage[data-phase="done"] .breath-orbit-dot{animation-play-state:paused;opacity:.4}
.breath-session{width:100%;max-width:270px;justify-self:end;display:flex;flex-direction:column;gap:17px}
.breath-status{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.breath-status>div{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #e5ead42b}
.breath-status small{color:#d3dac2a1;font-size:7px;letter-spacing:1.5px}
.breath-status strong{color:#f0eddc;font-size:17px;font-weight:400;font-variant-numeric:tabular-nums}
.breath-progress{height:2px;background:#e6eadc24;border-radius:3px;overflow:hidden}
.breath-progress>i{display:block;width:0;height:100%;background:#d9dfb2;border-radius:3px;box-shadow:0 0 10px #d9dfb2;transition:width .25s linear}
.breath-duration{display:flex;justify-content:flex-start;gap:7px;margin:0}
.breath-duration button{min-width:62px;padding:10px 12px;border:1px solid #e4e8d926;background:#e6ebd80c;color:#e3e7d5;border-radius:24px;font-size:9px}
.breath-duration button:hover,.breath-duration button.selected{background:#dce3c72a;border-color:#dce3c772;color:#f4f1dd}
.breath-actions{display:flex;flex-direction:column;gap:6px}
.breath-start.primary-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0;padding:14px 18px;border:1px solid #e8eccb60;border-radius:30px;background:#d7dfbd;color:#354331;font-size:10px;box-shadow:0 6px 24px #0c171026}
.breath-start.primary-button:hover{background:#e8edcf;color:#263724;transform:translateY(-1px)}
.breath-start svg{width:17px;height:17px}
.breath-actions>.text-button{color:#e0e4d1bd;font-size:9px;padding:9px}
.breath-actions>.text-button:hover{color:#fff}
.breath-note{margin:0;color:#cbd4baa1;font-size:8px;line-height:1.7}
@keyframes breath-orbit{to{transform:rotate(360deg)}}
@keyframes breath-dot{to{transform:rotate(360deg) translateX(min(15.5vw,185px))}}
@media(max-width:900px){.breath-content{grid-template-columns:minmax(190px,.85fr) minmax(240px,1fr);grid-template-rows:auto auto;gap:18px 30px;max-width:760px;padding:24px 0}.breath-intro{grid-column:1;grid-row:1}.breath-stage{grid-column:2;grid-row:1;width:min(40vw,330px)}.breath-session{grid-column:1/-1;grid-row:2;justify-self:center;max-width:480px}.breath-rhythm-card{margin-top:17px}}
@media(max-width:650px){.breath-shell{padding:max(12px,env(safe-area-inset-top)) 20px max(14px,env(safe-area-inset-bottom))}.breath-top{min-height:34px}.breath-top>.eyebrow{font-size:7px;letter-spacing:1.6px}.dialog-close.breath-close{width:34px;height:34px}.breath-content{display:flex;flex-direction:column;justify-content:center;gap:13px;padding:10px 0 14px}.breath-intro{text-align:center;width:100%}.breath-intro>.eyebrow{font-size:7px}.breath-intro h2{margin:7px 0 4px;font-size:25px;line-height:1.22}.breath-intro>p{max-width:340px;margin:0 auto;font-size:9px;line-height:1.7}.breath-rhythm-card{display:flex;align-items:center;justify-content:center;gap:8px;margin:9px auto 0;padding:7px 11px;max-width:370px;border-radius:12px}.breath-rhythm-card>span{font-size:6px;letter-spacing:1px}.breath-rhythm-card>div{gap:4px;margin:0}.breath-rhythm-card b{font-size:16px}.breath-rhythm-card small,.breath-rhythm-card i{font-size:8px}.breath-rhythm-card p{display:none}.breath-stage{width:min(55vw,225px);flex-shrink:0}.breath-center{width:47%;gap:3px;padding:8px}.breath-mark{margin-bottom:1px}.breath-mark svg{width:16px;height:16px}.breath-center>#breath-word{font-size:12px}.breath-center>#breath-countdown{font-size:31px}.breath-center>#breath-cue{font-size:7px;max-width:100px}.breath-orbit-dot{width:6px;height:6px;transform-origin:0 calc(min(55vw,225px)*.43)}@keyframes breath-dot{to{transform:rotate(360deg) translateX(min(27.5vw,112.5px))}}.breath-session{max-width:370px;gap:11px}.breath-status{gap:10px}.breath-status>div{gap:5px;padding-bottom:7px}.breath-status small{font-size:6px}.breath-status strong{font-size:13px}.breath-duration{justify-content:center}.breath-duration button{min-width:60px;padding:8px 11px;font-size:8px}.breath-start.primary-button{padding:12px;font-size:9px}.breath-note{text-align:center;font-size:7px}}
@media(max-height:700px) and (min-width:651px){.breath-shell{padding-top:16px;padding-bottom:16px}.breath-content{gap:20px}.breath-stage{width:min(28vw,300px)}.breath-intro h2{font-size:34px}.breath-rhythm-card{margin-top:17px;padding:14px}}
@media(prefers-reduced-motion:reduce){.breath-halo,.breath-orbit-dot{animation:none!important}.breath-center,.breath-progress>i{transition:none!important}.breath-center{transform:scale(1)!important}}
/* Keep the slow glint centered on the breath orbit. */
.breath-orbit-dot{inset:0;top:0;left:0;width:100%;height:100%;transform:none;transform-origin:center;animation:breath-dot 10s linear infinite}
.breath-orbit-dot::before{content:"";position:absolute;top:6.5%;left:calc(50% - 3.5px);width:7px;height:7px;border-radius:50%;background:#f1e8be;box-shadow:0 0 14px #eee5b5}
@keyframes breath-dot{to{transform:rotate(360deg)}}
.breath-stage.still .breath-halo,.breath-stage.still .breath-orbit-dot{animation:none!important}.breath-stage.still .breath-center{transition:none!important;transform:scale(1)!important}
@media(max-width:650px){.breath-orbit-dot::before{width:6px;height:6px;left:calc(50% - 3px)}}
/* Optional soundtrack inside the breathing practice. */
.breath-music{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:1px solid #e4e8d926;border-radius:12px;background:#e6ebd80c;color:#e3e7d5;text-align:left}
.breath-music:hover,.breath-music.is-on{background:#e6ebd816;color:#f4f1dd}
.breath-music-icon svg{width:16px;height:16px;stroke-width:1.35}
.breath-music-copy{display:flex;flex-direction:column;gap:3px}
.breath-music-copy strong{font-size:8px;font-weight:500}
.breath-music-copy small{font-size:7px;color:#d3dac29c}
.breath-music-switch{position:relative;margin-left:auto;width:31px;height:18px;border:1px solid #e5ead445;border-radius:12px;background:#e7eadc15;transition:background .25s,border-color .25s}
.breath-music-switch i{position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#d6dcc8a6;transition:transform .25s,background .25s}
.breath-music.is-on .breath-music-switch{border-color:#d6dfb9a8;background:#cdd8ad55}
.breath-music.is-on .breath-music-switch i{transform:translateX(13px);background:#e1e8c5}
@media(max-width:650px){.breath-music{padding:7px 9px}.breath-music-copy strong{font-size:7px}.breath-music-copy small{font-size:6px}}
/* Modern, quiet game HUD for the 3D temple */
:root{--glass:rgba(21,29,24,.84);--line:#e0d4b235;--muted:#b8c0ae}
.topbar{border:1px solid #e5d5a13d;border-radius:21px;background:linear-gradient(130deg,#18221de8,#283029d9 58%,#1a241fe8);backdrop-filter:blur(24px) saturate(135%);box-shadow:0 14px 44px #07100c52,inset 0 1px #fff1;overflow:hidden}
.topbar::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#d9c58e61,transparent);pointer-events:none}
.topbar>*{position:relative;z-index:1}
.brand{color:#f0eddf}.brand-symbol,.brand-dot{color:#d5bd83}.brand-symbol svg{filter:drop-shadow(0 0 7px #d6c08b35)}
.brand-caption{border-color:#d9d2bd3a;color:#c5c9b9}.header-thought{color:#ced3c2a8}.header-thought i{color:#e0d2a7}.header-divider{background:#d8d6c32b}
.header-actions .icon-button{color:#e4e2d3}.header-actions .icon-button:hover,.header-actions .icon-button[aria-pressed="true"]{background:#d4c28f1b;color:#e6d49b}.about-button{color:#dedbc9}.about-button:hover{color:#fff0c3}
.place-control{filter:drop-shadow(0 10px 24px #06100b35)}
.room-button{min-height:62px;border-radius:17px;border-color:#d8d1b83b;background:linear-gradient(135deg,#17221dcf,#354034b8);box-shadow:0 10px 26px #050a0840,inset 0 1px #ffffff0a;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s}
.room-button:hover{transform:translateY(-2px);border-color:#d8c68c72;background:linear-gradient(135deg,#202d26ed,#46513fe0);box-shadow:0 14px 34px #050a0852,0 0 22px #d6c28c0b}
.room-button strong{color:#f0eddf;letter-spacing:.1px}.room-button small{color:#d4d2c0b8}.temple-icon{color:#d7c18b}
.presence{padding:9px 13px;border:1px solid #dde0ca20;border-radius:30px;background:#17221da8;backdrop-filter:blur(16px);box-shadow:0 7px 22px #0308063d;color:#e1e3d4;transition:background .2s,border-color .2s,transform .2s}
.presence:hover{background:#26342bbd;border-color:#d4c38c4a;color:#fff0c5;transform:translateY(-1px)}.live-dot{background:#b7d190;box-shadow:0 0 10px #b9db8c88;animation:hud-live 2.4s ease-in-out infinite}.presence.offline .live-dot{background:#c9a47a;animation:none}
.session-card{border:1px solid #d8d1b329;border-radius:17px;background:linear-gradient(135deg,#17221dc9,#30372bb0);box-shadow:0 12px 30px #03080636,inset 0 1px #ffffff08;backdrop-filter:blur(18px);transition:transform .25s,border-color .25s,background .25s}
.session-card:hover{transform:translateY(-2px);border-color:#d7c38d55;background:linear-gradient(135deg,#1d2a23e0,#3a4031c9)}.session-icon{display:grid;place-items:center;width:35px;height:35px;border:1px solid #d7c38d35;border-radius:12px;background:#d7c38d0d;color:#dbc990}.session-icon svg{width:19px}.session-card strong{color:#f0e8cf}.session-card small,.session-card>span:last-child{color:#d4d5c0b7}.session-line{background:#d8d1b32b}
.bottom-controls{gap:10px;filter:drop-shadow(0 15px 28px #040a0845)}
.practice-bar{padding:6px 8px;border:1px solid #e1d5b13c;border-radius:24px;background:linear-gradient(145deg,#18231eeF,#28332be8);backdrop-filter:blur(22px) saturate(130%);box-shadow:0 13px 34px #03080648,inset 0 1px #ffffff0e}
.practice{color:#e0e2d4;min-width:84px;border-radius:17px;transition:transform .22s,background .22s,color .22s,box-shadow .22s}.practice>span:first-child{color:#d5c18f}.practice>span:first-child svg{filter:drop-shadow(0 3px 6px #d2be8330)}.practice>span:nth-child(2){font-size:9px;letter-spacing:.1px}.practice kbd{top:6px;right:8px;padding:3px 5px;border:1px solid #f2ead51a;border-radius:5px;background:#f1e6cb0a;color:#e2dcc8;opacity:.65}
.practice:hover,.practice.active{background:linear-gradient(145deg,#d7c28f1c,#b5c49b18);color:#fff0c8;box-shadow:inset 0 0 0 1px #d8c58b37,0 0 20px #d9c68b0d;transform:translateY(-2px)}.practice.active{color:#f3e1ad}.practice.active>span:first-child{color:#e6d39b}.practice-divider{height:28px;background:#d8d2bd24}
.seat-button{border:1px solid #d9d4bd38;border-radius:19px;background:linear-gradient(145deg,#1b2821df,#303a2dd9);color:#e4e4d6;box-shadow:0 11px 28px #050a0845,inset 0 1px #fff1;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}
.seat-button>span:first-child{color:#d5c18f}.seat-button>span:nth-child(2){font-size:9px}.seat-button>small{color:#c6cab7a8}.seat-button:hover,.seat-button.active{transform:translateY(-3px);border-color:#d9c68c7c;background:linear-gradient(145deg,#26362cdf,#3d4935e8);color:#fff0c7;box-shadow:0 16px 34px #050a0854,0 0 23px #d6c28c13}
.breathe-button{border:1px solid #ddcf9a82;border-radius:19px;background:linear-gradient(145deg,#738666ef,#52654beF);color:#fbf4df;box-shadow:0 12px 32px #050a084b,inset 0 1px #ffffff30;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}
.breathe-button>span:first-child{color:#f0dfaa}.breathe-button:hover{transform:translateY(-3px);border-color:#f1dfa9;background:linear-gradient(145deg,#849473,#637957);color:#fff;box-shadow:0 17px 38px #050a0859,0 0 28px #e2ce9250}
.navigation-hint{padding:9px 13px;border:1px solid #e4deca1d;border-radius:24px;background:#18221c9e;backdrop-filter:blur(14px);box-shadow:0 8px 23px #0409072b;color:#d9ddcbbf}.navigation-hint>span:first-child{color:#d8c38d}.navigation-hint button{width:24px;height:24px;display:grid;place-items:center;margin:0 0 0 2px;border-radius:50%;background:#ffffff08;color:#e4e1cf}.navigation-hint button:hover{background:#d8c38d20;color:#f4e1aa}
.bell-control{padding:9px 10px 9px 15px;border:1px solid #e3ddc623;border-radius:36px;background:#16211bb5;backdrop-filter:blur(14px);box-shadow:0 9px 25px #04090739;color:#e1dfcdbf}.bell-control button{width:47px;height:47px;border-color:#d9c78d4f;background:linear-gradient(145deg,#e1d5aa16,#91a27a14);color:#e4d39e;transition:transform .2s,background .2s,box-shadow .2s}.bell-control button:hover{transform:translateY(-2px);background:#d8c58b26;box-shadow:0 0 22px #d8c58b20;color:#fff0c2}
.action-message{padding:11px 18px;border:1px solid #e3dcbd23;border-radius:30px;background:#17221dc9;backdrop-filter:blur(16px);box-shadow:0 8px 28px #03080645;color:#f0ead5}
.avatar-label,.remote-label{border:1px solid #e0d2a444;background:linear-gradient(145deg,#1d2923e8,#344033e0);color:#eee8d2;box-shadow:0 8px 24px #0308064a;backdrop-filter:blur(12px)}.avatar-label>span:first-child{background:#bdd097;box-shadow:0 0 8px #b9d58b88}
.room-menu{border:1px solid #dbcfaa48;border-radius:19px;background:linear-gradient(145deg,#202b25f5,#2d372ff2);box-shadow:0 20px 55px #03080669;color:#ede9d7}
.room-menu>.eyebrow{color:#c5c9b2}.room-option{color:#e4e2d3}.room-option:hover,.room-option.selected{background:#d7c48b17}.room-option strong{color:#f1eddf}.room-option small{color:#c9cbb9b5}.selection-dot{border:1px solid #e4d19b50}.selected .selection-dot{background:#dec990;box-shadow:0 0 9px #e3cf91}
.audio-unlock{border:1px solid #dfcc9273;background:linear-gradient(145deg,#28352df5,#1c2822f5);color:#f0e6c6;box-shadow:0 12px 35px #0308065c}.audio-unlock:hover{background:#394735;color:#fff0c6}
dialog:not(.beads-experience):not(.breathing-dialog){border:1px solid #ddce9a56;border-radius:22px;background:linear-gradient(145deg,#26352feF,#19241ff7);color:#eeeada;box-shadow:0 26px 90px #020705a8,inset 0 1px #fff1}
dialog:not(.beads-experience):not(.breathing-dialog) h2{color:#f0ecdc}
dialog:not(.beads-experience):not(.breathing-dialog) p{color:#d2d7c5c7}
dialog:not(.beads-experience):not(.breathing-dialog) .eyebrow{color:#c3cba9}
dialog:not(.beads-experience):not(.breathing-dialog) .dialog-close{border:1px solid #e3dcc62e;background:#e8ebdb10;color:#e8e5d5}
dialog:not(.beads-experience):not(.breathing-dialog) .dialog-close:hover{background:#e7d49b22;color:#fff0c4}
dialog:not(.beads-experience):not(.breathing-dialog) .primary-button{border:1px solid #e0d09a69;border-radius:12px;background:linear-gradient(145deg,#879576,#647658);color:#fff6df;box-shadow:0 8px 22px #080e0a44}
dialog:not(.beads-experience):not(.breathing-dialog) .primary-button:hover{background:linear-gradient(145deg,#9aaa84,#738769);color:#fff}
dialog:not(.beads-experience):not(.breathing-dialog) .privacy-note{border-color:#d8d7c222;color:#cbd1bfc0}
dialog:not(.beads-experience):not(.breathing-dialog) .about-guide{border-color:#d8d7c222;color:#e0dece}
dialog:not(.beads-experience):not(.breathing-dialog) label{color:#d9ddc9}
dialog:not(.beads-experience):not(.breathing-dialog) input:not([type=range]){border-color:#d7d7c23a;background:#101a15;color:#f0ecdc}
dialog:not(.beads-experience):not(.breathing-dialog) input::placeholder{color:#b9c0aea0}
dialog:not(.beads-experience):not(.breathing-dialog) input[type=range]{accent-color:#d8c58d}
.seat-dialog .seat-altar{border-color:#d8d7c222;color:#d7c58f}.seat-dialog .seat-choice{border-color:#65745b;background:#2a382f;color:#e2e2d1;box-shadow:0 3px #18221d}.seat-dialog .seat-choice:hover{background:#384737;color:#fff0c6}.seat-dialog .seat-choice.occupied{border-color:#685b4b;background:#3b342b;color:#c8b69a;box-shadow:0 3px #251f1a}.seat-dialog .seat-choice.mine{border-color:#a9b991;background:#607451;color:#fff;box-shadow:0 3px #415435}.seat-dialog .seat-legend,.seat-dialog .seat-feedback{color:#c8cfbc}
.people-list li{border-color:#d8d7c222}.people-list strong{color:#ede9da}.people-list small{color:#bec5b3}
@keyframes hud-live{0%,100%{opacity:.75;box-shadow:0 0 5px #b9db8c55}50%{opacity:1;box-shadow:0 0 12px #b9db8ccc}}
@media(max-width:650px){.topbar{border-radius:17px;background:linear-gradient(130deg,#18221df2,#283029e8 58%,#1a241ff2);box-shadow:0 9px 28px #07100c5c,inset 0 1px #fff1}.practice-bar{padding:4px 5px;border-radius:19px}.practice{min-width:59px;padding:9px 7px 7px}.practice>span:first-child svg{width:24px;height:24px}.practice kbd{display:none}.seat-button{min-width:68px;height:78px;padding:8px 6px;border-radius:16px}.seat-button>span:nth-child(2){font-size:7px}.breathe-button{min-width:62px;height:78px;padding:11px 8px;border-radius:16px}.breathe-button span:last-child{font-size:7px}.navigation-hint{padding:7px 9px;border-radius:20px}.session-card{bottom:172px}.presence{padding:7px 9px}.bell-control{padding:6px 7px 6px 10px}.bell-control button{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none!important}.topbar,.practice-bar,.session-card,.room-button,.presence,.seat-button,.breathe-button,.bell-control button{transition:none!important}}
.onboarding-dialog{width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:32px 34px;text-align:center}
.onboarding-dialog .onboarding-lotus{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 20px;border:1px solid #d9c68b42;border-radius:50%;color:#dbc990;background:#d9c68b0c}
.onboarding-lotus svg{width:25px;height:25px;stroke-width:1.2}
.onboarding-dialog>.eyebrow{font-size:7px;letter-spacing:1.5px}
.onboarding-dialog h2{font:400 28px/1.35 'Lora',serif;margin:12px 0 8px;letter-spacing:-.3px}
.onboarding-dialog h2 em{font-weight:400;color:#ddcf9f}
.onboarding-dialog>p{font-size:10px;margin:0 0 18px}
.onboarding-dialog>label,.choice-label{display:block;text-align:left;font-size:10px;margin:18px 0 8px}
.onboarding-dialog input[type=text]{height:43px;border:1px solid #d7d7c23a;background:#101a15;color:#f0ecdc}
.character-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.character-choice{min-width:0;min-height:102px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 5px;border:1px solid #d8d7c22b;border-radius:13px;background:#101a1566;color:#e5e4d5}
.character-choice:hover{background:#d9c68b12;color:#fff0c4}
.character-choice.selected{border-color:#ddcc8a99;background:linear-gradient(150deg,#cfbd7724,#9aaa8414);box-shadow:inset 0 0 0 1px #d7c58d20,0 0 15px #d7c58d0a}
.character-choice strong{font-size:9px;font-weight:500}
.character-choice small{font-size:8px;color:#c2c7b5aa}
.character-swatch{position:relative;width:44px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:0;border-radius:17px 17px 12px 12px;background:linear-gradient(155deg,#fff1,#fff0 48%,#0002);box-shadow:inset 0 1px #fff3;overflow:hidden}
.character-swatch::before{content:'';position:absolute;top:5px;width:17px;height:17px;border-radius:50%;background:linear-gradient(145deg,#dfb188,#aa7553);box-shadow:0 0 0 2px #dfc18c35}
.character-swatch i{position:absolute;bottom:-5px;width:34px;height:30px;border-radius:17px 17px 8px 8px;box-shadow:inset 0 2px #ffffff25}
.swatch-lam{background-color:#426682}.swatch-lam i{background:linear-gradient(130deg,#7199ba,#416585)}
.swatch-nau{background-color:#77756d}.swatch-nau i{background:linear-gradient(130deg,#c1c0b9,#838178)}
.swatch-vang{background-color:#76502e}.swatch-vang i{background:linear-gradient(130deg,#ce9a5a,#91643a)}
.onboarding-dialog #finish-onboarding{display:flex;align-items:center;justify-content:center;gap:10px;margin:19px 0 0;padding:13px}
.onboarding-dialog #finish-onboarding svg{width:16px;height:16px}
.onboarding-save-note{display:block;margin:12px auto 0;max-width:295px;color:#c4c9b69e;font-size:8px;line-height:1.7}
#settings-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}
.settings-choice-label{margin-top:20px!important}
.settings-characters .character-choice{min-height:76px}
.settings-characters .character-swatch{width:36px;height:39px;border-radius:13px}
.settings-characters .character-swatch::before{top:4px;width:14px;height:14px}
.settings-characters .character-swatch i{width:28px;height:22px}
@media(max-width:650px){.onboarding-dialog{padding:25px 22px}.onboarding-dialog .onboarding-lotus{width:42px;height:42px;margin-bottom:15px}.onboarding-dialog h2{font-size:25px}.character-choice{min-height:94px;padding:7px 3px}.character-swatch{width:40px;height:46px}.settings-characters .character-choice{min-height:70px}}
.breath-rhythm-values{justify-content:center;gap:9px!important}
.breath-adjust-group{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.breath-adjust-group button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid #e4e8d944;border-radius:50%;background:#e6ebd812;color:#e9eddc;font-size:14px;line-height:1}
.breath-adjust-group button:hover:not(:disabled){background:#dce3c738;border-color:#dce3c780;color:#fff6d9}
.breath-adjust-group button:disabled{opacity:.35;cursor:default}
.breath-adjust-group b{min-width:16px;text-align:center;font-size:24px}
.breath-adjust-group small{color:#d3d9c1aa;font-size:8px;letter-spacing:0}
.breath-rhythm-values>i{color:#d3d9c1aa;font-style:normal}
.breath-stage::before,.breath-stage::after{transition:transform var(--phase-duration,4s) cubic-bezier(.24,.7,.24,1),opacity var(--phase-duration,4s) ease,border-color var(--phase-duration,4s) ease}
.breath-stage[data-phase="inhale"]::before{transform:scale(1.08);opacity:.78;border-color:#e1e6d36c}
.breath-stage[data-phase="inhale"]::after{transform:scale(1.18);opacity:.9;border-color:#e1e6d35c}
.breath-stage[data-phase="exhale"]::before{transform:scale(.94);opacity:.46}
.breath-stage[data-phase="exhale"]::after{transform:scale(.82);opacity:.3}
.breath-stage[data-phase="inhale"] .breath-center{transition-timing-function:cubic-bezier(.2,.75,.25,1)}
.breath-stage[data-phase="exhale"] .breath-center{transition-timing-function:cubic-bezier(.45,0,.75,.42)}
.breath-stage[data-phase="inhale"] .breath-orbit-dot::before{transform:translateY(-12px) scale(1.22);opacity:1}
.breath-stage[data-phase="exhale"] .breath-orbit-dot::before{transform:translateY(9px) scale(.72);opacity:.58}
.breath-orbit-dot{animation:none!important}
.breath-orbit-dot::before{transition:transform var(--phase-duration,4s) cubic-bezier(.24,.7,.24,1),opacity var(--phase-duration,4s) ease}
.breath-stage.still::before,.breath-stage.still::after{transform:none!important;opacity:.5!important}
.breath-stage.still .breath-orbit-dot::before{transform:none!important}
@media(max-width:650px){.breath-rhythm-card{display:block;text-align:center}.breath-rhythm-card>span{font-size:5.5px;letter-spacing:.8px}.breath-rhythm-card>div{justify-content:center;margin:8px 0 0;gap:6px!important}.breath-adjust-group{gap:4px}.breath-adjust-group button{width:21px;height:21px;font-size:12px}.breath-adjust-group b{font-size:20px}.breath-adjust-group small{font-size:7px}.breath-stage[data-phase="inhale"]::after{transform:scale(1.1)}.breath-stage[data-phase="exhale"]::after{transform:scale(.88)}}
@media(prefers-reduced-motion:reduce){.breath-stage::before,.breath-stage::after,.breath-orbit-dot::before{transition:none!important}}
.people-list li{padding:0}.person-entry{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 8px;background:transparent;text-align:left;border-radius:10px}.person-entry:hover{background:#ffffff0b;color:#f4edda}.person-entry>span:first-child{display:grid;gap:5px}.person-entry>span:last-child svg{width:15px;height:15px;color:#bdc7a9}.person-entry small{color:#bec5b3;font-size:9px}.player-profile-dialog{width:min(460px,calc(100vw - 30px));padding:36px 34px}.player-profile-heading{display:flex;align-items:center;gap:17px;margin:8px 0 20px}.player-profile-avatar{width:68px;height:68px;flex:0 0 68px;display:grid;place-items:center;border:1px solid #e5d6a04c;border-radius:50%;background:linear-gradient(145deg,#657b58,#354a3b);color:#ecdfaf;box-shadow:inset 0 1px #ffffff30,0 8px 25px #0003}.player-profile-avatar[data-character="nau"]{background:linear-gradient(145deg,#866a50,#493d34)}.player-profile-avatar[data-character="vang"]{background:linear-gradient(145deg,#9c844e,#57513b)}.player-profile-avatar svg{width:32px;height:32px;stroke-width:1.1}.player-profile-heading .eyebrow{font-size:7px}.player-profile-heading h2{margin:4px 0 1px;font-size:23px}.player-profile-heading small{font-size:9px;color:#c1c9b6}.player-current{margin:0 0 18px;padding:10px 12px;border:1px solid #d8d7c222;border-radius:10px;background:#ffffff08;color:#dedecb;font-size:10px}.player-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:22px}.player-stats>div{display:grid;gap:6px;min-height:75px;padding:14px;border:1px solid #d8d7c21c;border-radius:12px;background:linear-gradient(145deg,#ffffff0a,#ffffff04)}.player-stats strong{color:#e4d39c;font:500 19px 'Lora',serif;font-variant-numeric:tabular-nums}.player-stats small{font-size:8px;color:#c1c9b6}.player-achievement-title{display:block;margin-bottom:10px}.player-achievements{display:flex;flex-wrap:wrap;gap:7px;min-height:28px}.player-achievements span{padding:7px 10px;border:1px solid #d5c4883d;border-radius:20px;background:#d5c48812;color:#e4d39c;font-size:8px}.player-privacy{margin:18px 0 0;font-size:8px!important;line-height:1.7}

/* Room leaderboard */
.leaderboard-dialog{width:min(500px,calc(100vw - 30px));max-height:calc(100dvh - 30px);overflow:auto;padding:36px 34px 28px}
.leaderboard-dialog h2{margin:9px 0 6px;font:500 27px 'Lora',serif;letter-spacing:-.5px}
.leaderboard-dialog>p:not(.privacy-note):not(.leaderboard-empty){margin:0;color:#c9cfbd;font-size:10px;line-height:1.7}
.leaderboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:20px 0 13px;padding:4px;border:1px solid #d8d7c220;border-radius:14px;background:#080f0b45}
.leaderboard-tabs button{min-height:36px;padding:8px 6px;border:1px solid transparent;border-radius:10px;background:transparent;color:#c6ccb9;font-size:9px;white-space:nowrap}
.leaderboard-tabs button:hover{background:#ffffff0d;color:#f3eddb}.leaderboard-tabs button.selected{border-color:#e0d09a45;background:linear-gradient(145deg,#6f8062,#53684d);color:#fff2cb;box-shadow:0 4px 13px #03080636}
.leaderboard-list{display:grid;gap:7px;list-style:none;padding:0;margin:0;max-height:min(44dvh,390px);overflow:auto;overscroll-behavior:contain}
.leaderboard-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:62px;padding:9px 12px;border:1px solid #d8d7c21c;border-radius:13px;background:linear-gradient(110deg,#ffffff09,#ffffff03);}
.leaderboard-row.is-self{border-color:#ddc67a68;background:linear-gradient(110deg,#d8bf6f1c,#ffffff05);box-shadow:inset 3px 0 #ddc67a}
.leaderboard-rank{display:grid;place-items:center;width:31px;height:31px;border:1px solid #d8d7c222;border-radius:10px;color:#c2c9b9;font:500 12px 'Lora',serif}
.leaderboard-rank.rank-1{border-color:#d8bd6d66;background:#d5b95520;color:#f0d58a}.leaderboard-rank.rank-2{border-color:#c2c8c155;color:#d8dfd5}.leaderboard-rank.rank-3{border-color:#bd8b6955;color:#dbb198}
.leaderboard-person{display:grid;gap:4px;min-width:0}.leaderboard-person strong{overflow:hidden;color:#eee9d9;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.leaderboard-person small{overflow:hidden;color:#bbc3b1;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.leaderboard-score{max-width:104px;color:#e4d39c;font:500 12px 'Lora',serif;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.leaderboard-empty{margin:8px 0;padding:22px 16px;border:1px dashed #d8d7c22c;border-radius:13px;color:#c5cbb9;font-size:10px;line-height:1.8;text-align:center}
.leaderboard-dialog .privacy-note{margin:15px 0 0;font-size:8px;line-height:1.7}
body.hud-collapsed .interface .place-control,body.hud-collapsed .interface .presence,body.hud-collapsed .interface .garden-button,body.hud-collapsed .interface .welcome,body.hud-collapsed .interface .session-card,body.hud-collapsed .interface .navigation-hint,body.hud-collapsed .interface .bell-control,body.hud-collapsed .interface .avatar-label{opacity:0;visibility:hidden;pointer-events:none!important}
body.hud-collapsed .topbar #toggle-hud{background:#dce4cf;color:#405b45}
@media(max-width:650px){.leaderboard-dialog{padding:33px 22px 23px}.leaderboard-dialog h2{font-size:23px}.leaderboard-tabs{margin:16px 0 11px}.leaderboard-tabs button{font-size:8px}.leaderboard-list{max-height:42dvh}.leaderboard-row{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:8px}.leaderboard-rank{width:28px;height:28px}.leaderboard-score{max-width:86px;font-size:10px}.leaderboard-person strong{font-size:9px}.leaderboard-person small{font-size:7px}}
