:root{font-family:var(--font-ui);color:#fff}*{box-sizing:border-box}body{margin:0;background:#303f32;overflow:hidden}#world,.shade{position:fixed;inset:0}canvas{display:block}.shade{pointer-events:none;background:linear-gradient(90deg,rgba(19,35,27,.78),rgba(24,37,27,.22) 55%,rgba(20,30,25,.12)),linear-gradient(0deg,rgba(19,31,25,.65),transparent 25%,rgba(18,30,24,.26))}header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 5%;border-bottom:1px solid #ffffff30}.brand{display:flex;gap:12px;align-items:center}.mark{font-size:34px;color:#e9c98a}.brand strong{display:block;letter-spacing:.18em;font-size:13px}.brand small{display:block;letter-spacing:.18em;font-size:8px;margin-top:5px;color:#e1daca}.top{display:flex;align-items:center;gap:14px}.live,.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700}.live{color:#d9e7d2}button{font:inherit;cursor:pointer}.top button,.side button{background:#ffffff16;border:1px solid #ffffff55;color:white;border-radius:4px;padding:12px 16px;font-size:11px}main{position:absolute;left:8%;top:24%;max-width:530px}.eyebrow{color:#e3c796}.eyebrow span{color:#ffffff90;margin-left:25px}h1{font:500 clamp(56px,6.6vw,100px)/.98 var(--font-display);letter-spacing:-.04em;margin:30px 0 23px}h1 em{color:#e7c98f;font-weight:500}main p{font-size:14px;line-height:2;color:#e9e8db}.actions{display:flex;align-items:center;gap:13px;margin-top:32px}.primary{background:#e3c58d;color:#293a2c;border:0;padding:17px 22px;font-size:12px;font-weight:700}.primary span{margin-left:30px}.round{border:1px solid #ffffff77;background:transparent;color:white;border-radius:50%;width:41px;height:41px}.hint{font-size:10px;color:#eee}.side{position:absolute;right:3%;top:28%;display:grid;gap:9px}.side button{width:74px;height:69px;font-size:23px;backdrop-filter:blur(5px)}.side small{display:block;font-size:9px;margin-top:5px}.bottom{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff40;padding:23px 5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em}.bottom b{padding:0 10px;color:#c9ab78}.bottom span{color:#dbc394}.dot{display:inline-block;background:#a8c78e;border-radius:50%;width:7px;height:7px;margin-right:8px}.controls{color:#e8cf9a}.controls span{color:#ffffffa0}.touch{display:none}dialog{border:1px solid #d7c4a1;background:#f4f1e7;color:#24392d;width:min(430px,90vw);padding:35px;border-radius:4px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#102117aa}.close{float:right;border:0;background:none;font-size:25px;color:#34463a}dialog h2{font:500 30px var(--font-display);margin:8px 0 14px}dialog p{font-size:13px;line-height:1.7;color:#526254}dialog input,dialog select{display:block;width:100%;padding:12px;margin:10px 0;border:1px solid #c7caba;background:#fff;font:inherit}dialog button.action{background:#334d3a;color:white;border:0;padding:12px 15px;margin:5px 5px 5px 0}dialog img{max-width:180px}#toast{position:absolute;bottom:85px;left:50%;transform:translateX(-50%);background:#243a2d;color:white;padding:12px;display:none;font-size:12px}@media(max-width:700px){header{padding:20px}.live{display:block;position:absolute;top:67px;left:20px;font-size:8px}.top{gap:5px}.top button{padding:10px;font-size:10px}.brand strong{font-size:10px}.brand small{font-size:7px}.mark{font-size:27px}main{left:7%;top:25%;right:15%}h1{font-size:56px}main p{font-size:12px}.side{right:2%;top:37%}.side button{width:54px;height:57px;font-size:18px}.side small{font-size:8px}.bottom{padding:15px 20px}.bottom>div:last-child,.controls{display:none}.touch{position:absolute;bottom:65px;right:20px;display:flex;gap:5px}.touch button{border:1px solid #fff8;background:#263e31a8;color:white;width:42px;height:42px;border-radius:50%;font-size:19px}.hint{display:none}}

#diagnostics:not([hidden]){position:absolute;bottom:76px;left:12px;z-index:5;background:#102117e8;color:#fff;padding:10px;font:11px/1.5 monospace;max-width:95vw;white-space:pre-wrap}

#toast,#diagnostics{pointer-events:none}
@media(max-width:700px){.side button{padding:4px 2px;line-height:1}.side small{font-size:7px;line-height:1.1;margin-top:3px}}

.side{top:18%;max-height:72%;overflow-y:auto}.side button{height:56px}.side small{line-height:1.1}@media(max-width:700px){.side{top:19%;max-height:59%;}.side button{height:48px}}

.side{scrollbar-width:none}.side::-webkit-scrollbar{display:none}

dialog input[type=checkbox]{display:inline-block;width:auto;margin:0 6px 0 0}

.fleetGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;max-height:50vh;overflow:auto}.fleetGrid span{font-size:10px;padding:6px;background:#e1e7da;color:#24392d}

.fleetGrid span::before{content:"▣";display:block;font-size:20px;line-height:1.1}.fleetGrid .fleetActive{background:#d6bd83;color:#302511}

#statueView:not([hidden]){position:absolute;bottom:110px;left:5%;z-index:4;border:1px solid #e1c997;background:#263e31e8;color:white;padding:10px 14px;border-radius:4px;font-size:12px}#statueView[aria-pressed="true"]{background:#e3c58d;color:#293a2c}

/* Compact utility panel on small screens, leaving the altar view unobstructed. */
#mobileMenu{display:none}
@media(max-width:700px){
 #mobileMenu{display:block;position:absolute;right:12px;top:94px;z-index:5;min-height:44px;padding:9px 12px;border:1px solid #ffffff77;border-radius:4px;background:#263e31e8;color:white;font-size:12px}
 .side{display:none;top:144px;right:12px;z-index:5;max-height:min(52vh,420px);padding:6px;background:#263e31ee;border-radius:4px}
 .side.mobile-open{display:grid}
 .side button{width:85px;min-height:44px}
}

/* Original warm interface inspired by a temple-at-sunset composition. */
:root{font-family:var(--font-ui);color:#fff8e7}
body{background:#372b22}
.shade{background:linear-gradient(90deg,rgba(42,23,13,.94) 0%,rgba(53,30,18,.86) 25%,rgba(56,35,22,.48) 42%,rgba(37,27,21,.06) 70%),linear-gradient(0deg,rgba(32,24,19,.62),transparent 23%,rgba(31,25,19,.2))}
body:has(main[style*="none"]) .shade{background:linear-gradient(0deg,rgba(27,24,20,.48),transparent 19%,rgba(28,23,19,.18))}
header{padding:24px 4%;border-color:#e4c58d45;background:linear-gradient(180deg,#20171188,transparent)}
.brand .mark{color:#e8c17b}.brand strong{color:#f4d59f}.brand small,.live{color:#f4e6ce}
.top button,.side button{background:#3e2b20c9;border-color:#e8c78c70;color:#fff8e7}
.top button:hover,.side button:hover,.top button:focus-visible,.side button:focus-visible{background:#755137;outline:2px solid #f2d49a;outline-offset:2px}
main{left:6%;top:23%;width:min(35%,440px);max-width:none}
.eyebrow{font-size:10px;color:#dfba78;letter-spacing:.2em}
h1{font:600 clamp(50px,5.2vw,78px)/1.2 var(--font-display);letter-spacing:-.035em;margin:24px 0 18px;color:#f6e5c7}
h1 em{font-style:normal;color:#edc27c}
.hero-rule{display:flex;align-items:center;gap:12px;color:#d9b679;font-size:12px;max-width:350px}.hero-rule::before,.hero-rule::after{content:"";height:1px;background:#b7925e;flex:1}
main p{font-size:15px;line-height:1.85;color:#f4e9d8;margin-top:20px;text-shadow:0 1px 3px #1d100c}
.primary{background:#eac58a;color:#382518;border-radius:3px;box-shadow:0 5px 18px #1d110c55}.primary:hover,.primary:focus-visible{background:#f5d9a7;outline:2px solid #fff1d7;outline-offset:3px}
.round{border-color:#e9c992;color:#fff4df}.hint{color:#f3dfc2}
.side{right:2%;top:17%;max-height:70%;gap:6px}.side button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:68px;min-height:52px;padding:4px 2px;line-height:1;backdrop-filter:none;font-size:19px}.side small{font-size:9px;line-height:1.1;margin-top:4px}
.bottom{border-color:#dfc18c55;background:linear-gradient(0deg,#201711a8,transparent);letter-spacing:.1em}.bottom span{color:#f0d39d}.dot{background:#dfbf83}
dialog{background:#f8f2e6;color:#3e2c20;border-color:#c8a87a;max-height:90dvh;overflow-y:auto}dialog h2{font-family:var(--font-display)}dialog p{color:#655543}dialog button.action{background:#62442e;color:#fff8ec;border-radius:3px}dialog button.action:disabled{opacity:.55;cursor:not-allowed}
#mobileMenu{background:#4a3021ed;border-color:#e8c78c99;color:#fff8e7}
@media(max-width:700px){
 .shade{background:linear-gradient(90deg,rgba(43,25,16,.9),rgba(47,30,20,.62) 53%,rgba(40,27,19,.2)),linear-gradient(0deg,#21170d66,transparent 30%)}
 body:has(main[style*="none"]) .shade{background:linear-gradient(0deg,#21170d88,transparent 26%,#21170d44)}
 header{padding:16px 14px}.top{gap:4px}.top button{padding:9px 7px}.live{left:14px;top:62px;max-width:calc(100% - 28px);line-height:1.4}
 main{left:7%;right:auto;top:25%;width:min(72%,320px)}h1{font-size:clamp(46px,11vw,64px);margin:18px 0 16px}main p{font-size:13px}.actions{margin-top:23px}.primary{padding:14px 15px}.primary span{margin-left:10px}
 #mobileMenu{top:92px}.side{background:#3b291fee}.side button{min-height:44px}.bottom{padding:14px}.touch{right:14px;bottom:64px}.touch button{background:#4b3021c9;border-color:#eed6aa99}
 dialog{padding:24px;width:min(430px,92vw)}
}
@media(max-height:520px){main{top:17%}h1{font-size:44px;margin:10px 0}.actions{margin-top:12px}.side{top:20%;max-height:65%}dialog{max-height:85dvh}}

#navigationWarning:not([hidden]){position:fixed;z-index:110;left:50%;top:100px;transform:translateX(-50%);width:min(90vw,640px);padding:12px 16px;background:#602a17;color:#fff6dd;border:1px solid #efc27e;border-radius:6px;text-align:center;font-size:14px;box-shadow:0 3px 12px #0008}

#shrineTeaching:not([hidden]){position:absolute;bottom:160px;left:5%;z-index:4;border:1px solid #e1c997;background:#263e31e8;color:white;padding:10px 14px;border-radius:4px;font-size:12px}

#bowButton:not([hidden]){position:absolute;bottom:210px;left:5%;z-index:4;border:1px solid #e1c997;background:#263e31e8;color:white;padding:10px 18px;border-radius:4px;font-size:12px}

#faceView:not([hidden]){position:absolute;bottom:260px;left:5%;z-index:4;border:1px solid #e1c997;background:#263e31e8;color:white;padding:10px 14px;border-radius:4px;font-size:12px;min-height:44px}

/* Responsive campus map stays inside the existing scrollable dialog. */
#campusMap svg{display:block;width:100%;max-height:40dvh;margin:10px auto}.campus-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campus-destinations .action{margin:0;white-space:normal;line-height:1.3;min-height:44px}#campusSeats .action{margin:4px}.side{max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}

@media(max-width:700px){.side{max-height:min(52dvh,420px)}}

#arhatInfo:not([hidden]){position:absolute;bottom:110px;left:5%;z-index:4;min-height:44px;max-width:55vw;padding:10px 14px;background:#493322ec;color:#ffe2a6;border:1px solid #d7b274;border-radius:5px;font-size:12px}.arhat-reader{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:14px;align-items:start}.arhat-reader img{width:100%;max-width:240px;max-height:55dvh;object-fit:contain;border:4px solid #ad8650}.arhat-pages{display:flex;align-items:center;justify-content:space-between;gap:5px}#arhatCounter{white-space:nowrap;font-size:12px}@media(max-width:700px){.arhat-reader{grid-template-columns:1fr}.arhat-reader img{justify-self:center;max-height:37dvh}.arhat-pages .action{font-size:12px;padding:10px}}
#prayerStatus{position:fixed;left:50%;bottom:130px;transform:translateX(-50%);max-width:min(480px,55vw);padding:8px 12px;color:#fff1c6;background:#23382de8;border-radius:8px;font-size:13px;pointer-events:none;z-index:3}#prayerStatus[hidden]{display:none}@media(max-width:600px){#prayerStatus{bottom:120px;max-width:55vw;font-size:12px}}
#bellPrompt:not([hidden]){position:absolute;bottom:310px;left:5%;z-index:4;min-height:44px;max-width:60vw;padding:11px 16px;border:1px solid #e4c27a;border-radius:6px;background:#493322ed;color:#ffe5a4;font-size:13px}#bellPrompt[hidden]{display:none}@media(max-height:550px){#bellPrompt:not([hidden]){left:50%;bottom:115px;transform:translateX(-50%)}}
#chatPrompt:not([hidden]){position:absolute;left:5%;bottom:360px;z-index:4;min-height:44px;max-width:65vw;padding:11px 16px;border:1px solid #e4c27a;border-radius:6px;background:#293f34ed;color:#fff1c5;font-size:13px}#chatPrompt[hidden]{display:none}.chat-log{height:min(35dvh,280px);min-height:120px;overflow:auto;background:#e8e2d2;border:1px solid #c4b18d;border-radius:8px;padding:10px}.chat-log article{background:#fffaf0;border-radius:8px;padding:8px 10px;margin:0 0 9px;max-width:92%;overflow-wrap:anywhere}.chat-log .chat-mine{margin-left:auto;background:#dce9da}.chat-log p{white-space:pre-wrap;margin:5px 0;line-height:1.45}.chat-log small{font-size:11px}.chat-help{font-size:12px!important;line-height:1.5!important}#chatDraft{display:block;width:100%;margin:8px 0;padding:10px;border:1px solid #bba57d;border-radius:5px;font:inherit;resize:vertical;min-height:70px}.chat-contact{display:block;width:100%;min-height:44px;text-align:left;overflow-wrap:anywhere}#chatSend:disabled,#chatDraft:disabled{opacity:.65;cursor:default}@media(max-height:550px){#chatPrompt:not([hidden]){left:50%;bottom:170px;transform:translateX(-50%)}.chat-log{height:110px;min-height:80px}#chatDraft{min-height:50px}}@media(max-width:600px){.chat-log{height:28dvh}.chat-log article{max-width:98%}}

/* Original compact toolbar. Existing button IDs and actions are retained. */
#mobileMenu{display:block;position:fixed;z-index:5;left:16px;right:auto;top:auto;bottom:122px;min-height:44px;padding:10px 14px;border:1px solid #d9b373;border-radius:12px;background:#38291fef;color:#ffe1a2;font-size:12px}
.side{display:none;position:fixed;left:50%;right:auto;top:auto;bottom:48px;transform:translateX(-50%);max-width:calc(100vw - 36px);max-height:80px;padding:5px;gap:5px;border:1px solid #b88e4f99;border-radius:16px;background:#2c221bf0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior:contain;z-index:5}
.side.mobile-open{display:flex}.side button{flex:0 0 78px;width:78px;height:61px;padding:6px 3px;border-radius:11px;border-color:#ab874e66;background:#4c3927;color:#f3d38d;font-size:21px;backdrop-filter:none}.side button:hover,.side button:focus-visible{background:#76532d;outline:2px solid #f3d38d;outline-offset:-2px}.side small{font-size:10px;line-height:1.2;letter-spacing:0;margin-top:4px}.bottom{padding-top:16px;padding-bottom:16px}
dialog:has(#communityFeed),dialog:has(#communityProfile){width:min(660px,94vw);border-radius:18px;padding:25px;max-height:90dvh;overflow-y:auto}
.community-heading .eyebrow{color:#8b6239;font-size:10px}.community-heading h2{margin-top:7px}.community-tabs{display:flex;gap:6px;padding:5px;background:#e9dfcd;border-radius:12px}.community-tabs button{flex:1;border:0;min-height:44px;border-radius:8px;background:transparent;color:#63482d;padding:8px;font-size:13px}.community-tabs button[aria-pressed=true]{background:#69462b;color:#fff3d7;box-shadow:0 2px 6px #5b3e3022}.community-notice{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0;color:#785f45}.community-notice input{display:inline-block;width:20px;height:20px;margin:0;accent-color:#765735}
.community-feed{height:min(38dvh,360px);min-height:110px;overflow:auto;padding:10px;border:1px solid #d1bd9b;border-radius:12px;background:#eee5d6;overscroll-behavior:contain}.community-feed article{background:#fffaf0;border:1px solid #d8c9b0;border-radius:12px;padding:10px 12px;margin-bottom:9px;overflow-wrap:anywhere}.community-feed article.community-own{border-left:3px solid #8e704b}.community-feed article p{white-space:pre-wrap;line-height:1.6;margin:8px 0;color:#3e382c}.community-feed time{display:block;color:#8a775e;font-size:10px;margin-top:3px}.community-small{border:1px solid #bba57c;border-radius:8px;padding:9px 11px;min-height:44px;color:#5d452e;background:#f9f0df;font-size:12px;overflow-wrap:anywhere;white-space:normal;text-align:left}.community-feed>.community-small{display:block;width:100%;margin-bottom:7px}.community-author{padding:0;min-height:32px;border:0;background:transparent;font-weight:700;text-decoration:underline;text-underline-offset:3px}.community-row-actions{display:flex;flex-wrap:wrap;gap:6px}.community-small:disabled{opacity:.6;cursor:default}.community-small:focus-visible,.community-tabs button:focus-visible{outline:2px solid #76532d;outline-offset:2px}
#communityComposer{margin-top:14px}#communityComposer[hidden]{display:none}#communityDraft,#profileBio{display:block;width:100%;border:1px solid #b9a482;border-radius:9px;padding:10px;margin:8px 0;min-height:70px;max-height:160px;resize:vertical;font:inherit;background:#fffdf7;color:#3c3127}#communityDraft:disabled{opacity:.65}.community-compose-actions{display:flex;flex-wrap:wrap;gap:7px}.community-compose-actions button.action{margin:0;border-radius:8px}#communityStatus{font-size:12px;line-height:1.5;overflow-wrap:anywhere}#communityProfile h3{font-size:22px;overflow-wrap:anywhere}#communityProfile .community-small{margin:8px 6px 0 0}
@media(max-width:700px){#mobileMenu{left:auto;right:12px;bottom:auto;top:94px}.side{left:auto;right:12px;top:145px;bottom:auto;transform:none;width:min(285px,calc(100vw - 24px));max-height:55dvh;max-width:none;overflow-x:hidden;overflow-y:auto}.side.mobile-open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.side button{width:100%;height:58px;min-width:0}.side small{font-size:9px}.community-tabs button{font-size:12px;padding:7px 4px}.community-feed{height:29dvh}.community-heading h2{font-size:26px}dialog:has(#communityFeed),dialog:has(#communityProfile){padding:18px}.community-notice{font-size:11px}.community-row-actions .community-small{padding:8px}.community-compose-actions .action{min-height:44px}.community-heading .eyebrow{font-size:9px}}
@media(max-height:550px){.community-feed{height:100px;min-height:80px}#mobileMenu{bottom:105px}dialog:has(#communityFeed){max-height:94dvh}.community-heading h2{font-size:24px}.community-heading .eyebrow{display:none}.community-notice{margin:6px 0}}
#toast{z-index:20;bottom:145px;max-width:min(480px,85vw);border:1px solid #b9945e;border-radius:10px;line-height:1.5;text-align:center}
.community-author{min-height:44px}dialog:has(#communityFeed)>.close,dialog:has(#communityProfile)>.close{min-width:44px;min-height:44px}
@media(max-width:700px) and (max-height:550px){#mobileMenu{top:82px;bottom:auto}.side{top:132px;max-height:calc(100dvh - 180px)}}
.mission-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:20px}.mission-card{border:1px solid #d1bd9b;background:#fffaf1;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:9px}.mission-card strong{font-size:13px;line-height:1.5}.mission-card small{font-size:11px;color:#7b6548;line-height:1.4}.mission-card button{align-self:start}.mission-done{background:#e9eee2;border-color:#a7b39b}.discovery-level{font-size:32px!important;color:#805523!important;margin-bottom:8px}#discoveryBody progress{display:block;width:100%;height:18px;accent-color:#a37432}.discovery-levels{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-left:24px;font-size:13px;line-height:1.6}.ranking-list{list-style:none;padding:0;display:grid;gap:8px}.ranking-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffaf1;border:1px solid #d1bd9b;border-radius:10px;padding:12px;font-size:13px}.ranking-list strong{overflow-wrap:anywhere}.ranking-list span{white-space:nowrap;color:#805523}#discoveryStatus{font-size:12px;line-height:1.5;overflow-wrap:anywhere}dialog:has(#discoveryBody){width:min(660px,94vw);max-height:90dvh;overflow:auto;padding:25px;border-radius:18px}dialog:has(#discoveryBody)>.close{min-height:44px;min-width:44px}#discoveryBody .community-small[aria-pressed=true]{background:#69462b;color:#fff3d7}
@media(max-width:700px){dialog:has(#discoveryBody){padding:18px}.mission-cards{grid-template-columns:1fr}.discovery-levels{grid-template-columns:1fr}.ranking-list li{align-items:flex-start}.mission-card button{min-height:44px}}
dialog:has(#practiceBody){width:min(660px,94vw);max-height:90dvh;overflow:auto;padding:25px;border-radius:18px}dialog:has(#practiceBody)>.close{min-width:44px;min-height:44px}#practiceBody>.community-small{margin:6px 6px 0 0}.practice-active{border-left:3px solid #8a7449;background:#e9edde;padding:12px}.practice-seats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.bead-counter{font-size:38px!important;color:#78572e!important;text-align:center;font-variant-numeric:tabular-nums;margin:15px}#practiceClock{font-size:20px;font-variant-numeric:tabular-nums;color:#78572e}#practiceStatus{font-size:12px;line-height:1.5;overflow-wrap:anywhere}#practiceBody .community-small:disabled{opacity:.5}#practiceBody select{min-height:44px}@media(max-width:700px){dialog:has(#practiceBody){padding:18px}.practice-seats{grid-template-columns:1fr}}
