*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}ul,ol{margin:0;padding:0}p,h1,h2,h3{margin:0}::selection{background:var(--accent-bg);color:var(--foreground)}:root{--background:#fff;--surface:#eff1f5;--muted:#eff1f5;--subtle:#dfe3ea;--border:#e2e5eb;--foreground:#111214;--muted-foreground:#5b6270;--primary:#2b59ff;--primary-hover:#1f49e0;--primary-foreground:#fff;--accent-bg:#eaefff;--ink:#111214;--ink-foreground:#f4f6fa;--card:#fff;--card-foreground:#111214;--ring:#2b59ff;--destructive:#b91c1c;--destructive-foreground:#fff}
.container-page{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}.container-prose{width:100%;max-width:760px;margin-inline:auto}.h-hero{font-size:clamp(44px,6.5vw,76px);line-height:1.05;letter-spacing:0;font-weight:600}.h-section{font-size:clamp(32px,4.2vw,52px);line-height:1.08;letter-spacing:0;font-weight:600}.h-sub{font-size:clamp(24px,2.6vw,34px);line-height:1.15;letter-spacing:0;font-weight:600}.eyebrow{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.lead{font-size:clamp(18px,1.5vw,22px);line-height:1.5;color:var(--muted-foreground)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 22px;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-weight:500;font-size:15px;transition:background .18s cubic-bezier(.22,1,.36,1)}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:500;font-size:15px;transition:transform .18s cubic-bezier(.22,1,.36,1)}.btn-ghost svg,.btn-ghost .arrow{transition:transform .18s cubic-bezier(.22,1,.36,1)}.btn-ghost:hover svg,.btn-ghost:hover .arrow{transform:translateX(3px)}.section-y{padding-block:96px}.section-screen{min-height:100svh;display:flex;align-items:center;padding-block:96px;position:relative}.card-soft{background:var(--card);border-radius:24px;border:1px solid var(--border);padding:32px;transition:box-shadow .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1)}.card-hover:hover{box-shadow:0 10px 40px rgba(0,0,0,.06);transform:translateY(-2px)}
.prose-agent{color:var(--foreground);font-size:18px;line-height:1.65}.prose-agent>*+*{margin-top:1.1em}.prose-agent h1{font-size:clamp(28px,3vw,38px);letter-spacing:0;font-weight:600;line-height:1.15;margin-top:2em}.prose-agent h2{font-size:clamp(24px,2.4vw,30px);letter-spacing:0;font-weight:600;line-height:1.2;margin-top:2em}.prose-agent h3{font-size:20px;font-weight:600;margin-top:1.6em;letter-spacing:0}.prose-agent p{max-width:68ch}.prose-agent a{color:var(--primary);text-underline-offset:3px;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--primary) 40%,transparent)}.prose-agent a:hover{text-decoration-color:var(--primary)}.prose-agent strong{color:var(--foreground);font-weight:600}.prose-agent code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:.9em;background:var(--surface);padding:2px 6px;border-radius:6px}.prose-agent pre{background:var(--ink);color:var(--ink-foreground);padding:20px 24px;border-radius:16px;overflow-x:auto;font-size:14px}.prose-agent pre code{background:transparent;padding:0;color:inherit}.prose-agent ul,.prose-agent ol{padding-left:1.4em;max-width:68ch}.prose-agent ul{list-style:disc}.prose-agent ol{list-style:decimal}.prose-agent li+li{margin-top:.4em}.prose-agent li::marker{color:var(--muted-foreground)}.prose-agent blockquote{border-left:3px solid var(--subtle);padding-left:18px;color:var(--muted-foreground);font-style:normal}.prose-agent hr{border:0;border-top:1px solid var(--border);margin-block:2.5em}.prose-agent table{width:100%;border-collapse:collapse;font-size:15px}.prose-agent th,.prose-agent td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.prose-agent th{color:var(--muted-foreground);font-weight:500}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal-in{opacity:1;transform:translateY(0)}.scroll-cue{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted-foreground);pointer-events:none}.scroll-cue-label{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.scroll-cue-arrow{display:inline-flex;animation:scroll-bounce 1.8s cubic-bezier(.22,1,.36,1) infinite}@keyframes scroll-bounce{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(10px);opacity:1}}.stage-rail{position:relative}.stage-dot{position:absolute;left:-22px;top:24px;width:18px;height:18px;border-radius:999px;background:var(--primary);box-shadow:0 0 0 6px color-mix(in oklab,var(--primary) 15%,transparent),0 0 24px color-mix(in oklab,var(--primary) 40%,transparent);transform:scale(0);transition:transform .6s cubic-bezier(.22,1,.36,1) .12s}.stage-dot:after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid color-mix(in oklab,var(--primary) 40%,transparent);animation:stage-pulse 2.6s cubic-bezier(.22,1,.36,1) infinite}.reveal-in .stage-dot{transform:scale(1)}@keyframes stage-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.2);opacity:0}}.stage-number{font-size:clamp(80px,13vw,200px);line-height:.95;letter-spacing:0;font-weight:600;color:var(--primary);background:linear-gradient(135deg,var(--primary),color-mix(in oklab,var(--primary) 60%,#7ab8ff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:stage-float 6s ease-in-out infinite}@keyframes stage-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
[class~="flex"]{display:flex}[class~="inline-flex"]{display:inline-flex}[class~="inline-block"]{display:inline-block}[class~="grid"]{display:grid}[class~="hidden"]{display:none}[class~="block"]{display:block}[class~="flex-1"]{flex:1 1 0%}[class~="flex-none"]{flex:none}[class~="flex-col"]{flex-direction:column}[class~="flex-wrap"]{flex-wrap:wrap}[class~="items-center"]{align-items:center}[class~="items-start"]{align-items:flex-start}[class~="justify-center"]{justify-content:center}[class~="justify-between"]{justify-content:space-between}[class~="text-center"]{text-align:center}[class~="text-left"]{text-align:left}[class~="w-full"]{width:100%}[class~="h-full"]{height:100%}[class~="min-h-screen"]{min-height:100vh}[class~="h-48"]{height:12rem}[class~="h-6"]{height:1.5rem}[class~="w-6"]{width:1.5rem}[class~="h-2.5"]{height:.625rem}[class~="w-2.5"]{width:.625rem}[class~="h-3.5"]{height:.875rem}[class~="w-3.5"]{width:.875rem}[class~="h-4"]{height:1rem}[class~="w-4"]{width:1rem}[class~="size-4"]{width:1rem;height:1rem}[class~="h-[60px]"]{height:60px}[class~="h-[46px]"]{height:46px}[class~="max-w-md"]{max-width:28rem}[class~="max-w-[16ch]"]{max-width:16ch}[class~="max-w-[18ch]"]{max-width:18ch}[class~="max-w-[20ch]"]{max-width:20ch}[class~="max-w-[22ch]"]{max-width:22ch}[class~="max-w-[24ch]"]{max-width:24ch}[class~="max-w-[52ch]"]{max-width:52ch}[class~="max-w-[58ch]"]{max-width:58ch}[class~="max-w-[60ch]"]{max-width:60ch}[class~="max-w-[62ch]"]{max-width:62ch}[class~="mx-auto"]{margin-inline:auto}[class~="mx-0"]{margin-inline:0}[class~="-mx-1"]{margin-inline:-.25rem}
[class~="gap-1.5"]{gap:.375rem}[class~="gap-2"]{gap:.5rem}[class~="gap-3"]{gap:.75rem}[class~="gap-4"]{gap:1rem}[class~="gap-6"]{gap:1.5rem}[class~="gap-8"]{gap:2rem}[class~="gap-12"]{gap:3rem}[class~="mt-1"]{margin-top:.25rem}[class~="mt-2"]{margin-top:.5rem}[class~="mt-3"]{margin-top:.75rem}[class~="mt-4"]{margin-top:1rem}[class~="mt-5"]{margin-top:1.25rem}[class~="mt-6"]{margin-top:1.5rem}[class~="mt-8"]{margin-top:2rem}[class~="mt-10"]{margin-top:2.5rem}[class~="mt-12"]{margin-top:3rem}[class~="mt-14"]{margin-top:3.5rem}[class~="mt-16"]{margin-top:4rem}[class~="mb-8"]{margin-bottom:2rem}[class~="my-1"]{margin-block:.25rem}[class~="my-12"]{margin-block:3rem}[class~="py-1"]{padding-block:.25rem}[class~="py-1.5"]{padding-block:.375rem}[class~="py-2"]{padding-block:.5rem}[class~="py-12"]{padding-block:3rem}[class~="px-2"]{padding-inline:.5rem}[class~="px-3"]{padding-inline:.75rem}[class~="px-4"]{padding-inline:1rem}[class~="px-6"]{padding-inline:1.5rem}[class~="pt-0"]{padding-top:0}[class~="pt-6"]{padding-top:1.5rem}[class~="pt-8"]{padding-top:2rem}[class~="pb-4"]{padding-bottom:1rem}[class~="pl-8"]{padding-left:2rem}[class~="p-4"]{padding:1rem}
[class~="relative"]{position:relative}[class~="absolute"]{position:absolute}[class~="sticky"]{position:sticky}[class~="top-0"]{top:0}[class~="left-2"]{left:.5rem}[class~="z-40"]{z-index:40}[class~="overflow-hidden"]{overflow:hidden}[class~="overflow-x-auto"]{overflow-x:auto}[class~="rounded-full"]{border-radius:999px}[class~="rounded-lg"]{border-radius:.5rem}[class~="rounded-md"]{border-radius:.375rem}[class~="rounded-sm"]{border-radius:.125rem}[class~="border"]{border:1px solid var(--border)}[class~="border-t"]{border-top:1px solid var(--border)}[class~="border-b"]{border-bottom:1px solid var(--border)}[class~="border-transparent"]{border-color:transparent}[class~="border-[color:var(--border)]"]{border-color:var(--border)}[class~="border-[color:var(--border)]/60"]{border-color:color-mix(in oklab,var(--border) 60%,transparent)}[class~="border-[color:var(--destructive)]"]{border-color:var(--destructive)}[class~="bg-[color:var(--background)]"]{background:var(--background)}[class~="bg-[color:var(--background)]/80"]{background:color-mix(in oklab,var(--background) 80%,transparent)}[class~="bg-[color:var(--surface)]"]{background:var(--surface)}[class~="bg-[color:var(--ink)]"]{background:var(--ink)}[class~="bg-[color:var(--primary)]"]{background:var(--primary)}[class~="bg-muted"]{background:var(--muted)}[class~="fill-current"]{fill:currentColor}[class~="backdrop-blur"]{backdrop-filter:blur(8px)}
[class~="text-[color:var(--foreground)]"]{color:var(--foreground)}[class~="text-[color:var(--muted-foreground)]"]{color:var(--muted-foreground)}[class~="text-[color:var(--primary)]"]{color:var(--primary)}[class~="text-[color:var(--ink-foreground)]"]{color:var(--ink-foreground)}[class~="text-white/60"]{color:rgba(255,255,255,.6)}[class~="text-sm"]{font-size:.875rem;line-height:1.25rem}[class~="text-xs"]{font-size:.75rem;line-height:1rem}[class~="text-lg"]{font-size:1.125rem;line-height:1.75rem}[class~="text-xl"]{font-size:1.25rem;line-height:1.75rem}[class~="text-5xl"]{font-size:3rem;line-height:1}[class~="text-[15px]"]{font-size:15px}[class~="text-[17px]"]{font-size:17px}[class~="font-medium"]{font-weight:500}[class~="font-semibold"]{font-weight:600}[class~="font-mono"]{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}[class~="tracking-tight"]{letter-spacing:0}[class~="tracking-widest"]{letter-spacing:.1em}[class~="leading-relaxed"]{line-height:1.625}[class~="tabular-nums"]{font-variant-numeric:tabular-nums}[class~="transition-colors"]{transition:color .15s ease,background-color .15s ease,border-color .15s ease}[class~="transition-transform"]{transition:transform .2s ease}[class~="transition-all"]{transition:all .3s ease}[class~="duration-200"]{transition-duration:.2s}[class~="duration-300"]{transition-duration:.3s}[class~="rotate-45"]{transform:rotate(45deg)}[class~="ring-1"]{box-shadow:0 0 0 1px var(--border)}[class~="ring-[color:var(--border)]"]{box-shadow:0 0 0 1px var(--border)}[class~="animate-pulse"]{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{50%{opacity:.5}}[class~="line-clamp-4"]{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.group:hover [class~="group-hover:translate-x-1"]{transform:translateX(.25rem)}[class~="hover:text-[color:var(--foreground)]"]:hover{color:var(--foreground)}[class~="hover:bg-[color:var(--surface)]"]:hover{background:var(--surface)}
@media (min-width:640px){[class~="sm:grid-cols-2"]{grid-template-columns:repeat(2,minmax(0,1fr))}[class~="sm:col-span-2"]{grid-column:span 2/span 2}}@media (min-width:768px){.container-page{padding-inline:48px}.section-y{padding-block:140px}[class~="md:flex"]{display:flex}[class~="md:inline-flex"]{display:inline-flex}[class~="md:hidden"]{display:none}[class~="md:flex-row"]{flex-direction:row}[class~="md:items-center"]{align-items:center}[class~="md:grid-cols-3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[class~="md:grid-cols-12"]{grid-template-columns:repeat(12,minmax(0,1fr))}[class~="md:col-span-4"]{grid-column:span 4/span 4}[class~="md:col-span-8"]{grid-column:span 8/span 8}}@media (min-width:1024px){[class~="lg:grid-cols-3"]{grid-template-columns:repeat(3,minmax(0,1fr))}[class~="lg:col-span-3"]{grid-column:span 3/span 3}}@media (min-width:1200px){.container-page{padding-inline:64px}}@media (max-width:767px){.section-screen{padding-block:88px}.stage-dot{left:50%;top:-28px;transform:translateX(-50%) scale(0)}.reveal-in .stage-dot{transform:translateX(-50%) scale(1)}.scroll-cue{bottom:24px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.scroll-cue-arrow,.stage-number,.stage-dot:after{animation:none}}
/* ========= Council collaborative workbench ========= */
.wb{display:grid;grid-template-columns:320px 1fr;gap:0;min-height:calc(100vh - 60px);background:var(--background)}
.wb-side{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;max-height:calc(100vh - 60px);position:sticky;top:60px}
.wb-side-inner{padding:24px 20px}
.wb-search{width:100%;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--background);font-size:14px;color:var(--foreground);outline:none}
.wb-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 15%,transparent)}
.wb-cat{margin-top:22px}
.wb-cat-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);padding:0 4px 6px}
.wb-cat-count{background:var(--subtle);border-radius:999px;padding:2px 8px;font-size:11px}
.wb-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 12px;border-radius:10px;font-size:14px;color:var(--foreground);transition:background .15s ease}
.wb-item:hover{background:color-mix(in oklab,var(--background) 60%,var(--surface))}
.wb-item.is-active{background:var(--foreground);color:var(--background)}
.wb-item.is-active .wb-item-sub{color:color-mix(in oklab,var(--background) 70%,transparent)}
.wb-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.wb-item-sub{font-size:11px;color:var(--muted-foreground);flex:none}
.wb-main{padding:40px 48px 120px;max-width:920px;overflow-y:auto;max-height:calc(100vh - 60px)}
.wb-empty{display:flex;align-items:center;justify-content:center;height:60vh;color:var(--muted-foreground);font-size:15px}
.wb-hero{border-bottom:1px solid var(--border);padding-bottom:24px;margin-bottom:32px}
.wb-hero-name{font-size:36px;font-weight:600;letter-spacing:-0.02em;line-height:1.1;margin-top:6px}
.wb-hero-desc{color:var(--muted-foreground);margin-top:12px;font-size:16px;line-height:1.55;max-width:64ch}
.wb-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;align-items:center}
.wb-tool-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--background);font-size:13px;color:var(--foreground);transition:background .15s ease}
.wb-tool-btn:hover{background:var(--surface)}
.wb-tool-btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}
.wb-tool-btn.primary:hover{background:var(--primary-hover)}
.wb-body{position:relative}
.wb-body ::selection{background:color-mix(in oklab,var(--primary) 25%,transparent);color:var(--foreground)}
.wb-float{position:fixed;z-index:60;background:var(--foreground);color:var(--background);border-radius:999px;padding:6px 4px 6px 14px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.18);transform:translate(-50%,-100%);animation:wb-pop .15s ease}
.wb-float button{background:var(--background);color:var(--foreground);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}
@keyframes wb-pop{from{opacity:0;transform:translate(-50%,-90%)}to{opacity:1;transform:translate(-50%,-100%)}}
.wb-panel{position:fixed;right:0;top:0;bottom:0;width:min(460px,92vw);background:var(--background);border-left:1px solid var(--border);z-index:70;box-shadow:-20px 0 60px rgba(0,0,0,.08);display:flex;flex-direction:column;animation:wb-slide .22s cubic-bezier(.22,1,.36,1)}
@keyframes wb-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
.wb-panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}
.wb-panel-head h3{font-size:16px;font-weight:600}
.wb-panel-body{padding:20px 24px;overflow-y:auto;flex:1}
.wb-panel-close{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted-foreground)}
.wb-panel-close:hover{background:var(--surface);color:var(--foreground)}
.wb-field{display:block;margin-top:14px}
.wb-field-label{display:block;font-size:12px;font-weight:600;color:var(--muted-foreground);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.wb-input,.wb-textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--background);color:var(--foreground);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.wb-textarea{min-height:100px;resize:vertical;line-height:1.5}
.wb-input:focus,.wb-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 15%,transparent)}
.wb-quoted{background:color-mix(in oklab,var(--primary) 8%,transparent);border-left:3px solid var(--primary);padding:12px 14px;border-radius:0 8px 8px 0;font-size:14px;line-height:1.5;color:var(--foreground);white-space:pre-wrap}
.wb-panel-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.wb-panel-actions .btn-primary{height:38px;padding-inline:18px;font-size:14px}
.wb-panel-actions .wb-cancel{color:var(--muted-foreground);padding:0 14px}
.wb-thread{margin-top:56px;padding-top:32px;border-top:1px solid var(--border)}
.wb-thread-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.wb-thread-head h3{font-size:18px;font-weight:600}
.wb-thread-count{color:var(--muted-foreground);font-size:13px}
.wb-thread-item{border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-top:12px;background:var(--background)}
.wb-thread-item .wb-ti-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted-foreground);margin-bottom:8px}
.wb-thread-item .wb-ti-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in oklab,var(--primary) 12%,transparent);color:var(--primary);text-transform:uppercase;letter-spacing:.05em}
.wb-thread-item .wb-ti-badge.comment{background:var(--subtle);color:var(--muted-foreground)}
.wb-thread-item .wb-ti-quote{font-size:13px;color:var(--muted-foreground);border-left:2px solid var(--subtle);padding-left:10px;margin:8px 0;white-space:pre-wrap;line-height:1.5}
.wb-thread-item .wb-ti-change{background:color-mix(in oklab,#22c55e 8%,transparent);border-left:3px solid #22c55e;padding:10px 12px;border-radius:0 8px 8px 0;font-size:14px;margin:8px 0;white-space:pre-wrap;line-height:1.5}
.wb-thread-item .wb-ti-body{font-size:14px;line-height:1.55;white-space:pre-wrap}
.wb-toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--foreground);color:var(--background);padding:12px 22px;border-radius:999px;font-size:14px;z-index:80;box-shadow:0 10px 40px rgba(0,0,0,.2)}
@media (max-width:900px){
  .wb{grid-template-columns:1fr}
  .wb-side{position:relative;top:0;max-height:none;border-right:0;border-bottom:1px solid var(--border)}
  .wb-main{padding:32px 20px 80px;max-height:none}
  .wb-side{max-height:340px}
}

/* ---------- app pages (library, auth, request, runs, admin) ---------- */
.ap-pad{padding:56px 0 96px}
.ap-muted{color:var(--muted-foreground)}
.ap-error{margin-top:14px;color:#dc2626;font-size:14px}
.ap-ok{margin-top:14px;color:#16a34a;font-size:14px}
.ap-label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}
.ap-field{display:block;margin-top:18px}
.ap-input,.ap-textarea{width:100%;margin-top:8px;border:1px solid var(--border);border-radius:12px;background:var(--background);padding:11px 14px;font:inherit;font-size:15px;color:var(--foreground)}
.ap-textarea{line-height:1.55;resize:vertical}
.ap-input:focus,.ap-textarea:focus{outline:2px solid color-mix(in oklab,var(--primary) 40%,transparent);outline-offset:1px}
.ap-block{display:inline-flex;width:100%;justify-content:center;margin-top:22px}
.ap-linkbtn{background:none;border:0;color:var(--primary);font:inherit;font-size:14px;cursor:pointer;padding:6px 2px}
.ap-form{max-width:620px;margin-top:34px}
.ap-back{font-size:14px;color:var(--muted-foreground)}
.ap-auth-wrap{display:flex;justify-content:center;padding:72px 0 120px}
.ap-auth-card{width:100%;max-width:440px;border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:34px}
.ap-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:16px 20px;font-size:14px}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:36px}
.ap-card{display:block;border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:22px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ap-card:hover{transform:translateY(-3px);border-color:color-mix(in oklab,var(--primary) 45%,var(--border));box-shadow:0 14px 40px rgba(0,0,0,.07)}
.ap-card-date{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}
.ap-card-title{margin-top:10px;font-size:19px;font-weight:600;line-height:1.3}
.ap-card-q{margin-top:10px;font-size:14px;line-height:1.55;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ap-chip{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--background);color:var(--muted-foreground)}
.ap-chip-btn{font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);cursor:pointer}
.ap-chip-btn.is-on{border-color:var(--primary);color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent)}
.ap-council-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:12px;padding:0 24px;border-radius:14px;border:1px dashed var(--border);background:var(--background);color:var(--foreground);font-size:16px;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.ap-council-btn:hover{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 5%,var(--background));box-shadow:0 6px 20px -10px color-mix(in oklab,var(--primary) 35%,transparent);transform:translateY(-1px)}
.ap-council-btn.is-on{border-style:solid;border-color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent);color:var(--primary)}
.ap-question{margin-top:26px;border-left:3px solid var(--primary);background:var(--surface);border-radius:0 14px 14px 0;padding:16px 20px}
.ap-question p{margin-top:8px;font-size:16px;line-height:1.6}
.ap-locked{margin-top:20px;border:1px dashed var(--border);border-radius:16px;padding:28px;text-align:center;color:var(--muted-foreground);display:flex;flex-direction:column;align-items:center;gap:16px}
.ap-stage{border:1px solid var(--border);border-radius:14px;margin-top:10px;background:var(--surface);overflow:hidden}
.ap-stage-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:none;border:0;font:inherit;font-size:15px;text-align:left;cursor:pointer;color:var(--foreground)}
.ap-stage-toggle{color:var(--muted-foreground);font-size:18px}
.ap-stage-body{padding:0 18px 20px}
.ap-pre{white-space:pre-wrap;font-size:13px;line-height:1.55;background:var(--background);border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:8px;overflow-x:auto}
.ap-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:16px 20px;margin-top:10px}
.ap-row-title{font-size:15px;font-weight:500;line-height:1.45;max-width:640px}
.ap-row-right{display:flex;align-items:center;gap:12px}
.ap-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:999px;background:var(--subtle);color:var(--muted-foreground)}
.ap-status.s-approved,.ap-status.s-done,.ap-status.s-complete{background:color-mix(in oklab,#22c55e 15%,transparent);color:#15803d}
.ap-status.s-running,.ap-status.s-queued{background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--primary)}
.ap-status.s-failed,.ap-status.s-declined,.ap-status.s-error{background:color-mix(in oklab,#dc2626 12%,transparent);color:#dc2626}
.ap-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:32px}
.ap-stat{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:20px}
.ap-stat-n{display:block;font-size:30px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}
.ap-progress{height:8px;border-radius:999px;background:var(--subtle);overflow:hidden}
.ap-progress-bar{height:100%;background:var(--primary);transition:width .5s ease}
.ap-step{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:16px 18px;margin-top:10px}
.ap-step.s-done{border-color:color-mix(in oklab,#22c55e 35%,var(--border))}
.ap-step.s-running{border-color:var(--primary)}
.ap-step-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.ap-step-body{margin-top:14px;font-size:15px}

.ap-banner.is-warn,.ap-banner:has(.ap-input){display:block}
.ap-banner.is-warn{border-color:#d9a441;background:rgba(217,164,65,.08)}
.ap-warn{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff7e6;border:1px solid #f5d58a;color:#7a5300;font-size:14px}
.ap-warn strong{color:#7a5300}
.ap-warn ul{margin:8px 0 0 18px}

/* GitHub badge */
.gh-badge{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:999px;background:var(--ink);color:var(--ink-foreground);font-size:15px;font-weight:500;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s}
.gh-badge:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.gh-badge-arrow{opacity:.6;font-size:13px}

/* Single-screen homepage */
.hp{display:grid;grid-template-columns:1fr;gap:36px;padding:56px 24px 72px;max-width:1360px;margin-inline:auto}
.site-wordmark{display:inline-flex;align-items:center;gap:11px;color:var(--foreground)}
.site-wordmark-mark{display:block;width:10px;height:10px;border-radius:2px;background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}
.site-wordmark-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.site-wordmark-title{font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.site-wordmark-subtitle{margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.13em;color:var(--muted-foreground)}
.hp-title{position:relative;font-size:clamp(42px,7.4vw,86px);line-height:.98;font-weight:800;max-width:16ch;letter-spacing:-0.045em;background:linear-gradient(175deg,var(--foreground) 30%,color-mix(in srgb,var(--foreground) 62%,var(--muted-foreground)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hp-title-accent{position:relative;background:linear-gradient(100deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#8ab6ff));-webkit-background-clip:text;background-clip:text;color:transparent}
.hp-title-accent::after{content:"";position:absolute;left:2%;right:2%;bottom:.06em;height:.09em;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 70%,transparent),transparent);opacity:.55}
.hp-left{position:relative}
.hp-left::before{content:"";position:absolute;left:50%;top:-14%;width:min(760px,92vw);height:min(560px,60vh);transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 70%);filter:blur(10px);pointer-events:none;z-index:-1}
.hp-lead{margin-top:20px;font-size:clamp(17px,1.45vw,20px);line-height:1.62;color:color-mix(in srgb,var(--foreground) 72%,var(--muted-foreground));max-width:62ch}

.hp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px}
.hp-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.hp-stat{font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted-foreground)}

/* Right-hand panel — elevated card */
.hp-panel{position:relative;border:1px solid var(--border);border-radius:26px;background:var(--surface);padding:22px;display:flex;flex-direction:column;min-height:0;box-shadow:0 1px 2px rgba(17,18,20,.04),0 12px 40px -12px rgba(17,18,20,.12)}
.hp-panel::before{content:"";position:absolute;inset:0;border-radius:26px;padding:1px;background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 45%,transparent),transparent 34%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hp-panel::after{content:"";position:absolute;top:-70px;right:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 12%,transparent),transparent 68%);pointer-events:none;filter:blur(6px)}

/* Panel header */
.hp-panel-head{display:flex;flex-direction:column;gap:7px;flex:none;padding:2px 4px 0}
.hp-panel-kicker{font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--primary)}
.hp-panel-title{font-size:clamp(16px,1.5vw,20px);font-weight:650;letter-spacing:-.012em;line-height:1.3;max-width:58ch}

/* Pane */
.hp-pane{display:flex;flex-direction:column;gap:10px;margin-top:16px;min-height:0}

@media (min-width:1024px){
  body.hp-lock{overflow:hidden}
  .hp{grid-template-columns:1fr;grid-template-rows:auto auto;gap:clamp(20px,3vh,32px);height:calc(100svh - 68px);padding:clamp(18px,3vh,34px) clamp(24px,4vw,56px);overflow:hidden;max-width:1280px;align-content:center}
  .hp-left{text-align:center;max-width:860px;margin-inline:auto}
  .hp-panel{min-height:0;overflow:hidden;padding:clamp(16px,2vh,24px)}
  .hp-pane{gap:clamp(7px,1vh,12px);overflow:hidden}
  
  .hp-title{font-size:clamp(46px,5.6vw,84px);max-width:18ch;margin-inline:auto}
  .hp-lead{font-size:clamp(16px,1.2vw,18.5px);margin-top:16px;max-width:68ch;margin-inline:auto}

}

/* ---- Run diagram ---- */
.dg{display:flex;flex-direction:column;gap:14px;min-height:0}
.dg-track{display:flex;flex-direction:column;align-items:stretch;gap:0}
.dg-cell{display:flex;flex-direction:column}
.dg-link{align-self:center;width:2px;height:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 60%,transparent),color-mix(in srgb,var(--primary) 18%,transparent));border-radius:2px;flex:none}
.dg-end{border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:14px;padding:10px 14px;background:color-mix(in srgb,var(--primary) 5%,var(--background));text-align:center}
.dg-end.is-out{border-style:solid;background:var(--ink);color:var(--ink-foreground);border-color:var(--ink)}
.dg-end-k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:600}
.dg-end.is-out .dg-end-k{color:color-mix(in srgb,#fff 70%,var(--primary))}
.dg-end-t{font-size:14px;font-weight:600;margin-top:2px;letter-spacing:-.01em}
.dg-end-b{font-size:11.5px;color:var(--muted-foreground);margin-top:1px}
.dg-end.is-out .dg-end-b{color:color-mix(in srgb,#fff 65%,transparent)}
.dg-stage{position:relative;background:var(--background);border:1px solid var(--border);border-radius:14px;padding:10px 12px;transition:border-color .18s,box-shadow .18s,transform .18s;height:100%}
.dg-stage:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 8px 22px -12px rgba(17,18,20,.28);transform:translateY(-1px)}
.dg-stage.is-parallel{background:linear-gradient(var(--background),var(--background)) padding-box,linear-gradient(140deg,color-mix(in srgb,var(--primary) 55%,transparent),transparent 70%) border-box;border-color:transparent}
.dg-stage.is-parallel::after,.dg-stage.is-branch::after{content:"";position:absolute;inset:auto 8px 6px auto;width:22px;height:3px;border-radius:3px;background:color-mix(in srgb,var(--primary) 45%,transparent)}
.dg-stage.is-branch::after{background:var(--destructive);opacity:.55}
.dg-stage-head{display:flex;align-items:center;gap:8px}
.dg-no{width:20px;height:20px;flex:none;border-radius:6px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.dg-stage-t{font-size:13.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
.dg-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.dg-chip{font-size:10.5px;line-height:1;padding:4px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted-foreground);white-space:normal}
.dg-stage.is-parallel .dg-chip{background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:color-mix(in srgb,var(--primary) 25%,transparent);color:color-mix(in srgb,var(--primary) 80%,var(--foreground))}
.dg-stage.is-branch .dg-chip{background:color-mix(in srgb,var(--destructive) 7%,transparent);border-color:color-mix(in srgb,var(--destructive) 22%,transparent);color:color-mix(in srgb,var(--destructive) 70%,var(--foreground))}
.dg-stage-b{font-size:11.5px;line-height:1.45;color:var(--muted-foreground);margin-top:7px}
.dg-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;color:var(--muted-foreground)}
.dg-legend span{display:inline-flex;align-items:center;gap:6px}
.dg-key{width:16px;height:3px;border-radius:3px;display:inline-block}
.dg-key-serial{background:color-mix(in srgb,var(--primary) 60%,transparent)}
.dg-key-parallel{background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 30%,transparent))}
.dg-key-attack{background:color-mix(in srgb,var(--destructive) 70%,transparent)}
.dg-legend-time{margin-left:auto;font-weight:600;color:var(--foreground)}
@media (min-width:1024px){
  .dg-track{flex-direction:row;align-items:stretch}
  .dg-cell{flex:1 1 0;min-width:0;flex-direction:row;align-items:stretch;gap:10px}
  .dg-cell > .dg-stage{flex:1 1 0;min-width:0}
  .dg-link{align-self:center;width:10px;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 60%,transparent),color-mix(in srgb,var(--primary) 18%,transparent))}
  .dg-track > .dg-link{margin-inline:10px}
  .dg-end{flex:0 0 116px;display:flex;flex-direction:column;justify-content:center;padding-inline:10px}
  .dg-stage{padding:clamp(10px,1.2vh,13px) 11px}
  .dg-stage-head{gap:6px}
  .dg-stage-t{font-size:12.5px}
  .dg-stage-b{font-size:11px;line-height:1.5}
}

/* ---- Run visual: animated flow + active stage ---- */
.dg-link{position:relative;overflow:hidden}
.dg-link::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--primary) 90%,transparent),transparent);transform:translateY(-100%);animation:dg-pulse 2.4s cubic-bezier(.45,0,.55,1) infinite;animation-delay:calc(var(--dg-i,0)*.3s)}
@keyframes dg-pulse{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
.dg-stage[data-active]{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 12px 32px -16px color-mix(in srgb,var(--primary) 50%,transparent),0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent);transform:translateY(-2px)}
.dg-stage[data-active] .dg-no{background:var(--primary);color:#fff}
.dg-stage[data-active] .dg-stage-t{color:var(--foreground)}
.dg-stage[data-done] .dg-no{background:color-mix(in srgb,var(--primary) 24%,transparent);color:var(--primary)}
.dg-stage[data-done]{opacity:.82}
.dg-end{transition:border-color .3s,box-shadow .3s}
.dg-end[data-lit]{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}
.dg-end.is-out[data-lit]{box-shadow:0 16px 36px -18px color-mix(in srgb,var(--primary) 60%,transparent)}
@media (min-width:1024px){
  .dg-link{width:10px;height:2px}
  .dg-link::after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 90%,transparent),transparent);transform:translateX(-100%);animation-name:dg-pulse-x}
  @keyframes dg-pulse-x{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
}

/* Phone input with embedded country picker */
.ap-phone-row {
  display: flex;
  align-items: stretch;
  margin-top: 8px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--background);
  overflow: visible;
}
.ap-phone-row:focus-within {
  outline: 2px solid color-mix(in oklab, var(--primary) 40%, transparent);
  outline-offset: 1px;
}
.ap-phone-picker { position: relative; flex: 0 0 auto; }
.ap-phone-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 100%;
  padding: 0 12px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
  color: var(--foreground);
}
.ap-phone-flag { line-height: 1; }
.ap-phone-chevron {
  color: var(--muted-foreground);
  transition: transform .15s ease;
}
.ap-phone-trigger[aria-expanded="true"] .ap-phone-chevron { transform: rotate(180deg); }
.ap-phone-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 50;
  min-width: 240px;
  max-height: 280px;
  overflow-y: auto;
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(17,18,20,.12);
  padding: 6px;
}
.ap-phone-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  border-radius: 8px;
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 14px;
  color: var(--foreground);
}
.ap-phone-option:hover,
.ap-phone-option.is-active { background: var(--surface); }
.ap-phone-option-flag { font-size: 16px; line-height: 1; }
.ap-phone-option-name { flex: 1 1 auto; }
.ap-phone-option-dial {
  color: var(--muted-foreground);
  font-variant-numeric: tabular-nums;
}
.ap-phone-input-wrap {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
}
.ap-phone-input-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 22px;
  background: var(--border);
}
.ap-phone-dial {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(17,18,20,.45);
  font-size: 15px;
  pointer-events: none;
}
.ap-phone-input {
  width: 100%;
  border: 0;
  background: transparent;
  padding-left: 48px;
  padding-right: 14px;
}
.ap-phone-input:focus { outline: none; }
@media (max-width: 520px) { .ap-phone-dropdown { min-width: 220px; } }

/* ---- Request form: AI assist, deliverable checkboxes, council picker ---- */
.ap-assist{border:1px solid var(--line,#E4E7EC);border-radius:14px;padding:18px;background:#F7F9FC;margin-bottom:26px}
.ap-checks{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:760px){.ap-checks{grid-template-columns:1fr 1fr}}
.ap-check-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line,#E4E7EC);border-radius:14px;padding:14px 16px;cursor:pointer;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.ap-check-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(17,18,20,.06)}
.ap-check-card.is-on{border-color:#2B59FF;box-shadow:0 0 0 3px rgba(43,89,255,.12)}
.ap-check-card input{position:absolute;opacity:0;pointer-events:none}
.ap-check-box{flex:0 0 18px;width:18px;height:18px;margin-top:2px;border-radius:5px;border:1.5px solid #C4CBD8;background:#fff;position:relative}
.ap-check-card.is-on .ap-check-box{background:#2B59FF;border-color:#2B59FF}
.ap-check-card.is-on .ap-check-box::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ap-check-title{display:block;font-weight:600;font-size:15px}
.ap-check-blurb{display:block;margin-top:4px;font-size:13px;color:#6B7280;line-height:1.45}

.cp-overlay{position:fixed;inset:0;z-index:80;background:rgba(17,18,20,.5);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}
.cp-modal{background:#fff;border-radius:18px;width:min(1040px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(17,18,20,.35)}
.cp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line,#E4E7EC)}
.cp-x{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#6B7280}
.cp-body{display:grid;grid-template-columns:1fr;min-height:0;flex:1}
@media (min-width:860px){.cp-body{grid-template-columns:360px 1fr}}
.cp-list{padding:16px 18px;overflow:auto;border-right:1px solid var(--line,#E4E7EC)}
.cp-group{margin-top:18px}
.cp-group-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#6B7280;margin-bottom:8px}
.cp-all{border:0;background:transparent;color:#2B59FF;font-size:12px;cursor:pointer}
.cp-item{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:10px}
.cp-item.is-active{background:#F1F4FB}
.cp-check input{position:absolute;opacity:0;pointer-events:none}
.cp-check{position:relative;display:block;margin-top:3px;cursor:pointer}
.cp-check span{display:block;width:17px;height:17px;border-radius:5px;border:1.5px solid #C4CBD8;background:#fff}
.cp-check input:checked + span{background:#2B59FF;border-color:#2B59FF}
.cp-check input:checked + span::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cp-name{flex:1;text-align:left;border:0;background:transparent;cursor:pointer;padding:0}
.cp-name-t{display:block;font-weight:600;font-size:14px}
.cp-name-d{display:block;font-size:12.5px;color:#6B7280;line-height:1.4;margin-top:2px}
.cp-detail{padding:22px 24px;overflow:auto}
.cp-detail-title{font-size:22px;margin:0}
.cp-detail-lede{color:#6B7280;margin:8px 0 16px}
.cp-detail-body{white-space:pre-wrap;font-size:14px;line-height:1.65;color:#3B3F46}
.cp-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--line,#E4E7EC)}
.btn-primary.is-off{background:#111214}

/* ---- Header sizing (arbitrary Tailwind heights are not compiled here) ---- */
.site-header-inner{min-height:74px;padding-block:12px;gap:24px}

/* ---- Disabled buttons ---- */
.btn-primary:disabled,.btn-primary[disabled],.btn-primary:disabled:hover{background:#e3e6ec!important;color:#9aa0ac!important;cursor:not-allowed;box-shadow:none}

/* ---- Request page column + rhythm ---- */
.ap-col{max-width:720px}
.ap-form{max-width:720px;margin-top:34px;display:block}
.ap-form .ap-field{margin-top:26px}
.ap-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px;padding-top:26px;border-top:1px solid var(--border)}
.ap-actions .btn-primary{min-height:52px;padding-inline:28px;font-size:16px}

/* ---- Requirement checklist ---- */
.ap-todo{margin:0;padding:0;list-style:none;font-size:13.5px;color:var(--muted-foreground)}
.ap-todo li{display:flex;align-items:center;gap:8px;padding:3px 0}
.ap-todo li::before{content:"";width:15px;height:15px;border-radius:999px;border:1.5px solid #C4CBD8;flex:none}
.ap-todo li.is-done{color:#15803d}
.ap-todo li.is-done::before{border-color:#22c55e;background:#22c55e;box-shadow:inset 0 0 0 3px #fff}

/* ---- Empty state ---- */
.ap-empty{margin-top:18px;border:1px dashed var(--border);border-radius:16px;background:var(--surface);padding:28px 24px;text-align:center}
.ap-empty-title{font-weight:600;font-size:15px}
.ap-empty-sub{margin-top:6px;font-size:14px;color:var(--muted-foreground)}

/* ---- Live Council room ---- */
.council-room{position:relative;border:1px solid var(--border);border-radius:18px;background:var(--ink);color:var(--ink-foreground);padding:clamp(22px,4vw,40px);overflow:hidden}.council-room::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,color-mix(in srgb,var(--primary) 16%,transparent),transparent 34%);pointer-events:none}.council-room-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid color-mix(in srgb,var(--ink-foreground) 16%,transparent)}.council-room .ap-label{color:color-mix(in srgb,var(--ink-foreground) 55%,transparent)}.council-room-count{font-size:clamp(40px,7vw,72px);line-height:1;font-weight:600;color:var(--ink-foreground);font-variant-numeric:tabular-nums}.council-phases{position:relative;margin-top:12px}.council-phase{display:grid;grid-template-columns:minmax(190px,.7fr) 2fr;gap:24px;padding:22px 0;border-bottom:1px solid color-mix(in srgb,var(--ink-foreground) 12%,transparent)}.council-phase:last-child{border-bottom:0}.council-phase-head{display:flex;align-items:flex-start;gap:14px}.council-phase-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:color-mix(in srgb,var(--ink-foreground) 45%,transparent);padding-top:3px}.council-phase-title{font-size:16px;font-weight:600}.council-phase-meta{font-size:12px;color:color-mix(in srgb,var(--ink-foreground) 48%,transparent);margin-top:3px}.council-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px}.council-member{position:relative;display:flex;align-items:center;gap:11px;min-height:58px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ink-foreground) 13%,transparent);border-radius:10px;background:color-mix(in srgb,var(--ink-foreground) 4%,transparent)}.council-signal{width:10px;height:10px;flex:none;border-radius:999px;background:color-mix(in srgb,var(--ink-foreground) 26%,transparent)}.council-member-copy{display:flex;flex-direction:column;min-width:0}.council-member-copy strong{font-size:13px;line-height:1.25;font-weight:600}.council-member-copy span{font-size:11px;color:color-mix(in srgb,var(--ink-foreground) 46%,transparent);margin-top:3px;text-transform:uppercase;letter-spacing:.06em}.council-member.is-done .council-signal{background:#4ade80;box-shadow:0 0 0 4px color-mix(in srgb,#4ade80 12%,transparent)}.council-member.is-running{border-color:color-mix(in srgb,var(--primary) 72%,transparent);background:color-mix(in srgb,var(--primary) 16%,transparent)}.council-member.is-running .council-signal,.council-member.is-retry .council-signal{background:#8eb0ff;box-shadow:0 0 0 0 color-mix(in srgb,#8eb0ff 45%,transparent);animation:council-live 1.8s ease-out infinite}.council-member.is-blocked{border-color:color-mix(in srgb,var(--destructive) 58%,transparent)}.council-member.is-blocked .council-signal{background:#f87171}.council-member.is-skipped{opacity:.5}@keyframes council-live{0%{box-shadow:0 0 0 0 color-mix(in srgb,#8eb0ff 45%,transparent)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}@media(max-width:720px){.council-phase{grid-template-columns:1fr;gap:14px}.council-members{grid-template-columns:1fr}.council-room-head{align-items:flex-start}.council-room-count{font-size:38px}}

/* ---- Finished document downloads ---- */
.deliverable-grid{display:grid;gap:10px;margin-top:18px}.deliverable-file{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;width:100%;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;transition:border-color .18s,transform .18s,box-shadow .18s}.deliverable-file:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));transform:translateY(-1px);box-shadow:0 8px 24px rgba(17,18,20,.07)}.deliverable-file-type{display:flex;align-items:center;justify-content:center;height:40px;border-radius:8px;background:var(--ink);color:var(--ink-foreground);font-size:10px;font-weight:700;letter-spacing:.08em}.deliverable-file-copy{display:flex;flex-direction:column;min-width:0}.deliverable-file-copy strong{font-size:15px}.deliverable-file-copy small{margin-top:3px;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deliverable-file-arrow{font-size:22px;color:var(--primary)}

/* ---- Authorization step on a run page ---- */
.ap-authstep{margin-top:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:20px 22px}.ap-authstep-head{display:flex;align-items:flex-start;gap:14px}.ap-authstep-head strong{font-size:16px}.ap-authstep-head .ap-muted{margin-top:4px;font-size:14px}.ap-authstep-mark{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:999px;border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--muted-foreground)}.ap-authstep-mark.is-done{background:#4ade80;border-color:#4ade80;color:#0b3d1f}.ap-authstep .btn-primary{margin-top:16px}.ap-authstep .ap-banner{margin-top:16px;display:block}
