@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy: #1f2a44;--navy-hover: #2b3a5e;--ink: #1b2130;--muted: #5b6475;--line: #d9dde5;--surface: #ffffff;--page: #f4f5f8;--blue: #1b5fc1;--blue-bg: #e6f0fc;--green: #1d7a3c;--green-bg: #e4f4ea;--amber: #8a5300;--amber-bg: #fff3d6;--amber-line: #e9c46a;--red: #b3261e;--red-bg: #fdeceb;--grey-bg: #eceef3;--radius: 6px;--radius-lg: 8px;--control-border: #8590a4;--focus: #1b5fc1;--font: "Public Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: .8125rem;--text-sm: .875rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--weight-regular: 400;--weight-medium: 500;--weight-strong: 600;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.25;margin:0 0 .25rem;color:var(--navy)}h1{font-size:var(--text-xl);font-weight:650;letter-spacing:-.01em}h2{font-size:var(--text-lg);font-weight:var(--weight-strong)}h3{font-size:var(--text-base);font-weight:var(--weight-strong)}p{margin:0 0 .5rem}a{color:var(--blue)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.5rem 1rem;z-index:10}.skip-link:focus{left:0}.topbar{background:var(--navy);color:#fff}.topbar-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar-left,.topbar-right{display:flex;align-items:center;gap:1.5rem}.brand{font-weight:700;letter-spacing:.08em;font-size:var(--text-md)}.brand-large{color:var(--navy);font-size:1.4rem;margin-bottom:.5rem}.topbar nav{display:flex;gap:.25rem}.topbar nav a{color:#d7dcea;text-decoration:none;padding:.4rem .75rem;border-radius:var(--radius)}.topbar nav a:hover{background:var(--navy-hover);color:#fff}.topbar nav a.active{background:#ffffff24;color:#fff}.topbar :focus-visible{outline-color:#fff}.user{font-size:var(--text-sm);color:#d7dcea}.page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.page:focus{outline:none}.stack{display:flex;flex-direction:column;gap:1.5rem}.stack-small{display:flex;flex-direction:column;gap:.75rem}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}.breadcrumb{margin:0;font-size:var(--text-sm)}.gate{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:440px;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.gate-card p{margin:0}.button{font:inherit;font-weight:var(--weight-strong);padding:.55rem 1rem;border-radius:var(--radius);border:1px solid var(--control-border);background:var(--surface);color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease,transform 80ms ease}.button:hover:not(:disabled){background:var(--grey-bg)}.button:active:not(:disabled),.segmented-option:active{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button[aria-busy=true]:disabled{opacity:.85;cursor:progress}.button-primary{background:var(--navy);border-color:var(--navy);color:#fff}.button-primary:hover:not(:disabled){background:var(--navy-hover)}.button-danger{border-color:var(--red);color:var(--red)}.button-danger:hover:not(:disabled){background:var(--red-bg)}.button-quiet{background:transparent;border-color:#fff6;color:#fff}.button-quiet:hover:not(:disabled){background:var(--navy-hover)}.button-large{padding:.9rem 1.5rem;font-size:var(--text-md);display:inline-flex;align-items:baseline;gap:.75rem}.button-meta{font-size:var(--text-xs);font-weight:var(--weight-regular);opacity:.85;font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:.35rem;border:0;padding:0;margin:0;min-width:0}.field>label,.field>legend{font-weight:var(--weight-strong);padding:0}input[type=text],textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--control-border);border-radius:var(--radius);background:#fff;color:var(--ink);width:100%;max-width:640px}::placeholder{color:var(--muted);opacity:1}input[type=text]:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--focus)}input[aria-invalid=true]{border-color:var(--red)}textarea{resize:vertical}.field-error{color:var(--red);margin:0;font-size:var(--text-sm)}.choice{display:flex;align-items:flex-start;gap:.5rem;font-weight:400;cursor:pointer}.choice input{margin-top:.3rem;accent-color:var(--navy)}.alert{border-radius:var(--radius);padding:.75rem 1rem;margin:0;border:1px solid}.alert ul{margin:.25rem 0 0;padding-left:1.25rem}.alert-error{background:var(--red-bg);border-color:#f1b5b1;color:#7a1a14}.alert-warning{background:var(--amber-bg);border-color:var(--amber-line);color:#5c3800}.alert-neutral{background:var(--grey-bg);border-color:var(--line)}.usage{display:flex;gap:var(--space-3) var(--space-6);flex-wrap:wrap;margin:0}.usage dt,.facts dt,.run-meta dt,.summary-facts dt,.usage-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.usage dd,.run-meta dd,.summary-facts dd{margin:.1rem 0 0;font-weight:var(--weight-strong);font-size:var(--text-lg);line-height:1.3;font-variant-numeric:tabular-nums}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-6);margin:var(--space-4) 0 0}.facts dd{margin:.25rem 0 0;font-variant-numeric:tabular-nums}.tier{display:flex;gap:.75rem;align-items:baseline;margin-bottom:.35rem}.tier-name{font-weight:600;min-width:3.5rem}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.chips li{background:var(--grey-bg);border-radius:999px;padding:.1rem .65rem;font-size:var(--text-sm)}.run-header{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:flex-start}.run-meta{display:flex;gap:2rem;margin:0}.badge{display:inline-block;padding:.1rem .65rem;border-radius:999px;font-size:var(--text-xs);font-weight:var(--weight-strong);background:var(--grey-bg);color:#3b4356}.badge-running{background:var(--blue-bg);color:var(--blue)}.badge-queued{background:var(--grey-bg);color:#3b4356}.badge-done{background:var(--green-bg);color:var(--green)}.badge-done_with_warnings{background:var(--amber-bg);color:var(--amber)}.badge-failed{background:var(--red-bg);color:var(--red)}.badge-cancelled{background:var(--grey-bg);color:var(--muted)}.steps{list-style:none;margin:0;padding:0}.step{display:grid;grid-template-columns:20px 1fr auto;gap:.75rem;align-items:start;padding:.6rem 0;border-top:1px solid var(--line)}.step:first-child{border-top:0}.step-body{display:flex;flex-direction:column}.step-name{font-weight:600}.step-message{color:var(--muted);font-size:var(--text-sm)}.step-time{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.icon{margin-top:2px}.icon-done{color:var(--green)}.icon-warn{color:#c98400}.icon-fail{color:var(--red)}.icon-running{color:var(--blue);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.icon-running{animation:none}}.downloads-main{display:flex;gap:1rem;flex-wrap:wrap}.files{list-style:none;margin:.5rem 0 0;padding:0}.files li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-top:1px solid var(--line)}.files li>div{display:flex;flex-direction:column;min-width:0}.file-name{font-weight:600;overflow-wrap:anywhere}.report{overflow-wrap:break-word}.report>:where(p,ul,ol,h1,h2,h3,h4,blockquote){max-width:85ch}.report h1,.report h2,.report h3{margin-top:1.25rem}.report h1{font-size:var(--text-lg)}.report h2{font-size:var(--text-md)}.search-terms{max-width:85ch;margin:0 0 var(--space-3)}.search-terms>summary{display:inline-block;cursor:pointer;font-weight:var(--weight-strong);color:var(--navy);padding:var(--space-1) 0;border-radius:4px}.search-terms>summary:hover{text-decoration:underline}.term-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.term-list li{background:var(--grey-bg);border-radius:4px;padding:.1rem .5rem;font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere}.table-scroll{max-height:34rem;overflow:auto;margin:.75rem 0 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.report table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:var(--text-sm);line-height:1.4;word-break:normal}.report th,.report td{padding:.4rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);word-break:normal}.report th{position:sticky;top:0;z-index:1;white-space:nowrap;background:#eef0f5;color:var(--navy);font-weight:var(--weight-strong)}.report td{min-width:6rem;max-width:26rem;overflow-wrap:break-word}.report td a,.report td code{overflow-wrap:anywhere}.report tbody tr:nth-child(2n) td{background:#f7f8fb}.report tbody tr:last-child td{border-bottom:0}.report code,.report pre{background:var(--grey-bg);border-radius:4px;padding:.1rem .3rem;font-size:.9em}.report pre{padding:.75rem;overflow-x:auto}.md-image{color:var(--muted);font-style:italic}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.7rem .85rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);white-space:nowrap;font-size:var(--text-sm)}.table .col-title{white-space:normal;width:40%;min-width:14rem}.clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.table th{font-size:var(--text-xs);font-weight:var(--weight-strong);color:#4a5365;background:#fafbfc;vertical-align:bottom}.table .num{text-align:right;font-variant-numeric:tabular-nums}.skeleton-end{margin-left:auto}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:#f6f8fc}@media(max-width:1100px){.facts{grid-template-columns:1fr}.page{padding:1.5rem 1rem 3rem}}.overlay{position:fixed;inset:0;background:#1b21308c;display:grid;place-items:center;padding:1.5rem;z-index:20}.dialog{background:var(--surface);border-radius:var(--radius-lg);padding:1.75rem;width:100%;max-width:440px;box-shadow:0 10px 40px #1b21304d}.dialog-actions{display:flex;gap:.75rem;margin-top:1.25rem}.dialog-detail{background:var(--grey-bg);border-radius:var(--radius);padding:.5rem .75rem;font-size:var(--text-sm);overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tabular{font-variant-numeric:tabular-nums}@keyframes fade-in{0%{opacity:0}}.fade-in,.page-enter{animation:fade-in .18s ease-out}.gate-pending{animation:fade-in .2s ease-out .3s backwards}.spinner{display:inline-block;flex:none;width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .9s linear infinite;vertical-align:-.125em}.skeleton{display:block;max-width:100%;border-radius:4px;background:linear-gradient(90deg,#e6e9f0 25%,#f1f3f8,#e6e9f0 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}fieldset.form-body{border:0;padding:0;margin:0;min-width:0}fieldset.form-body:disabled input,fieldset.form-body:disabled textarea{background:var(--page);color:var(--muted)}.action-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.lookup-status{display:inline-flex;align-items:center;gap:.6rem;margin:0;font-size:var(--text-sm)}.usage-label{display:block;margin-bottom:.2rem}.segmented{display:inline-flex;padding:3px;border:1px solid var(--control-border);border-radius:var(--radius-lg);background:var(--grey-bg)}.segmented-option{font:inherit;font-weight:var(--weight-strong);font-size:var(--text-sm);padding:.35rem .9rem;border:0;border-radius:6px;background:transparent;color:#3b4356;cursor:pointer;transition:background-color .12s ease,color .12s ease}.segmented-option:hover:not([aria-pressed=true]){background:#fff9}.segmented-option[aria-pressed=true]{background:var(--navy);color:#fff}.list-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:-.75rem}.list-meta .button{min-width:7.5rem}.status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.status-line{display:inline-flex;align-items:center;gap:.5rem}.running-mark{width:.55rem;height:.55rem;border-radius:50%;background:var(--blue);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #1b5fc180}50%{box-shadow:0 0 0 5px #1b5fc100}}.run-meta>div{min-width:5.5rem}.run-live{display:flex;flex-direction:column;gap:.6rem}.run-live-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.run-live p{margin:0}.connection{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);font-weight:var(--weight-strong);padding:.2rem .75rem;border-radius:999px;background:var(--grey-bg);color:#3b4356}.connection-dot{width:.6rem;height:.6rem;border-radius:50%;background:#8a93a6}.connection-live{background:var(--green-bg);color:var(--green)}.connection-live .connection-dot{background:var(--green);animation:pulse-green 1.8s ease-in-out infinite}.connection-down{background:var(--amber-bg);color:var(--amber)}.connection-down .connection-dot{background:#c98400}@keyframes pulse-green{0%,to{box-shadow:0 0 #1d7a3c80}50%{box-shadow:0 0 0 5px #1d7a3c00}}.run-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1.5rem;align-items:start}.run-grid-single{grid-template-columns:minmax(0,1fr)}@media(max-width:1100px){.run-grid:not(.run-grid-single){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:900px){.run-grid{grid-template-columns:minmax(0,1fr)}}.summary-facts{display:flex;gap:var(--space-4) var(--space-7);flex-wrap:wrap;margin:0}.step-group>.step-body{gap:.15rem}.steps-nested{margin:.4rem 0 0;padding-left:.25rem;border-left:2px solid var(--line)}.steps-nested .step{padding:.4rem 0 .4rem .75rem;border-top:0}.step-pending .step-name,.step-unavailable .step-name,.step-stopped .step-name{font-weight:400;color:var(--muted)}.step-running .step-name{color:var(--navy)}.icon-pending{color:#8a93a6}.step-time{min-width:3.5rem;text-align:right;white-space:nowrap}.feed-card{padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.75rem}.feed-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.feed-heading h2{margin:0}.feed-frame{position:relative}.feed-scroll{height:30rem;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fafbfd;padding:.5rem .75rem;overscroll-behavior:contain}.feed-list{list-style:none;margin:0;padding:0}.feed-line{display:grid;grid-template-columns:4.6rem 7.5rem minmax(0,1fr);gap:.5rem;align-items:baseline;padding:.25rem 0;font-size:var(--text-sm);line-height:1.45;border-bottom:1px solid #eef0f5}.feed-line:last-child{border-bottom:0}.feed-line time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--text-xs)}.chip{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .5rem;border-radius:999px;background:var(--grey-bg);color:#3b4356;font-size:.8125rem;font-weight:600;line-height:1.5}.feed-message{overflow-wrap:anywhere}.feed-found .feed-message{color:var(--green);font-weight:600}.feed-problem .feed-message{color:var(--amber);font-weight:600}.feed-truncated{margin:0 0 .35rem}.feed-empty,.feed-idle{margin:.5rem 0 .25rem;font-size:var(--text-sm)}.feed-idle{color:var(--muted)}.dots i{font-style:normal;animation:blink 1.4s infinite both}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.feed-jump{position:absolute;left:50%;bottom:.75rem;transform:translate(-50%);box-shadow:0 4px 14px #1b21304d}.feed-earlier{display:flex;margin:0 auto .5rem;font-size:var(--text-sm);padding:.25rem .75rem}.button-quiet-dark{background:transparent}.overlay-enter{animation:fade-in .15s ease-out}@keyframes dialog-rise{0%{opacity:0;transform:translateY(8px)}}.dialog-enter{animation:dialog-rise .18s ease-out}.dialog-actions .button-danger{margin-left:auto}@media(prefers-reduced-motion:reduce){.fade-in,.page-enter,.gate-pending,.overlay-enter,.dialog-enter,.spinner,.skeleton,.running-mark,.connection-live .connection-dot,.dots i,.icon-running{animation:none}.dots i{opacity:1}.button,.segmented-option{transition:none}.button:active:not(:disabled),.segmented-option:active{transform:none}}
