@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap");:root{--portal-bg:#f6f7fb;--portal-bg-elevated:#fff;--portal-surface:#fff;--portal-surface-2:#f3f5fa;--portal-surface-muted:#eef1f7;--portal-border:rgba(15,23,42,.08);--portal-border-strong:rgba(15,23,42,.14);--portal-text:#0b1220;--portal-text-soft:#1f2a44;--portal-text-muted:#5d6b85;--portal-text-subtle:#94a0b6;--portal-primary:#2f6df6;--portal-primary-hover:#2456d6;--portal-primary-strong:#1a3fb8;--portal-primary-soft:rgba(47,109,246,.1);--portal-primary-border:rgba(47,109,246,.28);--portal-accent:#14b8a6;--portal-accent-soft:rgba(20,184,166,.1);--portal-success:#16a34a;--portal-success-soft:rgba(22,163,74,.12);--portal-success-border:rgba(22,163,74,.3);--portal-warning:#c2730b;--portal-warning-soft:rgba(217,119,6,.12);--portal-warning-border:rgba(217,119,6,.3);--portal-danger:#dc2626;--portal-danger-soft:rgba(220,38,38,.1);--portal-danger-border:rgba(220,38,38,.3);--portal-shadow-sm:0 1px 2px rgba(15,23,42,.04);--portal-shadow:0 4px 18px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.04);--portal-shadow-lg:0 24px 48px -16px rgba(15,23,42,.2);--portal-radius-sm:8px;--portal-radius:12px;--portal-radius-lg:18px;--portal-radius-xl:24px;--portal-radius-pill:999px;--portal-transition:180ms cubic-bezier(0.4,0,0.2,1);--portal-focus-ring:0 0 0 3px rgba(47,109,246,.22);color-scheme:light}@media (prefers-color-scheme:dark){:root{--portal-bg:#0a0e1a;--portal-bg-elevated:#121728;--portal-surface:#141a30;--portal-surface-2:#1b2240;--portal-surface-muted:#181f3a;--portal-border:hsla(0,0%,100%,.08);--portal-border-strong:hsla(0,0%,100%,.14);--portal-text:#e7ecf3;--portal-text-soft:#c9d2e2;--portal-text-muted:#9aa4b8;--portal-text-subtle:#6c7691;--portal-primary:#6ea4ff;--portal-primary-hover:#87b5ff;--portal-primary-strong:#4880e6;--portal-primary-soft:rgba(110,164,255,.16);--portal-primary-border:rgba(110,164,255,.36);--portal-accent:#38e5c1;--portal-accent-soft:rgba(56,229,193,.14);--portal-success:#34d399;--portal-success-soft:rgba(52,211,153,.16);--portal-success-border:rgba(52,211,153,.36);--portal-warning:#fbbf24;--portal-warning-soft:rgba(251,191,36,.16);--portal-warning-border:rgba(251,191,36,.36);--portal-danger:#fb7185;--portal-danger-soft:rgba(251,113,133,.16);--portal-danger-border:rgba(251,113,133,.36);--portal-shadow-sm:0 1px 2px rgba(0,0,0,.4);--portal-shadow:0 16px 40px rgba(0,0,0,.45);--portal-shadow-lg:0 30px 60px rgba(0,0,0,.55);--portal-focus-ring:0 0 0 3px rgba(110,164,255,.3);color-scheme:dark}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body,html{margin:0;padding:0}body{min-height:100vh;font-family:Inter,system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55;color:var(--portal-text);background:var(--portal-bg);background-image:radial-gradient(1200px 600px at 8% -10%,var(--portal-primary-soft),transparent 55%),radial-gradient(1000px 500px at 92% -5%,var(--portal-accent-soft),transparent 55%);background-repeat:no-repeat;background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--portal-primary);text-decoration:none;transition:color var(--portal-transition)}a:hover{color:var(--portal-primary-hover);text-decoration:underline;text-underline-offset:3px}h1,h2,h3,h4,h5{margin:0;color:var(--portal-text);line-height:1.25;letter-spacing:-.01em}h1{font-size:clamp(26px,4.4vw,36px);font-weight:700;letter-spacing:-.022em}h2{font-size:20px;font-weight:650}h3{font-size:16px}h3,h4{font-weight:600}h4{font-size:14px}p{margin:0}b,strong{font-weight:650}code,kbd,pre,samp{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}code{background:var(--portal-surface-muted);border-radius:6px;padding:2px 6px;border:1px solid var(--portal-border)}::selection{background:var(--portal-primary-soft);color:var(--portal-text)}.portal-shell{min-height:100vh;display:flex;flex-direction:column}.portal-shell main{flex:1 1;width:100%;max-width:1100px;margin:0 auto;padding:28px 18px 80px;display:flex;flex-direction:column;gap:24px}@media (min-width:768px){.portal-shell main{padding:44px 32px 96px;gap:28px}}.portal-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--portal-border);background:hsla(0,0%,100%,.78);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}@media (prefers-color-scheme:dark){.portal-header{background:rgba(11,14,26,.72)}}@media (min-width:768px){.portal-header{padding:14px 32px}}.portal-logo{display:inline-flex;align-items:center;gap:10px;font-weight:650;font-size:15px;letter-spacing:-.01em;color:var(--portal-text)}.portal-logo:hover{text-decoration:none;color:var(--portal-text)}.portal-logo-mark{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--portal-primary),var(--portal-accent));color:#fff;font-weight:700;font-size:14px;letter-spacing:-.04em;box-shadow:0 6px 14px -4px rgba(47,109,246,.45);flex-shrink:0;overflow:hidden}.portal-logo-mark img{width:100%;height:100%;object-fit:cover}.portal-nav{margin-left:auto;display:flex;gap:4px;align-items:center}.portal-nav-link{display:inline-flex;align-items:center;padding:8px 12px;border-radius:9px;color:var(--portal-text-muted);font-weight:500;font-size:14px;transition:background var(--portal-transition),color var(--portal-transition)}.portal-nav-link:hover{color:var(--portal-text);background:var(--portal-surface-muted);text-decoration:none}.portal-nav-link[aria-current=page]{color:var(--portal-primary);background:var(--portal-primary-soft)}.portal-mobile-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--portal-border-strong);background:var(--portal-surface);color:var(--portal-text);cursor:pointer;padding:0;margin-left:auto}.portal-mobile-toggle:hover{background:var(--portal-surface-muted)}.portal-mobile-toggle svg{width:20px;height:20px}@media (max-width:767px){.portal-mobile-toggle{display:inline-flex}.portal-nav{position:fixed;top:68px;right:12px;left:12px;margin-left:0;flex-direction:column;align-items:stretch;gap:2px;padding:10px;background:var(--portal-bg-elevated);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);box-shadow:var(--portal-shadow-lg);transform-origin:top right;transform:scale(.96) translateY(-6px);opacity:0;pointer-events:none;transition:transform var(--portal-transition),opacity var(--portal-transition)}.portal-nav.is-open{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}.portal-nav-link{padding:12px 14px;font-size:15px}.portal-nav form{display:block;padding-top:6px;margin-top:4px;border-top:1px solid var(--portal-border)}.portal-nav form .button-secondary{width:100%}}.portal-section{display:flex;flex-direction:column;gap:12px}.portal-page-header{display:flex;flex-direction:column;gap:6px}.portal-page-header h1{margin:0}.portal-page-header .muted{font-size:15px}.portal-card{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);padding:22px;box-shadow:var(--portal-shadow-sm)}@media (min-width:640px){.portal-card{padding:26px}}@media (min-width:1024px){.portal-card{padding:28px}}.portal-card--soft{background:var(--portal-surface-2);box-shadow:none}.portal-card--accent{background:radial-gradient(600px 240px at 0 0,var(--portal-primary-soft),transparent 60%),radial-gradient(600px 260px at 100% 100%,var(--portal-accent-soft),transparent 60%),var(--portal-surface);border-color:var(--portal-border)}.portal-card h2:first-child,.portal-card h3:first-child,.portal-card+.portal-card{margin-top:0}.portal-title{font-size:clamp(28px,4.4vw,38px);font-weight:750;letter-spacing:-.025em;background:linear-gradient(120deg,var(--portal-text) 0,var(--portal-text) 50%,var(--portal-primary) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;margin:0}.portal-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--portal-radius-pill);background:var(--portal-primary-soft);color:var(--portal-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--portal-primary-border);width:-moz-fit-content;width:fit-content}.muted{color:var(--portal-text-muted)}.subtle{color:var(--portal-text-subtle);font-size:13px}.button-danger,.button-ghost,.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;min-height:42px;border-radius:var(--portal-radius);font-weight:600;font-size:14px;line-height:1;cursor:pointer;border:1px solid transparent;font-family:inherit;text-decoration:none;transition:transform var(--portal-transition),background var(--portal-transition),border-color var(--portal-transition),box-shadow var(--portal-transition),opacity var(--portal-transition);white-space:nowrap}.button-primary{background:linear-gradient(135deg,var(--portal-primary),var(--portal-primary-strong));color:#fff;box-shadow:0 6px 14px -3px rgba(47,109,246,.45),inset 0 -1px 0 rgba(0,0,0,.1)}.button-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px -4px rgba(47,109,246,.55),inset 0 -1px 0 rgba(0,0,0,.1);color:#fff;text-decoration:none}.button-primary:active{transform:translateY(0)}.button-primary:focus-visible{outline:none;box-shadow:var(--portal-focus-ring),0 6px 14px -3px rgba(47,109,246,.45)}.button-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.button-secondary{background:var(--portal-surface);color:var(--portal-text);border-color:var(--portal-border-strong)}.button-secondary:hover{background:var(--portal-surface-muted);text-decoration:none;color:var(--portal-text)}.button-secondary:focus-visible{outline:none;box-shadow:var(--portal-focus-ring)}.button-secondary:disabled{opacity:.55;cursor:not-allowed}.button-ghost{background:transparent;color:var(--portal-text-muted);padding:8px 10px;min-height:36px}.button-ghost:hover{background:var(--portal-surface-muted);color:var(--portal-text);text-decoration:none}.button-danger{background:var(--portal-danger);color:#fff;border-color:var(--portal-danger)}.button-danger:hover{filter:brightness(.92);color:#fff;text-decoration:none}.button-danger:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(220,38,38,.3)}.button-block{width:100%}input,select,textarea{width:100%;background:var(--portal-bg-elevated);color:var(--portal-text);border:1px solid var(--portal-border-strong);padding:11px 14px;border-radius:var(--portal-radius);font:inherit;font-size:15px;transition:border-color var(--portal-transition),box-shadow var(--portal-transition),background var(--portal-transition)}textarea{line-height:1.55;resize:vertical;min-height:96px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--portal-text-muted) 50%),linear-gradient(135deg,var(--portal-text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}input:hover,select:hover,textarea:hover{border-color:var(--portal-text-subtle)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--portal-primary);box-shadow:var(--portal-focus-ring)}input::placeholder,textarea::placeholder{color:var(--portal-text-subtle)}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--portal-primary);cursor:pointer}input[type=file]{padding:9px 12px;cursor:pointer}input[type=file]::-webkit-file-upload-button{margin-right:12px;padding:8px 12px;border-radius:8px;border:1px solid var(--portal-border-strong);background:var(--portal-surface);color:var(--portal-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}input[type=file]::file-selector-button{margin-right:12px;padding:8px 12px;border-radius:8px;border:1px solid var(--portal-border-strong);background:var(--portal-surface);color:var(--portal-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}label{display:block;font-size:13px;font-weight:600;color:var(--portal-text);margin-bottom:6px;letter-spacing:0;text-transform:none}.field-hint{margin-top:6px;font-size:12px;color:var(--portal-text-muted);line-height:1.5}.form-grid{display:grid;grid-gap:16px;gap:16px}@media (min-width:640px){.form-grid--2{grid-template-columns:1fr 1fr}.form-grid--3{grid-template-columns:repeat(3,1fr)}}.checkbox-row{display:flex;align-items:flex-start;gap:12px;line-height:1.55;cursor:pointer;padding:12px 14px;border-radius:var(--portal-radius);border:1px solid var(--portal-border);background:var(--portal-surface);transition:border-color var(--portal-transition),background var(--portal-transition)}.checkbox-row:hover{border-color:var(--portal-primary-border);background:var(--portal-primary-soft)}.checkbox-row input{margin-top:3px;flex-shrink:0}.portal-table-wrap{width:100%;overflow-x:auto;border-radius:var(--portal-radius-lg);border:1px solid var(--portal-border);background:var(--portal-surface)}table{width:100%;border-collapse:collapse}table td,table th{text-align:left;padding:14px 18px;font-size:14px;vertical-align:middle}table td,table th{border-bottom:1px solid var(--portal-border)}table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--portal-text-muted);background:var(--portal-surface-muted)}table tbody tr{transition:background var(--portal-transition)}table tbody tr:hover{background:var(--portal-surface-muted)}table tr:last-child td{border-bottom:0}@media (max-width:640px){table.portal-table-stack thead{display:none}table.portal-table-stack tr{display:grid;grid-gap:6px;gap:6px;padding:16px 18px;border-bottom:1px solid var(--portal-border)}table.portal-table-stack tbody tr:last-child{border-bottom:0}table.portal-table-stack tbody tr:hover{background:transparent}table.portal-table-stack td{display:flex;justify-content:space-between;align-items:center;border:0;padding:0;gap:14px;font-size:14px}table.portal-table-stack td[data-label]:before{content:attr(data-label);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--portal-text-muted)}table.portal-table-stack td[data-primary]{font-size:15px;font-weight:600;margin-bottom:4px}table.portal-table-stack td[data-primary]:before{display:none}}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--portal-radius-pill);font-size:12px;font-weight:600;letter-spacing:.01em;background:var(--portal-primary-soft);color:var(--portal-primary);border:1px solid var(--portal-primary-border);white-space:nowrap}.status-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.9}.status-pill.warn{background:var(--portal-warning-soft);color:var(--portal-warning);border-color:var(--portal-warning-border)}.status-pill.danger{background:var(--portal-danger-soft);color:var(--portal-danger);border-color:var(--portal-danger-border)}.status-pill.success{background:var(--portal-success-soft);color:var(--portal-success);border-color:var(--portal-success-border)}.error-banner,.info-banner,.success-banner{display:flex;gap:12px;padding:12px 16px;border-radius:var(--portal-radius);margin-bottom:14px;font-size:14px;line-height:1.55;border:1px solid var(--portal-border)}.error-banner{background:var(--portal-danger-soft);border-color:var(--portal-danger-border);color:var(--portal-text)}.success-banner{background:var(--portal-success-soft);border-color:var(--portal-success-border);color:var(--portal-text)}.info-banner{background:var(--portal-primary-soft);border-color:var(--portal-primary-border);color:var(--portal-text)}.portal-dl{display:grid;grid-template-columns:1fr;grid-gap:6px 24px;gap:6px 24px;margin:0}@media (min-width:600px){.portal-dl{grid-template-columns:minmax(150px,200px) 1fr;row-gap:14px}}.portal-dl dt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--portal-text-muted)}.portal-dl dd{margin:0 0 12px;color:var(--portal-text);word-break:break-word}@media (min-width:600px){.portal-dl dd{margin-bottom:0}}.portal-progress{width:100%;height:8px;background:var(--portal-surface-muted);border-radius:var(--portal-radius-pill);overflow:hidden;border:1px solid var(--portal-border)}.portal-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--portal-primary),var(--portal-accent));border-radius:inherit;transition:width .4s ease}.portal-hero{position:relative;padding:48px 24px;border-radius:var(--portal-radius-xl);background:radial-gradient(800px 380px at 0 0,var(--portal-primary-soft),transparent 60%),radial-gradient(800px 380px at 100% 100%,var(--portal-accent-soft),transparent 60%),var(--portal-surface);border:1px solid var(--portal-border);box-shadow:var(--portal-shadow);overflow:hidden;display:flex;flex-direction:column;gap:18px}@media (min-width:768px){.portal-hero{padding:72px 56px;gap:22px}}.portal-hero p{font-size:16px;line-height:1.6;color:var(--portal-text-muted);max-width:60ch}.portal-hero .portal-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.portal-features{display:grid;grid-gap:16px;gap:16px}@media (min-width:640px){.portal-features{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.portal-features{grid-template-columns:repeat(3,1fr)}}.portal-feature{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);padding:22px;display:flex;flex-direction:column;gap:8px}.portal-feature-icon{width:38px;height:38px;border-radius:11px;background:var(--portal-primary-soft);color:var(--portal-primary);display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}.portal-feature-icon svg{width:20px;height:20px}.portal-feature h3{margin:0}.portal-feature p{color:var(--portal-text-muted);font-size:14px}.portal-empty{text-align:center;padding:48px 24px;border:1px dashed var(--portal-border-strong);border-radius:var(--portal-radius-lg);background:var(--portal-surface-2);display:flex;flex-direction:column;align-items:center;gap:10px}.portal-empty-icon{width:48px;height:48px;border-radius:14px;background:var(--portal-primary-soft);color:var(--portal-primary);display:inline-flex;align-items:center;justify-content:center}.portal-empty-icon svg{width:24px;height:24px}.portal-empty h3{margin:0}.portal-empty p{color:var(--portal-text-muted);max-width:44ch}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.col{gap:14px}.col,.stack-sm{display:flex;flex-direction:column}.stack-sm{gap:8px}.stack-md{gap:16px}.stack-lg,.stack-md{display:flex;flex-direction:column}.stack-lg{gap:24px}.divider{height:1px;background:var(--portal-border);margin:4px 0}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--portal-text-muted);font-size:14px;font-weight:500;width:-moz-fit-content;width:fit-content}.back-link:hover{color:var(--portal-text);text-decoration:none}.meta-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;color:var(--portal-text-muted);font-size:14px}.portal-stepper{display:grid;grid-gap:10px;gap:10px}@media (min-width:640px){.portal-stepper{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.portal-step{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--portal-radius);border:1px solid var(--portal-border);background:var(--portal-surface)}.portal-step--done{border-color:var(--portal-success-border);background:var(--portal-success-soft)}.portal-step--active{border-color:var(--portal-primary-border);background:var(--portal-primary-soft)}.portal-step-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--portal-text-muted)}.portal-step-value{font-size:13px;font-weight:600;color:var(--portal-text)}.portal-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.portal-checklist li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--portal-radius);border:1px solid var(--portal-border);background:var(--portal-surface)}.portal-checklist .item-body{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.badge,.portal-checklist .item-title{font-weight:600}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--portal-radius-pill);background:var(--portal-surface-muted);border:1px solid var(--portal-border);font-size:12px;color:var(--portal-text-muted)}.hide-sm{display:initial}@media (max-width:640px){.hide-sm{display:none!important}}.show-sm{display:none}@media (max-width:640px){.show-sm{display:initial}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}.loading-dots:after{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;margin-left:6px;background:currentColor;animation:portal-pulse 1.1s ease-in-out infinite}@keyframes portal-pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes portal-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portal-shell main>section{animation:portal-fade-in .36s cubic-bezier(.4,0,.2,1) backwards}.portal-shell main>section:first-child{animation-delay:20ms}.portal-shell main>section:nth-child(2){animation-delay:80ms}.portal-shell main>section:nth-child(3){animation-delay:.14s}.portal-shell main>section:nth-child(4){animation-delay:.2s}.portal-shell main>section:nth-child(5){animation-delay:.26s}.portal-shell main>section:nth-child(6){animation-delay:.32s}.portal-shell main>section:nth-child(7){animation-delay:.38s}.portal-shell main>section:nth-child(8){animation-delay:.44s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}