:root{--color-paper:oklch(98.5% .004 250);--color-paper-2:oklch(96.6% .006 252);--color-paper-3:oklch(94.2% .008 254);--color-surface:oklch(99.6% .002 250);--color-paper-glass:oklch(98.5% .004 250/.9);--color-graphite:oklch(21% .016 260);--color-graphite-2:oklch(27% .018 260);--color-ink:oklch(24% .02 258);--color-ink-2:oklch(34% .018 257);--color-muted:oklch(50% .016 256);--color-faint:oklch(64% .012 256);--color-on-dark:oklch(93% .008 250);--color-on-dark-muted:oklch(70% .014 255);--color-rule:oklch(91% .008 254);--color-rule-2:oklch(86% .01 255);--color-rule-dark:oklch(33% .018 260);--color-accent:oklch(58% .2 256);--color-accent-hover:oklch(52% .2 257);--color-accent-press:oklch(47% .19 257);--color-accent-ink:oklch(99% .004 250);--color-accent-wash:oklch(95.5% .03 256);--color-accent-line:oklch(84% .08 256);--color-focus:oklch(58% .2 256);--color-ok:oklch(48% .12 155);--color-ok-wash:oklch(95.5% .03 155);--color-warn:oklch(52% .12 70);--color-warn-wash:oklch(96% .04 85);--color-danger:oklch(52% .18 27);--color-danger-hover:oklch(47% .18 27);--color-danger-wash:oklch(96% .025 27);--color-neutral-wash:oklch(95% .006 255);--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.375rem;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:4px;--radius:6px;--radius-lg:10px;--rule:1px solid var(--color-rule);--rule-2:1px solid var(--color-rule-2);--shadow-lift:0 1px 2px oklch(24% .02 258/.06);--shadow-pop:0 12px 32px -8px oklch(24% .02 258/.18), 0 2px 6px oklch(24% .02 258/.06);--color-scrim:oklch(21% .016 260/.42);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur:.18s;--dur-slow:.32s;--sidebar-w:248px;--content-max:1240px}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%}body{background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal;font-weight:600;line-height:1.15}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);letter-spacing:-.01em}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::selection{background:var(--color-accent-wash);color:var(--color-ink)}.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--color-muted)}.faint{color:var(--color-faint)}.ink{color:var(--color-ink)}.strong{color:var(--color-ink);font-weight:600}.small{font-size:var(--text-sm)}.xsmall{font-size:var(--text-xs)}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pre{white-space:pre-wrap}.label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-weight:500}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.row{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.row-sm{align-items:center;gap:var(--space-2xs);display:flex}.row-lg{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;display:flex}.stack{gap:var(--space-md);display:grid}.stack-sm{gap:var(--space-xs);display:grid}.stack-lg{gap:var(--space-lg);display:grid}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.grid-2{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.split{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.split-wide{gap:var(--space-lg);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.rail{border-right:var(--rule);background:var(--color-paper-2);height:100vh;padding:var(--space-md) var(--space-sm);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs) var(--space-md);text-decoration:none;display:flex}.brand-mark{border-radius:var(--radius);background:var(--color-graphite);width:26px;height:26px;color:var(--color-on-dark);font:600 var(--text-sm)/1 var(--font-display);place-items:center;display:grid}.brand-svg{color:var(--color-ink);flex:none}.auth-side .brand-svg{color:var(--color-on-dark)}.brand-name{font:600 var(--text-md)/1.1 var(--font-display);color:var(--color-ink);letter-spacing:-.01em}.brand-sub{font:500 var(--text-2xs)/1.2 var(--font-mono);color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase}.rail-search{align-items:center;gap:var(--space-xs);width:100%;height:34px;padding:0 var(--space-xs);border:var(--rule-2);border-radius:var(--radius);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;margin-bottom:var(--space-md);transition:border-color var(--dur-fast) var(--ease-out);display:flex}@media (hover:hover){.rail-search:hover{border-color:var(--color-accent-line)}}.kbd{font:500 var(--text-2xs)/1 var(--font-mono);border:var(--rule-2);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-paper-2);margin-left:auto;padding:3px 5px}.nav-group{margin-bottom:var(--space-md);gap:1px;display:grid}.nav-group .label{padding:0 var(--space-xs) var(--space-2xs)}.nav-link{align-items:center;gap:var(--space-sm);height:32px;padding:0 var(--space-xs);border-radius:var(--radius);color:var(--color-ink-2);font-size:var(--text-md);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:450;text-decoration:none;display:flex}.nav-link svg{width:16px;height:16px;color:var(--color-muted);flex:none}@media (hover:hover){.nav-link:hover{background:var(--color-paper-3);color:var(--color-ink)}}.nav-link.active{background:var(--color-surface);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-rule-2);font-weight:550}.nav-link.active svg{color:var(--color-accent)}.nav-count{font:500 var(--text-2xs)/1 var(--font-mono);color:var(--color-muted);margin-left:auto}.rail-foot{padding-top:var(--space-md);border-top:var(--rule);margin-top:auto}.me{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);min-width:0;display:flex}.avatar{background:var(--color-paper-3);width:28px;height:28px;color:var(--color-ink);font:600 var(--text-2xs)/1 var(--font-mono);letter-spacing:.02em;border:var(--rule-2);border-radius:50%;flex:none;place-items:center;display:grid}.avatar.lg{width:40px;height:40px;font-size:var(--text-xs)}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:52px;padding:0 var(--space-md);border-bottom:var(--rule);background:var(--color-paper-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;display:none;position:sticky;top:0}.content{width:100%;max-width:var(--content-max);padding:var(--space-xl) var(--space-xl) var(--space-3xl);margin:0 auto}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-head .stack-sm{min-width:0}.page-head p{color:var(--color-muted);max-width:64ch}.crumbs{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-2xs);display:flex}.crumbs a{color:var(--color-muted);white-space:nowrap;text-decoration:none}@media (hover:hover){.crumbs a:hover{color:var(--color-accent)}}.btn{justify-content:center;align-items:center;gap:var(--space-xs);height:34px;padding:0 var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-md);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:15px;height:15px}@media (hover:hover){.btn:hover{background:var(--color-paper-2);border-color:var(--color-faint)}}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}@media (hover:hover){.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}}.btn-primary:active{background:var(--color-accent-press)}.btn-dark{background:var(--color-graphite);border-color:var(--color-graphite);color:var(--color-on-dark)}@media (hover:hover){.btn-dark:hover{background:var(--color-graphite-2);border-color:var(--color-graphite-2)}}.btn-ghost{color:var(--color-ink-2);background:0 0;border-color:#0000}@media (hover:hover){.btn-ghost:hover{background:var(--color-paper-3);border-color:#0000}}.btn-danger{color:var(--color-danger)}@media (hover:hover){.btn-danger:hover{background:var(--color-danger-wash);border-color:var(--color-danger)}}.btn-sm{height:28px;padding:0 var(--space-xs);font-size:var(--text-sm)}.btn-lg{height:42px;padding:0 var(--space-md);font-size:var(--text-base)}.btn-block{width:100%}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:28px}.btn[data-loading=true]{color:#0000;pointer-events:none;position:relative}.btn[data-loading=true]:after{content:"";width:14px;height:14px;color:var(--color-muted);border:2px solid;border-right-color:#0000;border-radius:50%;animation:.7s linear infinite spin;position:absolute}.btn-primary[data-loading=true]:after,.btn-dark[data-loading=true]:after{color:var(--color-accent-ink)}@keyframes spin{to{transform:rotate(360deg)}}.link-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:none}@media (hover:hover){.link-btn:hover{text-underline-offset:3px;text-decoration:underline}}a.link{color:var(--color-ink);font-weight:500;text-decoration:none}@media (hover:hover){a.link:hover{color:var(--color-accent)}}.field{gap:6px;min-width:0;display:grid}.field>label,.field-label{font-size:var(--text-sm);color:var(--color-ink);font-weight:500}.field .hint{font-size:var(--text-xs);color:var(--color-muted)}.field .error-text{font-size:var(--text-xs);color:var(--color-danger)}.optional{color:var(--color-faint);margin-left:4px;font-weight:400}.input,.select,.textarea{width:100%;min-width:0;height:36px;padding:0 var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-md);outline-offset:1px;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);outline:2px solid #0000}.textarea{height:auto;min-height:96px;padding:var(--space-xs) var(--space-sm);resize:vertical;line-height:1.55}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-muted) 50%), linear-gradient(135deg, var(--color-muted) 50%, transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.input::placeholder,.textarea::placeholder{color:var(--color-faint)}@media (hover:hover){.input:hover,.select:hover,.textarea:hover{border-color:var(--color-faint)}}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline-color:var(--color-focus);border-color:var(--color-accent)}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--color-danger);background:var(--color-danger-wash)}.input:disabled,.select:disabled,.textarea:disabled,.input[readonly]{background:var(--color-paper-2);color:var(--color-muted);cursor:not-allowed}.input-prefix{position:relative}.input-prefix>span{left:var(--space-sm);color:var(--color-muted);font:500 var(--text-sm)/1 var(--font-mono);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-prefix>.input{padding-left:46px}.check{align-items:flex-start;gap:var(--space-xs);font-size:var(--text-md);cursor:pointer;display:flex}.check input{width:16px;height:16px;accent-color:var(--color-accent);flex:none;margin:2px 0 0}.form-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:var(--space-xs);padding-top:var(--space-xs);flex-wrap:wrap;display:flex}.notice{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule-2);border-radius:var(--radius);background:var(--color-paper-2);font-size:var(--text-md);align-items:flex-start;display:flex}.notice svg{flex:none;width:16px;height:16px;margin-top:2px}.notice-error{border-color:var(--color-danger);background:var(--color-danger-wash);color:var(--color-danger)}.notice-ok{border-color:var(--color-ok);background:var(--color-ok-wash);color:var(--color-ok)}.notice-info{border-color:var(--color-accent-line);background:var(--color-accent-wash);color:var(--color-ink)}.notice-info svg{color:var(--color-accent)}.notice-warn{border-color:var(--color-warn);background:var(--color-warn-wash);color:var(--color-ink)}.notice-warn svg{color:var(--color-warn)}.panel{border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule);flex-wrap:wrap;min-height:48px;display:flex}.panel-head h2,.panel-head h3{font-size:var(--text-base);letter-spacing:-.01em}.panel-body{padding:var(--space-md)}.panel-body.tight{padding:0}.panel-foot{padding:var(--space-sm) var(--space-md);border-top:var(--rule)}.stats{border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid;overflow:hidden}.stat{padding:var(--space-md);border-left:var(--rule);gap:var(--space-2xs);min-width:0;text-decoration:none;display:grid}.stat:first-child{border-left:0}.stat-value{font:600 var(--text-2xl)/1.1 var(--font-display);color:var(--color-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-note{font-size:var(--text-xs);color:var(--color-muted)}a.stat{transition:background-color var(--dur-fast) var(--ease-out)}@media (hover:hover){a.stat:hover{background:var(--color-paper-2)}}.table-wrap{border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}.panel .table-wrap{border:0;border-radius:0}table.table{border-collapse:collapse;width:100%;font-size:var(--text-md)}.table th{text-align:left;padding:10px var(--space-md);font:500 var(--text-2xs)/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);background:var(--color-paper-2);border-bottom:var(--rule);white-space:nowrap}.table td{padding:11px var(--space-md);border-bottom:var(--rule);vertical-align:middle;color:var(--color-ink-2)}.table tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr.clickable{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}@media (hover:hover){.table tbody tr.clickable:hover{background:var(--color-paper-2)}}.table .cell-title{color:var(--color-ink);font-weight:500}.table .cell-sub{font-size:var(--text-xs);color:var(--color-muted)}.list{margin:0;padding:0;list-style:none}.list>li{padding:var(--space-sm) var(--space-md);border-bottom:var(--rule);min-width:0}.list>li:last-child{border-bottom:0}.list a.item{margin:calc(var(--space-sm) * -1) calc(var(--space-md) * -1);padding:var(--space-sm) var(--space-md);transition:background-color var(--dur-fast) var(--ease-out);text-decoration:none;display:block}@media (hover:hover){.list a.item:hover{background:var(--color-paper-2)}}.kv{gap:var(--space-xs) var(--space-md);font-size:var(--text-md);grid-template-columns:140px minmax(0,1fr);margin:0;display:grid}.kv dt{color:var(--color-muted)}.kv dd{color:var(--color-ink);overflow-wrap:anywhere;min-width:0;margin:0}.badge{border-radius:var(--radius-sm);height:22px;font:500 var(--text-2xs)/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--color-neutral-wash);color:var(--color-ink-2);border:1px solid #0000;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge-accent{background:var(--color-accent-wash);color:var(--color-accent-press)}.badge-ok{background:var(--color-ok-wash);color:var(--color-ok)}.badge-warn{background:var(--color-warn-wash);color:var(--color-warn)}.badge-danger{background:var(--color-danger-wash);color:var(--color-danger)}.badge-muted{background:var(--color-paper-3);color:var(--color-muted)}.tabs{gap:var(--space-md);border-bottom:var(--rule);margin-bottom:var(--space-lg);scrollbar-width:none;display:flex;overflow-x:auto}.tab{padding:var(--space-xs) 0 var(--space-sm);cursor:pointer;white-space:nowrap;color:var(--color-muted);font-size:var(--text-md);background:0 0;border:0;font-weight:500;text-decoration:none;position:relative}@media (hover:hover){.tab:hover{color:var(--color-ink)}}.tab[aria-selected=true],.tab.active{color:var(--color-ink)}.tab[aria-selected=true]:after,.tab.active:after{content:"";background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tab .nav-count{margin-left:6px}.seg{border:var(--rule-2);border-radius:var(--radius);background:var(--color-paper-2);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.seg button{border-radius:var(--radius-sm);height:28px;color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 10px;font-weight:500}@media (hover:hover){.seg button:hover{color:var(--color-ink)}}.seg button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-lift)}.toolbar{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.search{flex:1;min-width:200px;max-width:360px;position:relative}.search svg{width:15px;height:15px;color:var(--color-faint);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input{padding-left:32px}.empty{justify-items:center;gap:var(--space-xs);text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-muted);display:grid}.empty svg{width:22px;height:22px;color:var(--color-faint)}.empty .strong{font-size:var(--text-base)}.empty p{max-width:44ch;font-size:var(--text-md)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-paper-2), var(--color-paper-3), var(--color-paper-2));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.loading-block{gap:var(--space-sm);padding:var(--space-md);display:grid}.bar{background:var(--color-paper-3);border-radius:3px;min-width:60px;height:6px;overflow:hidden}.bar>span{background:var(--color-accent);height:100%;transition:transform var(--dur-slow) var(--ease-out);transform-origin:0;border-radius:3px;display:block}.steps-dots{gap:3px;display:flex}.steps-dots span{background:var(--color-paper-3);border-radius:2px;width:10px;height:4px}.steps-dots span.on{background:var(--color-accent)}dialog.dialog{border:var(--rule-2);border-radius:var(--radius-lg);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--color-ink-2);box-shadow:var(--shadow-pop);padding:0;overflow:hidden}dialog.dialog.wide{width:min(760px,100vw - 32px)}dialog.dialog::backdrop{background:var(--color-scrim)}dialog.dialog[open]{animation:pop var(--dur) var(--ease-out);flex-direction:column;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.99)}}.dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:var(--rule);display:flex}.dialog-head p{color:var(--color-muted);font-size:var(--text-md);margin-top:2px}.dialog-body{padding:var(--space-lg);gap:var(--space-md);display:grid;overflow-y:auto}.dialog-foot{justify-content:flex-end;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-top:var(--rule);background:var(--color-paper-2);flex-wrap:wrap;display:flex}.palette{width:min(600px,100vw - 32px);margin-top:12vh}.palette-input{align-items:center;gap:var(--space-xs);padding:0 var(--space-md);border-bottom:var(--rule);display:flex}.palette-input svg{width:16px;height:16px;color:var(--color-muted)}.palette-input input{height:50px;font:400 var(--text-base) var(--font-mono);color:var(--color-ink);background:0 0;border:0;flex:1}.palette-input input:focus-visible{outline:none}.palette-list{padding:var(--space-xs);max-height:340px;margin:0;list-style:none;overflow-y:auto}.palette-list li button{align-items:center;gap:var(--space-sm);width:100%;height:38px;padding:0 var(--space-sm);border-radius:var(--radius);text-align:left;cursor:pointer;color:var(--color-ink-2);font-size:var(--text-md);background:0 0;border:0;display:flex}.palette-list li button svg{width:15px;height:15px;color:var(--color-muted)}.palette-list li button[aria-selected=true]{background:var(--color-accent-wash);color:var(--color-ink)}.palette-list li button[aria-selected=true] svg{color:var(--color-accent)}.palette-group{padding:var(--space-xs) var(--space-sm) var(--space-2xs)}.drop{align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px dashed var(--color-rule-2);border-radius:var(--radius);background:var(--color-paper-2);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.drop svg{width:18px;height:18px;color:var(--color-muted);flex:none}@media (hover:hover){.drop:hover{border-color:var(--color-accent);background:var(--color-accent-wash)}}.drop.dragging{border-color:var(--color-accent);background:var(--color-accent-wash)}.drop[aria-disabled=true]{opacity:.6;cursor:not-allowed}.file-row{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:var(--rule);border-radius:var(--radius);background:var(--color-surface);min-width:0;display:flex}.file-row svg{width:16px;height:16px;color:var(--color-muted);flex:none}.file-ext{font:600 var(--text-2xs)/1 var(--font-mono);color:var(--color-muted);border:var(--rule-2);border-radius:var(--radius-sm);text-transform:uppercase;flex:none;padding:4px 5px}.timeline{margin:0;padding:0;list-style:none}.timeline li{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule);grid-template-columns:12px minmax(0,1fr) auto;align-items:baseline;display:grid}.timeline li:last-child{border-bottom:0}.timeline .dot{background:var(--color-rule-2);border-radius:50%;width:7px;height:7px;margin-top:6px}.timeline .dot.accent{background:var(--color-accent)}.timeline time{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--color-faint);white-space:nowrap}.thread{gap:var(--space-md);display:grid}.msg{border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface)}.msg-head{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.msg-body{padding:var(--space-md);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-ink)}.msg.agency{border-color:var(--color-accent-line)}.msg.agency .msg-head{background:var(--color-accent-wash);border-bottom-color:var(--color-accent-line)}.msg.internal{border-style:dashed;border-color:var(--color-warn)}.msg.internal .msg-head{background:var(--color-warn-wash);border-bottom-color:var(--color-warn)}.milestone{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule);min-width:0;display:flex}.milestone:last-child{border-bottom:0}.tick{border:1.5px solid var(--color-rule-2);background:var(--color-surface);color:#0000;cursor:pointer;width:20px;height:20px;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.tick svg{width:12px;height:12px}@media (hover:hover){button.tick:hover{border-color:var(--color-accent)}}.tick.done{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.tick:disabled{cursor:default}.milestone.done .milestone-title{color:var(--color-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-faint);text-decoration-color:var(--color-faint)}.wizard{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.wizard-rail{height:100vh;padding:var(--space-xl) var(--space-lg);border-right:var(--rule);background:var(--color-paper-2);gap:var(--space-xl);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.stepper{counter-reset:step;gap:2px;margin:0;padding:0;list-style:none;display:grid}.stepper button{align-items:center;gap:var(--space-sm);width:100%;height:36px;padding:0 var(--space-xs);border-radius:var(--radius);color:var(--color-muted);text-align:left;cursor:pointer;font-size:var(--text-md);background:0 0;border:0;display:flex}.stepper button:disabled{cursor:not-allowed;opacity:.55}@media (hover:hover){.stepper button:not(:disabled):hover{background:var(--color-paper-3);color:var(--color-ink)}}.stepper .n{border:1px solid var(--color-rule-2);background:var(--color-surface);width:22px;height:22px;font:500 var(--text-2xs)/1 var(--font-mono);color:var(--color-muted);border-radius:50%;flex:none;place-items:center;display:grid}.stepper .n svg{width:12px;height:12px}.stepper .done .n{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.stepper .current button{background:var(--color-surface);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-rule-2);font-weight:550}.stepper .current .n{border-color:var(--color-accent);color:var(--color-accent)}.wizard-main{padding:var(--space-2xl) var(--space-xl);justify-content:center;display:flex}.wizard-body{gap:var(--space-lg);align-content:start;width:100%;max-width:720px;display:grid}.wizard-foot{justify-content:space-between;gap:var(--space-xs);padding-top:var(--space-lg);border-top:var(--rule);flex-wrap:wrap;display:flex}.mobile-progress{display:none}.choice-list{gap:var(--space-xs);display:grid}.choice{gap:var(--space-sm);width:100%;padding:var(--space-md);border:1px solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:flex-start;display:flex}@media (hover:hover){.choice:hover{border-color:var(--color-faint)}}.choice[aria-checked=true]{border-color:var(--color-accent);background:var(--color-accent-wash)}.choice .radio{border:1.5px solid var(--color-rule-2);background:var(--color-surface);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px}.choice[aria-checked=true] .radio{border:5px solid var(--color-accent)}.doc{padding:var(--space-lg);border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);white-space:pre-wrap;max-height:420px;font-size:var(--text-md);color:var(--color-ink);line-height:1.65;overflow-y:auto}.sig-pad{border:1px solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-surface);touch-action:none;position:relative}.sig-pad canvas{cursor:crosshair;border-radius:var(--radius-lg);width:100%;height:180px}.sig-pad .sig-line{left:var(--space-lg);right:var(--space-lg);border-top:1px dashed var(--color-rule-2);pointer-events:none;position:absolute;bottom:44px}.sig-pad .sig-hint{left:var(--space-lg);font:500 var(--text-2xs)/1 var(--font-mono);color:var(--color-faint);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;position:absolute;bottom:18px}.sig-pad .sig-clear{right:var(--space-xs);top:var(--space-xs);position:absolute}.band{background:var(--color-graphite);color:var(--color-on-dark);border-radius:var(--radius-lg);padding:var(--space-lg)}.band h2,.band h3{color:var(--color-on-dark)}.band .muted,.band .label{color:var(--color-on-dark-muted)}.band .amount{font:600 var(--text-4xl)/1 var(--font-display);letter-spacing:-.03em;color:var(--color-on-dark);font-variant-numeric:tabular-nums}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-side{background:var(--color-graphite);color:var(--color-on-dark);padding:var(--space-2xl);justify-content:space-between;gap:var(--space-xl);flex-direction:column;display:flex}.auth-side h1{color:var(--color-on-dark);font-size:var(--text-4xl);max-width:14ch}.auth-side p{color:var(--color-on-dark-muted);max-width:42ch}.auth-side .brand-name{color:var(--color-on-dark)}.auth-side .brand-mark{background:var(--color-accent);color:var(--color-accent-ink)}.auth-side .readout{font:400 var(--text-xs)/1.8 var(--font-mono);color:var(--color-on-dark-muted);border-top:1px solid var(--color-rule-dark);padding-top:var(--space-md)}.auth-side .readout b{color:var(--color-accent-line);font-weight:500}.auth-main{padding:var(--space-xl) var(--space-md);place-items:center;display:grid}.auth-card{gap:var(--space-lg);width:100%;max-width:380px;display:grid}.auth-card h2{font-size:var(--text-2xl)}.copy{gap:var(--space-xs);align-items:center;min-width:0;display:flex}.copy code{text-overflow:ellipsis;white-space:nowrap;border:var(--rule-2);border-radius:var(--radius);background:var(--color-paper-2);min-width:0;font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--color-ink);flex:1;padding:8px 10px;overflow:hidden}.flash{bottom:var(--space-lg);z-index:60;align-items:center;gap:var(--space-xs);padding:10px var(--space-md);border-radius:var(--radius);background:var(--color-graphite);color:var(--color-on-dark);font-size:var(--text-md);box-shadow:var(--shadow-pop);animation:rise var(--dur) var(--ease-out);max-width:calc(100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.flash svg{width:15px;height:15px;color:var(--color-accent-line);flex:none}.flash.error svg{color:var(--color-danger-wash)}@keyframes rise{0%{opacity:0;transform:translate(-50%,6px)}}.portal{flex-direction:column;min-height:100vh;display:flex}.portal-top{z-index:20;background:var(--color-paper-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:var(--rule);position:sticky;top:0}.portal-bar{max-width:var(--content-max);padding:0 var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);height:56px;margin:0 auto;display:flex}.portal-nav{max-width:var(--content-max);padding:0 var(--space-xl);gap:var(--space-lg);scrollbar-width:none;margin:0 auto;display:flex;overflow-x:auto}.portal-nav a{padding:var(--space-xs) 0 var(--space-sm);color:var(--color-muted);font-size:var(--text-md);white-space:nowrap;align-items:center;gap:6px;font-weight:500;text-decoration:none;display:flex;position:relative}.portal-nav a svg{width:15px;height:15px}@media (hover:hover){.portal-nav a:hover{color:var(--color-ink)}}.portal-nav a.active{color:var(--color-ink)}.portal-nav a.active:after{content:"";background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.portal-nav a.active svg{color:var(--color-accent)}.todo{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule);min-width:0;transition:background-color var(--dur-fast) var(--ease-out);text-decoration:none;display:flex}.todo:last-child{border-bottom:0}@media (hover:hover){a.todo:hover{background:var(--color-paper-2)}}.todo-icon{border-radius:var(--radius);background:var(--color-accent-wash);width:32px;height:32px;color:var(--color-accent);flex:none;place-items:center;display:grid}.todo-icon svg{width:16px;height:16px}@media (width<=900px){.portal-bar,.portal-nav{padding-left:var(--space-md);padding-right:var(--space-md)}}.terms{gap:var(--space-md);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.terms:not(:has(.terms-toc)){grid-template-columns:minmax(0,1fr)}.terms-toc{top:var(--space-md);gap:2px;display:grid;position:sticky}.terms-toc .label{padding:0 var(--space-xs) var(--space-2xs)}.terms-toc button{text-align:left;padding:5px var(--space-xs);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;line-height:1.35}@media (hover:hover){.terms-toc button:hover{background:var(--color-paper-3);color:var(--color-ink)}}.terms-body{white-space:normal;scroll-behavior:smooth;position:relative}.terms-body section+section{margin-top:var(--space-lg)}.terms-body h3{font-size:var(--text-base);margin-bottom:var(--space-xs)}.terms-body p{margin:0 0 var(--space-sm)}.terms-body ul{margin:0 0 var(--space-sm);padding-left:20px}.terms-links{border-top:var(--rule);padding-top:var(--space-md)}.group-head{border:0;border-bottom:var(--rule);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0}@media (hover:hover){.group-head:hover{background:var(--color-paper-2)}}.percent{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.percent .bar{flex:1}.percent .mono{font-size:var(--text-xs);color:var(--color-muted);text-align:right;min-width:34px}.percent.large .bar{border-radius:5px;height:10px}.percent.large .bar>span{border-radius:5px}.percent.large .mono{font-size:var(--text-md);color:var(--color-ink);font-weight:600}.project-card{gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--rule);transition:background-color var(--dur-fast) var(--ease-out);text-decoration:none;display:grid}.project-card:last-child{border-bottom:0}@media (hover:hover){a.project-card:hover{background:var(--color-paper-2)}}.secret{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink);letter-spacing:.02em}@media (width<=900px){.terms{grid-template-columns:minmax(0,1fr)}.terms-toc{display:none}}hr.rule{border:0;border-top:var(--rule);margin:var(--space-xs) 0}.section-title{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin:var(--space-xl) 0 var(--space-sm);display:flex}.section-title h2{font-size:var(--text-lg)}@media (width<=1100px){.split,.split-wide{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.rail{z-index:50;width:min(280px,85vw);transition:transform var(--dur) var(--ease-out);box-shadow:var(--shadow-pop);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.rail-open .rail{transform:none}.rail-scrim{background:var(--color-scrim);z-index:40;position:fixed;inset:0}.topbar{display:flex}.content{padding:var(--space-lg) var(--space-md) var(--space-2xl)}.wizard{grid-template-columns:minmax(0,1fr)}.wizard-rail{display:none}.mobile-progress{gap:var(--space-xs);z-index:10;padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border-bottom:var(--rule);display:grid;position:sticky;top:0}.wizard-main{padding:var(--space-lg) var(--space-md) var(--space-2xl)}.auth{grid-template-columns:minmax(0,1fr)}.auth-side{display:none}}@media (width<=640px){h1{font-size:var(--text-2xl)}.grid-2,.grid-3,.form-grid{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(odd){border-left:0}.stat:nth-child(n+3){border-top:var(--rule)}.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv dd{margin-bottom:var(--space-xs)}.page-head{align-items:flex-start}.table th,.table td{padding-left:var(--space-sm);padding-right:var(--space-sm)}.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.sig-choice,.sig-typed{gap:var(--space-sm);display:grid}.sig-preview{border:1px solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-surface);height:140px;padding:0 var(--space-md);place-items:center;display:grid;overflow:hidden}.sig-preview span{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:44px;line-height:1;overflow:hidden}.sig-fonts{gap:var(--space-xs);flex-wrap:wrap;display:flex}.sig-fonts button{height:40px;padding:0 var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;color:var(--color-ink);font-size:22px}.sig-fonts button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-wash)}.email-frame{border:var(--rule-2);border-radius:var(--radius-lg);background:var(--color-paper-2);width:100%;height:520px}.template-editor{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.token-chip{border:1px solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-surface);height:28px;color:var(--color-ink-2);font:500 var(--text-xs)/1 var(--font-mono);cursor:pointer;white-space:nowrap;padding:0 10px}@media (hover:hover){.token-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}}.token-chip[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-wash);color:var(--color-accent-press)}.doc-preview{padding:var(--space-xl);border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface)}.doc-preview h3{font-size:var(--text-base);margin:var(--space-md) 0 var(--space-xs)}@media (width<=900px){.template-editor{grid-template-columns:minmax(0,1fr)}}
