: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);--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:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-feature-settings:"cv11"}*{box-sizing:border-box}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-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}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 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)}.access .why{flex-basis:100%;font-size:11.5px;color:var(--ink-2);margin-top:2px}.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:240px;border:0;border-radius:0;resize:vertical;padding:22px 24px;font-size:15px;line-height:1.7;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}.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-top:12px}.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}.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}}
