:root{color:#f6f0e6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#140e0c;font-family:Georgia,Iowan Old Style,Palatino,Palatino Linotype,serif;line-height:1.45}*{box-sizing:border-box}body,html,#root{min-height:100%;margin:0}button,input,textarea,a{font-family:system-ui,sans-serif}button,input,textarea{color:inherit}:focus-visible{outline-offset:2px;outline:2px solid #e0c17a}.page{background:radial-gradient(at top,#e0c17a2e,#0000 42%),#1a120e;min-height:100dvh}.wrap{width:min(920px,100% - 32px);margin:0 auto;padding:48px 0 64px}.mast h1{letter-spacing:-.03em;margin:0;font-size:clamp(40px,6vw,64px);font-weight:600}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#e0c17a;margin:0 0 8px;font-family:system-ui,sans-serif;font-size:12px}.lead,.muted{color:#e6d8c6}.enter,.sheet,.card,.brand,.dock,.hud-links a{font-family:system-ui,sans-serif}.enter{gap:14px;margin-top:28px;display:grid}label,legend{font-family:system-ui,sans-serif;font-size:14px}fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}input,textarea{background:#f6f0e60f;border:1px solid #f6f0e62e;border-radius:12px;width:100%;padding:12px 14px;font-size:16px}.church-grid,.admin-layout{gap:12px;display:grid}.church-grid{grid-template-columns:repeat(3,1fr)}.admin-layout{grid-template-columns:240px 1fr;align-items:start}.card{text-align:left;cursor:pointer;background:#f6f0e60a;border:1px solid #f6f0e624;border-radius:18px;gap:8px;padding:16px;display:grid}.card strong{font-size:18px}.card span,.card em{color:#e6d8c6;font-style:normal}.card.selected{border-color:#e0c17a;box-shadow:inset 0 0 0 1px #e0c17a}.swatches{gap:6px;display:flex}.swatches i{border-radius:50%;width:18px;height:18px;display:block}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stack{gap:10px;display:grid}.primary,.ghost,.chip,.dock button,.amounts button,.hymn-list button,.pad button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:10px 16px}.primary{color:#1a120e;background:#e0c17a;font-weight:650}.primary:disabled,.ghost:disabled{opacity:.45;cursor:not-allowed}.ghost,.chip,.amounts button,.hymn-list button,.pad button{border-color:#f6f0e633}.ghost[aria-pressed=true],.amounts button[aria-pressed=true],.dock button[aria-pressed=true]{color:#1a120e;background:#e0c17a;border-color:#e0c17a}a.ghost{color:#f6f0e6;font-size:14px;text-decoration:none}.text-link,.hud-links a{color:#e0c17a;text-decoration:none}.stage{background:#140e0c;height:100dvh;position:relative;overflow:hidden}.scene{position:absolute;inset:0}.scene>div{height:100%}.overlay{pointer-events:none;z-index:2;position:absolute;inset:0}.topbar,.dock,.sheet,.veil,.chat,.sit{pointer-events:auto}.topbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:14px;left:14px;right:14px}.brand,.hud-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#140e0cb8;border:1px solid #f6f0e61f;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;display:flex}.brand{flex-wrap:wrap}.hud-boxes{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.hud-box{min-width:190px;max-width:min(420px,100vw - 120px);position:relative}.hud-box:has(>.box-toggle[aria-expanded=true]){width:min(420px,100vw - 120px)}.box-toggle{color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:15px;font-weight:700;display:inline-flex}.box-toggle:after{content:"▾";opacity:.75;font-size:12px}.box-toggle[aria-expanded=true]:after{content:"▴"}.missions-toggle .count{color:#1c130d;text-align:center;background:#f2d27a;border-radius:999px;min-width:1.4em;padding:0 5px;font-size:12px}.overlay:not(.show-info) #hud-server>:not(.box-toggle),.overlay:not(.show-player) #hud-player>:not(.box-toggle),.overlay:not(.show-missions) #hud-missions>:not(.box-toggle){display:none}.mission-list{width:100%;margin-top:6px;font-size:14px}.player-details{width:100%;font-size:14px}.player-details p{margin:4px 0}.player-details progress{vertical-align:middle;width:6rem;height:.5rem}.mission-list ul{gap:12px;margin:0 0 8px;padding:0;list-style:none;display:grid}.mission-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.mission-list p{margin:2px 0 0}.mission-list button{flex:none}.state{color:#f0c9a0;font-weight:700}.state.on{color:#d8ecc8}.brand strong{font-family:Georgia,serif;font-size:18px}.present{color:#e6d8c6;font-size:14px}.pill{background:#f6f0e614;border-radius:999px;padding:2px 8px;font-size:12px}.pill.feast{color:#fff8ee;background:#7d2e2e}.pill-button{color:inherit;cursor:pointer;border:0;font-family:inherit}.pill progress{vertical-align:middle;width:4rem;height:.5rem}.pill.done{color:#d8ecc8;background:#d8ecc829}.pill.leaving{animation:.32s ease-in forwards pill-away}@keyframes pill-away{to{opacity:0;transform:translate(-24px)}}@media (prefers-reduced-motion:reduce){.pill.leaving{animation-duration:1ms}}.pill-menu{display:inline-flex;position:relative}.pill-drop{z-index:4;background:#140e0ceb;border:1px solid #f6f0e624;border-radius:12px;width:max-content;max-width:min(320px,100vw - 32px);padding:10px 12px;font-size:13px;position:absolute;top:calc(100% + 8px);left:0}.pill-drop p{margin:0 0 4px}.pill-drop p:last-child{margin-bottom:0}.stat-bars{gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.stat-bars li{grid-template-columns:7.5rem minmax(3rem,1fr) auto;align-items:center;gap:8px;display:grid}.stat-bars progress{width:100%;height:.5rem}.visit{margin-bottom:20px}.fireworks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.celebrate>:not(.fireworks){position:relative}.visit h2,.visit p{margin:0}.pill-drop ul{margin:6px 0 0}.hud-links{gap:14px}.dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#140e0cc7;border:1px solid #f6f0e624;border-radius:999px;gap:6px;padding:6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.dock button{min-width:76px}.chat{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#140e0cc7;border:1px solid #f6f0e624;border-radius:999px;gap:6px;width:min(420px,100vw - 16px);padding:5px;font-family:system-ui,sans-serif;display:flex;position:absolute;bottom:76px;left:50%;transform:translate(-50%)}.chat input{color:#fff;background:0 0;border:0;border-radius:999px;flex:1;width:auto;min-width:0;padding:6px 12px}.chat button{padding:6px 16px}.sit{font-family:system-ui,sans-serif;position:absolute;bottom:128px;left:50%;transform:translate(-50%)}.sit:disabled{opacity:1;color:#f6f0e6;background:#140e0ce0;font-weight:500}.spot-tip{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#140e0ce0;border:1px solid #f6f0e624;border-radius:18px;justify-items:center;gap:8px;width:min(340px,100% - 24px);padding:12px 16px;display:grid}.spot-tip p{margin:0}.votive-map{gap:10px;display:grid}.votive-tier{grid-template-columns:64px repeat(7,1fr);align-items:center;gap:6px;display:grid}.votive-tier>span{font-size:.85rem}.votive-spot{aspect-ratio:1/1.4;cursor:pointer;background:#f6f0e60f;border:1px solid #f6f0e640;border-radius:8px;place-items:end center;min-width:0;padding:0;display:grid}.votive-spot:before{content:"";background:#efe6d6;border-radius:3px 3px 2px 2px;width:34%;height:46%;margin-bottom:14%}.votive-spot.lit{background:#f2d27a29;border-color:#f2d27a}.votive-spot.lit.mine{background:#f2d27a4d;border-width:2px}.votive-cell{gap:4px;min-width:0;display:grid;position:relative}.votive-bar{background:#f6f0e626;border-radius:2px;height:4px;overflow:hidden}.votive-bar>span{border-radius:inherit;background:#f2d27a;height:100%;transition:width 1s linear;display:block}.votive-bar.low>span{background:#ff8a4a}.votive-tip{z-index:1;color:#f6f0e6;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#2a2420;border:1px solid #f2d27a;border-radius:6px;max-width:180px;padding:3px 8px;font-size:.75rem;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%)}.votive-cell:nth-child(n+7) .votive-tip{left:auto;right:0;transform:none}.votive-cell:nth-child(n+7) .votive-tip:after{left:auto;right:10px}.votive-tip:after{content:"";border:5px solid #0000;border-top-color:#f2d27a;margin-left:-5px;position:absolute;top:100%;left:50%}.votive-spot.lit:after{content:"";position:absolute}.votive-spot.lit:before{box-shadow:0 -10px 0 -3px #ffb347,0 -12px 10px -2px #ffa03cb3}.votive-spot[aria-pressed=true]{outline-offset:2px;background:#f2d27a1a;outline:2px solid #f2d27a}.walk{pointer-events:none;justify-items:center;gap:6px;display:grid;position:absolute;bottom:136px;left:16px}.walk-extra{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;bottom:88px;left:16px}.toast{color:#ffe7b0;pointer-events:none;z-index:5;background:#140e0ce0;border:1px solid #e0c17a59;border-radius:999px;margin:0;padding:8px 14px;font-family:system-ui,sans-serif;font-size:14px;position:absolute;top:78px;left:50%;transform:translate(-50%)}.walk p{color:#ffe7b0;background:#140e0cb8;border-radius:999px;margin:0;padding:2px 8px;font-family:system-ui,sans-serif;font-size:12px}.stick{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#140e0c80;border:1px solid #f6f0e647;border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}@media not (pointer:coarse){.stick{display:none}}.stick span{pointer-events:none;background:#e0c17ae0;border-radius:50%;width:48px;height:48px;box-shadow:0 2px 10px #00000073}.hud-menu{display:contents}.menu-toggle,.activity-toggle{pointer-events:auto;display:none}.info-toggle strong{font-size:inherit}.sheet{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#140e0ce0;border:1px solid #f6f0e624;border-radius:20px;gap:12px;width:min(440px,100% - 24px);max-height:calc(100dvh - 160px);padding:16px;display:grid;position:absolute;bottom:84px;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet.static{width:auto;position:static;transform:none}.sheet header,.hymn-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet h2,.sheet h3{margin:0;font-family:Georgia,serif}.sheet p{margin:0}.hymn-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hymn-tools{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.pager{justify-content:space-between;align-items:center;gap:8px;display:flex}.chips,.amounts{flex-wrap:wrap;gap:8px;display:flex}.check{align-items:center;gap:8px;display:flex}.check input{width:auto}.confirm{color:#d8ecc8}.rosary-stage{pointer-events:auto;width:min(560px,100%);position:absolute;top:64px;bottom:300px;left:50%;transform:translate(-50%)}.rosary-stage>div{height:100%!important}.rosary-stage.hover{cursor:pointer}.rosary-sheet{width:min(380px,100% - 24px)}.rosary-open .toast{z-index:1;top:calc(50% - 118px);transform:translate(-50%,-50%)}@media (width<=700px),(pointer:coarse) and (width<=1100px){.rosary-stage{top:52px;bottom:250px}.rosary-open .toast{top:calc(50% - 99px)}}.error{color:#ffb4a8}.veil{z-index:3;background:#140e0cb8;place-content:center;justify-items:center;gap:12px;display:grid;position:absolute;inset:0}.tag{pointer-events:none;justify-items:center;gap:4px;display:grid;position:absolute;top:0;left:0}.nameplate,.bubble{margin:0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.3}.nameplate{color:#fff;white-space:nowrap;background:#140e0cd1;border-radius:999px;padding:2px 8px}.nameplate.you{color:#ffe7b0;box-shadow:0 0 0 1px #e0c17a}.bubble{color:#1a120e;text-align:center;overflow-wrap:anywhere;background:#fff8ee;border-radius:10px;width:max-content;max-width:180px;margin-bottom:4px;padding:4px 8px;position:relative}.bubble:after{content:"";background:inherit;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.settings-layout{grid-template-columns:200px 1fr;align-items:start;gap:16px;margin:24px 0;display:grid}.settings-nav{gap:4px;font-family:system-ui,sans-serif;display:grid}.settings-nav button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 14px;font-size:15px}.settings-nav button:hover{background:#f6f0e614}.settings-nav button[aria-current=page]{color:#1a120e;background:#e0c17a;font-weight:650}.settings-form{gap:12px;display:grid}.settings-form input[type=range]{accent-color:#e0c17a;padding:0}.keys{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.keys dd{color:#e6d8c6;margin:0}.avatar-editor{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;display:grid}.avatar-preview{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px;display:grid;position:sticky;top:16px}.avatar-stage{touch-action:none;background:#f6f0e60f;border-radius:16px;width:100%;height:320px}.avatar-options{gap:16px;display:grid}.swatch{cursor:pointer;border:1px solid #f6f0e64d;border-radius:50%;width:34px;height:34px;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px #1a120e,0 0 0 4px #e0c17a}@media (width<=700px){.church-grid,.admin-layout,.settings-layout,.avatar-editor{grid-template-columns:minmax(0,1fr)}.settings-nav{display:flex}.settings-nav button{text-align:center;flex:1}.avatar-preview{position:static}.wrap{padding-top:28px}}@media (width<=700px),(pointer:coarse) and (width<=1100px){.topbar{flex-wrap:nowrap;align-items:flex-start;gap:6px;top:8px;left:8px;right:8px}.brand{gap:6px;min-width:0;padding:8px 12px;position:relative}.pill-menu{position:static}.pill-drop{width:auto;max-width:none;left:0;right:0}.menu-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#140e0cb8;padding:8px 14px;display:block}.hud-links{flex-direction:column;align-items:stretch;gap:4px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.hud-links a{padding:8px 14px}.hud-boxes{gap:6px}.overlay:not(.show-menu) .hud-links,.overlay:not(.show-activity) .hud-menu{display:none}.activity-toggle{right:8px;bottom:calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#140e0cd1;padding:10px 16px;display:block;position:absolute}.panel-open .activity-toggle,.panel-open .hud-menu{display:none}.walk{left:8px;bottom:calc(10px + env(safe-area-inset-bottom));justify-items:start}.walk p{max-width:45vw;font-size:11px}.panel-open .walk,.show-activity .walk p{display:none}.hud-menu{left:132px;right:8px;bottom:calc(60px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#140e0cd1;border:1px solid #f6f0e624;border-radius:16px;grid-template-columns:minmax(0,1fr);gap:8px;max-height:calc(100dvh - 180px);padding:8px;display:grid;position:absolute;overflow-y:auto}.hud-menu .chat,.hud-menu .dock{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;width:auto;padding:0;position:static;transform:none}.hud-menu .dock{grid-template-columns:1fr 1fr;display:grid}.hud-menu .dock button{min-width:0;padding-inline:8px}.hud-menu .walk-extra{justify-content:flex-start;position:static}.sheet{max-height:calc(100dvh - 70px);bottom:10px;overflow-y:auto}.sit{bottom:150px}}.spinner{vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.9em;height:.9em;margin-right:.5em;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
