:root{--bg: oklch(.977 .003 262);--surface: oklch(1 0 0);--panel: oklch(.958 .005 262);--line: oklch(.905 .006 262);--line-strong: oklch(.85 .01 262);--ink: oklch(.25 .02 262);--ink-2: oklch(.44 .022 262);--accent: oklch(.5 .17 268);--accent-hover: oklch(.45 .17 268);--accent-soft: oklch(.94 .03 268);--allow: oklch(.44 .12 152);--allow-bg: oklch(.96 .035 152);--allow-line: oklch(.87 .06 152);--deny: oklch(.45 .16 27);--deny-bg: oklch(.965 .02 27);--deny-line: oklch(.88 .05 27);--pend: oklch(.5 .11 75);--pend-bg: oklch(.965 .035 85);--pend-line: oklch(.88 .06 85);--space-3xs: 4px;--space-2xs: 8px;--space-xs: 12px;--space-sm: 16px;--space-md: 20px;--space-lg: 28px;--space-xl: 40px;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-display: var(--font-body);--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--radius-s: 6px;--radius: 8px;--radius-l: 12px;--shadow: 0 1px 2px oklch(.25 .02 262 / .05), 0 4px 16px oklch(.25 .02 262 / .04);--ease: cubic-bezier(.22, 1, .36, 1);font-family:var(--font-body);font-feature-settings:"cv11"}*{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55}h1,h2,h3{margin:0;text-wrap:balance}p{margin:0}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1px 5px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}.topbar{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-inner{max-width:880px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:12px}.wordmark{display:flex;align-items:center;gap:8px;font-weight:650;font-size:15px;letter-spacing:-.01em;color:var(--ink)}.wordmark svg{display:block}.topbar .spacer{flex:1}.user-chip{display:flex;align-items:center;gap:8px}.user-menu{position:relative}.user-menu summary{list-style:none;cursor:pointer;border-radius:var(--radius);padding:3px 6px;color:var(--ink-2)}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:hover{background:var(--panel)}.user-menu .menu{position:absolute;right:0;top:calc(100% + 6px);min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:6px;z-index:20;animation:rise .15s var(--ease) both}.menu-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;padding:7px 9px;border-radius:var(--radius)}.menu-row:hover:not(:disabled){background:var(--panel)}.menu-row .grow{flex:1;min-width:0;line-height:1.25}.menu-row .name{display:block;font-weight:550;font-size:13px}.menu-row .dept{display:block;font-size:11.5px;color:var(--ink-2)}.menu-note{font-size:11px;color:var(--ink-2);padding:6px 9px 4px;max-width:240px;text-wrap:pretty}.menu-sep{height:1px;background:var(--line);margin:4px 0}.user-chip .who{line-height:1.2;text-align:right}.user-chip .who .name{font-weight:550;font-size:13px}.user-chip .who .dept{font-size:12px;color:var(--ink-2)}.page{max-width:880px;margin:0 auto;padding:28px 20px 64px}.page-narrow{max-width:720px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:600;flex:none;-webkit-user-select:none;user-select:none}button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:6px 14px;font-weight:500;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}button:hover:not(:disabled){background:var(--panel)}button:active:not(:disabled){background:var(--line)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}button.ghost:hover:not(:disabled){background:var(--panel);color:var(--ink)}button.danger{border-color:transparent;background:transparent;color:var(--deny)}button.danger:hover:not(:disabled){background:var(--deny-bg)}.icon-btn{display:inline-flex;align-items:center;gap:6px}.icon-btn svg{flex:none}.spinner{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.7;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:6px 10px;transition:border-color .15s var(--ease)}input::placeholder{color:var(--ink-2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}select{padding-right:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23596079' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;border-radius:999px;padding:2px 9px;border:1px solid var(--line);background:var(--panel);color:var(--ink-2)}.badge.green{background:var(--allow-bg);border-color:var(--allow-line);color:var(--allow)}.badge.amber{background:var(--pend-bg);border-color:var(--pend-line);color:var(--pend)}.badge.red{background:var(--deny-bg);border-color:var(--deny-line);color:var(--deny)}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-panel{width:100%;max-width:400px}.login-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:650;letter-spacing:-.015em;margin-bottom:6px}.login-sub{color:var(--ink-2);margin-bottom:28px}.cast{display:flex;flex-direction:column;gap:8px}.cast-row{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);animation:rise .35s var(--ease) both;animation-delay:calc(var(--i) * 45ms)}.cast-row:hover{border-color:var(--line-strong);background:var(--surface);box-shadow:var(--shadow)}.cast-row .grow{flex:1;min-width:0}.cast-row .name{font-weight:550}.cast-row .hint{font-size:12.5px;color:var(--ink-2)}.cast-row .chev{color:var(--ink-2);transition:transform .15s var(--ease)}.cast-row:hover .chev{transform:translate(2px)}.login-foot{margin-top:24px;font-size:12.5px;color:var(--ink-2);text-align:center;text-wrap:pretty}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.section-head{margin-bottom:16px}.section-head.row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-head h2{font-size:18px;font-weight:650;letter-spacing:-.01em}.section-head .sub{color:var(--ink-2);font-size:13px;margin-top:2px}.doc-rows{display:flex;flex-direction:column;gap:8px}.doc-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l)}.doc-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow);background:var(--surface)}.doc-ico{flex:none;width:36px;height:36px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.doc-row .grow{flex:1;min-width:0}.doc-row .title{font-weight:550;font-size:14.5px}.doc-row .meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:12.5px;color:var(--ink-2);flex-wrap:wrap}.doc-row .chev{color:var(--ink-2);transition:transform .15s var(--ease)}.doc-row:hover .chev{transform:translate(2px)}.backlink{margin-bottom:18px}.doc-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}.doc-head h1{font-size:24px;font-weight:650;letter-spacing:-.015em;flex:1;min-width:0}.doc-meta{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:13px;margin-bottom:18px;flex-wrap:wrap}.access{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-l);margin-bottom:20px}.access .label{font-size:12px;font-weight:550;color:var(--ink-2);margin-right:4px}.acc{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;border-radius:999px;padding:2px 9px 2px 7px}.acc.on{background:var(--allow-bg);color:var(--allow);border:1px solid var(--allow-line)}.acc.off{background:transparent;color:var(--ink-2);border:1px dashed var(--line-strong)}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow);overflow:hidden;margin-bottom:28px}.sheet textarea{display:block;width:100%;min-height:96px;border:0;border-radius:0;resize:vertical;padding:14px 16px;font-size:14px;line-height:1.6;max-width:75ch}.sheet textarea:focus{border:0}.sheet textarea[readonly]{background:var(--surface);color:var(--ink);cursor:default}.sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);background:var(--panel);padding:8px 14px;font-size:12.5px;color:var(--ink-2)}.stack-section{margin-bottom:28px}.stack-section h3{font-size:15px;font-weight:600;margin-bottom:12px}.stack-section h3 .count{color:var(--ink-2);font-weight:500}.comment-row{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.comment-row:first-of-type{border-top:0;padding-top:0}.comment-row .body{min-width:0}.comment-row .byline{font-size:12.5px;color:var(--ink-2)}.comment-row .byline strong{color:var(--ink);font-weight:550}.comment-row .text{margin-top:2px;max-width:68ch;text-wrap:pretty}.comment-form{display:flex;gap:8px;margin-top:12px}.comment-form input{flex:1}.empty{color:var(--ink-2);font-size:13px;padding:8px 0}.grant-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.grant-row:first-of-type{border-top:0;padding-top:0}.grant-row .grow{flex:1;min-width:0}.grant-row .name{font-weight:550;font-size:13.5px}.grant-row .expiry{font-size:12px;color:var(--ink-2)}.share-form{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.share-form select{min-width:140px}.authz-help{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius-l);background:var(--panel);font-size:13px}.authz-help summary{cursor:pointer;padding:10px 14px;font-weight:550;color:var(--ink-2);-webkit-user-select:none;user-select:none;border-radius:var(--radius-l)}.authz-help summary:hover{color:var(--ink)}.authz-help[open] summary{border-bottom:1px solid var(--line)}.authz-help .body{padding:12px 14px 14px;color:var(--ink-2);display:grid;gap:8px}.authz-help .body p,.authz-help .body li{max-width:70ch;text-wrap:pretty}.authz-help .body ul{margin:0;padding-left:18px;display:grid;gap:6px}.authz-help .body a{color:var(--accent)}.authz-help .body strong{color:var(--ink)}.authz-help code{background:var(--surface)}.section-note{color:var(--ink-2);font-size:12.5px;margin:-6px 0 12px;max-width:70ch;text-wrap:pretty}button.linklike{border:0;background:none;padding:0;color:var(--accent);font-weight:550;font-size:inherit}button.linklike:hover{background:none;text-decoration:underline}.trace{max-width:680px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:24px 28px}.trace-top,.trace-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.trace-kicker{color:var(--ink-2);font-size:12.5px;font-weight:550}.trace-step-count{color:var(--ink-2);font-size:12.5px;font-variant-numeric:tabular-nums}.trace h1{font-size:24px;font-weight:650;letter-spacing:-.015em;margin-top:8px}.trace-lede{color:var(--ink-2);font-size:15px;line-height:1.6;max-width:62ch;margin-top:8px;text-wrap:pretty}.trace-progress{counter-reset:trace-step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;margin:24px 0 0;padding:0}.trace-progress li{counter-increment:trace-step;position:relative;min-width:0;padding:28px 6px 0 0;color:var(--ink-2);font-size:12px;font-weight:550;line-height:1.35}.trace-progress li:before{content:counter(trace-step);position:absolute;z-index:1;top:0;left:0;width:19px;height:19px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink-2);font-size:11px;font-variant-numeric:tabular-nums}.trace-progress li:not(:last-child):after{content:"";position:absolute;z-index:0;top:9px;left:9px;width:calc(100% + 8px);height:1px;background:var(--line)}.trace-progress li span{display:block;position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis}.trace-progress li[aria-current=step],.trace-progress li.active{color:var(--ink)}.trace-progress li[aria-current=step]:before,.trace-progress li.active:before{border-color:var(--accent);background:var(--accent);color:var(--surface)}.trace-progress li.done{color:var(--ink)}.trace-progress li.done:before{border-color:var(--allow);background:var(--allow);color:var(--surface)}.trace-progress li.done:after{background:var(--allow)}.trace-step{border-top:1px solid var(--line);margin-top:22px;padding:24px 0}.trace-step>h2{font-size:20px;font-weight:650;letter-spacing:-.012em;margin-bottom:8px}.trace-step>p{color:var(--ink-2);max-width:64ch;text-wrap:pretty}.trace-step>.trace-label{font-size:12.5px;font-weight:550;margin-bottom:6px}.trace-step>p+p{margin-top:8px}.trace-step pre{max-width:100%;overflow-x:auto;margin:14px 0 0;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.6}.trace-step pre code{padding:0;border:0;background:transparent;font-size:inherit}.trace-step>.ghost{margin-top:14px;padding-left:0}.trace-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:18px}.trace-demo-note,.trace-demo-hint{color:var(--ink-2);font-size:12.5px;line-height:1.5;margin-top:16px;text-wrap:pretty}.trace-demo-note code,.trace-demo-hint code{background:var(--panel)}.guide h1{font-size:24px;font-weight:650;letter-spacing:-.015em;margin-bottom:10px}.guide .lede{font-size:15px;color:var(--ink-2);max-width:62ch;text-wrap:pretty}.guide-start{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:68ch;margin-top:20px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.guide-start p{color:var(--ink-2);margin:0}.guide section{margin-top:32px}.guide section[tabindex="-1"]{scroll-margin-top:64px}.guide h2{font-size:17px;font-weight:650;letter-spacing:-.01em;margin-bottom:8px}.guide p{max-width:68ch;text-wrap:pretty;margin-bottom:8px}.guide ul,.guide ol{margin:8px 0 0;padding-left:20px;display:grid;gap:8px;max-width:68ch}.guide a{color:var(--accent)}.guide .code{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.6;overflow-x:auto;margin:8px 0 16px}.guide .code-caption{font-size:13px;color:var(--ink-2);margin:14px 0 0}.guide .steps li{padding-left:2px}.matrix-wrap{border:1px solid var(--line);border-radius:var(--radius-l);overflow-x:auto;margin:12px 0 14px;background:var(--surface)}.matrix{border-collapse:collapse;width:100%;min-width:480px;font-size:12.5px}.matrix th,.matrix td{padding:8px 12px;text-align:center;border-top:1px solid var(--line)}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix thead th{border-top:0;background:var(--panel);font-weight:550;color:var(--ink-2)}.matrix td.y{color:var(--allow);font-weight:650}.matrix td.n{color:var(--line-strong)}.flow{display:grid;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);overflow-x:auto;margin:12px 0 14px}.flow-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.flow .node{display:inline-flex;flex-direction:column;gap:1px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);font-size:12.5px;font-weight:550}.flow .node small{font-weight:400;font-size:11px;color:var(--ink-2)}.flow .node.hot{background:var(--accent-soft);border-color:var(--accent);border-width:1px}.flow .arrow{font-size:11.5px;color:var(--ink-2);flex:none}@media(max-width:620px){.trace{padding:20px}.trace-top,.trace-topline{align-items:flex-start;flex-direction:column;gap:8px}.trace-top>button,.trace-topline>button{min-height:38px}.trace-progress{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px;margin-top:20px}.trace-progress li{min-height:19px}.trace-progress li:after{display:none}.trace-step{margin-top:18px;padding:18px 0 20px}.trace-actions{justify-content:stretch}.trace-actions button{flex:1;min-height:38px}.guide-start{align-items:flex-start;flex-direction:column}}.alert{display:flex;gap:10px;align-items:flex-start;border-radius:var(--radius-l);padding:12px 14px;margin-bottom:16px;font-size:13.5px;animation:rise .2s var(--ease) both}.alert svg{flex:none;margin-top:1px}.alert.deny{background:var(--deny-bg);border:1px solid var(--deny-line);color:var(--deny)}.alert .policies{margin-top:4px;display:flex;gap:6px;flex-wrap:wrap}.alert .policies code{background:#fff9;border-color:var(--deny-line);word-break:break-all}.sync-line{display:flex;align-items:center;gap:8px;font-size:13px;padding:9px 12px;border-radius:var(--radius);margin:12px 0}.sync-line.pending{background:var(--pend-bg);border:1px solid var(--pend-line);color:var(--pend)}.sync-line.done{background:var(--allow-bg);border:1px solid var(--allow-line);color:var(--allow)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--pend);animation:pulse 1.2s ease-in-out infinite;flex:none}@keyframes pulse{50%{opacity:.3}}.denied-state{text-align:center;padding:56px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l)}.denied-state .shield{width:44px;height:44px;border-radius:50%;background:var(--deny-bg);color:var(--deny);display:grid;place-items:center;margin:0 auto 14px}.denied-state h2{font-size:17px;font-weight:650;margin-bottom:6px}.denied-state p{color:var(--ink-2);max-width:44ch;margin:0 auto;text-wrap:pretty}.denied-state .policies{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:14px}.denied-state .actions{margin-top:20px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c222b59;display:grid;place-items:center;padding:20px;z-index:20;animation:rise .15s var(--ease) both}.modal-panel{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow);padding:20px}.modal-panel h3{font-size:16px;font-weight:650;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-2);margin-bottom:12px}.field input,.field select{font-size:14px;color:var(--ink)}.field.checkbox{flex-direction:row;align-items:center;gap:8px}.field.checkbox input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 18px;border-radius:var(--radius-l);font-size:13px;font-weight:500;box-shadow:var(--shadow);z-index:30;animation:rise .2s var(--ease) both}.toast.success{background:var(--allow-bg);border:1px solid var(--allow-line);color:var(--allow)}.toast.error{background:var(--deny-bg);border:1px solid var(--deny-line);color:var(--deny)}.view-enter-active{transition:opacity .16s var(--ease),transform .16s var(--ease)}.view-enter-from{opacity:0;transform:translateY(4px)}.view-leave-active{transition:opacity .1s var(--ease)}.view-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.explain-toggle{display:inline-flex;align-items:center;gap:7px}.explain-toggle.on{background:var(--accent-soft);color:var(--accent)}.explain-toggle .rec-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}.explain-toggle .rec-dot.live{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.explain-toggle .count{font-size:11.5px;font-weight:550;color:var(--accent);font-variant-numeric:tabular-nums}.onb{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);margin-bottom:var(--space-lg);animation:rise .3s var(--ease) both}.onb-head{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--line)}.onb-head h2{font-family:var(--font-display);font-size:14.5px;font-weight:620;letter-spacing:-.01em}.onb-count{margin-left:auto;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.onb-head .ghost{padding:4px 10px;font-size:12.5px}.onb-wrap{padding:var(--space-sm) var(--space-md);color:var(--ink-2);font-size:13px;max-width:64ch;text-wrap:pretty}.onb-steps{list-style:none;margin:0;padding:var(--space-2xs) 0 var(--space-xs)}.onb-steps li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;column-gap:var(--space-xs);padding:var(--space-2xs) var(--space-md)}.onb-steps li:not(:last-child):before{content:"";position:absolute;left:calc(var(--space-md) + 8px);top:22px;bottom:-6px;width:1px;background:var(--line)}.onb-steps li.done:not(:last-child):before{background:var(--allow-line)}.onb-mark{position:relative;z-index:1;flex:none;width:17px;height:17px;margin-top:3px;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--surface);display:grid;place-items:center;color:var(--surface);transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.onb-steps li.done .onb-mark{border-color:var(--allow);background:var(--allow)}.onb-steps li.now .onb-mark{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.onb-body{min-width:0}.onb-label{display:inline-flex;align-items:baseline;gap:var(--space-2xs);border:0;background:none;padding:0;font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--ink)}.onb-label:hover{background:none;text-decoration:underline;text-underline-offset:3px}.onb-state{font-size:11px;font-weight:500;color:var(--ink-2);text-decoration:none}.onb-copy{margin-top:1px;font-size:12.5px;color:var(--ink-2);max-width:62ch;text-wrap:pretty}.onb-todo{margin-top:var(--space-3xs);font-size:12.5px;font-weight:550;color:var(--accent);text-wrap:pretty}.onb-steps li.done .onb-copy{color:var(--ink-2);opacity:.75}.onb-proof{margin-top:2px;cursor:pointer;max-width:190px;white-space:nowrap}.onb-proof:hover{background:var(--panel)}.onb-proof.allow:hover{background:var(--allow-bg);border-color:var(--allow)}.onb-proof.deny:hover{background:var(--deny-bg);border-color:var(--deny)}.onb-proof-res{font-family:var(--font-mono);font-weight:500;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onb-uid{margin-top:2px;font-size:11px;color:var(--ink-2);white-space:nowrap}.onb-pending{margin-top:2px;font-size:12px;color:var(--line-strong)}@media(max-width:620px){.onb-head{flex-wrap:wrap;row-gap:var(--space-3xs)}.onb-head h2{flex:1 1 100%}.onb-steps li{grid-template-columns:auto minmax(0,1fr);row-gap:var(--space-3xs)}.onb-steps li>.onb-proof,.onb-steps li>.onb-uid{grid-column:2;justify-self:start;max-width:100%}.onb-pending{display:none}.onb-steps li:not(:last-child):before{bottom:-8px}}:root{--drawer-w: 384px}@media(min-width:900px){body.inspector-open{padding-right:var(--drawer-w)}}.inspector-drawer{position:fixed;top:0;right:0;bottom:0;width:var(--drawer-w);max-width:100%;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;z-index:30}@media(max-width:899px){.inspector-drawer{width:100%;top:auto;height:52dvh;border-left:0;border-top:1px solid var(--line-strong)}body.inspector-open .page{padding-bottom:calc(52dvh + var(--space-lg))}}.insp-head{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.insp-title{font-family:var(--font-display);font-weight:620;font-size:14.5px;letter-spacing:-.01em}.insp-head .grow{flex:1}.insp-empty{color:var(--ink-2);font-size:13px;padding:20px 16px;text-wrap:pretty}.insp-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.call-item{border-bottom:1px solid var(--line)}.call{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--space-2xs);align-items:center;width:100%;text-align:left;padding:var(--space-2xs) var(--space-xs);border:0;border-left:2px solid transparent;border-radius:0;background:none;cursor:pointer}.call:hover{background:var(--panel)}.call.open{background:var(--panel);border-left-color:var(--accent)}.call-chev{color:var(--ink-2);flex:none;transition:transform .16s var(--ease)}.call.open .call-chev{transform:rotate(180deg)}.call-lbl{font-size:13px;font-weight:550;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-lbl .muted{color:var(--ink-2);font-weight:400}.call.gate .call-lbl{font-weight:450;color:var(--ink-2)}.insp-legend{flex:none;padding:var(--space-2xs) var(--space-xs);border-bottom:1px solid var(--line);background:var(--panel);font-size:11px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}.insp-legend strong{font-weight:600;color:var(--ink)}.acc{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;border:1px solid var(--line);background:var(--panel);color:var(--ink-2)}.acc.allow{color:var(--allow);background:var(--allow-bg);border-color:var(--allow-line)}.acc.deny{color:var(--deny);background:var(--deny-bg);border-color:var(--deny-line)}.call-panel{background:var(--bg);border-top:1px solid var(--line);padding:var(--space-xs);animation:unfold .16s var(--ease) both}@keyframes unfold{0%{opacity:0;transform:translateY(-3px)}}.detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2xs);margin-bottom:var(--space-xs)}.detail-name{display:flex;flex-direction:column;gap:1px;min-width:0}.detail-kind{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.detail-wire{font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums}.endpoint{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent)}.detail-top .grow{flex:1}.seg-btn{font-size:11px;font-weight:550;padding:3px 11px;border-radius:999px}.wire{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:0}.wire dt{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--ink-2);padding:5px 0}.wire dd{margin:0;padding:5px 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;word-break:break-all}.wire dd .note{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;color:var(--ink-2);margin-left:8px}.ctx{display:grid;gap:3px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.ctx-row{display:flex;gap:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px}.ctx-k{color:var(--ink-2);min-width:92px;flex:none}.ctx-row .grow{flex:1;min-width:0;word-break:break-all}.ctx-note{flex:none;font-family:var(--font-body);font-size:10.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 6px;align-self:center}.verdict-card{margin-top:14px;padding:12px;border-radius:var(--radius-l);border:1px solid var(--deny-line);background:var(--deny-bg)}.verdict-card.ok{background:var(--allow-bg);border-color:var(--allow-line)}.verdict-card .vl{font-weight:620;font-size:13px;color:var(--deny)}.verdict-card.ok .vl{color:var(--allow)}.verdict-card .policies{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.verdict-card .policies code{font-size:11px;color:var(--deny);background:var(--surface);border:1px solid var(--deny-line)}.verdict-card .audit{margin-top:8px;font-size:11.5px;color:var(--ink-2)}.gate-card{margin-top:var(--space-xs);padding:var(--space-2xs) var(--space-xs) var(--space-xs);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface)}.gate-row{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) 0}.gate-row .ctx-k{flex:1}.raw-json{margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;line-height:1.6;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px;overflow-x:auto}
