@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_d47fc10e-module__-2Tx4G__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_d47fc10e-module__-2Tx4G__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/00c7e5acc48683f4-s.19alqvvhfuuzb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/87da4c579d46d553-s.00bwz7hm3orf8.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/936250bb3ad001bc-s.3554akaq1b448.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/14da52269264e5de-s.37c_y-9sgr8ye.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/23963417ab846622-s.3q9-6ug02ckx6.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/847b360c863aee07-s.33i1d7jmgp4dn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3de5843039fd6032-s.p.28t2_pc6lv_06.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/dc69bebe0e1f8bce-s.15zkqhmr1x9qa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fd36f8253484d9fd-s.23o598r86ijbx.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6cbb4a68dca42d75-s.1w0uyzg9s968s.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b64a691eb0036d18-s.0yitwv_qr78cw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1fbc2d9d5e28c6aa-s.0be97yghvks9j.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/55110c1d57423bba-s.34w_pkbsoy-xo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2ccb882a09be6e9a-s.p.392s89hh6cue7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7108beb54dc93e76-s.3aqo2qtaj2v3r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a4a362e1fb92bebd-s.21qnfvpjb4sie.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5a32e298ab98510f-s.0b28suo3a3dzh.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/695a7aebbe0f3894-s.2fl_gvysddb04.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d1f849767841653a-s.083-xskh6cl-4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b6e15accc0a1e3a9-s.05dntviacox9e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0f9b0aa50a4f67ad-s.p.3czaq2i0a43e-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans Fallback;src:local(Arial);ascent-override:103.67%;descent-override:34.56%;line-gap-override:0.0%;size-adjust:86.81%}.alegreya_sans_6c08d2f-module__yiA7VG__className{font-family:Alegreya Sans,Alegreya Sans Fallback;font-style:normal}.alegreya_sans_6c08d2f-module__yiA7VG__variable{--font-body:"Alegreya Sans", "Alegreya Sans Fallback"}
:root{--bg-base:#191512;--bg-surface:#211c18;--bg-raised:#2a241f;--bg-surface-hover:var(--bg-raised);--ink:#ede6d6;--ink-muted:#a89f8d;--accent-gold:#d9a036;--deep-green:#2e4b3f;--danger:#b84028;--text-meta:13px;--text-body:16px;--text-md:20px;--text-lg:25px;--text-xl:31px;--text-2xl:39px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-input:6px;--radius-card:10px;--radius-pill:999px;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 8px #00000059;--ease-out:cubic-bezier(0, 0, .2, 1);--motion-fast:.12s;--motion-base:.2s}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-base);color:var(--ink);font-family:var(--font-body), "Alegreya Sans", sans-serif;font-size:var(--text-body);-webkit-font-smoothing:antialiased;line-height:1.6}body:before{content:"";z-index:100;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3{font-family:var(--font-display), "Cormorant Garamond", serif;margin:0;font-weight:600;line-height:1.2}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{max-width:65ch;margin:0}a{color:var(--accent-gold)}:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{flex-direction:column;min-height:100vh;display:flex}.header{padding:var(--space-6) var(--space-8)}.wordmark{font-family:var(--font-display), "Cormorant Garamond", serif;font-weight:600;font-size:var(--text-md);color:var(--ink);align-items:center;gap:var(--space-3);text-decoration:none;display:inline-flex}.hero{justify-content:center;align-items:flex-start;gap:var(--space-6);padding:var(--space-16) var(--space-8);flex-direction:column;flex:1;width:100%;max-width:720px;margin:0 auto;display:flex}.tagline{color:var(--ink-muted);font-size:var(--text-md)}.cta{min-height:44px;padding:0 var(--space-6);background:var(--accent-gold);color:var(--bg-base);font-family:inherit;font-size:var(--text-body);border-radius:var(--radius-input);cursor:pointer;transition:opacity var(--motion-fast) var(--ease-out);border:none;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.cta:hover{opacity:.9}.cta:disabled,.btn-secondary:disabled{opacity:.6;cursor:default}.card{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:var(--space-6);gap:var(--space-3);margin-top:var(--space-8);flex-direction:column;display:flex}.card p{color:var(--ink-muted)}.footer{padding:var(--space-6) var(--space-8);color:var(--ink-muted);font-size:var(--text-meta)}.prose h2{margin-top:var(--space-6)}.prose ul{padding-left:var(--space-6);max-width:65ch;margin:0}.header-row{justify-content:space-between;align-items:center;display:flex}.auth-main{padding:var(--space-8);flex:1;justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-4);width:100%;max-width:400px;margin-top:0}.auth-title{font-size:var(--text-xl)}.auth-sub{color:var(--ink-muted)}.auth-form{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-size:var(--text-meta);color:var(--ink-muted);font-weight:500}.input{width:100%;min-height:44px;padding:0 var(--space-3);background:var(--bg-raised);color:var(--ink);border-radius:var(--radius-input);font:inherit;border:none}.input::placeholder{color:var(--ink-muted)}.btn-block{width:100%;margin-top:var(--space-2)}.btn-secondary{min-height:44px;padding:0 var(--space-6);background:var(--bg-raised);color:var(--ink);font-family:inherit;font-size:var(--text-body);border-radius:var(--radius-input);cursor:pointer;transition:opacity var(--motion-fast) var(--ease-out);border:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.btn-secondary:hover{opacity:.85}.btn-quiet{min-height:44px;padding:0 var(--space-3);color:var(--ink-muted);font-family:inherit;font-size:var(--text-body);cursor:pointer;transition:color var(--motion-fast) var(--ease-out);background:0 0;border:none}.btn-quiet:hover{color:var(--ink)}.divider{align-items:center;gap:var(--space-3);color:var(--ink-muted);font-size:var(--text-meta);display:flex}.divider:before,.divider:after{content:"";background:#a89f8d40;flex:1;height:1px}.error-note{align-items:flex-start;gap:var(--space-2);display:flex}.error-icon{color:var(--danger);flex-shrink:0;margin-top:2px}.meta{font-size:var(--text-meta);color:var(--ink-muted)}.content{width:100%;max-width:720px;padding:var(--space-12) var(--space-8);gap:var(--space-6);flex-direction:column;flex:1;margin:0 auto;display:flex}.page-head{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.campaign-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.campaign-link{gap:var(--space-1);background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:var(--space-4) var(--space-6);color:var(--ink);transition:background-color var(--motion-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.campaign-link:hover{background:var(--bg-surface-hover)}.campaign-name{font-weight:500;font-size:var(--text-md)}.campaign-meta{font-size:var(--text-meta);color:var(--ink-muted)}.campaign-row{align-items:center;gap:var(--space-2);display:flex}.campaign-row .campaign-link{flex:1;min-width:0}.menu-wrap{position:relative}.icon-btn{border-radius:var(--radius-input);width:44px;height:44px;color:var(--ink-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--ink);background:var(--bg-raised)}.menu{right:0;top:calc(100% + var(--space-1));z-index:10;background:var(--bg-raised);border-radius:var(--radius-card);min-width:220px;box-shadow:var(--shadow-2);padding:var(--space-2);flex-direction:column;display:flex;position:absolute}.menu-item{align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-input);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out);background:0 0;border:none;display:flex}.menu-item:hover:not(:disabled){background:var(--bg-surface)}a.menu-item{text-decoration:none}.menu-item:disabled{color:var(--ink-muted);cursor:default}.menu-item-danger{color:var(--danger)}.menu-soon{font-size:var(--text-meta);color:var(--ink-muted);margin-left:auto}.menu-panel{width:280px;padding:var(--space-4);gap:var(--space-3)}.menu-title{font-weight:500}.menu-form{gap:var(--space-2);flex-direction:column;display:flex}.menu-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.btn-danger{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);background:var(--danger);color:var(--ink);font-family:inherit;font-size:var(--text-body);border-radius:var(--radius-input);cursor:pointer;transition:opacity var(--motion-fast) var(--ease-out);border:none;font-weight:500;display:inline-flex}.btn-danger:hover{opacity:.9}.btn-danger:disabled{opacity:.6;cursor:default}.tag-dm{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--deep-green);color:var(--ink);font-size:var(--text-meta);align-items:center;font-weight:500;display:inline-flex}.invite-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.invite-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.invite-info{gap:var(--space-1);flex-direction:column;display:flex}.invite-code{font-size:var(--text-md);letter-spacing:2px;font-weight:700}.invite-actions{align-items:center;gap:var(--space-2);display:flex}.join-form{gap:var(--space-2);display:flex}.input-code{text-transform:uppercase;letter-spacing:2px;max-width:180px}.npc-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.npc-chip{min-height:44px;padding:0 var(--space-4);background:var(--bg-raised);border-radius:var(--radius-pill);color:var(--ink);transition:color var(--motion-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.npc-chip:hover{color:var(--accent-gold)}.session-editor{gap:var(--space-4);flex-direction:column;display:flex}.session-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.session-title-input{min-width:0;color:var(--ink);font-family:var(--font-display), "Cormorant Garamond", serif;font-weight:600;font-size:var(--text-xl);background:0 0;border:none;flex:1;padding:0;line-height:1.2}.save-status{flex-shrink:0}.save-status-error{color:var(--danger)}.editor-card{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:var(--space-6) var(--space-2);min-height:320px}.bn-container{--bn-font-family:var(--font-body), "Alegreya Sans", sans-serif;--bn-border-radius:var(--radius-input);--bn-colors-editor-background:transparent;--bn-colors-editor-text:var(--ink);--bn-colors-menu-background:var(--bg-raised);--bn-colors-menu-text:var(--ink);--bn-colors-tooltip-background:var(--bg-raised);--bn-colors-tooltip-text:var(--ink);--bn-colors-hovered-background:#ede6d60f;--bn-colors-hovered-text:var(--ink);--bn-colors-selected-background:var(--deep-green);--bn-colors-selected-text:var(--ink);--bn-colors-side-menu:var(--ink-muted);--bn-colors-disabled-background:var(--bg-surface);--bn-colors-disabled-text:var(--ink-muted);--bn-colors-shadow:#00000059;--bn-colors-border:#a89f8d33}.bn-editor a{color:var(--accent-gold)}.recap-row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.content-wide{max-width:1080px}.main-hall{gap:var(--space-6);grid-template-columns:1fr 340px;align-items:start;display:grid}@media (max-width:900px){.main-hall{grid-template-columns:1fr}}.main-hall .card{margin-top:0}.stream,.rail{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.session-card{gap:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:var(--space-4) var(--space-6);color:var(--ink);transition:background-color var(--motion-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.session-card:hover{background:var(--bg-surface-hover)}.freshness{font-size:var(--text-meta);color:var(--ink-muted)}.teaser{color:var(--ink-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.teaser-one{-webkit-line-clamp:1}.tag-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-pill{padding:2px var(--space-3);background:var(--bg-raised);border-radius:var(--radius-pill);color:var(--ink-muted);font-size:var(--text-meta);align-items:center;display:inline-flex}.filter-chip{min-height:44px;padding:0 var(--space-4);background:var(--bg-raised);border-radius:var(--radius-pill);color:var(--ink);font:inherit;cursor:pointer;transition:color var(--motion-fast) var(--ease-out);border:none;align-items:center;display:inline-flex}.filter-chip:hover,.filter-chip.is-active{color:var(--accent-gold)}.nav-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-rail{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.entity-card{gap:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-card);height:100%;box-shadow:var(--shadow-1);padding:var(--space-4);color:var(--ink);transition:background-color var(--motion-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative}.entity-card:hover{background:var(--bg-surface-hover)}.entity-card h3{font-size:var(--text-md);padding-right:var(--space-6)}.entity-card-meta{font-size:var(--text-meta);color:var(--ink-muted)}.card-badge{top:var(--space-3);right:var(--space-3);color:var(--accent-gold);position:absolute}.empty-state{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding:var(--space-6);align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.empty-state p{color:var(--ink-muted)}.pin-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pin-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.pin-row a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hp{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);background:var(--bg-surface);box-shadow:var(--shadow-1);display:flex;position:sticky;top:0}.topbar .wordmark{font-size:var(--text-body)}.topbar-spacer{flex:1}.shell-body{flex:1;align-items:stretch;min-width:0;display:flex}.sidebar{width:220px;max-height:calc(100vh - 48px);padding:var(--space-4) var(--space-2);align-self:flex-start;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:48px;overflow-y:auto}.room-link{align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-input);color:var(--ink-muted);transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);font-weight:500;text-decoration:none;display:flex}.room-link:hover{color:var(--ink);background:var(--bg-surface)}.room-link.is-active{color:var(--ink);background:var(--bg-raised)}.room-link svg{flex-shrink:0}.shell-content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-hamburger,.drawer-scrim{display:none}.switcher-trigger{align-items:center;gap:var(--space-1);max-width:40vw;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-input);color:var(--ink);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out);background:0 0;border:none;font-weight:500;display:inline-flex}.switcher-trigger:hover{background:var(--bg-raised)}.switcher-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-left{left:0;right:auto}.menu-sep{height:1px;margin:var(--space-1) var(--space-2);background:#a89f8d40}.menu-note{padding:var(--space-2) var(--space-3);text-overflow:ellipsis;overflow:hidden}.menu-item .menu-check{color:var(--accent-gold);margin-left:auto}.breadcrumbs{align-items:center;gap:var(--space-1);font-size:var(--text-meta);color:var(--ink-muted);flex-wrap:wrap;display:flex}@media (max-width:900px){.sidebar{width:60px}.sidebar .room-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.room-link{justify-content:center;padding:0}}@media (max-width:600px){.topbar-hamburger{display:inline-flex}.sidebar{z-index:30;background:var(--bg-surface);width:240px;max-height:none;box-shadow:var(--shadow-2);transition:transform var(--motion-base) var(--ease-out);position:fixed;top:48px;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar .room-label{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.room-link{padding:0 var(--space-3);justify-content:flex-start}.drawer-scrim{z-index:25;opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--ease-out);background:#00000080;display:block;position:fixed;inset:48px 0 0}.drawer-scrim.is-open{opacity:1;pointer-events:auto}}
