:root{color-scheme:dark;--bg:#0a0a0c;--surface-1:#101013;--surface-2:#16161a;--surface-3:#1d1d22;--overlay:rgb(10 10 12/0.82);--line:#26262c;--line-strong:#3a3a44;--text:#ececf0;--text-muted:#a4a4ae;--text-faint:#8b8b96;--accent:#c0334d;--accent-hover:#cc3852;--accent-ink:#ffffff;--accent-text:#f0647c;--accent-soft:rgb(192 51 77/0.16);--glow:0 0 0 1px rgb(192 51 77/0.45),0 0 18px rgb(192 51 77/0.2);--ok:#4cc38a;--warn:#e2b04d;--danger:#f0666b;--info:#7da3f5;--ok-soft:rgb(76 195 138/0.14);--warn-soft:rgb(226 176 77/0.14);--danger-soft:rgb(240 102 107/0.14);--info-soft:rgb(125 163 245/0.14);--r-sm:4px;--r-md:6px;--r-lg:10px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:40px;--s-8:48px;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--t-xs:0.75rem;--t-sm:0.8125rem;--t-md:0.875rem;--t-lg:1rem;--t-xl:1.25rem;--t-2xl:1.5rem;--control-h:36px;--control-h-lg:44px;--icon:16px;--icon-lg:20px;--sidebar-w:264px;--page-w:1200px;--page-w-narrow:760px;--dialog-sm:420px;--dialog-md:560px;--dialog-lg:880px;--ease:160ms ease;--discord-bg:#313338;--discord-embed-bg:#2b2d31;--discord-text:#dbdee1;--discord-muted:#949ba4;--discord-link:#00a8fc}*,:after,:before{box-sizing:border-box}html{font-family:var(--font);font-size:16px;color:var(--text);line-height:1.5;-webkit-text-size-adjust:100%}body,html{background:var(--bg)}body{margin:0;min-height:100vh;font-size:var(--t-md)}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.25;letter-spacing:-.01em}h1{font-size:var(--t-2xl)}h2{font-size:var(--t-xl)}h3{font-size:var(--t-lg)}h4{font-size:var(--t-md)}p{margin:0 0 var(--s-3)}a{color:var(--accent-text);text-underline-offset:3px}a:hover{color:var(--text)}ol,ul{margin:0;padding:0}li{list-style:none}.mono,code,kbd{font-family:var(--mono);font-size:.92em}.dim,.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft)}.skip{position:absolute;left:-999px;top:var(--s-2);background:var(--surface-3);color:var(--text);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);z-index:100}.skip:focus{left:var(--s-2)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stack{gap:var(--s-3)}.stack,.stack-lg{display:flex;flex-direction:column}.stack-lg{gap:var(--s-5)}.row{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1 1;min-width:0}.grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.h2{font-size:var(--t-xl)}.h3{font-size:var(--t-lg)}.others>summary{cursor:pointer;margin-bottom:var(--s-3)}.others>summary::marker{color:var(--text-faint)}.card,.panel{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4)}.card>h2,.card>h3,.panel>h2,.panel>h3{margin-bottom:var(--s-2)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.panel-head h2,.panel-head h3{font-size:var(--t-lg)}.panel-flush{padding:0;overflow:hidden}.section{display:flex;flex-direction:column;gap:var(--s-3)}.section-title{font-size:var(--t-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.section-hint{color:var(--text-muted);font-size:var(--t-sm);margin:0}.stat{display:flex;flex-direction:column;gap:var(--s-1)}.stat-value{font-size:var(--t-2xl);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stat-label{color:var(--text-muted);font-size:var(--t-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--control-h);padding:0 var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);font:inherit;font-weight:500;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--ease),border-color var(--ease),box-shadow var(--ease)}.btn,.btn:hover{color:var(--text)}.btn:hover{background:var(--surface-3);border-color:#4a4a56}.btn svg{width:var(--icon);height:var(--icon);flex:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--glow)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{background:transparent;border-color:rgb(240 102 107/.55);color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn.danger.solid{background:#c93c41;border-color:#c93c41;color:#fff}.btn.danger.solid:hover{background:#d9484d}.btn.sm{min-height:28px;padding:0 var(--s-3);font-size:var(--t-sm)}.btn.lg{min-height:var(--control-h-lg)}.btn.icon{width:var(--control-h);padding:0}.btn.icon.sm{width:28px}.btn[aria-disabled=true],.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}.label,label{display:block;font-weight:500;margin-bottom:var(--s-1)}.help,.label,label{font-size:var(--t-sm)}.help{color:var(--text-muted);margin:var(--s-1) 0 0}input:not([type]),input[type=datetime-local],input[type=number],input[type=search],input[type=text],input[type=time],input[type=url],select,textarea{width:100%;min-height:var(--control-h);padding:0 var(--s-3);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font:inherit;transition:border-color var(--ease),background var(--ease)}textarea{padding:var(--s-2) var(--s-3);min-height:88px;resize:vertical;line-height:1.45}select{padding-right:var(--s-6)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:hover,select:hover,textarea:hover{border-color:#4a4a56}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox],input[type=radio]{appearance:none;display:inline-grid;place-content:center;width:18px;height:18px;margin:1px 0 0;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);flex:none;cursor:pointer}input[type=radio]{border-radius:50%}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}input[type=radio]:checked:after{content:"";width:6px;height:6px;border-radius:50%;background:#fff}input[type=checkbox]:hover,input[type=radio]:hover{border-color:#4a4a56}.field{margin-bottom:var(--s-4)}.field:last-child{margin-bottom:0}.field-error{color:var(--danger);font-size:var(--t-sm);margin-top:var(--s-1)}.check{display:flex;gap:var(--s-3);align-items:flex-start}.check label{margin:0;font-weight:500}fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);margin:0 0 var(--s-4)}legend{font-weight:600;font-size:var(--t-sm);padding:0 var(--s-2)}.form-grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-grid .field{margin:0}.counter{font-size:var(--t-xs);color:var(--text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.counter.over{color:var(--danger)}.switch{position:relative;display:inline-flex;align-items:center;width:38px;height:22px;flex:none;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-3);cursor:pointer;padding:0;transition:background var(--ease),border-color var(--ease)}.switch:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform var(--ease),background var(--ease)}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]:after{transform:translateX(16px);background:#fff}.switch[disabled]{opacity:.5;cursor:not-allowed}.segmented{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-1)}.segmented button{min-height:28px;padding:0 var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--t-sm);cursor:pointer}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--surface-3);color:var(--text)}.tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--line);overflow-x:auto}.tabs a,.tabs button{position:relative;display:inline-flex;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-4);border:0;background:transparent;color:var(--text-muted);font:inherit;text-decoration:none;cursor:pointer;white-space:nowrap}.tabs [aria-current=page],.tabs [aria-selected=true],.tabs a:hover,.tabs button:hover{color:var(--text)}.tabs [aria-current=page]:after,.tabs [aria-selected=true]:after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:-1px;height:2px;background:var(--accent)}.badge{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:0 var(--s-2);border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-muted);font-size:var(--t-xs);font-weight:500;white-space:nowrap}.badge svg{width:12px;height:12px}.badge.ok{color:var(--ok);background:var(--ok-soft)}.badge.ok,.badge.warn{border-color:transparent}.badge.warn{color:var(--warn);background:var(--warn-soft)}.badge.bad{color:var(--danger);background:var(--danger-soft)}.badge.bad,.badge.info{border-color:transparent}.badge.info{color:var(--info);background:var(--info-soft)}.dot-status{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex:none}.dot-status.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot-status.warn{background:var(--warn)}.dot-status.bad{background:var(--danger)}.notice{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--r-md);background:var(--surface-1);margin:0}.notice svg{width:var(--icon-lg);height:var(--icon-lg);flex:none;margin-top:1px;color:var(--warn)}.notice.bad{border-left-color:var(--danger)}.notice.bad svg{color:var(--danger)}.notice.ok{border-left-color:var(--ok)}.notice.ok svg{color:var(--ok)}.notice.info{border-left-color:var(--info)}.notice.info svg{color:var(--info)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2);padding:var(--s-7) var(--s-5);border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--text-muted)}.empty svg{width:28px;height:28px;color:var(--text-faint)}.empty h3{color:var(--text);font-size:var(--t-lg)}.empty p{max-width:46ch;margin:0}.skeleton{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.skeleton.line{height:14px;margin-bottom:var(--s-2)}.skeleton.title{height:26px;width:40%;margin-bottom:var(--s-3)}.skeleton.block{height:96px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1)}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:10px var(--s-3);border-bottom:1px solid var(--line);vertical-align:top;font-size:var(--t-md)}th{font-size:var(--t-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--surface-2);white-space:nowrap}tbody tr:hover td{background:rgb(255 255 255/.02)}tr:last-child td{border-bottom:0}@media (max-width:720px){table.stacked,table.stacked tbody,table.stacked td,table.stacked tr{display:block;width:100%}table.stacked thead{display:none}table.stacked tr{padding:var(--s-2) 0;border-bottom:1px solid var(--line)}table.stacked td{border:0;padding:2px var(--s-3)}table.stacked td[data-label]:before{content:attr(data-label);display:block;font-size:var(--t-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}}.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-1) var(--s-4);margin:0}.facts dt{color:var(--text-muted)}.facts dd{margin:0}.pager{align-items:center}.filters,.pager{display:flex;gap:var(--s-3)}.filters{flex-wrap:wrap;align-items:flex-end}.filters .field{margin:0;min-width:160px}dialog{background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--s-5);width:min(var(--dialog-md),94vw);box-shadow:0 24px 64px rgb(0 0 0/.55)}dialog.sm{width:min(var(--dialog-sm),94vw)}dialog.lg{width:min(var(--dialog-lg),94vw)}dialog::backdrop{background:var(--overlay)}dialog[open]{animation:pop var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(4px)}}.dialog-actions{display:flex;gap:var(--s-3);justify-content:flex-end;margin-top:var(--s-5);flex-wrap:wrap}.toasts{position:fixed;right:var(--s-4);bottom:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);z-index:60;pointer-events:none}.toast{pointer-events:auto;display:flex;gap:var(--s-3);align-items:flex-start;background:var(--surface-3);border:1px solid var(--line-strong);border-left:3px solid var(--ok);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);max-width:380px;box-shadow:0 8px 24px rgb(0 0 0/.4)}.toast.bad{border-left-color:var(--danger)}.toast svg{width:var(--icon-lg);height:var(--icon-lg);flex:none;color:var(--ok)}.toast.bad svg{color:var(--danger)}.savebar:not(.dirty){display:none}.savebar{position:sticky;bottom:var(--s-4);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3) var(--s-4);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 8px 24px rgb(0 0 0/.45)}.savebar.dirty{border-color:var(--accent);box-shadow:0 8px 24px rgb(0 0 0/.45),var(--glow)}.combo{position:relative}.combo-control{display:flex;flex-wrap:wrap;gap:var(--s-1);align-items:center;min-height:var(--control-h);padding:3px var(--s-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);cursor:text}.combo-control:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}.combo-control input{flex:1 1 120px;min-width:80px;min-height:28px;border:0;padding:0 var(--s-1);background:transparent}.combo-control input:focus-visible{box-shadow:none}.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:24px;padding:0 4px 0 var(--s-2);border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--line-strong);font-size:var(--t-sm)}.chip button{display:inline-grid;place-items:center;width:18px;height:18px;border:0;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.chip button:hover{background:var(--surface-2);color:var(--text)}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:var(--text-faint)}.combo-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow-y:auto;padding:var(--s-1);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);box-shadow:0 16px 40px rgb(0 0 0/.5)}.combo-group{padding:var(--s-2) var(--s-2) var(--s-1);font-size:var(--t-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.combo-option{display:flex;align-items:center;gap:var(--s-2);min-height:32px;padding:0 var(--s-2);border-radius:var(--r-sm);cursor:pointer}.combo-option[aria-selected=true]{background:var(--accent-soft)}.combo-option[data-active=true]{background:var(--surface-3)}.combo-option[aria-disabled=true]{opacity:.55;cursor:not-allowed}.combo-option svg{width:var(--icon);height:var(--icon);color:var(--text-faint);flex:none}.combo-option .meta{margin-left:auto;font-size:var(--t-xs);color:var(--text-faint);white-space:nowrap}.combo-empty{padding:var(--s-3);font-size:var(--t-sm)}.chart,.combo-empty{color:var(--text-muted)}.chart{width:100%;height:140px}.chart rect{fill:var(--accent)}.chart rect:hover{fill:var(--accent-hover)}figure.card,figure.panel{margin:0}.span-all{grid-column:1/-1}.dialog-body{margin-top:var(--s-4);max-height:min(62vh,560px);overflow-y:auto;padding:2px}.spark{color:var(--accent-text);display:block}.stat-grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat-panel{display:flex;flex-direction:column;gap:var(--s-2)}.stat-panel .head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);color:var(--text-muted);font-size:var(--t-sm)}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);padding:10px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-item .when{margin-left:auto;color:var(--text-faint);font-size:var(--t-sm);white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.cols{display:grid;gap:var(--s-4);grid-template-columns:minmax(0,3fr) minmax(0,2fr)}@media (max-width:900px){.cols{grid-template-columns:minmax(0,1fr)}}.module-list{list-style:none}.module-row{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}.module-row:last-child{border-bottom:0}.module-row .help{margin-top:2px}.status-list{display:flex;flex-direction:column}.status-row{display:flex;align-items:center;gap:var(--s-3);min-height:44px;border-bottom:1px solid var(--line)}.status-row:last-child{border-bottom:0}.perm-grid{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.perm-grid li{display:flex;align-items:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.perm-grid svg{width:var(--icon);height:var(--icon);flex:none}.perm-grid .yes svg{color:var(--ok)}.perm-grid .no svg{color:var(--danger)}.activity-item .mono{min-width:0;overflow-wrap:anywhere}.log-list{list-style:none}.log-row{display:grid;gap:var(--s-3) var(--s-4);grid-template-columns:minmax(180px,1fr) minmax(0,2fr) auto;align-items:start;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}.log-row:last-child{border-bottom:0}.log-cat{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;padding-top:6px}.log-pick .field{margin:0}.log-actions{padding-top:0}@media (max-width:900px){.log-row{grid-template-columns:minmax(0,1fr)}}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--surface-1);border-right:1px solid var(--line);z-index:50}.sidebar,.sidebar-head{display:flex;flex-direction:column}.sidebar-head{padding:var(--s-3);border-bottom:1px solid var(--line);gap:var(--s-3)}.brand{display:flex;align-items:center;gap:var(--s-2);font-weight:700;letter-spacing:.02em;text-decoration:none;padding:var(--s-1) var(--s-2) 0}.brand,.brand:hover{color:var(--text)}.brand-mark{width:22px;height:22px;border-radius:6px;background:var(--accent);box-shadow:var(--glow);display:grid;place-items:center;color:#fff}.brand-mark svg{width:14px;height:14px}.sidebar-nav{flex:1 1 auto;overflow-y:auto;padding:var(--s-2) var(--s-2) var(--s-4);scrollbar-width:thin}.nav-group{margin-bottom:2px}.nav-group>summary{list-style:none;display:flex;align-items:center;gap:var(--s-3);min-height:36px;padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--text-muted);font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover{background:var(--surface-2);color:var(--text)}.nav-group>summary svg{width:var(--icon);height:var(--icon);flex:none}.nav-group>summary .chev{margin-left:auto;transition:transform var(--ease)}.nav-group[open]>summary .chev{transform:rotate(180deg)}.nav-group.has-current>summary{color:var(--text)}.nav-items{margin:2px 0 var(--s-2) 19px;padding-left:var(--s-3);border-left:1px solid var(--line)}.nav-link{display:flex;align-items:center;gap:var(--s-2);min-height:30px;padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--text-muted);text-decoration:none;font-size:var(--t-md)}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--text);font-weight:500;box-shadow:inset 2px 0 0 var(--accent)}.nav-link.top{gap:var(--s-3);min-height:36px;font-weight:500}.nav-link.top svg{width:var(--icon);height:var(--icon);flex:none}.nav-badge{margin-left:auto;font-size:var(--t-xs);padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text)}.sidebar-foot{padding:var(--s-3);border-top:1px solid var(--line);flex-direction:column}.sidebar-foot,.user-row{display:flex;gap:var(--s-2)}.user-row{align-items:center;min-width:0}.user-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-sm);color:var(--text-muted)}.switcher{position:relative}.switcher-btn{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:48px;padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer}.switcher-btn:hover{background:var(--surface-3)}.switcher-btn .name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.switcher-btn svg{width:var(--icon);height:var(--icon);color:var(--text-muted);flex:none}.guild-icon{border-radius:8px;background:var(--surface-3);flex:none;display:grid;place-items:center;font-weight:700;font-size:var(--t-sm);color:var(--text-muted);overflow:hidden}.guild-icon img{width:100%;height:100%;object-fit:cover}.guild-icon.s24{width:24px;height:24px;border-radius:6px;font-size:var(--t-xs)}.guild-icon.s32{width:32px;height:32px}.guild-icon.s40{width:40px;height:40px;border-radius:10px;font-size:var(--t-lg)}.guild-icon.s48{width:48px;height:48px;border-radius:12px;font-size:var(--t-xl)}.switcher-pop{position:absolute;z-index:70;left:0;right:0;top:calc(100% + 6px);min-width:280px;max-height:70vh;display:flex;flex-direction:column;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);box-shadow:0 20px 48px rgb(0 0 0/.55)}.switcher-search{padding:var(--s-2);border-bottom:1px solid var(--line)}.switcher-list{overflow-y:auto;padding:var(--s-1)}.switcher-item{display:flex;align-items:center;gap:var(--s-3);min-height:44px;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);color:var(--text);text-decoration:none}.switcher-item:hover,.switcher-item[data-active=true]{background:var(--surface-3);color:var(--text)}.switcher-item[aria-current=true]{background:var(--accent-soft)}.switcher-item .meta{margin-left:auto;font-size:var(--t-xs);color:var(--text-muted);white-space:nowrap}.switcher-group{padding:var(--s-2) var(--s-2) var(--s-1);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.content{min-width:0;display:flex;flex-direction:column}.topbar-mobile{display:none}.page{width:100%;max-width:var(--page-w);padding:var(--s-5) clamp(var(--s-4),3.5vw,var(--s-7)) var(--s-8);margin:0 auto;min-width:0}.page.narrow{max-width:var(--page-w-narrow);margin-left:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding-bottom:var(--s-4);margin-bottom:var(--s-5);border-bottom:1px solid var(--line)}.page-header h1{display:flex;align-items:center;gap:var(--s-3)}.page-header .lede{margin:var(--s-1) 0 0;color:var(--text-muted);max-width:68ch}.page-actions{gap:var(--s-3);flex-wrap:wrap}.crumbs,.page-actions{display:flex;align-items:center}.crumbs{gap:var(--s-2);font-size:var(--t-sm);color:var(--text-faint);margin-bottom:var(--s-2)}.crumbs a{color:var(--text-muted);text-decoration:none}.crumbs a:hover{color:var(--text)}.standalone{max-width:980px;margin:0 auto;padding:var(--s-6) var(--s-4) var(--s-8)}.standalone.center{max-width:460px;min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:var(--s-4)}.standalone-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-6);flex-wrap:wrap}.guild-card{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4)}.guild-card .head{display:flex;align-items:center;gap:var(--s-3);min-width:0}.guild-card .head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guild-card.manage{border-color:var(--line-strong)}.guild-card.manage:hover{border-color:var(--accent);box-shadow:var(--glow)}.scrim{display:none;border:0;padding:0;cursor:default}@media (max-width:1023px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--sidebar-w),86vw);transform:translateX(-100%);visibility:hidden;transition:transform var(--ease),visibility 0s linear var(--ease);box-shadow:none}.app[data-nav=open] .sidebar{visibility:visible;transition-delay:0s;transform:none;box-shadow:0 0 60px rgb(0 0 0/.6)}.app[data-nav=open] .scrim{display:block;position:fixed;inset:0;z-index:45;background:var(--overlay)}.topbar-mobile{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--s-3);min-height:52px;padding:0 var(--s-4);background:var(--surface-1);border-bottom:1px solid var(--line)}.topbar-mobile .title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}}@media (max-width:600px){.page{padding-top:var(--s-4)}.page-header h1{font-size:var(--t-xl)}.toasts{left:var(--s-3);right:var(--s-3)}.toast{max-width:none}.savebar{bottom:var(--s-2)}}.composer{display:grid;gap:var(--s-5);grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:start}.composer-preview{position:sticky;top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.composer-tabs{display:none}@media (max-width:1100px){.composer{grid-template-columns:minmax(0,1fr)}.composer-preview{position:static}.composer-tabs{display:flex}.composer[data-pane=edit] .composer-preview,.composer[data-pane=preview] .composer-editor{display:none}}.composer-editor{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.md-toolbar{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:var(--s-1)}.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3)}.embed-card{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-1);overflow:hidden}.embed-card>.embed-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--surface-2);border-bottom:1px solid var(--line)}.embed-card>.embed-head h3{font-size:var(--t-md);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embed-body{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4)}.field-row{display:grid;gap:var(--s-2) var(--s-3);grid-template-columns:minmax(0,1fr) auto;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.field-row .tools{display:flex;gap:2px;align-items:flex-start}.field-row .span{grid-column:1/-1}.budget{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.budget svg{display:block;width:100%;height:6px}.problems{margin:0;padding-left:var(--s-4);color:var(--text-muted);font-size:var(--t-sm)}.problems li{list-style:disc}.composer-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;justify-content:space-between}.button-row{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.button-grid{display:grid;gap:var(--s-2);grid-template-columns:minmax(0,2fr) minmax(0,3fr) minmax(0,1fr) auto;align-items:end}@media (max-width:700px){.button-grid{grid-template-columns:minmax(0,1fr)}}.dc{background:var(--discord-bg);color:var(--discord-text);border-radius:var(--r-lg);padding:var(--s-4);font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.95rem;line-height:1.375;min-height:120px}.dc-msg{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s-3)}.dc-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff}.dc-avatar svg{width:22px;height:22px}.dc-head{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.dc-name,.dc-tag{font-weight:600;color:#fff}.dc-tag{background:#5865f2;border-radius:3px;font-size:.65rem;padding:1px 4px;line-height:1.3}.dc-time{color:var(--discord-muted);font-size:.75rem}.dc-text{white-space:pre-wrap;overflow-wrap:anywhere}.dc-text code{background:#1e1f22;border-radius:3px;padding:0 4px;font-family:var(--mono);font-size:.85em}.dc-codeblock{background:#2b2d31;border:1px solid #1e1f22;border-radius:4px;padding:var(--s-2) var(--s-3);margin:var(--s-1) 0;font-family:var(--mono);font-size:.85rem;white-space:pre-wrap}.dc-codeblock code{background:none;padding:0}.dc-mention{background:rgb(88 101 242/.3);color:#c9cdfb;border-radius:3px;padding:0 2px;font-weight:500}.dc-spoiler{background:#1e1f22;color:transparent;border-radius:3px}.dc-spoiler:hover{color:inherit}.dc-quote{display:block;border-left:4px solid #4e5058;padding-left:var(--s-3)}.dc-embed{display:grid;grid-template-columns:4px minmax(0,1fr);margin-top:var(--s-2);max-width:432px;background:var(--discord-embed-bg);border-radius:4px;overflow:hidden}.dc-embed-bar svg{display:block;width:4px;height:100%}.dc-embed-body{padding:var(--s-2) var(--s-4) var(--s-3) var(--s-3);min-width:0;display:grid;gap:var(--s-2)}.dc-embed-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-3)}.dc-embed-author{display:flex;align-items:center;gap:var(--s-2);font-size:.85rem;font-weight:600}.dc-embed-author img,.dc-embed-footer img{width:20px;height:20px;border-radius:50%}.dc-embed-title{font-weight:600;color:#fff;overflow-wrap:anywhere}.dc-embed-title a{color:var(--discord-link);text-decoration:none}.dc-embed-desc{font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere}.dc-fields{display:grid;gap:var(--s-2);grid-template-columns:repeat(12,minmax(0,1fr))}.dc-field{grid-column:span 12;font-size:.875rem;min-width:0}.dc-field.inline{grid-column:span 4}.dc-field-name{font-weight:600;color:#fff;overflow-wrap:anywhere}.dc-field-value{white-space:pre-wrap;overflow-wrap:anywhere}.dc-embed img.dc-image{max-width:100%;border-radius:4px}.dc-embed img.dc-thumb{width:80px;height:80px;object-fit:cover;border-radius:4px}.dc-embed-footer{display:flex;align-items:center;gap:var(--s-2);color:var(--discord-muted);font-size:.75rem}.dc-buttons{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-2)}.dc-button{display:inline-flex;align-items:center;gap:6px;background:#4e5058;color:#fff;border-radius:3px;padding:2px 16px;min-height:32px;font-size:.875rem;font-weight:500}.dc-button svg{width:14px;height:14px}.dc-empty{color:var(--discord-muted)}