.asf-backdrop{position:fixed;inset:0;z-index:1300;background:color-mix(in srgb,#0a0c12 42%,transparent)}.asf{--asf-bg:#f6f7fa;--asf-surface:#ffffff;--asf-surface-2:#f1f2f6;--asf-hover:#eaecf2;--asf-line:#e7e9ef;--asf-line-strong:#d5d8e2;--asf-text:#191a1f;--asf-muted:#555a66;--asf-faint:#787d8a;--asf-blue:#3d63e8;--asf-blue-deep:#2f50c7;--asf-blue-soft:rgba(61,99,232,.08);--asf-ok:#1d8a5f;--asf-bad:#d43f45;--asf-shadow:0 1px 2px rgba(24,28,45,.05),0 10px 30px rgba(24,28,45,.07);--asf-ease:cubic-bezier(.2,.8,.2,1);--asf-display:"Chakra Petch",var(--display),system-ui,sans-serif;--asf-body:"Bai Jamjuree",var(--font),system-ui,sans-serif;--asf-mono:"IBM Plex Mono",var(--mono),ui-monospace,monospace;position:absolute;inset:12px;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:var(--asf-bg);color:var(--asf-text);font-family:var(--asf-body);font-size:14px;line-height:1.5;box-shadow:0 24px 80px rgb(0 0 0/28%)}.asf-page{position:relative;inset:auto;width:100%;min-height:100dvh;border-radius:0;box-shadow:none}.asf :focus-visible{outline:2px solid var(--asf-blue);outline-offset:2px;border-radius:4px}.asf svg.asf-ic{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.asf-chrome{position:relative;z-index:3;flex:none;background:color-mix(in srgb,#ffffff 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--asf-line)}.asf-chrome-in{height:54px;padding:0 18px 0 20px;display:flex;align-items:center;gap:14px}.asf-brand{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap}.asf-brand-mark.brand-logo{width:21px;height:21px;border:0;border-radius:0;background:url(/brand/quillstack-mark-light.svg) 50%/contain no-repeat;box-shadow:none}.asf-brand-copy{font-family:var(--asf-display);font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--asf-text)}.asf-brand-copy b{color:var(--asf-blue);font-weight:600}.asf-chapter-label{overflow:hidden;text-overflow:ellipsis}.asf-chapter-label,.asf-counter{font-size:12px;color:var(--asf-muted);white-space:nowrap}.asf-counter{margin-left:auto;font-family:var(--asf-mono)}.asf-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--asf-line);border-radius:8px;background:none;color:var(--asf-muted);cursor:pointer}.asf-close:hover{color:var(--asf-text);background:var(--asf-surface-2)}.asf-bar{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--asf-line)}.asf-bar i{display:block;height:100%;background:var(--asf-blue);transform-origin:left;transition:transform .32s var(--asf-ease)}.asf-body{flex:1;min-height:0;display:flex;position:relative}.asf-rail{width:232px;flex:none;border-right:1px solid var(--asf-line);background:var(--asf-surface);padding:22px 10px 20px;overflow:auto;display:none}@media (min-width:1080px){.asf-rail{display:block}}.asf-rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.asf-rail button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;text-align:left;border-radius:8px;padding:9px 12px;color:var(--asf-faint);font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--asf-body)}.asf-rail button:hover:not(:disabled){background:var(--asf-surface-2);color:var(--asf-muted)}.asf-rail .asf-cnt{margin-left:auto;font-family:var(--asf-mono);font-size:10.5px}.asf-rail li.active button{color:var(--asf-blue-deep);background:var(--asf-blue-soft)}.asf-rail li.done button{color:var(--asf-muted)}.asf-rail li.done svg.asf-ic{color:var(--asf-ok)}.asf-stage{flex:1;min-width:0;overflow:auto;padding:28px 20px 40px;display:flex;justify-content:center}.asf-card{width:100%;max-width:660px;align-self:flex-start;background:var(--asf-surface);border:1px solid var(--asf-line);border-radius:14px;box-shadow:var(--asf-shadow);padding:34px 36px 30px}@media (max-width:560px){.asf-card{padding:24px 18px 22px}.asf{inset:0;border-radius:0}}.asf-card.leaving{animation:asf-leave .15s var(--asf-ease) forwards}.asf-card.entering{animation:asf-enter .22s var(--asf-ease)}@keyframes asf-leave{to{opacity:0;transform:translateY(-12px)}}@keyframes asf-enter{0%{opacity:0;transform:translateY(14px)}}.asf-field,.asf-review-group,.asf-welcome-meta{animation:asf-rise .34s var(--asf-ease) both;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes asf-rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.asf-card.entering,.asf-card.leaving,.asf-field,.asf-review-group,.asf-welcome-meta{animation:none}.asf-bar i,.asf-btn,.asf-chip{transition:none}}.asf-chapter-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.asf-chapter-ico{width:38px;height:38px;border-radius:10px;flex:none;background:var(--asf-blue-soft);color:var(--asf-blue-deep);display:flex;align-items:center;justify-content:center}.asf-chapter-ico svg.asf-ic{width:18px;height:18px}.asf-eyebrow{font-family:var(--asf-mono);font-size:11px;color:var(--asf-faint);letter-spacing:.05em}.asf h1.asf-q{font-family:var(--asf-display);font-weight:600;font-size:23px;letter-spacing:-.02em;line-height:1.25;margin:2px 0 0;color:var(--asf-text)}.asf-desc{color:var(--asf-muted);font-size:13px;margin:0 0 26px;max-width:56ch}.asf-fields{display:grid;grid-template-columns:1fr;gap:18px 14px}@media (min-width:620px){.asf-fields{grid-template-columns:1fr 1fr}}.asf-field{grid-column:1/-1}@media (min-width:620px){.asf-field.half{grid-column:auto}}.asf-flabel{display:flex;align-items:baseline;gap:8px;font-size:13px;font-weight:600;color:var(--asf-text);margin-bottom:4px}.asf-req{font-family:var(--asf-mono);font-size:9.5px;color:var(--asf-blue-deep);letter-spacing:.05em;background:var(--asf-blue-soft);border-radius:4px;padding:1px 6px}.asf-vcheck{color:var(--asf-ok);font-size:12px;opacity:0;transform:scale(.6);transition:opacity .18s var(--asf-ease),transform .18s var(--asf-ease)}.asf-vcheck.on{opacity:1;transform:scale(1)}.asf-fhelp{font-size:12px;color:var(--asf-muted);margin:0 0 8px;max-width:58ch;white-space:pre-line}.asf [data-slot=native-select],.asf input[type=email],.asf input[type=text],.asf input[type=url],.asf textarea{width:100%;background:var(--asf-surface);color:var(--asf-text);border:1px solid var(--asf-line-strong);border-radius:8px;padding:10px 13px;font-size:14px;font-family:var(--asf-body);transition:border-color .15s var(--asf-ease),box-shadow .15s var(--asf-ease)}.asf input.mono,.asf textarea.mono{font-family:var(--asf-mono);font-size:13px}.asf input::placeholder,.asf textarea::placeholder{color:var(--asf-faint)}.asf [data-slot=native-select]:hover,.asf input:hover,.asf textarea:hover{border-color:#c3c7d4}.asf [data-slot=native-select]:focus-visible,.asf input:focus,.asf textarea:focus{outline:none;border-color:var(--asf-blue);box-shadow:0 0 0 3px var(--asf-blue-soft)}.asf input.invalid,.asf textarea.invalid{border-color:var(--asf-bad)}.asf textarea{min-height:96px;resize:vertical;line-height:1.55}.asf-chips{display:flex;flex-wrap:wrap;gap:8px}.asf-chip{background:var(--asf-surface);border:1px solid var(--asf-line-strong);color:var(--asf-text);border-radius:8px;padding:9px 15px;font-size:13.5px;min-height:44px;font-family:var(--asf-body);cursor:pointer;transition:transform .14s var(--asf-ease),background .14s var(--asf-ease),border-color .14s var(--asf-ease)}.asf-chip:hover{background:var(--asf-surface-2)}.asf-chip:active{transform:scale(.97)}.asf-chip[aria-pressed=true]{border-color:var(--asf-blue);background:var(--asf-blue-soft);color:var(--asf-blue-deep);font-weight:600}.asf-chip[aria-pressed=true]:before{content:"✓ "}.asf-suggest{margin-bottom:8px}.asf-suggest .asf-chip{min-height:30px;padding:3px 11px;font-size:12px;color:var(--asf-muted);border-color:var(--asf-line)}.asf-list-rows{flex-direction:column;margin-bottom:8px}.asf-list-row,.asf-list-rows{display:flex;gap:8px}.asf-list-row input{flex:1}.asf-fdel,.asf-row-del,.asf-tdel{flex:none;width:38px;min-height:42px;border-radius:8px;background:none;border:1px solid var(--asf-line);color:var(--asf-faint);font-size:15px;cursor:pointer}.asf-fdel:hover,.asf-row-del:hover,.asf-tdel:hover{border-color:var(--asf-bad);color:var(--asf-bad)}.asf-add-row{background:none;border:1px dashed var(--asf-line-strong);color:var(--asf-muted);border-radius:8px;padding:7px 14px;font-size:13px;min-height:36px;cursor:pointer;font-family:var(--asf-body)}.asf-add-row:hover{border-color:var(--asf-blue);color:var(--asf-blue-deep);background:var(--asf-blue-soft)}.asf-drop{border:1.5px dashed var(--asf-line-strong);border-radius:10px;padding:22px 16px;text-align:center;color:var(--asf-muted);font-size:13px;background:var(--asf-surface);cursor:pointer;transition:border-color .15s var(--asf-ease),background .15s var(--asf-ease)}.asf-drop.over,.asf-drop:hover{border-color:var(--asf-blue);background:var(--asf-blue-soft);color:var(--asf-blue-deep)}.asf-drop svg.asf-ic{width:20px;height:20px;display:block;margin:0 auto 8px;color:var(--asf-faint)}.asf-drop.over svg.asf-ic,.asf-drop:hover svg.asf-ic{color:var(--asf-blue-deep)}.asf-drop u{text-underline-offset:2px}.asf-filechip{display:flex;align-items:center;gap:10px;border:1px solid var(--asf-line);border-radius:10px;padding:10px 12px;background:var(--asf-surface-2)}.asf-filechip svg.asf-ic{color:var(--asf-ok)}.asf-fname{font-family:var(--asf-mono);font-size:12.5px;word-break:break-all}.asf-fdel{margin-left:auto;border:0;min-width:32px;min-height:32px}.asf-tcards{display:flex;flex-direction:column;gap:12px;margin-bottom:10px}.asf-tcard{border:1px solid var(--asf-line);border-radius:10px;padding:14px 14px 16px;background:var(--asf-surface-2)}.asf-tcard-head{display:flex;align-items:center;margin-bottom:12px}.asf-tno{font-family:var(--asf-mono);font-size:10.5px;color:var(--asf-faint);letter-spacing:.05em}.asf-tdel{margin-left:auto;border:0;min-width:32px;min-height:32px}.asf-tgrid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:620px){.asf-tgrid{grid-template-columns:1fr 1fr}}.asf-tcol{grid-column:1/-1}@media (min-width:620px){.asf-tcol.half{grid-column:auto}}.asf-tcol label{display:block;font-size:11.5px;font-weight:600;color:var(--asf-muted);margin-bottom:4px}.asf-tcard input{background:var(--asf-surface)}.asf-tadd{width:100%;background:none;border:1.5px dashed var(--asf-line-strong);color:var(--asf-muted);border-radius:10px;padding:14px;font-size:13px;font-weight:500;min-height:48px;cursor:pointer;font-family:var(--asf-body)}.asf-tadd:hover{border-color:var(--asf-blue);color:var(--asf-blue-deep);background:var(--asf-blue-soft)}.asf-tadd-hint{display:block;margin-top:4px;font-size:12px;font-weight:400;color:var(--asf-faint)}.asf-err{display:none;color:var(--asf-bad);font-size:12.5px;margin-top:14px}.asf-err.show{display:block}.asf-nav{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.asf-btn,.asf-nav{align-items:center}.asf-btn{border-radius:8px;border:0;font-size:14px;font-weight:600;min-height:40px;padding:0 20px;display:inline-flex;gap:8px;font-family:var(--asf-body);cursor:pointer;transition:transform .14s var(--asf-ease),background .14s var(--asf-ease)}.asf-btn:disabled{opacity:.55;cursor:not-allowed}.asf-btn:active:not(:disabled){transform:scale(.98)}.asf-btn-primary{background:var(--asf-blue);color:#fff}.asf-btn-primary:hover:not(:disabled){background:var(--asf-blue-deep)}.asf-btn-ghost{background:none;border:1px solid var(--asf-line-strong);color:var(--asf-text)}.asf-btn-ghost:hover:not(:disabled){background:var(--asf-surface-2)}.asf-btn-text{background:none;border:0;color:var(--asf-muted);font-weight:500;padding:0 10px;min-height:40px}.asf-btn-text:hover:not(:disabled){color:var(--asf-text)}.asf-savestate{margin-left:auto;font-family:var(--asf-mono);font-size:11px;color:var(--asf-faint)}.asf-welcome-meta{display:flex;gap:26px;margin:24px 0 28px}.asf-welcome-meta div{display:flex;flex-direction:column;gap:2px}.asf-welcome-meta .n{font-family:var(--asf-mono);font-size:24px;color:var(--asf-text)}.asf-welcome-meta .n.hl{color:var(--asf-blue-deep)}.asf-welcome-meta .l{font-size:11px;font-weight:600;color:var(--asf-muted)}.asf-resume-note{font-size:12.5px;color:var(--asf-ok);margin:-10px 0 20px}.asf-services{display:grid;gap:8px;margin:0 0 22px}.asf-service{text-align:left;background:var(--asf-surface);border:1px solid var(--asf-line-strong);border-radius:10px;padding:12px 14px;cursor:pointer;font-family:var(--asf-body);color:var(--asf-text)}.asf-service strong{display:block;font-size:13.5px}.asf-service small{display:block;color:var(--asf-muted);font-size:12px;margin-top:2px}.asf-service.selected{border-color:var(--asf-blue);background:var(--asf-blue-soft)}.asf-service:disabled{opacity:.5;cursor:not-allowed}.asf-template{margin:0 0 18px}.asf-template label{display:block;font-size:12px;font-weight:600;margin-bottom:6px;color:var(--asf-muted)}.asf-template>.relative{width:100%}.asf-template small{display:block;margin-top:6px;color:var(--asf-faint);font-size:12px}.asf-review-group{border:1px solid var(--asf-line);border-radius:10px;margin-bottom:12px;overflow:hidden}.asf-review-group h3{font-family:var(--asf-display);font-size:13px;font-weight:600;margin:0;padding:10px 14px;background:var(--asf-surface-2);border-bottom:1px solid var(--asf-line);display:flex;align-items:center;gap:8px;color:var(--asf-text)}.asf-redit{margin-left:auto;background:none;border:0;color:var(--asf-blue-deep);font-size:12px;padding:0;font-weight:600;cursor:pointer;font-family:var(--asf-body)}.asf-redit:hover{text-decoration:underline}.asf-review-row{display:flex;gap:12px;padding:9px 14px;border-bottom:1px solid var(--asf-line);align-items:baseline}.asf-review-row:last-child{border-bottom:0}.asf-rl{flex:0 0 38%;font-size:12px;color:var(--asf-muted)}.asf-rv{flex:1;font-size:13px;white-space:pre-wrap;word-break:break-word}.asf-rv.empty{color:var(--asf-faint);font-style:italic}.asf-done-mark{width:46px;height:46px;border-radius:50%;background:var(--asf-blue-soft);color:var(--asf-blue-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:1px solid var(--asf-blue)}.asf-done-mark svg.asf-ic{width:20px;height:20px}.asf-note{margin-top:24px;padding:11px 14px;border:1px solid var(--asf-line);border-radius:8px;background:var(--asf-surface-2);color:var(--asf-muted);font-size:12.5px}.app-shell{background:var(--bg)}.app-shell .sidebar,.app-shell .topbar{background:var(--sidebar);border-color:var(--border)}.app-shell .nav-item{border:1px solid transparent;border-radius:8px}.app-shell .nav-item.active{background:var(--surface-2);border-color:var(--border-strong);box-shadow:var(--control-shadow);color:var(--text)}.app-shell .nav-item.active .nav-ico{color:var(--text)}.app-shell .nav-section{color:var(--faint);letter-spacing:.08em}.app-shell .context-trigger{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--control-shadow)}.app-shell :is(.audit-toolbar-btn,.audit-hero-reports,.vault-btn-secondary,.vault-action-btn,.project-profile-add,.project-profile-cancel){background:linear-gradient(var(--surface-2),var(--surface));border:1px solid var(--border-strong);border-radius:7px;color:var(--text);box-shadow:var(--control-shadow);font-weight:500}.app-shell :is(.ov-next-go,.ws-welcome-primary){background:var(--action-fill);border-color:var(--action-fill);color:var(--primary-ink);box-shadow:var(--control-shadow)}.app-shell :is(.ov-next-go,.ws-welcome-primary):hover{background:var(--action-fill-hover)}.app-shell :is(.audit-toolbar-btn,.audit-hero-reports,.vault-btn-secondary,.project-profile-add):hover{background:var(--hover);border-color:var(--border-strong)}.app-shell :is(.ov-board-card,.ov-panel,.audit-hero,.audit-list-panel,.action-center-shell,.settings-card,.project-profile-card){border:1px solid var(--border);background:var(--surface);border-radius:12px;box-shadow:var(--panel-shadow)}.app-shell :is(.ov-kpi strong,.audit-hero-stats,.monitor-chart-summary,.project-profile-progress,.vault-meter,.audit-finding-matrix){font-variant-numeric:tabular-nums}.app-shell .ov-kpis{gap:12px;background:transparent;border:0}.app-shell .ov-kpi{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface);box-shadow:var(--panel-shadow)}.app-shell .ov-kpi>strong{display:block;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--inset);font-weight:550;letter-spacing:-.035em}.app-shell .ov-kpi>span{color:var(--muted);font-size:12px}.app-shell .ov-kpi>small{color:var(--muted)}.app-shell :is(.ov-attn-row,.ov-mini-row,.project-risk-row,.action-center-row,.vault-file-row,.audit-report-row):hover{background:var(--inset)}.app-shell :is(.ov-mini-row,.ov-attn-row,.project-risk-row,.vault-file-row,.action-center-row){border-color:var(--border)}.app-shell .audit-hero{padding:18px 20px;margin-bottom:16px}.app-shell .audit-tabs{gap:20px;margin-bottom:16px}.app-shell .audit-tabs button{color:var(--muted)}.app-shell .audit-tabs button.active{color:var(--text)}.app-shell .audit-findings-toolbar{flex:0 0 auto;align-self:stretch;min-height:0;height:auto;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--panel-shadow)}.app-shell .audit-findings-toolbar .audit-filter-row{flex:0 1 auto;display:inline-flex;gap:3px;padding:3px;background:var(--inset);border:1px solid var(--border);border-radius:8px}.app-shell .audit-filter-pill{min-height:30px;padding:5px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:12px}.app-shell .audit-filter-pill.active{border-color:var(--border-strong);background:var(--surface-2);color:var(--text);box-shadow:var(--control-shadow)}.app-shell .audit-finding-row{padding:12px 14px;border-color:var(--border)}.app-shell .audit-finding-row strong{font-size:12px;line-height:1.55}.app-shell .audit-finding-row.active{background:var(--inset)}.app-shell .audit-finding-matrix{min-width:30rem}.app-shell .audit-finding-matrix th{background:var(--inset);color:var(--muted);font-weight:500}.app-shell .audit-finding-matrix :is(th,td){border-color:var(--border)}.app-shell .audit-finding-matrix tbody tr:hover{background:var(--inset)}.app-shell :is(.audit-finding-read-meta,.audit-finding-row-meta){color:var(--muted)}.app-shell :is(.action-center-tabs,.vault-views,.tx-mode-tabs){gap:3px}.app-shell :is(.action-center-tabs,.vault-views,.tx-mode-tabs) button{border-radius:6px;color:var(--muted)}.app-shell :is(.action-center-tabs,.vault-views,.tx-mode-tabs) button.active{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong),var(--control-shadow)}.app-shell .action-center-toolbar{background:var(--surface);border-color:var(--border)}.app-shell :is(.vault-search-input,.project-profile-grid input,.project-profile-grid textarea,.vault-input){background:var(--inset);border-color:var(--border);border-radius:7px;color:var(--text)}.app-shell :is(.vault-file-icon,.vault-dropzone){background:var(--inset);border-color:var(--border);border-radius:8px}.app-shell .vault-list-head{background:transparent;color:var(--muted)}.app-shell :is(.monitor-chart-wrap,.tx-card,.results-section){background:var(--inset);border:1px solid var(--border);border-radius:9px}.app-shell .monitor-chart-wrap{padding:12px 8px}.app-shell .chart-gridline{stroke:var(--border);stroke-dasharray:3 4}.app-shell .monitor-chart-tooltip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;box-shadow:var(--control-shadow)}.app-shell .chart-mark rect{rx:4px}.app-shell .settings-card-title{font-weight:600}.app-shell .project-profile-progress{padding:9px 13px;background:var(--inset);border:1px solid var(--border);border-radius:8px}.app-shell :is(.vault-storage-track,.ov-kpi-bar){background:var(--border)}.app-shell :is(.audit-toolbar-btn,.audit-filter-pill,.vault-action-btn,.project-profile-add):focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (max-width:760px){.app-shell .audit-findings-toolbar{padding:10px;gap:10px}.app-shell .audit-findings-toolbar .audit-filter-row{flex-wrap:wrap}.app-shell .audit-filter-pill{min-height:40px}.app-shell .ov-kpis{gap:8px}.app-shell .ov-kpi{padding:12px}}