/* public_mode 2026-11-02 (HymnsServer): sign-up wall, account bar, location blurb, globe */
#pubRoot{font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2433}
html.wel-on body>#pubRoot#pubRoot#pubRoot{display:block!important}
#pubBar{position:fixed;left:10px;bottom:10px;z-index:2147483000;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.96);border:1px solid #d8dce6;border-radius:999px;padding:6px 8px 6px 12px;box-shadow:0 4px 18px rgba(0,0,0,.15);font-size:14px;max-width:calc(100vw - 20px)}
#pubBar button,#pubBar a{font:inherit;cursor:pointer}
#pubBar .pjoin{background:#2563eb;color:#fff;border:0;border-radius:999px;padding:8px 14px;font-weight:600}
#pubBar .pmap{background:#0f172a;color:#fff;border:0;border-radius:999px;padding:7px 12px}
#pubBar .pme{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pubBar a{color:#2563eb}
#pubWall,#pubFS{position:fixed;inset:0;z-index:2147483100;background:rgba(10,14,25,.62);display:flex;align-items:center;justify-content:center;padding:14px}
#pubWall .card{background:#fff;border-radius:16px;max-width:420px;width:100%;padding:20px 20px 16px;box-shadow:0 12px 40px rgba(0,0,0,.3);max-height:calc(100vh - 28px);overflow:auto}
#pubWall h2{margin:0 0 4px;font:700 22px/1.2 Georgia,serif}
#pubWall .sub{color:#555;margin:0 0 12px;font-size:14px}
#pubWall label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
#pubWall input{width:100%;box-sizing:border-box;font:inherit;padding:9px 10px;border:1px solid #c9cfdb;border-radius:9px}
#pubWall .hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
#pubWall .go{margin-top:14px;width:100%;background:#2563eb;color:#fff;border:0;border-radius:10px;padding:11px;font:600 16px system-ui;cursor:pointer}
#pubWall .err{color:#b91c1c;font-size:13px;min-height:18px;margin-top:6px}
#pubWall .priv{color:#666;font-size:12px;margin-top:10px}
#pubWall .row{display:flex;justify-content:space-between;margin-top:10px;font-size:13px}
#pubWall .row a{color:#2563eb;cursor:pointer}
#pubBlurb{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:2147483200;background:#fffbea;border:1px solid #f1d27a;color:#3b2f0b;border-radius:14px;padding:12px 14px;max-width:min(440px,calc(100vw - 24px));box-shadow:0 8px 30px rgba(0,0,0,.2);font-size:14px}
#pubMenu{position:static;margin:8px 0 0;text-align:left;background:#fff;border:1px solid #d8dce6;border-radius:14px;padding:12px 14px;font-size:14px}
#pubMenu button{margin-top:8px;font:inherit;cursor:pointer;border:1px solid #c9cfdb;background:#f6f7fb;border-radius:9px;padding:7px 10px;width:100%;text-align:left}
#pubGlobeHome{position:relative;width:100%;max-width:280px;aspect-ratio:1/1;margin:4px auto 8px;cursor:pointer}
.pglobe{position:relative;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}
.pglobe canvas{display:block;width:100%!important;height:100%!important;border-radius:50%}
#pubFS .pglobe canvas{border-radius:0}
.pcount{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);background:rgba(15,23,42,.82);color:#fff;font-size:12px;border-radius:999px;padding:3px 10px;white-space:nowrap;pointer-events:none}
.pcount i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffd23f;margin-right:5px;animation:pblink 1.2s infinite}
#pubFS{background:#02040a;padding:0}
#pubFS .pglobe{width:100vw;height:100vh;height:100dvh}
#pubFS .pclose{position:absolute;top:12px;right:12px;z-index:3;background:rgba(255,255,255,.9);border:0;border-radius:999px;padding:8px 14px;font:600 14px system-ui;cursor:pointer}
#pubFS .pcount{bottom:auto;top:14px;font-size:14px;padding:6px 12px}
#pubFS .phint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#cbd5e1;font-size:12px;pointer-events:none;text-align:center}
.plabel{position:absolute;z-index:4;transform:translate(-50%,16px);background:#fff;color:#111;border-radius:10px;padding:6px 10px;font-size:13px;box-shadow:0 4px 16px rgba(0,0,0,.35);width:max-content;max-width:min(86vw,420px);text-align:center;cursor:pointer}
.plabel .vchk{color:#1d9bf0;font-weight:700}
.pflat{position:relative;width:100%;height:100%;background:#0b1e3a;border-radius:12px;overflow:hidden}
.pflat img{width:100%;height:100%;object-fit:contain;filter:invert(1) sepia(1) saturate(2) hue-rotate(80deg) brightness(.7)}
.pflat .d{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#ff4d6d;border:1px solid #fff}
.pflat .d.live{background:#ffe14d;animation:pblink 1.2s infinite}
.pflat .d.v::after{content:'✓';position:absolute;left:8px;top:-9px;background:#1d9bf0;color:#fff;font:700 9px/13px system-ui;width:13px;height:13px;border-radius:50%;text-align:center}
@keyframes pblink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.6)}}
@media (max-width:600px){#pubFS .pcount{top:auto;bottom:52px;font-size:13px}#pubFS .phint{bottom:16px;width:90vw}}
html:not(.wel-on) #pubBar{bottom:76px}
#pubHomeBar{position:static;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line,#e5e7eb);font:14px system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
#pubHomeBar .pmap{background:#0f172a;color:#fff;border:0;border-radius:999px;padding:7px 12px;min-height:34px;font:inherit;cursor:pointer}
#pubHomeBar a{color:#2563eb}
