:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121417;--surface:#1c2128;--text-primary:#e8eaed;--text-secondary:#9aa0a6;--accent-primary:#c9a227;--on-accent-primary:#121417;--accent-secondary:#a31e3a;--on-accent-secondary:#e8eaed;--accent-secondary-text:#e07a8a;--neutral:#5c6b7a;--border:#6e7e8e;--success:#2d6a4f;--on-success:#e8eaed;--success-text:#52b788;--warning:#d9822b;--on-warning:#121417;--info:#4c6e91;--on-info:#fff;--info-text:#8ab4f8;--role-tank:#4c8dff;--role-heal:#3fbf7f;--role-dps:#e5534b;--bg-raise:var(--surface);--line:var(--border);--text:var(--text-primary);--muted:var(--text-secondary);--gold:var(--accent-primary);--gold-ink:var(--on-accent-primary);--member:var(--info-text);--officer:var(--warning);--gm:var(--warning);--danger:var(--accent-secondary-text);--danger-bg:var(--accent-secondary);background:var(--bg);color:var(--text-primary);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:radial-gradient(1200px 400px at 10% -10%, color-mix(in srgb, var(--accent-primary) 12%, transparent), transparent 55%), var(--bg);min-height:100vh;margin:0}a{color:var(--info-text)}code{font-family:IBM Plex Mono,SFMono-Regular,ui-monospace,monospace;font-size:.92em}.wordmark{color:var(--text-primary);letter-spacing:.04em;text-align:left;padding:.35rem .6rem .7rem;font-family:Palatino,Iowan Old Style,Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none}nav a{text-decoration:none}main{width:min(1600px,100% - 1rem);margin:1rem auto 3rem}.app-frame{grid-template-columns:16.5rem minmax(0,1fr);align-items:start;gap:.75rem;width:min(1600px,100% - 1rem);margin:0 auto;padding-top:.75rem;display:grid}.app-frame main{width:auto;margin:0 0 4rem}.side-nav{text-align:left;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:.65rem;display:flex;position:sticky;top:.75rem}.nav-links{gap:.15rem;display:grid}.nav-section{color:var(--text-secondary);letter-spacing:.04em;text-align:left;margin:.55rem 0 .1rem;padding:0 .6rem;font-size:.78rem;font-weight:700}.side-nav a,.side-nav button{text-align:left;font-weight:700}.side-nav a{color:var(--text-secondary);border-radius:8px;padding:.45rem .6rem;text-decoration:none;display:block}.side-nav form{margin:.15rem 0}.side-nav button.secondary{width:100%}.side-nav a.wordmark{color:var(--text-primary)}.side-nav a.active{color:var(--text-primary);background:var(--bg);border:1px solid var(--border);font-weight:700}.nav-toggle{display:none}.command-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.command-head h1{margin:0}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;margin:.5rem 0 1rem;display:grid}.tile-link{text-decoration:none;display:block}.tile-grid .event-card h2{margin:0;font-size:1.05rem}.tile-grid .counts{margin:0;font-size:1.8rem}.panel,.event-card,.note-card{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.panel{border-radius:14px;max-width:none;padding:1.15rem}.steps{color:var(--text-secondary);flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.steps .current{color:var(--text-primary)}h1,h2{font-family:Palatino,Iowan Old Style,Georgia,serif;font-weight:600}h1{margin:0 0 .75rem;font-size:2rem}h2{margin:1.5rem 0 .75rem;font-size:1.35rem}p{color:var(--text-secondary);line-height:1.5}.lede{font-size:1.05rem}.button,button,a.button{appearance:none;background:var(--accent-primary);color:var(--on-accent-primary);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.55rem .95rem;font-weight:650;text-decoration:none}.button.secondary,button.secondary,a.secondary{color:var(--text-primary);border:1px solid var(--border);background:0 0}button.destructive{background:var(--accent-secondary);color:var(--on-accent-secondary);border:1px solid var(--accent-secondary-text)}button[disabled],.button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-sm{padding:.3rem .7rem;font-size:.88rem}.tag.gold{border-color:var(--accent-primary);color:var(--accent-primary)}.tag.ok{border-color:var(--success-text);color:var(--success-text)}.tag.off{color:var(--text-secondary)}.tag.bad{border-color:var(--accent-secondary-text);color:var(--accent-secondary-text)}.plan-box{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:34rem;margin-bottom:1rem;padding:.9rem 1rem}.plan-box dl{margin:0}.plan-box dd{color:var(--text-primary);margin:0}.plan-row{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.plan-row label{min-width:12rem}.lock-panel{border:1px solid var(--border);border-left:3px solid var(--accent-primary);background:var(--bg);border-radius:10px;margin:0 0 1rem;padding:1rem 1.1rem}.lock-panel h2{margin:0 0 .35rem;font-size:1.2rem}.lock-panel p{margin:.25rem 0}.lock-panel .lead{color:var(--text-primary)}.lock-panel .actions{align-items:center;margin-top:.6rem}.stored-heading{font-size:1.1rem}.stored-card{border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;display:flex}.stored-card .btn-sm{min-height:44px}.inline-lock{color:var(--text-secondary);margin:.4rem 0 0;font-size:.85rem}.inline-lock b{color:var(--accent-primary)}.one-line{border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:.45rem .65rem;font-size:.88rem}.wide-only{display:block}.mobile-only{display:none}@media (max-width:720px){.wide-only{display:none}.mobile-only{gap:.65rem;display:grid}}@media (max-width:480px){.choice-row label{min-height:44px}.plan-row label{width:100%;min-width:0}.plan-row button,.plan-row .button{min-height:44px}}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.event-table .actions,.event-cards .actions{align-items:flex-start;margin-top:0}.banner{border:1px solid var(--accent-secondary-text);background:var(--accent-secondary);color:var(--on-accent-secondary);border-radius:12px;padding:.85rem 1rem}.banner.ok{border-color:var(--success-text);background:var(--success);color:var(--on-success)}.identity{align-items:center;gap:1rem;display:flex}.identity img{border:1px solid var(--border);border-radius:50%;width:64px;height:64px}dl{grid-template-columns:9rem 1fr;gap:.4rem 1rem;margin:1.25rem 0 0;display:grid}dl.retention-facts{grid-template-columns:17rem 1fr;align-items:center}.retention-label{align-items:center;gap:.35rem;display:inline-flex}.retention-help-wrap{display:inline-flex;position:relative}button.retention-help{border:1px solid var(--border);width:1.25rem;height:1.25rem;color:var(--text-secondary);background:0 0;border-radius:999px;padding:0;font-size:.75rem;font-weight:650;line-height:1}button.retention-help:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.retention-tooltip{z-index:4;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:18rem;color:var(--text-secondary);text-align:left;visibility:hidden;pointer-events:none;border-radius:8px;padding:.45rem .6rem;font-size:.92rem;font-weight:400;line-height:1.35;position:absolute;top:calc(100% + .35rem);left:0}.retention-help-wrap.is-open .retention-tooltip{visibility:visible}dt{color:var(--text-secondary)}dd{margin:0}.badge{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:999px;padding:.15rem .6rem;font-weight:650;display:inline-block}.badge.member,.badge.scheduled,.badge.bench,.badge.excused{background:var(--info);color:var(--on-info);border-color:var(--info-text)}.badge.officer{background:var(--neutral);color:var(--text-primary);border-color:var(--border)}.badge.gm,.badge.tentative,.badge.late{background:var(--warning);color:var(--on-warning);border-color:var(--on-warning)}.badge.accepted,.badge.present{background:var(--success);color:var(--on-success);border-color:var(--success-text)}.badge.cancelled,.badge.declined,.badge.absent{background:var(--accent-secondary);color:var(--on-accent-secondary);border-color:var(--accent-secondary-text)}.blocked{border-color:var(--accent-secondary-text)}.filters,.inline-form,.tag-row{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem 1rem;margin-bottom:1rem;display:grid}.when-grid input{box-sizing:border-box;height:2.75rem}.when-grid label{align-content:start}.events-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.events-controls .month-nav{align-items:center;gap:.5rem;margin-left:auto;display:flex}.events-note{margin:0}.events-table-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.events-table-head h2{margin:0}.stack{gap:.85rem;display:grid}label{color:var(--text-secondary);gap:.3rem;font-size:.92rem;display:grid}input,select,textarea{font:inherit;color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem}textarea{resize:vertical;min-height:5.5rem}.span-2{grid-column:1/-1}label.field-error{color:var(--accent-secondary-text)}label.field-error input,label.field-error select,label.field-error textarea{border-color:var(--accent-secondary-text)}.field-message{color:var(--accent-secondary-text);font-size:.85rem}.table-wrap{overflow-x:visible}table.roster{border-collapse:collapse;width:100%}table.roster th,table.roster td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.7rem .5rem}table.roster th{color:var(--text-secondary);z-index:2;background:var(--surface);font-size:.85rem;font-weight:650;position:sticky;top:0}.character-name{font-weight:650}.meta{color:var(--text-secondary);font-size:.92rem}.away{color:var(--accent-secondary-text);font-size:.92rem}.member-cell{align-items:flex-start;gap:.6rem;min-width:10rem;display:flex}.member-cell img,.roster-avatar{border:1px solid var(--border);object-fit:cover;border-radius:50%;width:28px;height:28px;display:block}span.roster-avatar{background:var(--bg)}span.roster-avatar.former-member{background:var(--neutral);color:var(--text-primary);place-items:center;font-size:.62rem;font-weight:700;display:grid}.roster-toolbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.75rem;position:sticky;top:0}.roster-scroll{max-height:calc(100vh - 16rem);overflow:auto}.roster-cards{display:none}.roster-card{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;gap:.35rem;padding:.75rem;display:grid}.roster-card h2{margin:0;font-size:1.05rem}.role-line,.note-marks,.note-mark,.popout-head,.pager-links{align-items:center;gap:.35rem;display:flex}.note-marks{border-radius:8px;flex-wrap:wrap;padding:.15rem .4rem}.note-glyph{width:.85rem;height:.85rem;display:block}.attendance-cell{gap:.2rem;min-width:4.75rem;display:grid}.attendance-track{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:.35rem;overflow:hidden}.attendance-fill{background:var(--info-text);height:100%;display:block}.side-popout{z-index:40;background:var(--surface);width:min(26rem,100%);height:100vh;color:var(--text-primary);border-left:1px solid var(--border);padding:1rem 1.1rem 1.5rem;position:fixed;top:0;right:0;overflow:auto}.note-popout-backdrop{z-index:30;position:fixed;inset:0}.popout-head{justify-content:space-between}.popout-head h2{margin:0}.roster-pager{margin-top:.85rem}.pager-links{flex-wrap:wrap}.pager-current{font-weight:700}table.roster.roster-grid th,table.roster.roster-grid td{vertical-align:middle;padding:.35rem .4rem}table.roster.roster-grid th.alt-expand,table.roster.roster-grid td.alt-expand{text-align:center;white-space:nowrap;width:1%;padding-left:.25rem;padding-right:.25rem}table.roster.roster-grid button.alt-toggle{padding:.2rem .45rem;line-height:1}[hidden]{display:none!important}.officer-box{border-top:1px solid var(--border);gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:grid}.officer-box h2{margin:0;font-size:1.05rem}.note-card{border-radius:10px;gap:.6rem;padding:.75rem;display:grid}.note-body{color:var(--text-primary);white-space:pre-wrap;margin:0}.tag{border:1px solid var(--border);color:var(--text-primary);border-radius:999px;padding:.1rem .5rem;display:inline-block}.tag.opt-out-tag{letter-spacing:0;text-transform:none;vertical-align:middle;margin-left:.35rem;font-size:.72rem}.tag-form,.inline-form{align-items:end}.record{border-top:1px solid var(--border);padding-top:.8rem}.record summary{cursor:pointer;margin-bottom:.8rem}:focus-visible{outline:2px solid var(--info-text);outline-offset:3px}h3{margin:1rem 0 .4rem;font-family:Palatino,Iowan Old Style,Georgia,serif;font-size:1.05rem}.event-list{gap:.85rem;display:grid}.event-card{border-radius:12px;gap:.35rem;padding:1rem 1.1rem;display:grid}.event-card h2{margin:0;font-size:1.3rem}.snapshot-list{gap:.45rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.snapshot-list li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.counts{color:var(--text-primary)}.role-group{margin-top:1.25rem}.roster-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:.75rem;margin-top:1rem;display:grid}.roster-column{border:1px solid var(--line);background:var(--bg);border-radius:12px;min-height:10rem;padding:.75rem}.roster-column h2{margin:0 0 .55rem;font-size:1.05rem}.roster-column.drag-over,.raider.drag-over{outline:2px dashed var(--gold);outline-offset:2px}.raider,.open-slot{border:1px solid var(--line);background:var(--bg-raise);border-radius:8px;margin:0 0 .45rem;padding:.45rem .55rem}.open-slot{color:var(--muted);border-style:dashed;min-height:2.4rem}.roster-builder{grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);align-items:start;gap:.85rem;margin-top:1rem;display:grid}.roster-groups{flex-direction:column;gap:.75rem;min-width:0;display:flex}.roster-slots{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:.45rem;display:grid}.roster-slots .raider,.roster-slots .open-slot{height:100%;margin:0}.raider-name{align-items:center;gap:.4rem;display:flex}.role-icon{flex:none;display:inline-flex;position:relative}.role-mark{width:1.25rem;height:1.25rem;color:var(--accent-primary);display:block}.role-string{color:var(--text-secondary)}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.raider-head[draggable=true]{cursor:grab}.raider-head[draggable=true]:active{cursor:grabbing}.move-form{margin-top:.45rem}.move-form select{max-width:100%}.warning-list{border:1px solid var(--danger);background:var(--danger-bg);color:var(--text);border-radius:12px;margin:.75rem 0 0;padding:.75rem .9rem .75rem 1.4rem}.warning-list li{margin:.25rem 0}.published-roster{margin-top:1.5rem}.leadership-list,.member-results{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.desk-stack{gap:1rem;display:grid}.member-pick{justify-content:flex-start;width:100%}details{margin-top:.75rem}details summary{cursor:pointer}.empty-state{border:1px dashed var(--border);background:var(--bg);border-radius:12px;justify-items:start;gap:.65rem;margin:.75rem 0;padding:.9rem 1rem;display:grid}.alt-indent{padding-left:1.25rem}.absence-cards,.leadership-cards,.calendar-week,.event-cards{display:none}.roster-side{flex-direction:column;gap:.75rem;min-width:0;display:flex}.roster-unsigned summary{cursor:pointer;font-weight:700}.unsigned-list{gap:.55rem;margin-top:.5rem;display:grid}.alt-chip{margin-left:.85rem}.calendar-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.calendar-head h2{margin:0 .4rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin:.75rem 0 1.25rem;display:grid}.calendar-weekday{color:var(--text-secondary);padding:0 .2rem;font-size:.78rem;font-weight:700}.calendar-day{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:.2rem;min-height:5.2rem;padding:.3rem;display:flex}.calendar-day.outside{opacity:.45}.calendar-day.today{outline:2px solid var(--gold);outline-offset:-2px}.calendar-day.no-raids{background:var(--surface)}.calendar-date{font-weight:700;text-decoration:none}.calendar-empty{flex:1}.calendar-chip{color:var(--text-primary);font-size:.78rem;line-height:1.25;text-decoration:none;display:block}.calendar-chip.cancelled{color:var(--text-secondary);text-decoration:line-through}.calendar-dot{background:var(--gold);vertical-align:middle;border-radius:50%;width:.4rem;height:.4rem;margin-right:.25rem;display:inline-block}.attend-bar{background:var(--bg);border-radius:99px;height:.4rem;margin-bottom:.2rem;overflow:hidden}.attend-bar span{background:var(--gold);height:100%;display:block}.leadership-tag{margin-left:.35rem}.raid-hours-grid{gap:.55rem;display:grid}@media (max-width:1100px){.table-wrap{overflow-x:auto}}@media (max-width:800px){.app-frame{grid-template-columns:1fr}.side-nav{position:static}.nav-toggle{margin-bottom:.45rem;display:inline-flex}.side-nav:not(.open) .nav-links{display:none}}@media (max-width:720px){.roster-grid{display:none}.roster-cards{gap:.65rem;display:grid}.absence-grid,.leadership-grid,.calendar-grid,.event-table,.series-table{display:none}.series-layout,.series-split{grid-template-columns:1fr}.absence-cards,.leadership-cards,.calendar-week,.event-cards{gap:.65rem;display:grid}.roster-scroll{max-height:none;overflow:visible}}@media (max-width:640px){dl,dl.retention-facts,.roster-builder{grid-template-columns:1fr}}.attendance-redesign{gap:.75rem;display:grid}.attendance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.attendance-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem}.attendance-card .k,.drawer-stats .k{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.attendance-card .v,.drawer-stats .v,.raid-tiles .v{margin:.15rem 0;font-size:1.6rem;font-weight:800}.attendance-card .h,.drawer-stats .h{color:var(--text-secondary);margin:0;font-size:.82rem}.attendance-card .gold,.drawer-percent{color:var(--accent-primary)}.danger{color:var(--accent-secondary-text)}.attendance-filters{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.attendance-seg{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.attendance-seg a,.attendance-seg span{color:var(--text-secondary);border-right:1px solid var(--border);padding:.4rem .7rem;font-weight:650;text-decoration:none}.attendance-seg a:last-child,.attendance-seg span:last-child{border-right:0}.attendance-seg .on{background:color-mix(in srgb, var(--accent-primary) 16%, transparent), var(--surface);color:var(--text-primary)}.attendance-grid-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.attendance-grid{border-collapse:collapse;width:100%;font-size:.86rem}.attendance-grid th,.attendance-grid td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:.35rem .45rem}.attendance-grid th{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;text-align:left;font-size:.72rem}.attendance-grid .raid-head,.attendance-grid tfoot td,.attendance-grid td:nth-child(n+5){text-align:center}.attendance-grid .rn{color:var(--text-primary);font-size:.78rem;display:block}.attendance-grid .rd,.attendance-grid .rs{letter-spacing:0;text-transform:none;font-weight:500;display:block}.attendance-grid .sticky{background:var(--surface);position:sticky;left:0}.attendance-grid tr.is-low td:first-child{box-shadow:inset 3px 0 0 var(--accent-secondary)}.attendance-grid .foot{color:var(--text-secondary);background:var(--bg);font-weight:700}.member-link,.phone-member,.timeline-row,.cell-button,.attendance-scrim{color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.cell-button{padding:.15rem}.cell-button:focus-visible,.member-link:focus-visible,button.former-member:focus-visible{outline:2px solid var(--info-text);outline-offset:2px}button.former-member{color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.avatar.former-avatar{background:var(--neutral);color:var(--text-primary)}.attend-cell{width:30px;height:24px;color:var(--text-primary);border-radius:5px;place-items:center;font-size:.68rem;font-weight:800;display:inline-grid}.mark-present{background:var(--success);color:var(--on-success)}.mark-late,.mark-late_and_left{background:var(--warning);color:var(--on-warning)}.mark-left_early{background:var(--info);color:var(--on-info)}.mark-no_show{background:var(--accent-secondary);color:var(--on-accent-secondary)}.mark-absence,.mark-excused{background:var(--info);color:var(--on-info)}.mark-declined,.mark-bench{background:var(--neutral);color:var(--text-primary)}.mark-unscored{color:var(--text-secondary);background:0 0}.attend-cell.is-corrected{box-shadow:inset 0 0 0 2px var(--accent-primary)}.avatar{width:28px;height:28px;color:var(--bg);background:var(--text-primary);border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:inline-grid}.avatar.lg{width:42px;height:42px;font-size:.9rem}.role-letter{width:1.15rem;height:1.15rem;color:var(--on-info);border-radius:4px;place-items:center;margin-left:.25rem;font-size:.68rem;font-weight:800;display:inline-grid}.role-tank{background:var(--info)}.role-healer{background:var(--success)}.role-dps{background:var(--accent-secondary)}.discord-name{color:var(--info-text)}.overall{grid-template-columns:auto 4.5rem;align-items:center;gap:.15rem .4rem;display:grid}.overall .sub{color:var(--text-secondary);grid-column:1/-1;font-size:.72rem}.bar,.threshold-bar{background:var(--bg);border-radius:3px;height:6px;display:block;position:relative}.bar i,.threshold-bar i{background:var(--success-text);border-radius:3px;height:100%;display:block}.threshold-bar s{background:var(--accent-secondary-text);width:2px;height:12px;position:absolute;top:-3px}.attendance-legend{color:var(--text-secondary);flex-wrap:wrap;gap:.45rem .9rem;margin:0;padding:0;list-style:none;display:flex}.attendance-legend li{align-items:center;gap:.35rem;display:flex}.attendance-legend .attend-cell{width:22px;height:18px}.attendance-note{border:1px solid var(--border);border-left:3px solid var(--accent-primary);color:var(--text-secondary);border-radius:6px;padding:.7rem .85rem}.attendance-phone{margin:0;padding:0;list-style:none;display:none}.attendance-popover,.attendance-drawer{background:var(--surface);color:var(--text-primary);border:1px solid var(--accent-primary);z-index:30}.attendance-popover{width:min(22rem,100vw - 1rem);box-shadow:0 12px 32px color-mix(in srgb, var(--bg) 55%, transparent);border-radius:10px;padding:.75rem .9rem;position:fixed}.attendance-popover p,.popover-head,.drawer-top{justify-content:space-between;gap:.75rem;display:flex}.attendance-popover p span:first-child{color:var(--text-secondary)}.popover-actions,.drawer-actions,.raid-tiles,.drawer-stats{gap:.45rem;display:grid}.popover-actions .actions{flex-wrap:wrap;gap:.35rem;display:flex}.attendance-scrim{z-index:25;background:0 0;border-radius:0;width:100%;height:100%;padding:0;position:fixed;inset:0}.attendance-drawer{border-width:0 0 0 1px;flex-direction:column;width:clamp(420px,33vw,640px);height:auto;padding:0;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;container-type:inline-size}.attendance-drawer>.drawer-top{flex:none;padding:1rem 1.1rem .75rem}.drawer-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 1.1rem 1.5rem;overflow-y:auto}.member-head,.drawer-top,.drawer-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.drawer-percent{margin:0;font-size:1.8rem;font-weight:800}.drawer-stats{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}.drawer-stats>div{min-width:0}@container (max-width:36rem){.drawer-stats{grid-template-columns:1fr 1fr}}.raid-tiles{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.raid-tiles article,.drawer-stats>div{border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem}.timeline{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.timeline-row{align-items:flex-start;gap:.55rem;width:100%;display:flex}.char-line{margin:.15rem 0}.trend svg{width:100%;height:auto}.trend-line{fill:none;stroke:var(--accent-primary);stroke-width:2px}.trend-point{fill:var(--accent-primary);stroke:none}.trend-threshold{stroke:var(--accent-secondary-text);stroke-dasharray:4 3}.trend-shade{fill:color-mix(in srgb, var(--text-primary) 6%, transparent)}.trend-label{fill:var(--accent-secondary-text);font-size:11px}.phone-member{align-items:center;gap:.55rem;width:100%;display:flex}.phone-member .percent{margin-left:auto;font-weight:800}.phone-strip{gap:.2rem;padding:.2rem 0 .55rem;display:flex;overflow-x:auto}@media (max-width:900px){.attendance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-stats{grid-template-columns:1fr 1fr}}@media (max-width:720px){.attendance-grid-wrap{display:none}.attendance-phone{display:grid}.attendance-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.attendance-card{padding:.45rem}.attendance-card .v{font-size:1.05rem}.attendance-card .h{display:none}.attendance-popover{border-radius:16px 16px 0 0;width:100%;bottom:0;right:0;top:auto!important;left:0!important}.attendance-drawer{border-left:0;width:100%}}.nav-disabled{color:var(--text-secondary);opacity:.55;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .6rem;font-weight:700;display:flex}.nav-soon{letter-spacing:.06em;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:.05rem .35rem;font-size:.62rem}.side-nav button.nav-account{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .6rem;display:flex}.nav-icon{width:1.15rem;display:inline-block}.role-chips{flex-wrap:wrap;gap:.4rem;margin:.75rem 0;display:flex}a.chip,button.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:14px;align-items:center;gap:.35rem;padding:.28rem .7rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}a.chip.on,button.chip.on{color:var(--text-primary);border-color:var(--accent-primary);background:var(--bg)}.role-off{opacity:.55}.tag.offspec-tag,.tag.alt-tag{letter-spacing:.04em;margin-left:.3rem;font-size:.62rem}.roster-legend{flex-wrap:wrap;align-items:center;gap:.35rem .9rem;display:flex}.character-layout{z-index:40;grid-template-columns:minmax(0,52rem) minmax(16rem,20rem);place-content:start center;gap:.75rem;padding:4vh 1rem 2rem;display:grid;position:fixed;inset:0;overflow:auto}.character-panel,.character-notes{background:var(--surface);color:var(--text-primary);border:1px solid var(--accent-primary);border-radius:12px}.character-panel{padding:.9rem 1rem 1rem}.character-notes{padding:.9rem 1rem}.character-notes p{margin:0 0 .85rem}.character-body{gap:1rem;display:grid}.spec-card-row,.pick-grid,.member-results{gap:.65rem;display:grid}.character-panel fieldset.character-card{min-width:0;margin:0}.identity-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.identity-grid>label,.identity-member{align-content:start;gap:.375rem;min-width:0}.identity-member{display:grid}.identity-member>.field-label{margin:0}.identity-grid input:not([type=radio]):not([type=hidden]),.identity-grid select{width:100%;min-width:0}.identity-grid>.kind-seg{flex-direction:column;align-items:flex-start;gap:0;min-width:0;margin:0;padding:0;display:flex}.identity-grid>.kind-seg>legend{margin:0 0 .375rem;padding:0;font-size:.92rem;font-weight:400;line-height:1.35}.kind-choices{align-items:center;gap:.35rem;display:flex}.spec-role-stack{gap:1rem;display:grid}.character-card>.spec-role-stack>.spec-cards{border-width:0;min-width:0;margin:0;padding:0}.character-card .member-results,.character-card>.meta{margin:1rem 0 0}.member-search{min-width:0}.member-search input{flex:1 1 0;width:auto;min-width:0}.spec-card-row,.pick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pick-grid.secondaries{margin-top:.45rem}label.spec-card{border:1px solid var(--border);background:var(--bg);color:var(--text-primary);border-radius:10px;padding:.6rem .7rem;position:relative}label.spec-card.on{border-color:var(--accent-primary)}label.spec-card input,.kind-seg input,label.pick input{opacity:0;position:absolute}.spec-check{position:absolute;top:.35rem;right:.45rem}.offspec{position:relative}button.offspec-button,.offspec-menu button{text-align:left;background:var(--bg);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.offspec-menu{background:var(--surface);border:1px solid var(--border);z-index:2;border-radius:8px;margin:.25rem 0 0;padding:.25rem;list-style:none;position:relative}button.offspec-taken{color:var(--text-secondary)}.derived-roles>div{border:1px dashed var(--border);border-radius:8px;flex-wrap:wrap;gap:1rem;padding:.55rem .7rem;display:flex}.character-footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.8rem;display:flex}button.text-danger{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-weight:700}.kind-seg{border:0;align-items:center;gap:.35rem;margin:0;padding:0;display:flex}.kind-seg legend{margin-right:.35rem}.kind-seg label{border:1px solid var(--border);border-radius:8px;padding:.4rem .75rem;position:relative}.kind-seg label.on{border-color:var(--accent-primary);color:var(--text-primary)}.field-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.92rem;display:block}.name-fields{gap:.65rem;min-width:0;display:grid}label.pick{border:1px solid var(--border);background:var(--bg);color:var(--text-primary);border-radius:8px;align-items:center;gap:.45rem;padding:.4rem .55rem;display:flex;position:relative}label.pick.on{border-color:var(--accent-primary);color:var(--text-primary)}label.pick input{opacity:1;flex:none;width:1rem;height:1rem;margin:0;position:static}label.pick.blocked{color:var(--text-secondary)}.member-search{gap:.4rem;display:flex}.member-results{margin:0;padding:0;list-style:none}@media (max-width:900px){.character-layout{grid-template-columns:minmax(0,1fr)}.spec-card-row,.pick-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.identity-grid{grid-template-columns:minmax(0,1fr)}}.roster-builder{gap:.85rem;margin-top:.75rem}.roster-builder .roster-main{min-width:0}.roster-builder .builder-pool{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.roster-builder .builder-tabs{border-bottom:1px solid var(--border);display:flex}.roster-builder .builder-tabs button{border:0;border-bottom:2px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:0;flex:1;padding:.65rem .4rem;font-size:.82rem;font-weight:700}.roster-builder .builder-tabs button.on{color:var(--accent-primary);border-bottom-color:var(--accent-primary);background:0 0}.roster-builder .builder-tabs em{background:var(--bg);color:var(--text-secondary);border-radius:8px;margin-left:.3rem;padding:0 .35rem;font-size:.72rem;font-style:normal}.roster-builder .builder-pool-head,.roster-builder .builder-group-head{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-family:inherit;font-size:.72rem;font-weight:700}.roster-builder .builder-pool-head{padding:.55rem .75rem .2rem}.roster-builder .builder-summary{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.7rem;display:flex}.roster-builder .builder-stat{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-weight:700;display:inline-flex}.roster-builder .builder-stat .lbl,.roster-builder .builder-count-note{color:var(--text-secondary);font-weight:600}.roster-builder .builder-count-note{margin:0;font-size:.82rem}.roster-builder .roster-groups{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.roster-builder .builder-group,.roster-builder .roster-bench{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:0;padding:0;overflow:hidden}.roster-builder .builder-group-head{background:var(--bg);border-bottom:1px solid var(--border);text-transform:none;letter-spacing:0;color:var(--text-primary);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.85rem;display:flex}.roster-builder .group-counts{gap:.55rem;font-size:.78rem;font-weight:700;display:flex}.roster-builder .group-counts>span{align-items:center;gap:.2rem;display:inline-flex}.roster-builder .role-badge{width:1.15rem;height:1.15rem;color:var(--bg);border-radius:5px;flex:none;place-items:center;font-size:.68rem;font-weight:800;display:inline-grid}.roster-builder .role-badge.t{background:var(--role-tank)}.roster-builder .role-badge.h{background:var(--role-heal)}.roster-builder .role-badge.d{background:var(--role-dps)}.roster-builder .builder-slots{gap:0;display:grid}.roster-builder .builder-slot,.roster-builder .builder-empty{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;min-height:2.4rem;margin:0;padding:.35rem .7rem}.roster-builder .builder-slot{align-items:center;gap:.45rem;display:flex}.roster-builder .builder-slot-main{flex:1;align-items:center;gap:.45rem;min-width:0;display:flex}.roster-builder .builder-name{font-weight:750}.roster-builder .builder-detail{color:var(--text-secondary);font-size:.78rem}.roster-builder .builder-slot.dual-spec{background:color-mix(in srgb, var(--accent-primary) 8%, transparent), var(--surface);box-shadow:inset 3px 0 0 var(--accent-primary)}.roster-builder button.spec-toggle{border:1px solid var(--accent-primary);background:var(--bg);color:var(--text-secondary);border-radius:12px;flex:none;align-items:center;padding:0;font-size:.72rem;font-weight:700;display:inline-flex;overflow:hidden}.roster-builder button.spec-toggle span{padding:.12rem .45rem}.roster-builder button.spec-toggle .swap{color:var(--accent-primary);padding:0 .1rem}.roster-builder button.spec-toggle .on.t{background:var(--role-tank);color:var(--bg)}.roster-builder button.spec-toggle .on.h{background:var(--role-heal);color:var(--bg)}.roster-builder button.spec-toggle .on.d{background:var(--role-dps);color:var(--bg)}.roster-builder button.spec-toggle:disabled{opacity:.55;cursor:not-allowed}.roster-builder .builder-empty{color:var(--text-secondary);font-style:italic}.roster-builder .keyboard-target{border:2px solid var(--accent-primary)}.roster-builder .carrying{box-shadow:inset 0 0 0 1px var(--accent-primary), inset 3px 0 0 var(--accent-primary)}.roster-builder .builder-note{background:color-mix(in srgb, var(--accent-primary) 8%, transparent), var(--surface);border:1px solid var(--accent-primary);border-left:3px solid var(--accent-primary);color:var(--text-secondary);border-radius:6px;margin-top:.85rem;padding:.65rem .85rem;font-size:.82rem}.roster-builder .builder-note b{color:var(--accent-primary)}.roster-builder .roster-bench{margin-top:.7rem}.roster-builder .roster-bench .builder-pool-head,.roster-builder .roster-unsigned .builder-pool-head{padding:.55rem .75rem}.roster-builder .roster-unsigned .filters{padding:0 .75rem .5rem}.roster-builder .unsigned-list,.roster-builder .roster-unassigned .meta,.roster-builder .roster-bench .meta{padding:0 .75rem .55rem}@media (max-width:900px){.roster-builder .roster-groups{grid-template-columns:1fr}}.series-layout{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr);align-items:start;gap:1rem;display:grid}@media (max-width:720px){.series-layout,.series-page .series-layout{grid-template-columns:minmax(0,1fr)}}.size-grid{grid-template-columns:1fr 1fr;gap:.85rem 1rem;display:grid}@media (max-width:720px){.size-grid{grid-template-columns:1fr}}.size-label{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.tag.from-size{color:var(--accent-primary);border-color:var(--accent-primary);letter-spacing:.04em;font-size:.65rem;font-weight:700}.size-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.size-match{color:var(--success-text);font-weight:700}.size-mismatch{color:var(--warning);font-weight:700}.size-fill h2{margin:.85rem 0 .45rem;font-size:1.05rem}.size-confirm{z-index:50;width:min(32rem,100vw - 1.5rem);margin:0;position:fixed;top:12vh;left:50%;transform:translate(-50%)}.roster-toolbar .series-top{flex-wrap:nowrap;align-items:center;margin-bottom:.75rem}.roster-toolbar .series-top .actions{flex:none;margin-top:0}.roster-toolbar .series-top h1{margin:0}.series-block,.series-card,.series-summary,.series-dialog{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:1rem}.series-card{margin:1rem 0}.series-card-head h2,.series-summary h2{margin-top:0}.series-note,.series-preview{border:1px solid var(--warning);background:var(--bg);color:var(--text-primary);border-radius:10px;padding:.75rem .9rem}.series-choice{border:1px solid var(--border);color:var(--text-primary);border-radius:10px;gap:.2rem;padding:.7rem .8rem;display:grid}.series-choice.on{border-color:var(--accent-primary)}.series-dim{opacity:.55}.badge.series-scheduled{color:var(--text-primary);border-color:var(--border);background:0 0}.badge.signup-posted{background:var(--info);color:var(--on-info);border-color:var(--info-text)}.badge.completed{background:var(--success);color:var(--on-success);border-color:var(--success-text)}.badge.skipped{color:var(--accent-secondary-text);border-color:var(--accent-secondary-text);background:0 0}.calendar-chip.skipped{color:var(--accent-secondary-text)}.series-legend{color:var(--text-secondary);flex-wrap:wrap;gap:.5rem 1rem;padding:0;list-style:none;display:flex}.badge.skipped{border-style:dashed}.series-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.series-top h1,.series-top h2{margin:0}.series-list>.series-top .actions{margin-top:0}.series-split{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}.series-banner-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.series-row.past{opacity:.65}.series-row.skipped .strike,.series-row.cancelled .strike,.series-date-cards a.strike,.event-table a.strike,.event-cards a.strike{text-decoration:line-through}.series-indent{padding-left:1.25rem}.seg{flex-wrap:wrap;display:inline-flex}.seg .chip{border-radius:8px}.discord-preview{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.75rem}.discord-embed{border-left:4px solid var(--accent-secondary-text);background:var(--bg);color:var(--text-primary);border-radius:4px;margin-top:.45rem;padding:.7rem .8rem}.phone-series,.phone-filters,.phone-menu,.phone-tabbar,.phone-label{display:none}.phone-series-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.phone-series-head{padding:.7rem .8rem .45rem}.phone-series-title{color:var(--text-primary);margin:0;font-weight:800}.phone-series-title a{color:var(--text-primary);text-decoration:none}.phone-repeat{color:var(--accent-primary)}.phone-series-sum{color:var(--text-secondary);margin:.15rem 0 0;font-size:.78rem}.badge.series-tag{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg)}.badge.oneoff-tag{color:var(--text-secondary);border-color:var(--border);background:var(--bg)}.phone-series-row{border-top:1px solid var(--border);min-height:44px;color:var(--text-primary);background:var(--bg);justify-content:space-between;align-items:center;gap:.65rem;padding:.45rem .8rem;text-decoration:none;display:flex}.phone-series-row .phone-date,.phone-series-row .phone-note{display:block}.phone-series-row .phone-date{font-weight:800}.phone-series-row>span:first-child{min-width:0}.phone-series-row .badge{flex:none}.phone-series-row .phone-note{color:var(--text-secondary);font-size:.75rem}.phone-series-row.skipped .phone-date{color:var(--text-secondary);text-decoration:line-through}.phone-series-row.cancelled .phone-date{text-decoration:line-through}.phone-menu{min-width:44px;min-height:44px;color:var(--accent-primary);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem}.phone-filters{align-items:center;gap:.4rem;margin:.35rem 0 .75rem}.phone-view{position:relative}.phone-view summary{cursor:pointer;min-height:44px;list-style:none}.phone-view summary::-webkit-details-marker{display:none}.phone-view-menu{z-index:6;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:9rem;margin-top:.25rem;padding:.3rem;display:grid;position:absolute}.phone-view-menu a{min-height:44px;color:var(--text-primary);align-items:center;padding:0 .65rem;text-decoration:none;display:flex}.phone-tabbar{background:var(--bg);border-top:1px solid var(--border);justify-content:space-around}.phone-tab{min-width:44px;min-height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;padding:.2rem;font-size:.68rem;font-weight:700;text-decoration:none;display:flex}.phone-tab.on{color:var(--accent-primary)}.series-dialog>.drawer-top,.series-dialog>.drawer-body{padding:0}@media (max-width:720px){.series-list .event-cards,.series-list .grouped-cards{display:none}.phone-series{gap:.75rem;display:grid}}@media (max-width:480px){.app-frame{width:100%;margin:0;padding-bottom:4.75rem;display:block}.app-frame main{width:100%;margin:0;padding:.35rem .65rem 1.25rem}.roster-page.panel{padding:0}.side-nav{display:contents}.side-nav .wordmark,.side-nav .nav-toggle{display:none}.side-nav.open .nav-links{z-index:35;background:var(--surface);border:1px solid var(--border);padding:.75rem;display:grid;position:fixed;inset:0 0 4.6rem;overflow-y:auto}.phone-tabbar{z-index:36;padding:.15rem .1rem .45rem;display:flex;position:fixed;bottom:0;left:0;right:0}.phone-menu{display:inline-flex}.phone-filters{flex-wrap:wrap;display:flex}.phone-filters a.chip,.phone-filters summary{min-height:44px}.seg{width:100%;max-width:100%;display:flex}.series-block summary{align-items:center;min-height:44px;display:flex}.phone-label{display:inline}.series-list .wide-label,.series-list .crumb-meta,.series-list .wide-filters,.series-list .series-legend,.series-list>.series-note{display:none}.series-list .series-top{flex-wrap:nowrap;align-items:center;margin-bottom:.35rem}.series-list .series-top .actions{margin-top:0}.series-list .series-heading{flex:1;min-width:0}.series-list .series-heading h1{font-size:1.15rem}.phone-series-title a,.series-date-cards h3 a{align-items:center;min-height:44px;display:inline-flex}.series-block button,.series-block a.button,.series-block a.chip,.series-block button.chip,.series-dialog a.button,.series-dialog button,.series-choice,.series-top a.button,.series-top button,.series-date-cards a.button,.event-cards a.button{min-height:44px}.series-block .role-chips .chip{justify-content:center;min-width:44px;min-height:44px}.inline-form{align-items:center;min-width:0;min-height:44px}.inline-form input,.form-grid input,.form-grid select,.series-dialog input,.series-block input,.series-block select{width:100%;min-width:0;max-width:100%;min-height:44px}.series-dialog{z-index:40;border-radius:0;flex-direction:column;width:auto;max-height:none;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.series-dialog>.drawer-top{flex:none;padding:1rem 1rem .35rem}.series-dialog>.drawer-body{flex:auto;min-height:0;padding:0 1rem;overflow-y:auto}.series-dialog>.actions{flex:none;margin:0;padding:.75rem 1rem 1rem}.series-dialog.size-confirm{border-radius:12px;width:auto;max-height:none;padding:1rem;display:block;inset:12vh .75rem auto;overflow:visible;transform:none}.series-dialog.size-confirm>.actions{margin-top:.75rem;padding:0}}.preset-hint{color:var(--text-secondary);margin-top:.35rem;font-size:.85rem;font-weight:400;line-height:1.4;display:block}.preset-hint strong{color:var(--text-primary)}.preset-picked{background:var(--accent-primary);color:var(--on-accent-primary);border-radius:999px;margin-top:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;line-height:1.3;display:inline-block}.preset-slot-row{align-items:center;gap:.45rem;min-width:0;display:flex}.preset-slot-row .meta{flex:none;width:1rem}.preset-empty{text-align:left;border-style:dashed;flex:1}.preset-summary{margin:.15rem 0 0}.preset-unplaced{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.preset-unplaced li{flex-wrap:nowrap;align-items:center;gap:.35rem;min-width:0;display:flex}.preset-shrink-scrim{z-index:45;position:fixed;inset:0}.preset-page{gap:.85rem;min-width:0;display:grid}.preset-list .series-top,.preset-list .preset-filter{margin-bottom:0}.preset-list .series-heading .preset-subtitle,.preset-list .preset-scope,.preset-filter .role-chips{margin:0}.preset-search{align-items:center;gap:.5rem;min-width:0;margin-left:auto;display:flex}.preset-search input{width:14rem;min-width:0}.preset-linked{white-space:normal}.preset-used{margin-top:.15rem}.preset-rank{border:1px solid var(--border);border-radius:999px;place-items:center;width:1.35rem;height:1.35rem;font-size:.75rem;line-height:1;display:inline-grid}.preset-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.preset-title{min-width:0}.preset-title h1,.preset-title p{margin:0}.preset-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.preset-actions form{margin:0}.preset-actions button.secondary{padding:.25rem .6rem}.preset-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,24rem);align-items:start;gap:1rem;display:grid}.preset-board{grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.preset-members{min-width:0}.preset-member-list{gap:.2rem;max-height:70vh;display:grid;overflow:auto}.preset-member-list h3{margin:.45rem 0 .15rem;font-size:.85rem}button.secondary.preset-member{text-align:left;border-radius:8px;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.35rem;width:100%;min-width:0;min-height:0;padding:.15rem .4rem;font-weight:500;display:flex}.preset-slot button.secondary.preset-member,.preset-unplaced button.secondary.preset-member{flex:auto;width:auto}.preset-member.placed{opacity:.5}.seat-handle{color:var(--text-secondary);flex:none}.seat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.seat-spec{color:var(--text-secondary);white-space:nowrap;flex:none;font-size:.82rem}.seat-where{color:var(--text-secondary);white-space:nowrap;flex:none;margin-left:auto;font-size:.75rem}button.secondary.preset-add,button.secondary.preset-icon{flex:none;min-height:0;padding:.1rem .45rem;line-height:1.2}button.secondary.preset-icon{padding:.1rem .35rem}.preset-carry{margin:.35rem 0;font-weight:700}.preset-empty-slot{border:1px dashed var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.28rem .45rem;display:flex}.preset-drop{border:2px dashed var(--gold)}.preset-drop-label{color:var(--gold);font-weight:700}.preset-group-head .group-counts{align-items:center;gap:.45rem;margin:0 0 0 auto;display:flex}.preset-group-head .group-counts>span{align-items:center;gap:.15rem;display:inline-flex}.preset-group-title{align-items:center;gap:.5rem;width:100%;min-width:0;display:flex}.preset-group-title select{width:auto;padding:.15rem .4rem}.preset-label{width:100%;color:var(--text-secondary);align-items:center;gap:.4rem;margin:0;font-size:.82rem;display:flex}.preset-label input{flex:1;width:auto;height:auto;padding:.2rem .45rem}.preset-fields{grid-template-columns:minmax(0,1.4fr) minmax(7rem,.7fr) minmax(10rem,.95fr);align-items:start;gap:.75rem;display:grid}.preset-fields>label,.preset-raid{align-self:start;min-width:0}.preset-fields input,.preset-fields select{width:100%;height:auto}.preset-size-note{align-content:start;gap:.35rem;min-width:0;margin-top:.35rem;display:grid}.preset-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.preset-group-head{flex-wrap:wrap;align-items:end;gap:.5rem .65rem;display:flex}.preset-group-head>label:first-child{flex:none}.preset-group-head>label:nth-child(2){flex:auto;min-width:0}.preset-group-head>.meta{flex:none;margin-bottom:.45rem;margin-left:auto}.preset-slot{flex-wrap:nowrap;align-items:center;gap:.35rem;min-width:0;display:flex}.preset-slot select,.preset-slot input,.preset-fields select,.preset-fields input,.preset-group-head select,.preset-group-head input{min-width:0;max-width:100%}.preset-pick{gap:.4rem;display:grid}.preset-pick button{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.35rem;width:100%;display:flex}.preset-priority{text-align:center}.preset-more summary{cursor:pointer}.preset-cards{display:none}@media (max-width:720px){.preset-table{display:none}.preset-cards{gap:.75rem;display:grid}.preset-layout,.preset-board,.preset-groups,.preset-fields{grid-template-columns:minmax(0,1fr)}.preset-member-list{max-height:16rem}.preset-search{flex:16rem;margin-left:0}.preset-search input{flex:1;width:auto}}@media (max-width:480px){.preset-list .preset-subtitle{display:none}}.preset-apply{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;min-width:0;margin-top:.85rem;display:flex}.preset-apply-choices{flex-wrap:wrap;gap:.45rem .9rem;min-width:0;margin:0;padding:0;display:flex}.preset-apply label{align-items:center;gap:.35rem;display:inline-flex}.preset-hold-list{gap:.35rem;margin:0;padding:0 .75rem .55rem;list-style:none;display:grid}.preset-seat-badge{flex:none;margin-left:auto}.preset-badge-short{display:none}.preset-choices{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem;display:grid}.preset-choice,.roster-page{min-width:0}.roster-builder .builder-slot-main{flex-wrap:wrap}.roster-builder .series-legend{margin:.85rem 0 0}@media (max-width:720px){.preset-badge-full{display:none}.preset-badge-short{display:inline}.preset-choices{grid-template-columns:minmax(0,1fr)}.roster-builder .builder-group-head{flex-wrap:wrap}.roster-page,.roster-builder,.preset-apply,.series-dialog,.series-presets{min-width:0;max-width:100%}}.series-presets{gap:.75rem;min-width:0;display:grid}.series-presets .preset-fields{margin-top:.35rem}.series-preset-cards{display:none}.series-preset-card-title{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;margin:0;display:flex}.series-preset-card-title b{overflow-wrap:anywhere;min-width:0}.link-pick{border:1px solid var(--border);background:var(--bg);border-radius:8px;overflow:hidden}.link-pick-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:.65rem;padding:.55rem .7rem;display:flex}.link-pick-row:last-child{border-bottom:0}.link-pick-row.on{background:color-mix(in srgb, var(--accent-primary) 12%, transparent), var(--bg)}.link-pick-row:has(input:checked){background:color-mix(in srgb, var(--accent-primary) 12%, transparent), var(--bg)}.link-pick-row input{accent-color:var(--accent-primary);flex:none;width:1rem;height:1rem}.link-pick-copy{flex:1;min-width:0}.link-pick-copy b{color:var(--text-primary);display:block}.link-pick-copy span{color:var(--text-secondary);font-size:.85rem;display:block}.link-pick-side{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.link-pick-foot{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;margin:.45rem 0 0;font-size:.85rem;display:flex}.link-pick-foot b{color:var(--text-primary)}button.link-clear{color:var(--info-text);background:0 0;border:0;border-radius:0;padding:0;font-weight:500;text-decoration:underline}.priority-pip{border:1px solid var(--border);width:1.25rem;height:1.25rem;color:var(--text-primary);border-radius:50%;place-items:center;font-size:.75rem;display:inline-grid}.tag.linked{border-color:var(--accent-primary);color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 12%, transparent), var(--surface)}.link-empty{border:1px dashed var(--border);text-align:center;background:var(--bg);border-radius:8px;padding:1rem .75rem}.link-empty p{margin:.25rem 0}a.link-scrim{z-index:39;display:block}.link-drawer{z-index:40}.link-grab{background:var(--border);border-radius:4px;width:44px;height:4px;margin:.55rem auto 0;display:none}.link-drawer h2{margin:0 0 .35rem;font-size:1.35rem}.link-drawer-form{flex-direction:column;flex:auto;min-height:0;display:flex}.link-drawer-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin:0;padding:.75rem 1.1rem 1rem;display:flex}.link-drawer-actions a,.link-drawer-actions button{justify-content:center;align-items:center;display:inline-flex}.link-drawer button:disabled{opacity:.45;cursor:not-allowed}.preset-more summary{list-style:none}.preset-more summary::-webkit-details-marker{display:none}.preset-more[open]{flex-basis:100%}.preset-menu{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:10.5rem;margin-top:.35rem;padding:.25rem;display:grid}.preset-menu a{color:var(--text-primary);border-radius:6px;padding:.4rem .6rem;font-weight:650;text-decoration:none}.preset-menu a.danger{color:var(--accent-secondary-text)}@media (max-width:480px){.link-drawer{border-left:0;border-top:1px solid var(--border);border-radius:16px 16px 0 0;width:100%;height:auto;max-height:85vh;top:auto;left:0;right:0}.link-grab{display:block}.link-drawer-actions a,.link-drawer-actions button{flex:1}.set-plan select,.set-plan button{min-height:44px}.code-reveal .code{font-size:1.02rem}.revoke-backdrop{padding:0}.revoke-backdrop .series-dialog{width:auto}}@media (max-width:720px){.series-preset-table{display:none}.series-preset-cards{gap:.75rem;min-width:0;display:grid}.series-preset-cards .event-card,.series-presets .preset-actions{min-width:0;max-width:100%}}.banner.quiet{background:var(--bg);border-color:var(--border);color:var(--text-primary)}.owner-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-primary);margin:0 .6rem .2rem;font-size:.72rem;font-weight:700}.set-plan{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.set-plan select{padding:.3rem .5rem}.code-reveal{border:1px solid var(--accent-primary);background:var(--bg);border-radius:10px;margin:1rem 0;padding:1rem}.code-reveal .code{letter-spacing:.06em;color:var(--text-primary);word-break:break-all;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.25rem}.code-reveal .row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.choice-row{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.choice-row label{color:var(--text-primary);white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.form-grid .choice-row input[type=radio],.revoke-backdrop .choice-row input[type=radio]{width:auto;min-width:0;max-width:none;min-height:0}fieldset{border:1px solid var(--border);border-radius:10px;min-width:0;margin:0;padding:.6rem .85rem .85rem}fieldset input[type=number],fieldset input[type=date]{width:100%;min-width:0;max-width:100%}fieldset .choice-row+label{margin-top:.5rem}legend{color:var(--text-secondary);padding:0 .3rem;font-size:.92rem}.danger-btn{color:var(--accent-secondary-text);border:1px solid var(--accent-secondary-text);cursor:pointer;background:0 0;border-radius:999px;font-weight:650;text-decoration:none;display:inline-block}.revoke-backdrop{z-index:30;box-shadow:inset 0 0 0 100vmax color-mix(in srgb, var(--bg) 62%, transparent);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.revoke-backdrop .series-dialog{width:min(32rem,100%);margin:0}.revoke-backdrop .series-dialog h2{margin-top:0}.revoke-days-line{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;display:flex}.revoke-days-line input[type=number],fieldset .revoke-days-line input[type=number],.series-dialog .revoke-days-line input[type=number]{flex:none;width:6.5rem;max-width:100%}.revoke-ends{white-space:nowrap}.sub-row td{background:var(--bg)}.sub-table{border-collapse:collapse;width:100%}.sub-table th,.sub-table td{text-align:left;border-bottom:1px solid var(--border);padding:.45rem .5rem;font-size:.9rem}.sub-table th{color:var(--text-secondary);font-size:.8rem}@media (max-width:720px){.settings-page .wide-label{display:none}.settings-page .phone-label{display:inline}}
.site{background:var(--bg);min-height:100vh;color:var(--text-primary);font:15px/1.5 Avenir Next,Segoe UI,Helvetica Neue,sans-serif}.site main{width:auto;max-width:none;margin:0}.site h1,.site h2,.site h3{color:var(--text-primary);font-family:Palatino,Iowan Old Style,Georgia,serif;font-weight:600;line-height:1.2}.site h1{margin:0 0 14px;font-size:44px}.site h2{margin:28px 0 10px;font-size:28px}.site h3{margin:0 0 6px;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-size:18px;font-weight:700}.site p{color:var(--text-primary);margin:0 0 10px}.site a{color:var(--gold)}.site a:hover{text-decoration:none}.site a.site-logo{color:var(--text-primary);text-decoration:none}.site a.site-card,.site a.site-card h3,.site a.site-card p{color:var(--text-primary)}.site a.site-card .site-mute{color:var(--text-secondary)}.site-skip{background:var(--gold);color:var(--gold-ink);z-index:20;border-radius:8px;padding:8px 12px;font-weight:700;position:absolute;top:-40px;left:12px}.site-skip:focus{top:12px}.site :focus-visible{outline:2px solid var(--gold);outline-offset:2px}.site-wrap{max-width:1120px;margin:0 auto;padding:0 32px}.site-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;position:sticky;top:0}.site-header-bar{align-items:center;gap:28px;min-height:68px;display:flex}.site-logo{color:var(--text-primary);letter-spacing:.02em;align-items:center;gap:10px;font-family:Palatino,Iowan Old Style,Georgia,serif;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.site-mark{border:2px solid var(--gold);width:32px;height:32px;color:var(--gold);border-radius:8px 8px 16px 16px;place-items:center;font-family:Avenir Next,Segoe UI,sans-serif;font-size:12px;font-weight:800;display:grid}.site-nav{flex:1;align-items:center;gap:22px;display:flex}.site-nav a,.site-burger-panel a{color:var(--text-primary);align-items:center;min-height:44px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.site-nav a.is-on{color:var(--gold)}.site-header-actions{gap:10px;display:flex}.site-btn{border:1px solid var(--border);min-height:44px;color:var(--text-primary);background:var(--surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.site a.site-btn{color:var(--text-primary)}.site a.site-btn-gold,.site-btn-gold{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.site a.site-btn-gold{color:var(--gold-ink)}.site-btn-big{padding:14px 22px;font-size:16px}.site-burger{display:none}.site-burger summary{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;border-radius:6px;place-items:center;font-weight:700;list-style:none;display:grid}.site-burger summary::-webkit-details-marker{display:none}.site-sec{border-bottom:1px solid var(--border);padding:56px 0}.site-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;display:grid}.site-tag{border:1px solid var(--gold);color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.site-mute,.site .site-mute{color:var(--text-secondary)}.site-small{font-size:12.5px}.site-cta{flex-wrap:wrap;gap:12px;margin:22px 0 10px;display:flex}.site-legal,.site .site-legal{color:var(--text-secondary);font-size:12.5px}.site-ph{background-color:var(--surface);background-image:repeating-linear-gradient(45deg, var(--surface), var(--surface) 10px, var(--bg) 10px, var(--bg) 20px);border:1px dashed var(--border);color:var(--text-secondary);text-align:center;border-radius:10px;place-items:center;min-height:90px;padding:10px;font-size:13px;display:grid}.site-grid3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.site-grid2{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.site-card{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:10px;padding:20px}.site-icon{background:color-mix(in srgb, var(--gold) 12%, transparent);border:1px solid var(--gold);border-radius:8px;width:36px;height:36px;margin-bottom:12px}.site-step{gap:14px;display:flex}.site-num{background:var(--gold);width:30px;height:30px;color:var(--gold-ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.site-note{background:color-mix(in srgb, var(--gold) 8%, var(--bg));border:1px solid var(--gold);border-left:3px solid var(--gold);color:var(--text-primary);border-radius:6px;padding:12px 16px;font-size:13.5px}.site-draft,.site-warn{background:var(--surface);border:1px solid var(--info-text);color:var(--text-primary);border-radius:8px;padding:12px 16px;font-size:13.5px}.site-feat{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:center;gap:36px;padding:36px 0;display:grid}.site-feat-rev .site-feat-copy{order:2}.site-list{color:var(--text-primary);margin:8px 0;padding-left:18px}.site-list li{margin:4px 0}.site-price{text-align:center;flex-direction:column;display:flex}.site-amt{color:var(--gold);margin:8px 0;font-size:34px;font-weight:800}.site-amt span{font-size:16px;font-weight:700}.site-price .site-list{text-align:left;margin:12px 0 16px}.site-price .site-btn{margin-top:auto}.site-price-featured{border-color:var(--gold)}.site-faq{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:8px 0;padding:0}.site-faq summary,.site-faq>a,a.site-faq{color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:14px 18px;font-weight:650;text-decoration:none;display:flex}.site-faq summary::-webkit-details-marker{display:none}.site-faq summary:after{content:"+";color:var(--text-secondary)}.site-faq[open] summary:after{content:"–"}.site-faq p{margin:0;padding:0 18px 14px;font-weight:400}.site-pills{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.site-pills input{opacity:0;width:1px;height:1px;position:absolute}.site-pills label{border:1px solid var(--border);min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:16px;align-items:center;padding:8px 12px;font-size:13px;display:inline-flex}.site-pills input:checked+label{border-color:var(--gold);color:var(--text-primary);background:color-mix(in srgb, var(--gold) 12%, transparent)}.site-pills input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px}.site-features:has(#audience-officers:checked) .for-members{display:none}.site-features:has(#audience-members:checked) .for-officers{display:none}.site-search{border:1px dashed var(--border);background:var(--surface);width:100%;min-height:46px;color:var(--text-primary);font:inherit;border-radius:10px;padding:0 14px}.site-search-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.site-pill{border:1px solid var(--border);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:16px;padding:8px 12px;font-size:13px}.site button.site-pill{color:var(--text-primary);background:0 0;border-radius:16px}.site button.site-pill.is-on{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent)}.site-doc{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:36px;display:grid}.site-doc>*{min-width:0}.site-toc{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;font-size:13px;position:sticky;top:88px}.site-toc a{border-bottom:1px solid var(--border);color:var(--text-primary);overflow-wrap:anywhere;padding:5px 0;text-decoration:none;display:block}.site-toc a:hover{color:var(--gold)}.site-toc a.is-sub{padding-left:12px}.site button.site-btn{color:var(--text-primary);background:var(--surface);font:inherit;border-radius:8px}.site button.site-btn:disabled{opacity:.65;cursor:not-allowed}.site-legal-body ul,.site-legal-body ol{padding-left:1.25rem}.site-legal-body li{margin:.25rem 0}.site-legal-body blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin-left:0;padding-left:12px}.site-legal-body{overflow-wrap:break-word}.site-legal-body h2{margin-top:28px}.site-legal-body table{border-collapse:collapse;width:100%;margin:12px 0 20px;font-size:13px}.site-legal-body .site-table-scroll{max-width:100%;overflow-x:auto}.site-legal-body th,.site-legal-body td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px}.site-legal-body th{background:var(--surface)}.site-callout{border:1px solid var(--gold);background:color-mix(in srgb, var(--gold) 8%, var(--bg));border-radius:8px;margin:12px 0;padding:12px 16px}.site-center{text-align:center}.site-center .site-cta{justify-content:center}.site-footer{background:var(--bg);border-top:1px solid var(--border);color:var(--text-secondary);padding:40px 0 30px;font-size:13px}.site-fcols{grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;display:grid}.site-footer b{color:var(--text-primary);margin-bottom:8px;display:block}.site-footer a{color:var(--text-primary);padding:4px 0;text-decoration:none;display:block}.site-footer .site-logo{margin-bottom:10px}.site-fine{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:26px;padding-top:16px;font-size:12px}@media (max-width:600px){.site-wrap{padding:0 18px}.site-nav,.site-header-actions .site-btn:not(.site-btn-gold){display:none}.site-burger{display:block}.site-header-actions .site-btn-gold{min-height:44px;padding:8px 12px;font-size:13px}.site-header-bar{justify-content:space-between;gap:12px}.site h1{font-size:30px}.site h2{font-size:22px}.site-sec{padding:36px 0}.site-hero,.site-grid3,.site-grid2,.site-feat,.site-doc,.site-fcols{grid-template-columns:1fr}.site-feat-rev .site-feat-copy{order:0}.site-btn-big{width:100%}.site-toc{max-width:100%;position:static}.site-legal-body{max-width:100%}.site-burger-panel{background:var(--surface);border:1px solid var(--border);z-index:12;border-radius:10px;min-width:220px;padding:8px;position:absolute;right:18px}.site-burger-panel a{padding:10px 12px;display:flex}}@media (prefers-reduced-motion:reduce){.site{scroll-behavior:auto}}
