:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text,#ebe8e1);background:var(--page,#121619);font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 0 0,#263332 0,#0000 55%);min-height:100vh;margin:0}.shell{min-width:760px;max-width:1120px;margin:0 auto;padding:64px 36px}header{justify-content:space-between;align-items:center;display:flex}h1{margin:12px 0;font-family:Georgia,serif;font-size:44px;font-weight:400}h2{margin:12px 0 22px;font-size:23px;font-weight:500}h3{font-size:17px;font-weight:500}p{color:var(--muted,#aeb7b5);line-height:1.7}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted,#b7c9bc);font-size:11px}.card{border:1px solid var(--border,#3a4444);background:var(--surface,#1a2023);border-radius:18px;box-shadow:0 24px 80px #0003}.campaign-card{grid-template-columns:1.15fr 1fr;min-height:540px;display:grid}.library,.actions{padding:36px}.actions{background:var(--surface,#20292b);border-left:1px solid var(--border,#3a4444);border-radius:0 18px 18px 0}form+h3,.actions form+form{border-top:1px solid var(--border,#414c4b);margin-top:30px;padding-top:18px}label{color:var(--muted,#c3cbc7);margin:16px 0 8px;font-size:13px;display:block}input{background:var(--page,#141b1d);border:1px solid var(--border,#495452);width:100%;color:var(--text,#fff);font:inherit;border-radius:7px;padding:13px}button{background:var(--accent,#bed2b9);color:var(--accent-ink,#18251c);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;margin-top:16px;padding:12px 18px;font-size:14px;font-weight:600}button:hover{filter:brightness(1.1)}button.secondary{color:var(--text,#d3dfd1);border-color:var(--border,#59695c);background:0 0}button:focus-visible,input:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:3px}.actions button{width:100%}.empty{text-align:center;padding:52px 12px}.dice{color:var(--muted,#9bac98);font-size:64px}.campaign-list{padding:0;list-style:none}.campaign-list li{border-bottom:1px solid var(--border,#3a4444);padding:16px 0}.campaign-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.badge{border:1px solid var(--border,#52644f);color:var(--muted,#c5d8bd);border-radius:20px;padding:4px 10px;font-size:11px}code{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;color:var(--muted,#d0d9cc);margin-top:8px;font-size:12px;display:block}.notice{background:#263c33;border:1px solid #4d6b54;border-radius:8px;padding:14px 18px}.error{color:#f1cccc;background:#402c2c;border-color:#845454}.login{max-width:510px;margin:12vh auto;padding:44px}.login h1{font-size:40px}.login button{width:100%}.campaign-heading a{color:var(--text,#d3dfd1);text-decoration:none}.campaign-heading a:hover{text-decoration:underline}.campaign-heading a:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:4px}body{padding-bottom:var(--beta-height,120px)}html{scroll-padding-bottom:calc(var(--beta-height,120px) + 16px)}.beta-banner{z-index:30;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--surface,#1a2023);color:var(--text,#ebe8e1);border-top:1px solid var(--border,#3a4444);justify-content:center;align-items:center;gap:16px;font-size:13px;display:flex;position:fixed;bottom:0;left:0;right:0}.beta-banner button{flex-shrink:0;margin:0}body .theme-control{top:16px;bottom:auto;right:16px}#bug-report-dialog{border:1px solid var(--border,#3a4444);background:var(--surface,#1a2023);width:min(560px,100vw - 32px);max-height:85dvh;color:var(--text,#ebe8e1);border-radius:16px;padding:24px;overflow:auto}#bug-report-dialog::backdrop{background:#000a}.bug-report-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.bug-report-heading h2,.bug-report-heading button{margin:0}#bug-report-form label{margin-top:16px;display:block}#bug-report-form input,#bug-report-form textarea{width:100%}@media (width<=600px){.beta-banner{flex-direction:column;align-items:stretch;gap:8px}}.auth-page{--theme-hue:245;--theme-saturation:30%;min-height:100dvh;padding:clamp(2rem, 6vh, 5rem) clamp(2rem, 8vw, 9rem) calc(clamp(2rem, 6vh, 5rem) + var(--beta-height,120px));background-color:var(--page,#121619);background-image:radial-gradient(circle at center, #12102814 0%, #12102857 52%, #121028c7 100%), linear-gradient(90deg, #141130d1 0%, #1411308f 34%, #1411302e 62%, #14113061 100%), var(--auth-background);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:flex-start;align-items:center;margin:0;display:flex}.auth-page .login.card{background:#191639db;background:color-mix(in srgb, var(--surface,#1a1838) 86%, transparent);border:1px solid var(--border,#3a4444);-webkit-backdrop-filter:blur(12px);border-radius:14px;width:min(430px,100%);max-width:430px;margin:0;padding:2rem;box-shadow:0 24px 70px #0000006b}.auth-page .login h1{font-size:clamp(2rem,4vw,2.5rem)}.auth-page .login p{text-shadow:0 1px 2px #00000059}.auth-page .theme-control{position:fixed;top:1rem;bottom:auto;right:1rem}@media (width<=700px){.auth-page{padding:1.25rem 1.25rem calc(1.25rem + var(--beta-height,120px));background-position:58%;justify-content:center}.auth-page .login.card{width:100%;max-width:430px}}.campaign-shell{min-width:760px;max-width:1440px;margin:0 auto;padding:40px 36px}.campaign-banner{background:linear-gradient(120deg, var(--surface-hover), var(--surface));border:1px solid var(--border);border-radius:18px 18px 0 0;justify-content:space-between;align-items:center;gap:48px;margin:0;padding:36px 40px;display:flex}.campaign-title{flex:1;min-width:0}.campaign-title h1{overflow-wrap:anywhere}.back-link{color:var(--accent,#c6d8be);font-size:13px;text-decoration:none}.tagline{overflow-wrap:anywhere;margin-bottom:0}.campaign-meta{gap:18px;min-width:180px;max-width:35%;margin:0;display:grid}.campaign-meta dt{color:var(--muted,#a9bba9);letter-spacing:1.5px;text-transform:uppercase;font-size:10px}.campaign-meta dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:14px}.campaign-nav{border:1px solid var(--border,#3a4444);background:var(--surface);border-top:0;border-radius:0 0 12px 12px;align-items:stretch;gap:8px;padding:0 24px;display:flex}.campaign-nav a{color:var(--muted);border-bottom:3px solid #0000;padding:20px 18px;font-size:14px;text-decoration:none}.campaign-nav a:hover{color:var(--text);background:var(--surface-hover)}.campaign-nav a.active{color:var(--accent);border-bottom-color:var(--accent,#bed2b9)}.campaign-nav .settings-tab{margin-left:auto}.campaign-content{padding-top:28px}.tab-panel{min-height:300px;padding:36px 40px}.campaign-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:900px}.campaign-settings{max-width:850px}.settings-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}textarea{background:var(--page,#141b1d);border:1px solid var(--border,#495452);width:100%;color:var(--text,#fff);font:inherit;resize:vertical;border-radius:7px;padding:13px;display:block}textarea:focus-visible,.campaign-nav a:focus-visible,.back-link:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:3px}.campaign-banner{gap:28px}.weather-panel{overflow-wrap:anywhere;background:#17272080;border:1px solid #4b6253;border-radius:12px;flex:0 0 190px;padding:20px}.weather-panel h2{margin:12px 0 4px;font-size:23px}.weather-temperature{margin:8px 0;font-size:21px}.weather-notes{margin:8px 0 0;font-size:13px}.campaign-meta a{color:#d3e8c9;text-underline-offset:4px}.weather-settings{border:1px solid var(--border,#495452);border-radius:8px;margin:26px 0 0;padding:8px 20px 20px}.weather-settings legend{color:#c3d6bc;padding:0 8px}select{background:var(--page,#141b1d);border:1px solid var(--border,#495452);width:100%;color:var(--text,#fff);font:inherit;border-radius:7px;padding:13px}select:focus-visible,.campaign-meta a:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:3px}.weather-panel{--weather-accent:#bed2b9;--weather-bg:#20332b;--weather-border:#4b6253;background:var(--weather-bg);border-color:var(--weather-border);box-shadow:none}.weather-panel .eyebrow,.weather-panel h2,.weather-panel .weather-temperature{color:var(--weather-accent)}.weather-panel .weather-notes{color:#d0d9dc}.weather-icon{margin-top:16px;font-family:Segoe UI Emoji,Apple Color Emoji,sans-serif;font-size:42px;line-height:1.2;display:block}.weather-clear{--weather-accent:#ffda78;--weather-bg:#4b3c1c;--weather-border:#927338}.weather-cloudy{--weather-accent:#d4dfed;--weather-bg:#354454;--weather-border:#687d95}.weather-rain{--weather-accent:#8ccfff;--weather-bg:#183c59;--weather-border:#417dab}.weather-storm{--weather-accent:#d6b0ff;--weather-bg:#39274f;--weather-border:#8262a2}.weather-snow{--weather-accent:#c6f5ff;--weather-bg:#244850;--weather-border:#699ca8}.weather-fog{--weather-accent:#d3ddd3;--weather-bg:#39433d;--weather-border:#7c8d7d}.weather-windy{--weather-accent:#a0ebcd;--weather-bg:#204b42;--weather-border:#4e9b83}.weather-summary{align-items:baseline;gap:10px;min-width:0;margin-top:12px;display:flex}.weather-summary h2{white-space:nowrap;flex:none;margin:0;font-size:18px}.weather-summary .weather-temperature{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:16px;overflow:hidden}.weather-panel .weather-notes{white-space:pre-wrap;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;max-height:4.8em;line-height:1.6;display:-webkit-box;overflow:hidden}.field-help{margin:8px 0;font-size:12px}#weatherNotes{resize:none}.campaign-shell{min-width:980px}.campaign-banner{align-items:center;gap:24px;padding:24px 28px}.campaign-title h1{margin:0 0 6px;font-size:24px;line-height:1.2}.campaign-title .tagline{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.campaign-description{font-size:13px;line-height:1.6}.campaign-meta-column{flex:0 0 180px}.campaign-meta-column .campaign-meta{gap:14px;min-width:0;max-width:none}.campaign-return{border:1px solid var(--border,#59695c);border-radius:7px;margin-top:18px;padding:9px 12px;display:inline-block}.player-summary{background:var(--page,#17211f);border:1px solid var(--border,#435449);border-radius:10px;gap:16px;margin-top:18px;padding:16px;display:flex}.profile-icon{background:var(--surface-hover,#2c4033);border:1px solid var(--border,#63795f);border-radius:50%;flex:0 0 62px;justify-content:center;align-items:center;height:62px;font-size:34px;text-decoration:none;display:flex}.profile-icon:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:4px}.profile-summary-content{flex:1;min-width:0}.profile-summary-content h2{overflow-wrap:anywhere;margin:0 0 4px;font-size:18px}.profile-affiliation{overflow-wrap:anywhere;margin:0 0 12px;font-size:12px}.profile-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.profile-facts dt{text-transform:uppercase;letter-spacing:1px;color:var(--muted,#a9bba9);font-size:10px}.profile-secret-link{color:inherit;text-decoration:none}.profile-secret-link:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:3px}.profile-facts dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.player-profile-form{max-width:850px}.player-profile-form #icon{max-width:160px;font-size:25px}.campaign-shell{min-width:1240px;max-width:1640px}.campaign-title{min-width:300px}.profile-icon{overflow:hidden}.profile-icon img{object-fit:cover;width:100%;height:100%;display:block}.calendar-panel{color:#25282d;--text:#25282d;--muted:#4b5058;--accent:#374151;background:#e5e7eb;border:1px solid #b8bec6;border-radius:12px;flex:0 0 220px;min-width:0;padding:20px}.calendar-panel h2{overflow-wrap:anywhere;margin:12px 0;font-size:18px;line-height:1.4}.calendar-panel a{color:#374151;font-size:12px}.agenda-preview{margin:14px 0;padding:0;list-style:none}.agenda-preview li{justify-content:space-between;gap:10px;margin:9px 0;font-size:12px;display:flex}.agenda-preview li span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.agenda-preview strong{color:#374151;flex:none}.emoji-picker{border:1px solid var(--border,#495452);border-radius:8px;margin-top:18px;padding:18px}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:5px;max-height:300px;display:grid;overflow:auto}.emoji-grid button{background:var(--surface-raised,#27362e);color:inherit;margin:0;padding:7px 3px;font-family:Segoe UI Emoji,Apple Color Emoji,sans-serif;font-size:25px}.emoji-grid button[aria-pressed=true]{background:var(--surface-hover,#466143);border-color:#d9efce}#selected-emoji{font-size:28px}.emoji-picker [hidden]{display:none}.portrait-upload{border-top:1px solid var(--border,#495452);max-width:850px;margin-top:32px;padding-top:18px}.agenda-submit{max-width:850px;margin-bottom:30px}.agenda-list{padding:0;list-style:none}.agenda-list>li{border-top:1px solid var(--border,#495452);padding:22px 0}.agenda-item-heading{align-items:center;gap:16px;display:flex}.agenda-item-heading h3{overflow-wrap:anywhere;flex:1}.vote-count{color:var(--accent,#b9d5ae);white-space:nowrap;font-size:13px}.agenda-author{margin:0;font-size:12px}.agenda-notes{white-space:pre-wrap;overflow-wrap:anywhere}.agenda-edit{max-width:850px;margin-top:18px}.agenda-edit summary{cursor:pointer;color:var(--accent,#c6d8be);font-size:13px}.checkbox-label{align-items:center;gap:8px;display:flex}.checkbox-label input{width:auto}.completed .agenda-item-heading h3{color:var(--muted,#a3b0a4)}.calendar-panel a:focus-visible,summary:focus-visible{outline:2px solid var(--accent,#d0e8c5);outline-offset:3px}.campaign-page-heading{margin:0 0 20px;padding:0 4px;display:block}.campaign-page-heading .campaign-title{min-width:0}.campaign-page-heading .campaign-description{max-width:1100px;margin:8px 0 0}.campaign-banner{grid-template-columns:minmax(0,1fr) 220px 190px 180px;align-items:stretch;gap:20px;display:grid}.campaign-banner>.player-summary,.campaign-banner>.calendar-panel,.campaign-banner>.weather-panel{box-sizing:border-box;align-self:stretch;width:100%;min-width:0;margin:0}.campaign-meta-column{align-self:center;min-width:0}.campaign-logout button{width:100%;margin-top:18px}.campaign-nav .campaigns-tab{white-space:nowrap;margin-left:auto}.tab-panel>.campaign-return{margin:0 0 16px}.appearance-row{grid-template-columns:minmax(150px,1fr) minmax(0,2fr);align-items:start;gap:24px;display:grid}.appearance-upload input{max-width:100%}.appearance-upload .field-help{margin-top:8px}.emoji-picker[hidden]{display:none}.quest-persona{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 24px;display:flex}.quest-persona label,.quest-persona button{margin:0}.quest-persona select{width:auto;max-width:100%}.persona-switcher{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 24px;display:flex}.persona-switcher-label{color:var(--muted,#aebdb6);letter-spacing:.08em;text-transform:uppercase;margin-right:2px;font-size:12px;font-weight:700}.persona-icon-button{border:1px solid var(--border,#40534a);background:var(--surface,#1c272b);width:44px;height:44px;color:var(--text,#f2f5f3);border-radius:50%;flex:0 0 44px;place-items:center;font-size:21px;line-height:1;text-decoration:none;transition:transform .12s,border-color .12s,box-shadow .12s;display:grid;overflow:hidden}.persona-icon-button:hover{border-color:var(--accent,#a8dbb4);transform:translateY(-1px)}.persona-icon-button:focus-visible{outline:3px solid var(--accent,#a8dbb4);outline-offset:3px}.persona-icon-button.active{border-color:var(--accent,#a8dbb4);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#a8dbb4) 28%, transparent)}.persona-icon-button img{object-fit:cover;width:100%;height:100%;display:block}.persona-switcher-error{color:var(--danger,#e39797);flex-basis:100%;margin:0;font-size:13px}@media (width<=700px){.appearance-row{grid-template-columns:1fr}}.npc-profile-form{max-width:none}.npc-appearance{border:1px solid var(--border,#3a4444);background:var(--surface-raised,#222b2d);border-radius:14px;min-width:0;margin:0 0 28px;padding:20px}.npc-appearance legend{padding:0 8px;font-weight:600}.npc-appearance>div>label:first-child{margin-top:0}.npc-appearance .appearance-upload,.npc-appearance .emoji-picker{margin-top:20px}.npc-appearance [hidden]{display:none}.npc-fields{align-items:start;gap:20px;display:grid}.npc-identity-row{grid-template-columns:repeat(2,minmax(0,1fr))}.npc-detail-row{grid-template-columns:repeat(3,minmax(0,1fr))}.npc-fields>div{min-width:0}@media (width<=700px){.npc-fields{grid-template-columns:1fr;gap:0}}.agenda-feed-heading{flex-wrap:nowrap;align-items:center;gap:1.25rem;display:flex}.agenda-feed-heading>.persona-switcher{flex-wrap:nowrap;flex:0 auto;width:auto;margin:0;padding:0}.agenda-feed-heading>.persona-switcher .persona-switcher-label{white-space:nowrap}.agenda-feed-heading>.tab-heading-actions{flex:none;align-items:center;gap:.65rem;margin-left:auto;display:flex}@media (width<=600px){.campaign-shell{width:100%;min-width:0;padding:24px 16px}.campaign-banner{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}.campaign-nav{max-width:100%;padding-inline:12px;overflow-x:auto}.campaign-nav a{flex:none;padding:14px 12px}.agenda-feed-heading{flex-wrap:wrap}.social-heading{min-width:0}.social-heading p{overflow-wrap:anywhere;min-width:0}}:root,[data-theme]{--theme-hue:150;--theme-saturation:16%;--page:hsl(var(--theme-hue) var(--theme-saturation) 8%);--surface:hsl(var(--theme-hue) var(--theme-saturation) 12%);--surface-raised:hsl(var(--theme-hue) var(--theme-saturation) 17%);--surface-hover:hsl(var(--theme-hue) var(--theme-saturation) 24%);--border:hsl(var(--theme-hue) var(--theme-saturation) 34%);--text:hsl(var(--theme-hue) 15% 92%);--muted:hsl(var(--theme-hue) 14% 73%);--accent:hsl(var(--theme-hue) 42% 76%);--accent-ink:hsl(var(--theme-hue) 25% 12%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--page);color:var(--text)}body{background:radial-gradient(ellipse at top left, var(--surface-hover) 0, transparent 55%), var(--page)}a{color:var(--accent)}select,dialog{background:var(--surface);color:var(--text);border-color:var(--border)}input,textarea{color:var(--text)}.secret-control{z-index:10;position:fixed;top:16px;left:16px}.secret-control>a{width:44px;height:44px;color:var(--text,#d3dfd1);background:var(--surface);border:1px solid var(--border,#59695c);border-radius:7px;place-items:center;margin:0;padding:0;font-size:22px;line-height:1;text-decoration:none;display:grid;box-shadow:0 3px 12px #0005}.theme-control{z-index:10;position:fixed;top:16px;bottom:auto;right:16px}.theme-control>button{background:var(--surface);place-items:center;width:44px;height:44px;margin:0;padding:0;font-size:22px;line-height:1;display:grid;box-shadow:0 3px 12px #0005}#theme-dialog{border:1px solid var(--border);border-radius:18px;width:min(660px,100vw - 32px);max-height:85dvh;padding:24px;overflow:auto}#theme-dialog::backdrop{background:#000a}.theme-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.theme-heading h2,.theme-heading button{margin:0}.theme-options{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.theme-option{background:var(--surface-raised);color:var(--text);border:2px solid #0000;align-items:center;gap:10px;margin:0;padding:12px;display:flex}.theme-option[aria-pressed=true]{border-color:var(--accent);background:var(--surface-hover)}.theme-swatch{border-radius:50%;flex:none;width:20px;height:20px}#theme-status{min-height:24px;font-size:13px}[data-theme=evernun]{--theme-hue:150;--theme-saturation:16%}[data-theme=midnight]{--theme-hue:220;--theme-saturation:30%}[data-theme=ocean]{--theme-hue:200;--theme-saturation:35%}[data-theme=lagoon]{--theme-hue:180;--theme-saturation:32%}[data-theme=forest]{--theme-hue:135;--theme-saturation:26%}[data-theme=moss]{--theme-hue:90;--theme-saturation:22%}[data-theme=olive]{--theme-hue:65;--theme-saturation:22%}[data-theme=amber]{--theme-hue:40;--theme-saturation:30%}[data-theme=copper]{--theme-hue:25;--theme-saturation:32%}[data-theme=ember]{--theme-hue:10;--theme-saturation:30%}[data-theme=crimson]{--theme-hue:350;--theme-saturation:30%}[data-theme=rose]{--theme-hue:330;--theme-saturation:25%}[data-theme=orchid]{--theme-hue:300;--theme-saturation:25%}[data-theme=amethyst]{--theme-hue:275;--theme-saturation:30%}[data-theme=indigo]{--theme-hue:245;--theme-saturation:30%}[data-theme=slate]{--theme-hue:210;--theme-saturation:12%}[data-theme=charcoal]{--theme-hue:0;--theme-saturation:0%}[data-theme=coffee]{--theme-hue:30;--theme-saturation:18%}[data-theme=sandstone]{--theme-hue:48;--theme-saturation:18%}[data-theme=arctic]{--theme-hue:190;--theme-saturation:15%}.public-profile-card{color:var(--text);background:0 0}.public-profile-inner{background:var(--page)}#public-profile-dialog{background:var(--surface);border-color:var(--border);color:var(--text)}#public-profile-dialog .profile-playlist-row{background:var(--surface);margin-bottom:0;padding-bottom:10px}
