@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}.campaign-shell{--color-bg-app:#0a0b0d;--color-bg-sidebar:#0f1114;--color-bg-surface:#121418;--color-bg-elevated:#181b20;--color-border:#2a2e36;--color-edge-glow:#3b1a1a;--color-text-primary:#e6e2dc;--color-text-secondary:#a7a4a0;--color-text-muted:#6d7178;--color-live:#ff2d2d;--color-danger:#8e1b1b;--color-health:#3fa36a;--color-warning:#d08a3a;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-ui:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--color-bg-app);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-ui);grid-template-columns:328px minmax(0,1fr);font-size:14px;line-height:1.5;display:grid;overflow:hidden}.campaign-shell button,.campaign-shell input,.campaign-shell textarea,.campaign-shell select{font:inherit}.campaign-shell button:focus-visible,.campaign-shell a:focus-visible,.campaign-shell input:focus-visible,.campaign-shell textarea:focus-visible,.campaign-shell select:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.campaign-sidebar{z-index:20;background:radial-gradient(circle at 88% 82%, #8e1b1b13, transparent 26%), var(--color-bg-sidebar);scrollbar-color:var(--color-border) transparent;scrollbar-width:thin;border-right:1px solid #8e1b1b57;flex-direction:column;gap:14px;height:100vh;min-height:100vh;padding:18px 15px;display:flex;position:relative;overflow:hidden auto}.campaign-sidebar:after{content:"";pointer-events:none;opacity:.06;filter:brightness(1.35)saturate(.88)contrast(1.1);mix-blend-mode:screen;background:url(/lorebound-map-texture.png) 0 100%/auto 100% no-repeat;position:absolute;inset:0}.campaign-sidebar>*{z-index:1;position:relative}.campaign-brand{height:92px;color:var(--color-text-primary);align-items:center;gap:10px;text-decoration:none;display:flex}.campaign-brand:hover{text-decoration:none}.campaign-brand img{object-fit:cover;filter:invert()grayscale()contrast(1.35)brightness(.9);mix-blend-mode:screen;border-radius:50%;width:78px;height:78px}.campaign-brand-copy{min-width:0;display:grid}.campaign-brand-copy strong{font-family:var(--font-display);letter-spacing:.025em;text-transform:uppercase;font-size:29px;font-weight:600;line-height:1}.campaign-brand-copy small{color:var(--color-live);letter-spacing:.115em;text-transform:uppercase;white-space:nowrap;margin-top:8px;font-size:9px;font-weight:700}.campaign-switcher{border:1px solid var(--color-edge-glow);background:#0a0b0db3;border-radius:8px;grid-template-columns:minmax(0,1fr) 56px;min-height:80px;display:grid;position:relative;overflow:visible}.campaign-switcher-main{width:100%;min-width:0;color:var(--color-text-primary);text-align:left;background:0 0;border:0;border-radius:8px 0 0 8px;grid-template-columns:minmax(0,1fr) auto;align-content:center;padding:10px 15px;text-decoration:none;display:grid}.campaign-switcher-main:hover{background:#181b2085;transform:none}.campaign-switcher-main:disabled{cursor:not-allowed;opacity:1}.campaign-switcher-main span{color:var(--color-text-secondary);letter-spacing:.15em;text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:600}.campaign-switcher-main strong{min-width:0;color:var(--color-text-primary);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:20px;font-weight:500;overflow:hidden}.campaign-switcher-main svg{color:var(--color-text-secondary);align-self:center}.campaign-switcher-main[aria-expanded=true] svg{transform:rotate(180deg)}.campaign-switcher-menu{z-index:30;border:1px solid var(--color-edge-glow);background:var(--color-bg-elevated);border-radius:8px;gap:3px;width:calc(100% + 2px);max-height:min(360px,100vh - 230px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:-1px;overflow-y:auto;box-shadow:0 18px 42px #0000007a}.campaign-switcher-menu>button{width:100%;min-height:42px;color:var(--color-text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;padding:8px 10px;display:grid}.campaign-switcher-menu>button:hover,.campaign-switcher-menu>button.current{color:var(--color-text-primary);background:#3b1a1a5c;border-color:#8e1b1b7a;transform:none}.campaign-switcher-menu>button svg{color:var(--color-live)}.campaign-switcher-menu>p{color:var(--color-text-secondary);margin:0;padding:8px 10px;font-size:12px}.campaign-switcher-menu>p[role=alert]{color:#ef9a9a}.campaign-switcher-settings{border:0;border-left:1px solid var(--color-border);min-width:0;min-height:100%;color:var(--color-text-primary);background:0 0;border-radius:0;place-items:center;padding:0;display:grid}.campaign-navigation{gap:2px;display:grid}.campaign-nav-item{width:100%;min-height:54px;color:var(--color-text-secondary);text-align:left;font-family:var(--font-display);background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 14px 0 16px;font-size:20px;font-weight:500;display:grid;position:relative}.campaign-nav-item:hover{color:var(--color-text-primary);background:#181b208f;border-color:#3b1a1ab3;transform:none}.campaign-nav-item.active{color:var(--color-text-primary);background:linear-gradient(90deg,#8e1b1b3b,#121418b8);border-color:#8e1b1b94}.campaign-nav-item.active:before{content:"";background:var(--color-live);border-radius:4px 0 0 4px;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.campaign-nav-item.active svg{color:var(--color-live)}.campaign-nav-badge{border:1px solid var(--color-border);min-width:32px;height:32px;color:var(--color-text-secondary);font-family:var(--font-ui);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.campaign-nav-badge.live{min-width:auto;height:auto;color:var(--color-live);letter-spacing:.08em;border:0;padding:0;font-size:10px}.campaign-nav-badge.live:before{content:"";background:var(--color-live);border-radius:50%;width:7px;height:7px;margin-right:6px}.campaign-dm-workspace{margin-top:0;padding-top:2px}.campaign-section-label{color:var(--color-text-secondary);letter-spacing:.15em;text-transform:uppercase;margin:0 0 7px 16px;font-size:10px;font-weight:600}.campaign-nav-item.contextual{border-color:var(--color-edge-glow);background:#1214188f}.campaign-nav-item.contextual:after{content:"DM";border:1px solid var(--color-border);min-width:38px;height:28px;color:var(--color-text-secondary);font-family:var(--font-ui);border-radius:999px;place-items:center;font-size:11px;display:grid}.campaign-user-card{border:1px solid var(--color-edge-glow);background:#0a0b0dc7;border-radius:8px;grid-template-columns:62px minmax(0,1fr) 38px;align-items:center;gap:12px;min-height:108px;margin-top:auto;margin-bottom:30px;padding:14px;display:grid}.campaign-signout-status{color:#ef9a9a;grid-column:1/-1;font-size:11px;line-height:1.35}.campaign-user-avatar{border:1px solid var(--color-danger);width:62px;height:62px;color:var(--color-text-primary);font-family:var(--font-display);border-radius:6px;place-items:center;font-size:25px;display:grid}.campaign-user-copy{min-width:0;display:grid}.campaign-user-copy strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:500;overflow:hidden}.campaign-user-copy small{color:var(--color-text-secondary);font-size:12px}.campaign-user-card>button{min-width:36px;min-height:36px;color:var(--color-text-secondary);background:0 0;border:0;place-items:center;padding:0;display:grid}.campaign-user-card>button:disabled{cursor:wait;opacity:.68}.campaign-main{isolation:isolate;background:radial-gradient(circle at 72% 8%, #3b1a1a0e, transparent 28%), var(--color-bg-app);min-width:0;height:100vh;padding:18px 32px 32px 26px;position:relative;overflow:auto}.campaign-main[inert]{pointer-events:none}.campaign-main:before{content:"";z-index:0;pointer-events:none;opacity:.035;filter:saturate(.72)contrast(1.04);mix-blend-mode:screen;background:url(/lorebound-map-texture.png) 100% 100%/auto 100% no-repeat;position:absolute;inset:0}.campaign-panel{z-index:1;min-height:100%;position:relative}.campaign-panel:focus{outline:none}.campaign-section-content{max-width:1088px;margin:0 auto}.campaign-section-heading{border-bottom:1px solid var(--color-edge-glow);margin-bottom:20px;padding:12px 0 18px}.campaign-section-heading span{color:var(--color-live);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.campaign-section-heading h1{color:var(--color-text-primary);font-family:var(--font-display);margin:4px 0 0;font-size:44px;font-weight:600}.campaign-sidebar-toggle,.campaign-sidebar-backdrop{display:none}@media (width<=1380px) and (width>=1024px){.campaign-shell{grid-template-columns:264px minmax(0,1fr)}.campaign-main{padding-right:24px}.campaign-brand img{width:60px;height:60px}.campaign-brand-copy strong{font-size:24px}.campaign-brand-copy small{font-size:7px}.campaign-nav-item{font-size:17px}}@media (width<=1023px){.campaign-shell{min-height:100vh;display:block;overflow:visible}.campaign-main{height:auto;min-height:100vh;padding:70px 22px 28px}.campaign-sidebar{visibility:hidden;width:min(328px,100vw - 44px);transition:transform .18s,visibility 0s linear .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.campaign-sidebar.open{visibility:visible;transition-delay:0s;transform:translate(0)}.campaign-sidebar-toggle{z-index:40;border:1px solid var(--color-edge-glow);background:var(--color-bg-surface);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--color-text-primary);border-radius:7px;place-items:center;padding:0;display:grid;position:fixed;top:16px;left:16px}.campaign-sidebar-backdrop{z-index:15;background:#000000ad;border:0;border-radius:0;width:100%;min-height:100vh;padding:0;display:block;position:fixed;inset:0}}@media (width<=767px){.campaign-main{padding:68px 14px 24px}}@media (prefers-reduced-motion:reduce){.campaign-sidebar{transition:none}}.live-table-page{grid-template-rows:112px 120px minmax(0,1fr);row-gap:16px;min-width:0;display:grid}.live-table-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;min-width:0;display:grid}.live-table-heading{min-width:0;padding-left:8px}.live-table-eyebrow{color:var(--color-text-primary);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:16px}.live-table-heading h1{max-width:560px;color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 7px;font-size:48px;font-weight:600;line-height:47px;overflow:hidden}.live-table-presence{color:var(--color-text-secondary);font-family:var(--font-display);white-space:nowrap;align-items:center;gap:13px;font-size:14px;line-height:20px;display:flex;overflow:hidden}.live-table-presence>span:not(:first-child):before{content:"•";color:var(--color-live);margin-right:13px}.live-table-presence .live-table-live{color:var(--color-live);font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.live-table-live i{background:var(--color-live);border-radius:50%;width:10px;height:10px;margin-right:8px}.live-table-controls{grid-template-columns:180px 190px 176px;gap:12px;display:grid}.live-table-controls>button,.live-table-controls>.capture-status-control{border:1px solid var(--color-edge-glow);min-width:0;height:68px;min-height:68px;color:var(--color-text-primary);font-family:var(--font-display);background:#12141870;border-radius:8px;padding:0 18px;font-size:18px;font-weight:500}.live-table-controls button:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-bg-surface);transform:none}.live-table-controls .room-code-control{text-align:left;grid-template-columns:minmax(0,1fr) 22px;align-content:center;gap:0 8px;display:grid;position:relative}.room-code-control span{color:var(--color-text-secondary);font-family:var(--font-ui);letter-spacing:.13em;text-transform:uppercase;grid-column:1/-1;font-size:9px;font-weight:600}.room-code-control strong{letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:500;overflow:hidden}.room-code-control em{color:var(--color-health);font-family:var(--font-ui);font-size:8px;font-style:normal;position:absolute;bottom:3px;right:11px}.room-code-control em.error{color:var(--color-live)}.live-table-controls .capture-control,.live-table-controls .end-session-control{white-space:nowrap;justify-content:center;align-items:center;gap:12px;display:flex}.live-table-controls .capture-control:disabled{cursor:not-allowed;opacity:.76}.live-table-controls .capture-control>span{text-align:left;min-width:0;display:grid}.live-table-controls .capture-control strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:500;line-height:20px;overflow:hidden}.live-table-controls .capture-control small{color:var(--color-text-secondary);font-family:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;line-height:14px;overflow:hidden}.live-table-controls .capture-status-control{cursor:default}.live-table-controls .end-session-control{color:var(--color-text-primary);border-color:#8e1b1bd1}.end-session-control svg{border:1px solid var(--color-live);color:var(--color-live);box-sizing:content-box;border-radius:50%;padding:3px}.session-status-strip{border:1px solid var(--color-edge-glow);background:radial-gradient(circle at 98% 8%, #8e1b1b17, transparent 26%), var(--color-bg-surface);border-radius:12px;grid-template-columns:minmax(360px,1.6fr) repeat(4,minmax(112px,.72fr));min-width:0;min-height:120px;display:grid;overflow:hidden}.session-status-intro{align-items:center;gap:20px;min-width:0;padding:20px 24px;display:flex}.session-status-intro>svg{color:var(--color-live);flex:none}.session-status-intro h2,.session-status-metric strong,.live-event-panel h2,.live-rail-card h2{color:var(--color-text-primary);font-family:var(--font-display);margin:0;font-weight:500}.session-status-intro h2{font-size:27px;line-height:29px}.session-status-intro p{max-width:315px;color:var(--color-text-secondary);font-family:var(--font-display);margin:3px 0 0;font-size:15px;line-height:19px}.session-status-metric{border-left:1px solid var(--color-border);text-align:center;place-content:center;min-width:0;padding:15px 10px;display:grid}.session-status-metric strong{font-size:31px;line-height:32px}.session-status-metric span{max-width:112px;color:var(--color-text-secondary);font-family:var(--font-display);margin:5px auto 0;font-size:14px;line-height:17px}.live-table-grid{grid-template-columns:minmax(0,744px) minmax(300px,344px);align-items:start;gap:13px;min-width:0;display:grid}.live-event-column{min-width:0}.live-event-panel,.live-rail-card{border:1px solid var(--color-edge-glow);box-shadow:none;background:radial-gradient(circle at 102% 84%,#8e1b1b0d,#0000 27%),radial-gradient(circle at -5% 10%,#3b1a1a0b,#0000 22%),#121418b8}.live-event-panel{border-radius:10px;min-width:0;padding:0 20px 30px;overflow:hidden}.live-event-panel-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:18px;height:64px;display:flex}.live-event-panel h2{font-size:24px;line-height:29px}.event-filter-bar{align-items:center;gap:3px;width:280px;display:flex;position:relative}.event-filter-tabs{align-items:center;gap:3px;display:flex}.event-filter-tabs button,.event-filter-settings{min-width:auto;height:34px;min-height:34px;color:var(--color-text-secondary);font-family:var(--font-display);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 13px;font-size:15px;font-weight:500}.event-filter-tabs button:hover,.event-filter-tabs button[aria-selected=true],.event-filter-settings:hover,.event-filter-settings[aria-expanded=true]{border-color:var(--color-danger);color:var(--color-text-primary);background:#181b20b3;transform:none}.event-filter-settings{place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:grid;position:relative}.event-filter-settings>span{background:var(--color-live);min-width:17px;height:17px;color:var(--color-bg-app);font-family:var(--font-ui);border-radius:999px;place-items:center;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.advanced-event-filters{z-index:12;border:1px solid var(--color-border);background:var(--color-bg-elevated);border-radius:8px;grid-template-columns:1fr 1fr;gap:10px;width:min(280px,100vw - 48px);padding:14px;display:grid;position:absolute;top:42px;right:0;box-shadow:0 18px 40px #00000073}.advanced-event-filters label{color:var(--color-text-secondary);font-family:var(--font-ui);letter-spacing:.05em;text-transform:uppercase;gap:4px;margin:0;font-size:10px;font-weight:600;display:grid}.advanced-event-filters select{border:1px solid var(--color-border);background:var(--color-bg-surface);width:100%;min-height:36px;color:var(--color-text-primary);font-family:var(--font-ui);text-transform:none;font-size:12px}.event-filter-bar .advanced-filter-clear{border:1px solid var(--color-border);min-height:34px;color:var(--color-text-secondary);font-family:var(--font-ui);background:0 0;grid-column:1/-1;font-size:12px}.event-filter-bar .advanced-filter-clear:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-text-primary)}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.live-event-list{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;max-height:430px;overflow:auto}.live-event-row{border-bottom:1px solid var(--color-border);grid-template-columns:72px 54px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:86px;padding:12px 0;display:grid;position:relative}.live-event-row>time{color:var(--color-text-secondary);font-family:var(--font-display);font-variant-numeric:tabular-nums;padding-left:4px;font-size:14px}.live-event-marker{z-index:1;border:1px solid var(--color-edge-glow);background:var(--color-bg-app);width:42px;height:42px;color:var(--color-warning);font-family:var(--font-display);border-radius:6px;place-items:center;font-size:20px;display:grid;position:relative}.live-event-row:not(:last-child) .live-event-marker:after{content:"";z-index:-1;background:var(--color-border);width:1px;height:45px;position:absolute;top:42px;left:50%}.live-event-row.dm-event .live-event-marker{border-color:var(--color-danger);color:var(--color-live)}.live-event-copy{align-content:center;min-width:0;padding-left:3px;display:grid}.live-event-copy strong{overflow-wrap:anywhere;color:var(--color-text-primary);font-family:var(--font-display);font-size:17px;font-weight:500;line-height:23px}.live-event-copy small{overflow-wrap:anywhere;color:var(--color-text-secondary);font-family:var(--font-display);margin-top:2px;font-size:14px;line-height:19px}.live-event-status{border:1px solid var(--color-border);min-height:32px;color:var(--color-text-secondary);font-family:var(--font-display);text-transform:capitalize;border-radius:6px;align-items:center;gap:6px;padding:0 11px;font-size:13px;display:inline-flex}.live-event-status.dm{border-color:var(--color-danger);color:var(--color-live)}.live-event-empty{min-height:192px;color:var(--color-text-secondary);font-family:var(--font-display);place-items:center;margin:0;font-size:16px;display:grid}.quick-action-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;margin-left:-4px;margin-right:-4px;display:grid}.quick-action-row button{border:1px solid var(--color-border);min-width:0;min-height:66px;color:var(--color-text-primary);font-family:var(--font-display);background:#0a0b0d8f;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:8px 10px;font-size:15px;font-weight:500;display:flex}.quick-action-row button:hover,.quick-action-row button.active{border-color:var(--color-edge-glow);background:#3b1a1a1a;transform:none}.quick-action-row button>span{text-align:left;min-width:0;display:grid}.quick-action-row button strong{font-size:15px;font-weight:500;line-height:18px}.quick-action-row button small{color:var(--color-text-secondary);font-size:12px;line-height:15px}.live-composer-form{border:1px solid var(--color-edge-glow);background:var(--color-bg-app);border-radius:7px;grid-template-columns:54px minmax(0,1fr) 50px;align-items:stretch;min-height:72px;margin-top:14px;margin-left:-4px;margin-right:-4px;display:grid;overflow:hidden}.live-composer-icon{color:var(--color-text-primary);place-items:center;display:grid}.live-composer-form input{border:0;border-left:1px solid var(--color-border);width:100%;min-height:70px;color:var(--color-text-primary);font-family:var(--font-display);background:0 0;border-radius:0;padding:0 16px;font-size:16px}.live-composer-form input::placeholder{color:var(--color-text-muted)}.live-composer-form input:focus{outline:none}.live-composer-form button{border:0;border-left:1px solid var(--color-border);min-width:50px;min-height:70px;color:var(--color-live);background:0 0;border-radius:0;place-items:center;padding:0;display:grid}.live-composer-form button:hover:not(:disabled){background:#8e1b1b1f;transform:none}.live-composer-error{margin:8px 0 0}.live-event-privacy{min-height:56px;color:var(--color-text-muted);font-family:var(--font-display);justify-content:center;align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.live-table-right-rail{grid-auto-rows:max-content;gap:14px;min-width:0;display:grid}.live-rail-card{border-radius:9px;overflow:hidden}.live-rail-card>header{justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:0 18px;display:flex}.live-rail-card h2{font-size:22px;line-height:25px}.rail-live-label{color:var(--color-live);font-family:var(--font-display);font-size:13px}.party-at-table-list{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin;max-height:365px;padding:0 14px 13px;overflow-y:auto}.party-at-table-entry>summary{cursor:pointer;list-style:none}.party-at-table-entry>summary::-webkit-details-marker{display:none}.party-at-table-entry>summary:focus-visible{outline:2px solid var(--color-live);outline-offset:-2px}.party-at-table-row{grid-template-columns:42px minmax(0,1fr) 100px;align-items:center;gap:10px;min-height:52px;display:grid}.party-avatar{border:1px solid var(--color-border);width:39px;height:39px;color:var(--color-text-primary);font-family:var(--font-display);border-radius:6px;place-items:center;font-size:19px;display:grid}.party-at-table-entry:first-child .party-avatar{color:var(--color-health);border-color:#3fa36a9e}.party-copy{min-width:0;display:grid}.party-copy strong{color:var(--color-text-primary);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;line-height:18px;overflow:hidden}.party-copy small{color:var(--color-text-secondary);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:15px;overflow:hidden}.party-health{text-align:right;gap:5px;display:grid}.party-health>span{color:var(--color-text-secondary);font-family:var(--font-display);font-size:12px}.party-health i{background:var(--color-bg-elevated);border-radius:999px;width:100%;height:7px;overflow:hidden}.party-health b{border-radius:inherit;background:var(--color-health);height:100%;display:block}.party-health b.warning{background:var(--color-warning)}.party-state-detail{flex-wrap:wrap;gap:5px;padding:0 0 8px 52px;display:flex}.party-state-detail span{border:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-display);border-radius:999px;padding:2px 7px;font-size:11px;line-height:14px}.rail-empty-state{color:var(--color-text-secondary);font-family:var(--font-display);margin:0;padding:0 18px 18px;font-size:14px;line-height:20px}.archive-readiness-card{padding-bottom:10px}.archive-readiness-card>header small,.archive-readiness-card>header .archive-refresh{min-width:auto;min-height:auto;color:var(--color-text-secondary);font-family:var(--font-display);background:0 0;border:0;padding:2px;font-size:12px;font-weight:400}.archive-readiness-card>header .archive-refresh:hover:not(:disabled){color:var(--color-text-primary);text-decoration:underline;transform:none}.archive-readiness-overview{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;padding:0 18px 10px;display:grid}.archive-coverage-ring{background:conic-gradient(var(--color-health) var(--coverage), var(--color-bg-elevated) 0);width:82px;height:82px;color:var(--color-text-primary);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:25px;display:grid}.archive-coverage-ring:before{content:"";background:var(--color-bg-surface);border-radius:50%;grid-area:1/1;width:68px;height:68px}.archive-coverage-ring span{z-index:1;grid-area:1/1;place-self:center}.archive-readiness-copy strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:16px;font-weight:500;display:block}.archive-readiness-copy span{color:var(--color-text-secondary);font-family:var(--font-display);font-size:13px;line-height:17px;display:block}.archive-readiness-checks{gap:6px;padding:0 18px 10px;display:grid}.archive-readiness-checks span{color:var(--color-text-secondary);font-family:var(--font-display);align-items:center;gap:8px;font-size:13px;display:flex}.archive-readiness-checks .warning{color:var(--color-warning)}.archive-readiness-card>button{border:1px solid var(--color-danger);width:calc(100% - 36px);min-height:38px;color:var(--color-text-primary);font-family:var(--font-display);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin:0 18px;font-size:14px;display:flex}.thread-count{border:1px solid var(--color-danger);min-width:30px;height:30px;color:var(--color-text-primary);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:13px;display:grid}.story-thread-list{padding:0 18px 6px}.story-thread-row{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px;min-height:45px;display:grid}.story-thread-row>span{min-width:0;display:grid}.story-thread-row strong,.story-thread-row small{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.story-thread-row strong{color:var(--color-text-primary);font-size:14px;font-weight:500}.story-thread-row small{color:var(--color-text-secondary);text-transform:capitalize;font-size:12px}.story-thread-row>svg{color:var(--color-warning)}.story-thread-link{border:0;border-top:1px solid var(--color-border);width:100%;min-height:41px;color:var(--color-text-secondary);font-family:var(--font-display);background:0 0;border-radius:0;justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.story-threads-card>header{min-height:44px}.full-event-composer{border:1px solid var(--color-edge-glow);background:var(--color-bg-surface);border-radius:8px;margin-top:14px}.full-event-composer>summary{min-height:46px;color:var(--color-text-secondary);cursor:pointer;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:flex}.full-event-composer[open]>summary{border-bottom:1px solid var(--color-border)}.full-event-composer .panel{border:0;border-radius:0;margin:0}.composer-kind-tabs{border-bottom:0;margin-bottom:8px}.composer-grow{flex:2}.composer-actions-row{margin-top:12px}.composer-visibility{flex:0 0 200px}.fixture-interaction-notice{border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-family:var(--font-ui);border-radius:7px;margin:0 0 12px;padding:9px 12px;font-size:12px}.fixture-more-actions{color:var(--color-text-secondary);font-family:var(--font-ui);padding:14px;font-size:12px;line-height:18px}.live-table-empty-state{text-align:center;place-content:center;max-width:760px;min-height:calc(100vh - 50px);margin:0 auto;display:grid}.live-table-empty-state h1{color:var(--color-text-primary);font-family:var(--font-display);margin:0;font-size:48px;font-weight:600}.live-table-empty-state p{color:var(--color-text-secondary);max-width:560px;margin:10px auto 22px}.live-table-start-form{align-items:end;gap:12px;width:min(560px,100%);margin:0 auto;display:flex}.live-table-start-form label{color:var(--color-text-secondary);text-align:left;flex:1;margin:0}.live-table-start-form input{border:1px solid var(--color-border);background:var(--color-bg-surface);min-height:48px;color:var(--color-text-primary);margin-top:6px}.live-table-start-form button{border:1px solid var(--color-danger);min-height:48px;color:var(--color-text-primary);background:#8e1b1b38}.past-session-date{margin-left:auto}@media (width<=1460px) and (width>=1024px){.live-table-controls{grid-template-columns:165px 175px 160px;gap:9px}.live-table-controls>button,.live-table-controls>.capture-status-control{padding-inline:12px}.live-table-controls .capture-control,.live-table-controls .end-session-control{gap:10px}.live-table-grid{grid-template-columns:minmax(640px,1fr) 300px}.session-status-intro{padding-inline:18px}.session-status-strip{grid-template-columns:minmax(300px,1.45fr) repeat(4,minmax(98px,.7fr))}.live-table-heading h1{font-size:43px}.live-table-presence{white-space:normal;flex-wrap:wrap;overflow:visible}}@media (width<=1279px){.live-table-page{grid-template-rows:auto auto auto}.live-table-header{grid-template-columns:1fr}.live-table-controls{grid-template-columns:repeat(3,minmax(130px,1fr))}.session-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.session-status-intro{grid-column:1/-1}.session-status-metric{border-top:1px solid var(--color-border);min-height:92px}.live-table-grid{grid-template-columns:1fr}.live-table-right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.story-threads-card{grid-column:1/-1}}@media (width<=767px){.live-table-heading h1{white-space:normal;font-size:39px;line-height:42px}.live-table-presence{white-space:normal;flex-wrap:wrap;gap:5px 10px}.live-table-presence>span:not(:first-child):before{margin-right:10px}.live-table-controls{grid-template-columns:1fr 1fr}.live-table-controls .room-code-control{grid-column:1/-1}.live-table-controls>button,.live-table-controls>.capture-status-control{width:100%}.session-status-strip{grid-template-columns:1fr 1fr}.session-status-intro{align-items:flex-start}.session-status-intro>svg{width:38px}.live-event-panel{padding-inline:12px}.live-event-panel-header{flex-direction:column;align-items:flex-start;height:auto;min-height:64px;padding-block:12px}.event-filter-bar{width:100%}.event-filter-tabs{min-width:0;overflow-x:auto}.live-event-row{grid-template-columns:48px 42px minmax(0,1fr);gap:9px}.live-event-row>time{font-size:11px}.live-event-status{grid-column:3;justify-self:start}.quick-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.live-table-right-rail{grid-template-columns:1fr}.story-threads-card{grid-column:auto}.live-table-start-form{flex-direction:column;align-items:stretch}}@media (width<=420px){.session-status-strip{grid-template-columns:1fr}.session-status-intro,.session-status-metric{grid-column:auto}.live-table-controls{grid-template-columns:1fr}.live-table-controls .room-code-control{grid-column:auto}.quick-action-row{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}}@media (width<=340px){.quick-action-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.live-table-page *,.live-table-page :before,.live-table-page :after{transition:none!important;animation:none!important}}:root{--navy-950:#020b12;--navy-900:#061421;--navy-850:#081a2b;--navy-800:#0b2034;--navy-700:#18334b;--paper:#f5ecd9;--paper-2:#fbf4e6;--paper-line:#cab78f;--paper-text:#1c1b18;--muted-paper:#6f675a;--muted-blue:#a9b7c8;--line-blue:#29425a;--line-blue-strong:#3b5874;--red:#ff4d48;--red-soft:#ffd8d4;--green:#73d66b;--green-soft:#dff3d4;--blue:#87b9ff;--brass:#d6a75b;--brass-2:#87622d;--shadow:0 18px 42px #00000052;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0}body{background:radial-gradient(circle at 18% 0%, #2552763d, transparent 34%), linear-gradient(180deg, var(--navy-900), var(--navy-950));color:#f7efe3;font-family:var(--sans);font-size:14px;line-height:1.5}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:0;font-weight:700}h1{margin-bottom:16px;font-size:clamp(2rem,3vw,3rem);line-height:.96}h2{margin-bottom:10px;font-size:1.55rem;line-height:1.05}h3{margin-bottom:8px;font-size:1.18rem;line-height:1.1}h4{font-size:1rem;line-height:1.1}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,.btn,input,textarea,select{font:inherit}button,.btn{border:1px solid var(--line-blue-strong);color:#f8efe2;cursor:pointer;background:#091c2ee6;border-radius:7px;min-height:38px;padding:0 13px;font-size:.86rem;font-weight:800;line-height:1.1;transition:border-color .14s,background .14s,transform .14s,opacity .14s}button:hover:not(:disabled),.btn:hover:not(:disabled){border-color:#77a8d8;transform:translateY(-1px)}button:disabled,.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}button.primary,.btn.primary{border-color:var(--brass-2);color:#140d05;background:linear-gradient(#e0b665,#b77b33)}button.danger{color:#ff9b97;background:#ff4d481f;border-color:#ff4d488c}button.subtle{color:inherit;opacity:.78;background:0 0;border-color:#0000}button.subtle:hover:not(:disabled){opacity:1;background:#29425a38;border-color:#77a8d86b}button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus{outline-offset:2px;outline:2px solid #87b9ffa3}input,textarea,select{width:100%;min-height:38px;color:var(--paper-text);background:#fff9edeb;border:1px solid #cab78fcc;border-radius:7px;padding:8px 10px}textarea{resize:vertical;min-height:82px}label{color:var(--brass-2);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 5px;font-size:.68rem;font-weight:900;display:block}code{color:var(--brass-2);font-weight:800}.app-shell{width:min(1220px,100% - 32px);min-height:calc(100vh - 32px);box-shadow:var(--shadow);background:radial-gradient(circle at 16% 10%,#28577d38,#0000 32%),linear-gradient(#051421,#020a11 62%);border:1px solid #3e5a74c2;border-radius:12px;margin:16px auto;padding:0 22px 42px}.topbar{color:#fff7ec;border-bottom:1px solid #3a546cad;justify-content:space-between;align-items:center;gap:18px;min-height:76px;margin-bottom:30px;padding:16px 0;display:flex}.topbar-brand{align-items:center;gap:14px;min-width:0;display:flex}.brand-link{color:#fff7ec;align-items:center;gap:10px;display:inline-flex}.brand-link:hover{text-decoration:none}.brand-link img{background:var(--paper-2);border:1px solid #cab78f8c;border-radius:9px;width:42px;height:42px;box-shadow:0 9px 24px #00000047}.wordmark{color:#fff7ec;font-family:var(--serif);white-space:nowrap;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:700;line-height:1}.wordmark em{color:var(--brass);font-style:normal}.tagline{color:var(--muted-blue);font-size:.82rem;font-weight:700}.topbar nav{min-width:0;color:var(--muted-blue);justify-content:flex-end;align-items:center;gap:14px;font-size:.82rem;font-weight:700;display:flex}.topbar nav span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel,.card{border:1px solid var(--paper-line);color:var(--paper-text);background:radial-gradient(circle at 22% 18%,#ffffff6b,#0000 28%),linear-gradient(#fff8e8fa,#f1e5cffa);border-radius:9px;box-shadow:0 10px 26px #00000038}.panel{margin-bottom:18px;padding:18px}.panel.dm-only{background:linear-gradient(#ffd8d4c7,#0000 44%),linear-gradient(#fff8e8fa,#f1e5cffa);border-color:#b9565eb8}.card{color:var(--paper-text);cursor:pointer;padding:18px;text-decoration:none;transition:border-color .14s,transform .14s,box-shadow .14s;display:block}.card:hover,.card:focus-visible{border-color:var(--brass-2);text-decoration:none;transform:translateY(-1px)}.card .muted{color:var(--muted-paper);opacity:1}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:22px;display:grid}.campaign-actions-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin-top:28px;display:grid}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-row>*{flex:160px}.form-row>button{flex:none}.badge{color:#4f4638;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;background:#fff9ed70;border:1px solid #6f675a6b;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:900;display:inline-block}.badge.dm{color:#9b3034;background:#ff4d481f;border-color:#ff4d487a}.badge.safe{color:#2b6f43;background:#73d66b29;border-color:#2d6f4380}.badge.gold{color:#87622d;background:#d6a75b2e;border-color:#87622d80}.muted,.hint{color:inherit;opacity:.72}.hint{margin-top:8px;font-size:.82rem}.error{border-left:3px solid var(--red);color:#8f2632;background:#ff4d4824;margin-top:8px;padding:8px 10px;font-weight:800}.status-message{color:var(--muted-blue);background:#051421c7;border:1px solid #405b74b8;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:.82rem;font-weight:800}.panel .status-message,.card .status-message,.auth-wrap .status-message{color:#332f28;background:#fff9ed80}.status-error,.panel .status-error,.card .status-error,.auth-wrap .status-error{border-color:var(--red);background:var(--red-soft);color:#8f2632}.status-success,.panel .status-success,.card .status-success,.auth-wrap .status-success{background:var(--green-soft);color:#2b6f43;border-color:#73d66b80}.status-loading{color:var(--muted-blue)}.tabs{border:1px solid var(--line-blue);background:#030e18ad;border-radius:10px;flex-wrap:wrap;gap:6px;margin-bottom:22px;padding:8px;display:flex}.tabs button{color:var(--muted-blue);background:0 0;border-color:#0000;min-height:36px}.tabs button.active,.tabs button[aria-selected=true]{color:#fff7ec;background:#29425a80;border-color:#87b9ff70}.tabs button.dm-tab.active,.tabs button.dm-tab[aria-selected=true]{background:#ff4d4821;border-color:#ff4d4880}.panel .tabs{background:#fff9ed5c;border-color:#977f5252}.panel .tabs button{color:#514a3f}.panel .tabs button.active,.panel .tabs button[aria-selected=true]{color:var(--paper-text);background:#d6a75b33;border-color:#87622d70}.tab-panel:focus{outline:none}.party-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.char-card{border:1px solid var(--line-blue);color:#f7efe6;background:radial-gradient(circle at 12% 18%,#2658813d,#0000 34%),linear-gradient(#051421f2,#040e17f5);border-radius:9px;padding:14px}.char-card .name{font-family:var(--serif);font-size:1.18rem;font-weight:700}.hp-bar{background:#020b12d1;border-radius:999px;height:7px;margin:9px 0;overflow:hidden}.hp-bar>div{border-radius:inherit;background:linear-gradient(90deg, var(--red), var(--brass), var(--green));height:100%}.stat-row{color:var(--muted-blue);justify-content:space-between;gap:10px;font-size:.82rem;display:flex}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid #977f5252;gap:12px;padding:10px 0;font-size:.88rem;display:flex}.timeline li:last-child,.note-item:last-child{border-bottom:0}.timeline .time{color:var(--muted-paper);font-variant-numeric:tabular-nums;flex:0 0 54px}.timeline .etype{color:var(--muted-paper);letter-spacing:.05em;text-transform:uppercase;flex:0 0 168px;padding-top:2px;font-size:.72rem;font-weight:900}.accuracy-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.accuracy-metrics{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-top:14px;display:grid}.memory-status{background:#73d66b1f;border:1px solid #2d6f434d;border-radius:8px;gap:4px;margin-top:14px;padding:12px;display:grid}.memory-status strong{color:#255d38;font-size:.92rem}.memory-status span{color:#4b4439;font-size:.82rem}.accuracy-metrics>div{background:#fff9ed7a;border:1px solid #977f5252;border-radius:8px;min-height:76px;padding:12px}.accuracy-metrics strong{color:var(--paper-text);font-family:var(--serif);font-size:1.55rem;line-height:1;display:block}.accuracy-metrics span{color:var(--muted-paper);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.accuracy-session-list{flex-wrap:wrap;gap:8px;display:flex}.session-check{min-height:38px;color:var(--paper-text);letter-spacing:0;text-transform:none;background:#fff9ed7a;border:1px solid #977f5257;border-radius:8px;align-items:center;gap:8px;margin:0;padding:7px 10px;font-size:.84rem;font-weight:800;display:inline-flex}.session-check input{width:auto;min-height:auto}.session-check small{color:var(--muted-paper);font-size:.72rem;font-weight:800}.session-filter-panel>summary{width:fit-content;color:var(--paper-text);cursor:pointer;font-weight:800}.session-filter-panel[open]>summary{margin-bottom:10px}.codex-fallback-panel{margin-top:12px}.codex-fallback-panel>summary{width:fit-content;color:var(--muted-paper);cursor:pointer;font-size:.82rem;font-weight:800}.codex-fallback-panel[open]>summary{margin-bottom:8px}.accuracy-grid{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:18px;display:grid}.coverage-list,.attention-list,.accuracy-timeline{gap:8px;display:grid}.coverage-row,.attention-row{background:#fff9ed6b;border:1px solid #977f5247;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.coverage-row{grid-template-columns:minmax(180px,1fr) repeat(4,auto)}.coverage-row.fusion-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.coverage-row.fusion-row>div{grid-column:1/-1}.coverage-row.fusion-row>span{border-top:1px solid var(--border,#977f5247);overflow-wrap:break-word;white-space:normal;align-items:center;min-height:38px;padding-top:8px;line-height:1.25;display:flex}.coverage-row>*,.attention-row>*{min-width:0}.attention-row{grid-template-columns:auto minmax(0,1fr)}.attention-row span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.manual-entry-panel{margin-bottom:18px}.manual-entry-panel>summary{width:fit-content;min-height:42px;color:var(--muted-blue);cursor:pointer;background:#030e18ad;border:1px solid #87b9ff47;border-radius:8px;align-items:center;padding:0 13px;font-size:.86rem;font-weight:800;display:flex}.manual-entry-panel>summary:hover{color:#fff7ec;border-color:#87b9ff7a}.manual-entry-panel[open]>summary{margin-bottom:10px}.accuracy-timeline{gap:0}.accuracy-timeline-item{border-bottom:1px solid #977f5252;grid-template-columns:172px minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.accuracy-timeline-item:last-child{border-bottom:0}.timeline-stamp{color:var(--muted-paper);font-variant-numeric:tabular-nums;font-size:.76rem}.timeline-stamp strong,.timeline-stamp span{display:block}.timeline-body{min-width:0}.timeline-row-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px;display:flex}.timeline-row-head .etype{color:var(--muted-paper);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:900}.accuracy-timeline-item.audio .timeline-body{border-left:3px solid #d6a75b8a;padding-left:10px}.accuracy-timeline-item.event .timeline-body{border-left:3px solid #2d6f436b;padding-left:10px}.campaign-workflow{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:18px;display:grid}.campaign-workflow-main{min-width:0}.campaign-workflow-side{gap:14px;min-width:0;display:grid}.campaign-flow-overview{gap:10px;display:grid}.session-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.session-counts>div{background:#fff9ed66;border:1px solid #977f5247;border-radius:8px;padding:10px}.session-counts strong{font-size:1.3rem;line-height:1;display:block}.session-counts span{color:var(--muted-paper);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:900}.campaign-flow-actions{gap:8px;display:grid}.campaign-flow-actions button{justify-content:flex-start;width:100%}.accuracy-metrics--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.panel--nested{margin-top:10px}.accuracy-prompt{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.note-item{border-bottom:1px solid #977f5252;padding:13px 0}.note-item .meta,.meta{color:var(--muted-paper);margin-top:5px;font-size:.74rem}.recording-dot{background:var(--green);border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block;box-shadow:0 0 0 4px #73d66b24}.recording-dot.live{background:var(--red);animation:1.4s infinite pulse;box-shadow:0 0 0 4px #ff4d4824}@keyframes pulse{50%{opacity:.35}}.markdown-preview{color:#f8efe2;white-space:pre-wrap;background:linear-gradient(#071b2c,#051321);border:1px solid #34546fdb;border-radius:8px;max-height:520px;padding:18px 20px;font-size:.86rem;overflow-y:auto}.join-code{color:var(--brass-2);font-family:var(--serif);letter-spacing:.18em;font-size:1.55rem;font-weight:700}.codex-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.save-indicator{color:var(--muted-paper);margin-right:auto;font-size:.75rem;font-weight:800}.save-dirty{color:var(--brass-2)}.save-saving{color:var(--muted-paper)}.save-saved{color:#2b6f43}.save-error{color:#8f2632}.members-table-wrap{overflow-x:auto}table.members{border-collapse:collapse;width:100%;font-size:.88rem}table.members th{text-align:left;color:var(--muted-paper);letter-spacing:.05em;text-transform:uppercase;padding:6px 8px;font-size:.72rem;font-weight:900}table.members td{border-top:1px solid #977f5252;padding:9px 8px}.row-status{color:var(--muted-paper);margin-left:8px;font-size:.75rem;font-weight:800}.member-card-list{gap:12px;margin-top:12px;display:none}.member-card{background:#fff9ed6b;border:1px solid #977f5252;border-radius:9px;padding:14px}.member-card-head,.member-card-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.member-card-row{color:var(--muted-paper);margin-top:10px;font-size:.86rem}.member-card-row label{margin:0}.member-card-row select{max-width:180px}.member-remove{width:100%;margin-top:12px}.confirm-backdrop{z-index:100;background:#01070cc7;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--paper-line);background:var(--paper-2);width:min(420px,100%);color:var(--paper-text);border-radius:9px;padding:20px;box-shadow:0 18px 44px #00000061}.confirm-dialog h3{margin-bottom:8px}.confirm-dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.auth-wrap{isolation:isolate;color:#e6e2dc;width:100%;min-height:100vh;font-family:var(--sans);background:radial-gradient(circle at 11% 17%,#8e1b1b2e,#0000 28%),radial-gradient(circle at 83% 86%,#3b1a1a29,#0000 25%),linear-gradient(132deg,#0f1114 0%,#0a0b0d 46%,#07080a 100%);grid-template-columns:minmax(320px,520px) minmax(360px,430px);justify-content:center;align-items:center;gap:clamp(48px,8vw,116px);padding:clamp(38px,6vw,88px);display:grid;position:relative;overflow:hidden}.auth-wrap:before{content:"";z-index:-1;pointer-events:none;opacity:.055;filter:grayscale()contrast(1.18)brightness(1.25);mix-blend-mode:screen;background:url(/lorebound-map-texture.png) 0/auto 125% no-repeat;position:absolute;inset:0}.auth-wrap:after{content:"";z-index:-1;pointer-events:none;border:1px solid #8e1b1b29;border-radius:12px;position:absolute;inset:18px}.auth-story,.auth-card{min-width:0}.auth-story{max-width:520px}.auth-brand-lockup{align-items:center;gap:14px;margin-bottom:clamp(44px,8vh,84px);display:flex}.auth-brand-lockup .auth-logo{object-fit:cover;filter:invert()grayscale()contrast(1.4)brightness(.92);mix-blend-mode:screen;border-radius:50%;flex:none;width:72px;height:72px;display:block}.auth-brand-lockup>div{line-height:1;display:grid}.auth-brand-lockup strong{font-family:var(--serif);letter-spacing:.035em;text-transform:uppercase;font-size:30px;font-weight:600}.auth-brand-lockup span{color:#ff2d2d;letter-spacing:.25em;text-transform:uppercase;margin-top:8px;font-size:10px;font-weight:800}.auth-eyebrow{color:#a7a4a0;letter-spacing:.19em;text-transform:uppercase;font-size:10px;font-weight:800}.auth-story h1{color:#e6e2dc;letter-spacing:-.028em;max-width:500px;margin:13px 0 20px;font-size:clamp(48px,5.1vw,72px);font-weight:500;line-height:.92}.auth-intro{color:#a7a4a0;max-width:470px;font-size:16px;line-height:1.7}.auth-proof-list{gap:16px;max-width:470px;margin:36px 0 0;padding:0;list-style:none;display:grid}.auth-proof-list li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:13px;display:grid}.auth-proof-list svg{color:#8e1b1b;width:20px;height:20px;margin-top:3px}.auth-proof-list span{gap:3px;display:grid}.auth-proof-list strong{color:#e6e2dc;font-size:13px;font-weight:650}.auth-proof-list small{color:#a7a4a0;font-size:12px;line-height:1.45}.auth-card{background:linear-gradient(#181b20f7,#121418fa);border:1px solid #2a2e36;border-radius:10px;width:100%;padding:clamp(28px,4vw,42px);position:relative;box-shadow:0 28px 80px #0000007a,0 0 36px #3b1a1a1f}.auth-card:before{content:"";background:linear-gradient(#0000,#8e1b1b 24%,#3b1a1a 74%,#0000);border-radius:10px 0 0 10px;width:2px;position:absolute;inset:0 auto 0 0}.auth-card-header{margin-bottom:28px}.auth-card-header h2,.auth-system-card h2{color:#e6e2dc;letter-spacing:-.012em;margin:9px 0;font-size:32px;font-weight:500}.auth-card-header>p:last-child,.auth-system-card .muted{color:#a7a4a0;font-size:13px;line-height:1.55}.auth-form,.auth-field{display:grid}.auth-form{gap:18px}.auth-field{gap:7px}.auth-field label{color:#a7a4a0;letter-spacing:.12em;margin:0;font-size:10px}.auth-field input{color:#e6e2dc;caret-color:#ff2d2d;background:#0f1114;border-color:#2a2e36;border-radius:6px;min-height:46px;padding:10px 13px}.auth-field input::placeholder{color:#898681}.auth-field input:hover:not(:disabled){border-color:#3d424c}.auth-field input:focus-visible{outline-offset:1px;border-color:#8e1b1b;outline:2px solid #ff2d2d47}.auth-actions{gap:9px;margin-top:2px;display:grid}.auth-actions .auth-submit{color:#fff7f2;background:#8e1b1b;border-color:#8e1b1b;border-radius:6px;width:100%;min-height:46px;box-shadow:0 8px 24px #8e1b1b33}.auth-actions .auth-submit:hover:not(:disabled){background:#a92323;border-color:#a92323}.auth-actions .auth-mode-switch{color:#a7a4a0;justify-self:center;min-height:34px;font-size:12px}.auth-actions .auth-mode-switch:hover:not(:disabled){color:#e6e2dc;text-underline-offset:3px;background:0 0;border-color:#0000;text-decoration:underline}.auth-card .status-message{color:#a7a4a0;background:#0f1114;border-color:#2a2e36;margin:0}.auth-card .status-error{color:#ffb0aa;background:#8e1b1b29;border-color:#ff2d2d75}.auth-card .status-success{color:#93d2ad;background:#3fa36a1f;border-color:#3fa36a75}.auth-privacy{color:#a7a4a0;border-top:1px solid #2a2e36;align-items:flex-start;gap:8px;margin-top:24px;padding-top:18px;font-size:11px;line-height:1.45;display:flex}.auth-privacy svg{color:#a7a4a0;flex:none;width:15px;height:15px}.auth-wrap-compact{grid-template-columns:minmax(280px,500px)}.auth-system-card{text-align:center}.auth-system-logo{object-fit:cover;filter:invert()grayscale()contrast(1.4)brightness(.92);mix-blend-mode:screen;border-radius:50%;width:112px;height:112px;margin:0 auto 18px;display:block}.auth-system-card code{color:#d08a3a}@media (width<=920px){.auth-wrap{grid-template-columns:minmax(0,580px);align-content:start;gap:34px;padding:34px 24px 48px;overflow:visible}.auth-wrap:before{background-position:top;background-size:auto 72%}.auth-story{max-width:580px}.auth-brand-lockup{margin-bottom:34px}.auth-story h1{max-width:560px;font-size:clamp(42px,9vw,64px)}.auth-proof-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:none}.auth-proof-list li{grid-template-columns:1fr;gap:7px}}@media (height<=720px) and (width>=921px){.auth-wrap{align-items:start;padding-block:34px;overflow-y:auto}.auth-brand-lockup{margin-bottom:30px}.auth-proof-list{margin-top:24px}}@media (width<=560px){.auth-wrap{gap:26px;padding:24px 15px 34px}.auth-wrap:after{inset:8px}.auth-brand-lockup{gap:10px;margin-bottom:28px}.auth-brand-lockup .auth-logo{width:54px;height:54px}.auth-brand-lockup strong{font-size:24px}.auth-story h1{margin-bottom:14px;font-size:43px}.auth-intro{font-size:14px}.auth-proof-list{grid-template-columns:1fr;margin-top:24px}.auth-proof-list li:nth-child(n+2){display:none}.auth-card{padding:25px 20px}.auth-card-header h2,.auth-system-card h2{font-size:28px}}@media (width<=1023px){.accuracy-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{border-radius:10px;width:min(100% - 12px,1220px);min-height:calc(100vh - 12px);margin:6px auto;padding:0 12px 28px}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar-brand{flex-wrap:wrap;align-items:flex-start;width:100%}.topbar nav{justify-content:space-between;width:100%}h1{font-size:2rem}.timeline li{grid-template-columns:54px minmax(0,1fr);display:grid}.timeline .etype{flex:auto;grid-column:2}.timeline li>span:last-child{grid-column:2}.accuracy-grid{grid-template-columns:1fr}.coverage-row,.coverage-row.fusion-row{grid-template-columns:1fr 1fr}.coverage-row>div{grid-column:1/-1}.accuracy-timeline-item{grid-template-columns:1fr;gap:6px}.members-table-wrap{display:none}.member-card-list{display:grid}}.privacy-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.privacy-list{gap:10px;padding:0;list-style:none;display:grid}.privacy-list li{border-bottom:1px solid var(--border,#d8c8aa);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.privacy-list li>span{overflow-wrap:anywhere;flex:180px;min-width:0}.privacy-list li>button{white-space:normal;flex:0 auto;max-width:100%}.danger-zone{border-color:#9c3d36}button.danger{color:#fff;background:#8f302d}.account-deletion-panel{margin-top:20px}@media (width<=420px){body{font-size:13px}.brand-link img{width:36px;height:36px}.wordmark{font-size:1.26rem}.tabs{padding:6px}.tabs button{flex:calc(50% - 6px)}.accuracy-metrics,.coverage-row,.coverage-row.fusion-row,.attention-row,.campaign-workflow{grid-template-columns:1fr}.coverage-row span,.attention-row span:last-child{white-space:normal;overflow-wrap:anywhere}.form-row>button{flex-basis:100%}.confirm-dialog-actions{flex-direction:column-reverse}.privacy-list li{flex-direction:column;align-items:stretch}.privacy-list li>span,.privacy-list li>button{flex-basis:auto;width:100%}}.campaign-section-content .panel,.campaign-section-content .card,.campaign-section-content .member-card{border-color:var(--color-border);color:var(--color-text-primary);background:#121418f5;box-shadow:0 14px 36px #0000003d}.campaign-section-content .panel{border-radius:12px;padding:20px}.campaign-section-content .panel.dm-only{background:linear-gradient(#3b1a1a33,#0000 42%),#121418f5;border-color:#8e1b1b9e}.campaign-section-content .panel h2,.campaign-section-content .panel h3,.campaign-section-content .card h3{color:var(--color-text-primary);font-family:var(--font-display);font-weight:600}.campaign-section-content .muted,.campaign-section-content .hint,.campaign-section-content .meta,.campaign-section-content .timeline .time,.campaign-section-content .timeline .etype,.campaign-section-content .timeline-stamp,.campaign-section-content .timeline-row-head .etype,.campaign-section-content .stat-row,.campaign-section-content .member-card-row{color:var(--color-text-secondary);opacity:1}.campaign-section-content label{color:var(--color-text-secondary)}.campaign-section-content input,.campaign-section-content textarea,.campaign-section-content select,.campaign-section-content button{border-color:var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-primary)}.campaign-section-content button:hover:not(:disabled),.campaign-section-content button.subtle:hover:not(:disabled){background:#3b1a1a52;border-color:#8e1b1bb8}.campaign-section-content button.primary{color:var(--color-text-primary);background:#8e1b1b6b;border-color:#ff2d2db3}.campaign-section-content button.danger{border-color:var(--color-danger);color:#ff8d8d;background:#8e1b1b4d}.campaign-section-content .status-message,.campaign-section-content .panel .status-message,.campaign-section-content .card .status-message{border-color:var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary)}.campaign-section-content .status-error,.campaign-section-content .panel .status-error,.campaign-section-content .card .status-error{border-color:var(--color-danger);color:#ff9d9d;background:#8e1b1b33}.campaign-section-content .status-success,.campaign-section-content .panel .status-success,.campaign-section-content .card .status-success{color:#8fd3aa;background:#3fa36a1f;border-color:#3fa36a80}.campaign-section-content .timeline li,.campaign-section-content .note-item,.campaign-section-content table.members td,.campaign-section-content .accuracy-timeline-item,.campaign-section-content .privacy-list li{border-color:var(--color-border)}.campaign-section-content .char-card,.campaign-section-content .accuracy-metrics>div,.campaign-section-content .session-check,.campaign-section-content .coverage-row,.campaign-section-content .attention-row{border-color:var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-primary)}.campaign-section-content .memory-status{background:#3fa36a1a;border-color:#3fa36a59}.campaign-section-content .memory-status strong,.campaign-section-content .memory-status span,.campaign-section-content .accuracy-metrics strong,.campaign-section-content .session-check,.campaign-section-content .session-filter-panel>summary{color:var(--color-text-primary)}.campaign-section-content .accuracy-metrics span,.campaign-section-content .session-check small,.campaign-section-content .codex-fallback-panel>summary,.campaign-section-content .join-code{color:var(--color-text-secondary)}.campaign-section-content .badge.gold{color:var(--color-warning);background:#d08a3a1f;border-color:#d08a3a73}@media (width<=720px){.campaign-section-content .panel{padding:16px}}
