@font-face{font-family:Fredoka;src:url('/assets/fredoka.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--bg:#fbf8f3;--panel:#fffefa;--ink:#37363c;--muted:#8c8790;--line:#ece5dc;--orange:#e9955a;--purple:#9782b9;--soft:#f2ecf8;--shadow:0 14px 50px #594d3610}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Fredoka,system-ui,sans-serif;font-weight:400}body.dark{--bg:#222126;--panel:#2d2b32;--ink:#f1ece6;--muted:#bab1bf;--line:#45404c;--soft:#3e344e;--shadow:0 14px 50px #0002}button,input,textarea,select{font:inherit}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}.brand{display:flex;gap:10px;align-items:center;font-size:22px;font-weight:500;letter-spacing:-1px}.brand img{width:36px}.brand span,h1 span{color:var(--purple)}.btn{border-radius:14px;padding:11px 18px;font-weight:500;display:inline-flex;gap:8px;align-items:center;justify-content:center}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--purple);border-color:var(--purple)}.btn-light{background:var(--soft);border:0;color:var(--ink)}.btn-orange{background:var(--orange);color:#30251e}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:14px;display:inline-grid;place-items:center}.public{min-height:100svh;padding:max(26px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(ellipse at 14% 30%,#efb67d20,transparent 45%),radial-gradient(ellipse at 90% 70%,#b19cd527,transparent 45%)}.public header{display:flex;max-width:1200px;margin:auto;justify-content:space-between;align-items:center}.public main{max-width:780px;margin:9vh auto 0;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px;color:var(--muted)}.public h1{font-size:clamp(38px,7vw,64px);font-weight:400;letter-spacing:-2px;line-height:1.08;margin:22px 0}.muted{color:var(--muted)}.verse-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:30px;padding:clamp(25px,6vw,54px);position:relative;margin:35px 0 24px}.verse-card .quote{font-size:30px;color:var(--orange);margin-bottom:20px}.verse-card blockquote{font-size:clamp(24px,4vw,34px);line-height:1.5;margin-bottom:24px}.verse-card cite{font-style:normal;color:var(--purple);font-size:15px}.public footer{text-align:center;color:var(--muted);font-size:13px;margin-top:50px}.tiny-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:7px}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100svh}.sidebar{padding:35px 22px;position:sticky;top:0;height:100svh;border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;padding-top:max(35px,env(safe-area-inset-top))}.nav-label{margin:48px 12px 18px;font-size:11px;letter-spacing:2px;color:var(--muted)}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:14px;padding:15px 14px;border-radius:14px;font-size:15px}.sidebar nav a i{width:20px;color:var(--purple)}.sidebar nav a.active{background:var(--soft)}.sidebar .bottom{margin-top:auto}.workspace{min-width:0;padding:35px 45px max(35px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:16px}.topbar .identity{display:flex;align-items:center;gap:12px;font-size:13px;text-transform:uppercase}.avatar{background:#f4ddc8;color:#a0653b;width:39px;height:39px;border-radius:13px;display:grid;place-items:center}.heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:26px}.heading h1{font-size:34px;font-weight:400;letter-spacing:-1px;margin:0 0 8px}.heading p{color:var(--muted);margin:0}.record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px}.cardx{background:var(--panel);border:1px solid var(--line);border-radius:23px;padding:24px;box-shadow:var(--shadow);min-width:0}.cardx h2{font-size:22px;font-weight:500;margin:20px 0 8px}.cardx p{color:var(--muted)}.room-top{display:flex;justify-content:space-between;align-items:center}.room-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--soft);color:var(--purple);font-size:21px}.badge-state{font-size:12px;background:#f3eae0;color:#9e7550;padding:6px 10px;border-radius:30px}.badge-state.live{background:#e4f1e9;color:#57876b}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:35px}.stat{display:flex;align-items:center;gap:20px}.stat strong{font-size:32px;font-weight:400;display:block}.stat small{color:var(--muted)}.section-title{font-size:21px;margin:28px 0 18px}.empty{padding:50px 24px;text-align:center;border:1px dashed var(--line);border-radius:24px;color:var(--muted)}.empty i{font-size:30px;color:var(--purple);display:block;margin-bottom:15px}.form-control,.form-select{background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:12px}.form-control:focus{background:var(--panel);color:var(--ink);border-color:var(--purple);box-shadow:0 0 0 3px #9782b920}label{margin:14px 0 7px;font-size:13px;color:var(--muted)}.upper{text-transform:uppercase}.login-box{max-width:420px;margin:50px auto;text-align:left}.login-box h1{font-size:34px;margin:0 0 10px}.login-box .btn{width:100%;margin-top:25px}.mobile-menu{display:none}.pill{background:var(--soft);color:var(--purple);padding:8px 13px;border-radius:30px;font-size:13px}dialog{width:min(620px,calc(100vw - 28px));max-height:90svh;overflow:auto;border:1px solid var(--line);border-radius:26px;background:var(--panel);color:var(--ink);padding:28px;box-shadow:var(--shadow)}dialog::backdrop{background:#24202d88;backdrop-filter:blur(5px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-heading h2{font-size:25px;margin:0}.line-editor{padding:15px;background:var(--bg);border-radius:16px;margin:15px 0}.line-editor textarea{min-height:100px;white-space:pre-wrap}.block-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;margin:12px 0}.crop-view{width:100%;aspect-ratio:1;background:#222;border-radius:15px;touch-action:none;cursor:grab}.keypad{max-width:300px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px auto}.keypad button{height:65px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px;font-size:25px}.pin-dots{font-size:30px;letter-spacing:10px;min-height:45px;color:var(--purple)}.viewer{max-width:900px;margin:35px auto;text-align:center}.viewer h1{font-size:clamp(35px,7vw,64px)}.viewer .line{margin:28px 0;white-space:pre-wrap;overflow-wrap:anywhere}.viewer .line h2{font-size:clamp(23px,5vw,40px);color:var(--purple)}.viewer .line p{font-size:clamp(25px,5.5vw,48px);line-height:1.4}.viewer img{max-width:min(100%,500px);border-radius:25px}.splash{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 30% 40%,#f4deca,transparent 55%),#fbf8f3;color:#37363c;padding:25px;text-align:center}.splash img{animation:float 2.6s ease-in-out infinite}.splash h1{font-size:36px;margin:22px 0 10px}.splash p{color:#8c8790}.loading-track{width:150px;height:4px;background:#e7dfeb;border-radius:5px;overflow:hidden;margin:20px}.loading-track i{display:block;width:45%;height:100%;background:#e9955a;animation:load 1.4s ease-in-out infinite}.connection{font-size:12px;color:var(--muted);margin:20px;text-align:center}#toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:90vw;background:var(--ink);color:var(--bg);border-radius:15px;padding:15px 22px;z-index:2000;display:none}.fade-in{animation:appear .35s ease both}pre{white-space:pre-wrap;font:inherit}.secret{font-size:35px;letter-spacing:8px;color:var(--purple)}@keyframes float{50%{transform:translateY(-7px)}}@keyframes load{from{transform:translateX(-110%)}to{transform:translateX(330%)}}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:850px){.shell{display:block}.sidebar{position:fixed;width:260px;z-index:100;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #0006}.workspace{padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.mobile-menu{display:inline-grid}.topbar{margin-bottom:30px}.topbar .crumb{display:none}.stats{gap:10px}.stat{padding:16px;display:block}.stat .room-icon{width:36px;height:36px;font-size:16px;margin-bottom:8px}.stat strong{font-size:26px}.stat small{font-size:11px}.heading{align-items:flex-start;flex-wrap:wrap}.heading h1{font-size:30px}.public main{margin-top:7vh}.public .brand{font-size:22px}.cardx{padding:20px}}@media(display-mode:standalone){body{overscroll-behavior-y:none}} 

.sidebar nav a:nth-child(1) i{color:#d69755}.sidebar nav a:nth-child(2) i{color:#9782b9}.sidebar nav a:nth-child(3) i{color:#699b8d}.sidebar nav a:nth-child(4) i{color:#be7e99}.sidebar nav a:nth-child(5) i{color:#7396bc}.stats .stat:nth-child(1) .room-icon{background:#f9e8d6;color:#c38748}.stats .stat:nth-child(2) .room-icon{background:#ebe4f4;color:#9577b8}.stats .stat:nth-child(3) .room-icon{background:#e4efe8;color:#699b8d}.btn i{transition:transform .2s}.btn:hover i{transform:translateY(-2px)}.cardx{transition:transform .2s,box-shadow .2s}.record-grid .cardx:hover{transform:translateY(-3px);box-shadow:0 18px 45px #594d3618}.audit-meta{font-size:12px;line-height:1.8;color:var(--muted)}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin:28px 0}.swal2-popup{font-family:Fredoka,system-ui,sans-serif!important;background:var(--panel)!important;color:var(--ink)!important;border-radius:24px!important}.swal2-confirm{background:var(--purple)!important;border-radius:12px!important}.swal2-cancel{border-radius:12px!important}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:24px}.filters>div{flex:1;min-width:140px}
.viewer-tools{position:sticky;top:max(12px,env(safe-area-inset-top));z-index:10;display:flex;justify-content:center;gap:8px;align-items:center;width:max-content;max-width:100%;margin:18px auto;background:var(--panel);padding:8px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.viewer-text{font-size:calc(clamp(25px,5.5vw,48px)*var(--viewer-scale,1))!important}.viewer .line h2{font-size:calc(clamp(23px,5vw,40px)*var(--viewer-scale,1))}.viewer>h1{font-size:calc(clamp(35px,7vw,64px)*var(--viewer-scale,1))}.viewer .line p{font-size:calc(clamp(25px,5.5vw,48px)*var(--viewer-scale,1))}

.admin-mode #modal{text-transform:uppercase}.cardx,.heading h1{overflow-wrap:anywhere}.form-control{min-width:0}.dark .stats .room-icon{filter:brightness(.85)}

.help-note{display:flex;gap:12px;align-items:flex-start;background:var(--soft);border-radius:16px;padding:17px;color:var(--ink);font-size:14px;line-height:1.6}.help-note i{color:var(--purple);margin-top:5px}.help-note strong{white-space:nowrap}

.sidebar{overflow-y:auto}.sidebar nav a:nth-child(6) i{color:#7396bc}.sidebar nav a:nth-child(5) i{color:#be7e99}

.entry-trigger{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;width:max-content}.entry-trigger img{pointer-events:none}.entry-trigger:focus-visible{outline:3px solid var(--purple);border-radius:12px;outline-offset:5px}

.devotional{text-align:left;margin-bottom:30px;padding:30px}.devotional h2{font-size:29px;line-height:1.2;margin:15px 0}.devotional p{font-size:17px;line-height:1.8}.devotional-step{display:flex;gap:15px;margin:22px 0}.devotional-step .room-icon{flex-shrink:0}.devotional-step h3{font-size:20px;margin:2px 0 8px}.devotional-step p{margin:0}.fa-spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Reading and controls */
.public-header-actions{display:flex;align-items:center;gap:10px}.public .sermon-public{max-width:900px;margin:5vh auto 0}.public-reading-intro{max-width:740px;margin:0 auto 35px}.public-reading-intro h1{font-size:clamp(35px,6vw,56px)}.public-reading-intro p{font-size:17px;line-height:1.7}.sermon-reading{background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:clamp(23px,5vw,55px);box-shadow:var(--shadow);text-align:left;text-transform:none}.reading-heading{text-align:center;border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:32px}.reading-heading h2{font-size:clamp(29px,5vw,43px);font-weight:500;line-height:1.15;margin:20px 0 16px;color:var(--ink)}.reading-heading p{font-size:19px;line-height:1.65;color:var(--muted)}.reading-medallion{display:grid;place-items:center;width:72px;height:72px;border-radius:23px;margin:0 auto 20px;color:#9a6b40;background:linear-gradient(140deg,#ffe7c9,#f1ddf7);font-size:30px;box-shadow:inset 0 2px 2px #fff9,0 8px 20px #a56d2420}.reading-body{font-size:20px;line-height:1.85;overflow-wrap:anywhere}.reading-body p{margin:0 0 1.2em}.reading-body h2,.reading-body h3,.reading-body h4,.reading-body h5{font-size:clamp(23px,4vw,30px);font-weight:600;margin:1.5em 0 .65em;color:var(--purple);line-height:1.35}.reading-body strong{font-weight:600}.reading-body blockquote{background:var(--soft);border-left:4px solid var(--purple);padding:23px;border-radius:0 18px 18px 0;margin:25px 0}.reading-body cite{display:block;font-style:normal;font-size:15px;color:var(--purple);margin-top:12px}.reading-body a,.reflection-section a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}.reading-body sup{font-size:11px;color:var(--purple)}.source-credit{border-top:1px solid var(--line);padding-top:20px;margin-top:35px;font-size:13px;line-height:1.7;color:var(--muted)}.reflection-section{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.reflection-heading{display:flex;align-items:center;gap:15px}.reflection-heading h2{font-size:26px;margin:0}.reflection-section ol{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:15px}.reflection-section li{display:flex;gap:16px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:20px;font-size:18px;line-height:1.65}.reflection-section li small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.question-number{font-size:15px;background:var(--soft);color:var(--purple);padding:5px 9px;border-radius:10px;flex-shrink:0}.reading-empty{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:40px 25px}.reading-empty h2{font-size:29px}.reading-empty p{color:var(--muted)}.last-display{color:var(--muted);font-size:13px;padding:12px 0;border-top:1px solid var(--line)}.last-display i{color:var(--purple);margin-right:6px}.date-text{text-transform:none}.sermon-card{display:flex;flex-direction:column}.sermon-card>.card-actions{margin-top:auto;padding-top:15px}.sermon-card>p{font-size:14px;line-height:1.6}.admin-reading-preview .sermon-reading{border:0;padding:15px 0;box-shadow:none}.admin-reading-preview .reading-body{font-size:17px}.metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.share-preview{width:100%;aspect-ratio:1.91;object-fit:cover;border:1px solid var(--line);border-radius:16px}.meta-icon-preview{width:70px;height:70px;object-fit:contain;border-radius:20px}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.room-description{white-space:pre-line}.visibility-toggle.is-on{background:#dbf5e4;color:#246d40;border:1px solid #75b68d;box-shadow:inset 0 1px 0 #fff8}.visibility-toggle.is-off{background:#ece9ef;color:#776f7e;border:1px solid #d4ced9}.visibility-toggle.is-on i{color:#218449}.visibility-toggle.is-off i{color:#92869d}.publication-choice .visibility-toggle{width:100%}.room-photo-preview{width:130px;height:130px;object-fit:cover;border-radius:18px}.history-list{display:grid;gap:12px}.history-record{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:15px;font-size:13px}.history-record>div{flex:1;min-width:0}.history-record .room-icon{flex-shrink:0}.avatar img,.profile-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-photo{width:110px;height:110px;border-radius:28px;background:linear-gradient(140deg,#f6dac2,#d9c9ec);display:grid;place-items:center;font-size:40px;color:#8b6a9c;box-shadow:0 10px 25px #8a629b22}.screen-lock-btn{background:linear-gradient(125deg,#f3e5cb,#ecdff6);border:1px solid #d4b5e4;color:#684c80;animation:lock-glow 2.6s ease-in-out infinite;white-space:nowrap}.sidebar .screen-lock-btn{width:100%;margin:20px 0 15px}.screen-lock-btn i{color:#9b65bb}.badge-state.on-air{color:#086d2a;border:1px solid #279b53;background:#c9f7d8;animation:live-glow 2.3s ease-in-out infinite;white-space:nowrap}.badge-state.on-air i{font-size:8px;margin-right:4px}.badge-state.waiting{color:#9a6c25;border:1px solid #dfc18d;background:#faf0dc;white-space:nowrap}.badge-state.waiting i{font-size:10px;margin-right:4px}.active-room-count{font-size:11px;padding:5px 8px;text-transform:none}.nav-communicator{flex-wrap:wrap}.nav-communicator .active-room-count{margin-left:31px}.presence-list{display:grid;gap:12px}.presence-card{display:flex;gap:14px;align-items:center;border:1px solid var(--line);background:var(--bg);padding:16px;border-radius:18px;font-size:14px}.presence-card>div{flex:1;min-width:0}.presence-card p{margin:4px 0;font-size:13px;color:var(--muted)}.presence-card small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.device-symbol{font-size:27px;color:#8e73b5;width:43px;flex-shrink:0;filter:drop-shadow(0 3px 2px #aa89b633)}.country-flag{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:20px;vertical-align:middle}.country-flag.large{font-size:45px}.person-heading{display:flex;gap:18px;align-items:center}.person-heading h2{font-size:23px}.device-details{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:12px;font-size:13px;margin-top:25px}.device-details dt{color:var(--muted);font-weight:400}.device-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.empty.compact{padding:25px}.pin-display{font-size:32px;letter-spacing:10px;text-align:center;color:var(--purple)}.admin-keypad{margin:18px auto}.admin-keypad button{height:48px;font-size:20px}.admin-keypad button:last-child{font-size:12px}.viewer-tools{flex-wrap:wrap;max-width:100%}.viewer-image-label{display:flex;align-items:center;gap:7px;font-size:12px;margin:0 4px;color:var(--muted)}.viewer-image-label i{color:var(--purple)}.viewer-image-label select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:8px;max-width:130px}.viewer img{width:min(var(--viewer-image-size,380px),100%);max-width:100%;height:auto}.viewer h1,.viewer .line h2,.viewer .line p,#block-title,.line-title,.line-text{text-transform:uppercase}.room-cover{margin-bottom:25px}.crop-view{height:auto}.sidebar nav a:nth-child(3) i{color:#cf9b52}.sidebar nav a:nth-child(4) i{color:#a56db8}.sidebar nav a:nth-child(5) i{color:#6b9b8c}@keyframes live-glow{0%,100%{background:#d5f8df;border-color:#56b676;box-shadow:0 0 0 0 #22a94d00;color:#14743a}50%{background:#9ce5b4;border-color:#16863c;box-shadow:0 0 0 4px #35af5d12;color:#075a25}}@keyframes lock-glow{50%{box-shadow:0 0 0 4px #c99ae323,0 0 16px #d5a6ec22;border-color:#ba84d2}}
@media(max-width:1000px){.metadata-grid{grid-template-columns:1fr}}@media(max-width:650px){.identity-name{display:none}.topbar .screen-lock-btn{width:42px;height:42px;padding:0}.topbar .screen-lock-btn span{display:none}.topbar .identity{gap:8px}.reading-body{font-size:18px;line-height:1.8}.sermon-reading{padding:24px 20px}.public .sermon-public{margin-top:4vh}.public-header-actions .screen-lock-btn span{display:none}.public-header-actions .screen-lock-btn{width:42px;height:42px;padding:0}.reflection-section li{padding:15px;font-size:16px}.viewer-tools{padding:7px;gap:5px}.viewer-image-label span{display:none}.viewer-image-label select{max-width:105px}.heading-actions .btn{padding:10px 12px;font-size:13px}.device-details{grid-template-columns:1fr;gap:5px}.device-details dd{margin-bottom:12px}}

/* Navigation feedback and mobile drawer rhythm. */
.page-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(ellipse at 18% 25%,#f1c99a70,transparent 55%),radial-gradient(ellipse at 85% 75%,#d4bde968,transparent 55%),#fbf8f3ed;backdrop-filter:blur(12px);color:#37363c;text-align:center}.page-loading[hidden]{display:none}.loading-card{width:min(420px,100%);padding:38px 25px;border:1px solid #fff9;border-radius:32px;background:#fffaf2b8;box-shadow:0 24px 80px #78617c18;display:flex;flex-direction:column;align-items:center}.loading-halo{display:grid;place-items:center;width:118px;height:118px;border-radius:36px;background:linear-gradient(135deg,#f8e0bd,#e6d6f3);box-shadow:0 10px 35px #b69ac42b;margin-bottom:24px}.loading-halo img{animation:float 2.6s ease-in-out infinite}.loading-card>strong{font-size:25px;font-weight:500}.loading-card h2{font-size:20px;line-height:1.4;margin:18px 0 8px;font-weight:400}.loading-card p{font-size:14px;color:#817586;margin:0}.loading-card .loading-track{margin:25px 0 0;background:#e6ddeb}.loading-card .loading-track i{background:linear-gradient(90deg,#e9955a,#9782b9)}
@media(max-width:850px){.sidebar .nav-label{margin:28px 12px 14px}.sidebar>.mobile-menu{margin:0 0 20px!important;min-height:44px;flex-shrink:0}.sidebar nav{gap:8px}.sidebar{padding-left:max(22px,env(safe-area-inset-left));padding-bottom:max(22px,env(safe-area-inset-bottom))}}

.line-editor-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.line-editor-header>.line-title{flex:1;min-width:160px}.line-editor-actions{display:flex;gap:8px;align-items:center}.line-editor-actions .btn{font-size:12px;padding:10px}.line-editor.is-collapsed .line-editor-body{display:none}.line-editor.is-collapsed{border:1px solid var(--line)}.line-editor-body textarea{min-height:120px}@media(max-width:500px){.line-editor-header>.line-title{flex-basis:100%}.line-editor-actions{width:100%;justify-content:space-between}}

.block-top-actions{margin:16px 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}

.public .reading-heading{display:block;max-width:none;margin:0 0 32px}.public .reading-heading .eyebrow{display:block;margin-top:14px}

.viewer-devotional-btn{border:1px solid #d98638;background:linear-gradient(125deg,#ffd38a,#f7ad78);color:#603719;box-shadow:0 3px 15px #eab06e35;animation:devotional-glow 2.8s ease-in-out infinite;font-size:13px;padding:10px 13px;white-space:nowrap}.viewer-devotional-btn i{color:#8a4a9b}.public-header-actions{display:flex;gap:10px;align-items:center}@keyframes devotional-glow{50%{box-shadow:0 0 0 4px #f0b45924;border-color:#bf6a21}}@media(max-width:480px){.public header>.brand{font-size:17px;gap:6px}.public header>.brand img{width:29px}.public-header-actions{gap:6px}.viewer-devotional-btn{font-size:11px;padding:10px 8px;gap:5px}.public-header-actions .icon-btn{width:36px;height:38px}}

.devotional-button-icon{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:21px;line-height:1;filter:drop-shadow(0 2px 2px #955a4830)}

.public .reading-heading .reading-medallion{width:72px;min-width:72px;height:72px;aspect-ratio:1;flex-shrink:0;margin:0 auto 18px}.reading-medallion>i{line-height:1}.public>header{flex-wrap:wrap;gap:14px}.public-header-actions{margin-left:auto;flex-shrink:0}.sermon-reading,.reading-heading,.reflection-section li>div{min-width:0;overflow-wrap:anywhere}@media(max-width:420px){.public{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.public .sermon-reading{padding:24px 17px;border-radius:23px}.public .reading-heading .reading-medallion{width:64px;min-width:64px;height:64px;border-radius:21px}.reading-heading h2{font-size:29px}.reading-heading p{font-size:17px}.public-reading-intro h1{font-size:38px}.reflection-heading{gap:10px}.reflection-heading h2{font-size:23px}.reflection-section li{gap:10px}.public-header-actions{max-width:100%}}

.line-drag-handle{cursor:grab;touch-action:none;flex-shrink:0;color:var(--purple);background:var(--soft)}.line-drag-handle:active{cursor:grabbing}.line-editor.is-dragging{outline:2px solid var(--purple);box-shadow:0 8px 25px #9782b933;background:var(--soft);position:relative;z-index:2}.sorting-lines,.sorting-lines *{cursor:grabbing!important;user-select:none}.line-editor-actions{flex-wrap:wrap}@media(max-width:360px){.line-editor-actions .visibility-toggle{font-size:11px;padding:10px 7px}}

.viewer-room-title{display:block;font-weight:600;letter-spacing:2px;line-height:1.5;overflow-wrap:anywhere;color:var(--ink);margin:0 0 18px}.viewer-room-description{font-size:18px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:0 0 25px}.viewer-content-card{background:rgba(255,254,250,.9);border:1px solid var(--line);border-radius:28px;padding:clamp(20px,5vw,44px);box-shadow:var(--shadow);min-width:0;overflow-wrap:anywhere;backdrop-filter:blur(8px)}.dark .viewer-content-card{background:rgba(45,43,50,.92)}.viewer-content-card>h1{margin-top:0}.viewer-content-card .line:last-child{margin-bottom:0}.presence-card{flex-wrap:wrap}.presence-card>div{min-width:150px}.presence-card>.btn{font-size:12px}@media(max-width:420px){.viewer-content-card{border-radius:22px;padding:22px 16px}.viewer-room-description{font-size:16px}}

.viewer .viewer-content-card>h1{font-weight:700}

.access-card-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:18px}.access-card-actions>.btn{flex:1 1 140px;min-height:46px;margin:0;white-space:nowrap}.access-state-btn i{color:var(--purple)}

.room-page-actions{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:10px;margin:0 0 24px}.room-page-actions>.btn{min-height:46px;margin:0}@media(max-width:600px){.room-page-actions>.btn{flex:1 1 180px;white-space:normal;line-height:1.3}}
