@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300..600&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--white:#fff;--mist:#edf1f5;--ink:#0b0e14;--muted:#5a6472;--hair:#d7dde4;--blueprint:#205ea6;--blueprint-soft:#e8eff7;--maxw:1140px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:#fff;color-scheme:light}body{background:var(--white);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--blueprint);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--blueprint);display:inline-block}h1,h2,h3{font-family:Fraunces,serif;font-weight:400;letter-spacing:-.02em}.btn{font-family:Inter;font-weight:500;font-size:.9rem;border:none;cursor:pointer;text-decoration:none;display:inline-block;border-radius:9px;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s}.btn-primary{background:var(--ink);color:#fff;padding:13px 24px;box-shadow:0 1px 2px rgba(11,14,20,.18)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(11,14,20,.22)}.btn-ghost{background:transparent;color:var(--ink);padding:13px 24px;border:1px solid var(--hair)}.btn-ghost:hover{border-color:var(--ink)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:hsla(0,0%,100%,.82);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--hair)}.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}.mark{font-family:Fraunces,serif;font-weight:500;font-size:1.35rem;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.mark span{color:var(--blueprint)}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a{color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .18s}.nav-links a:hover{color:var(--ink)}.nav-links .btn-primary{color:#fff;padding:10px 18px}.hero{position:relative;overflow:hidden;padding:96px 0 0;background:var(--white)}.hero h1{font-size:clamp(2.5rem,6.2vw,4.5rem);line-height:1.04;margin:24px 0 0;max-width:14ch}.hero h1 em{font-style:italic;color:var(--blueprint)}.lede{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--muted);max-width:48ch;margin:24px 0 0}.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:36px 0 0}.hero-figure{margin-top:72px;display:flex;justify-content:center;align-items:flex-end;border-bottom:1px solid var(--hair)}.hero-figure svg{display:block;height:320px;width:auto}.tower-line{fill:none;stroke:var(--blueprint);stroke-width:3.6;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:780;stroke-dashoffset:780;animation:draw 2.2s ease-out .2s forwards}.tower-facet{fill:none;stroke:var(--blueprint);stroke-width:1.4;opacity:0;animation:facetIn .8s ease-out 1.5s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes facetIn{to{opacity:.5}}.trust{border-bottom:1px solid var(--hair);padding:30px 0;background:var(--white)}.trust-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px}.trust-label{font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.trust-dot{width:5px;height:5px;border-radius:50%;background:var(--blueprint)}.section{padding:92px 0}.section--mist{background:var(--mist);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.sec-head{max-width:54ch}.sec-head--center{margin:0 auto;text-align:center}.sec-head--center .eyebrow{justify-content:center}.sec-head .eyebrow{margin-bottom:18px}.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.1}.sec-head p{color:var(--muted);margin-top:16px;font-size:1.05rem;max-width:52ch}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;margin-top:48px}.card{background:var(--white);border:1px solid var(--hair);border-radius:14px;padding:30px 28px 34px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 10px 30px rgba(11,14,20,.05)}.step-no{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:500;color:var(--blueprint);letter-spacing:.1em}.card h3{font-weight:500;font-size:1.4rem;margin:14px 0 10px}.card p{color:var(--muted);font-size:.97rem}.features{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;margin-top:54px;border-top:1px solid var(--hair);border-left:1px solid var(--hair)}.feature{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:34px 36px 38px}.feature .fnum{font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--blueprint);letter-spacing:.12em}.feature h3{font-weight:500;font-size:1.45rem;margin:12px 0 10px}.feature p{color:var(--muted);font-size:1rem}.doc{background:var(--white);border:1px solid var(--hair);border-radius:16px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 18px 50px rgba(11,14,20,.07);overflow:hidden;margin-top:48px}.doc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 30px;border-bottom:1px solid var(--hair);background:var(--mist)}.doc-top h3{font-weight:500;font-size:1.25rem}.doc-meta{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-align:right}.doc-row{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;align-items:center;padding:18px 30px;border-bottom:1px solid var(--hair)}.doc-row:last-child{border-bottom:none}.doc-field{font-size:.95rem}.doc-field b{font-weight:600}.doc-field span{color:var(--muted);display:block;font-size:.85rem;margin-top:2px}.src{font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.06em;padding:5px 10px;border-radius:999px;white-space:nowrap}.src--ok{background:var(--blueprint-soft);color:var(--blueprint)}.src--flag{background:#fcefd9;color:#9a6212}.grid-price{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px;margin-top:52px;align-items:start}.price-card{background:var(--white);border:1px solid var(--hair);border-radius:16px;padding:32px 30px 36px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 10px 30px rgba(11,14,20,.05);position:relative}.price-card--feature{border-color:var(--blueprint);box-shadow:0 1px 2px rgba(32,94,166,.1),0 18px 44px rgba(32,94,166,.14)}.badge{position:absolute;top:-12px;left:30px;background:var(--blueprint);color:#fff;font-size:.66rem;letter-spacing:.12em;padding:5px 12px;border-radius:999px}.badge,.plan-name{font-family:IBM Plex Mono,monospace;text-transform:uppercase}.plan-name{font-size:.78rem;letter-spacing:.14em;color:var(--muted)}.price{font-family:Fraunces,serif;font-size:2.8rem;letter-spacing:-.02em;margin:14px 0 2px}.price small{font-family:Inter;font-weight:500}.plan-desc,.price small{font-size:.95rem;color:var(--muted)}.plan-desc{min-height:42px}.plan-feats{list-style:none;margin:22px 0 26px;display:flex;flex-direction:column;gap:11px}.plan-feats li{font-size:.94rem;padding-left:24px;position:relative;color:var(--ink)}.plan-feats li:before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:2px;border:1.5px solid var(--blueprint)}.price-card .btn{width:100%;text-align:center}.faq{max-width:760px;margin:44px auto 0;border-top:1px solid var(--hair)}.faq details{border-bottom:1px solid var(--hair)}.faq summary{list-style:none;cursor:pointer;padding:22px 4px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:Fraunces,serif;font-size:1.18rem;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:Inter;color:var(--blueprint);font-size:1.4rem;font-weight:400;transition:transform .2s}.faq details[open] summary:after{content:"\2013"}.faq details p{padding:0 4px 24px;color:var(--muted);max-width:64ch}.final{text-align:center;padding:104px 0;background:var(--mist);border-top:1px solid var(--hair)}.final h2{font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.08;max-width:18ch;margin:0 auto}.final .cta-row{justify-content:center;margin-top:34px}.footer{padding:64px 0 56px;border-top:1px solid var(--hair);background:var(--white)}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:32px;gap:32px}.foot-brand .mark{font-size:1.25rem}.foot-brand p{color:var(--muted);font-size:.9rem;margin-top:12px;max-width:30ch}.foot-col h4{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:14px}.foot-col a{display:block;color:var(--ink);text-decoration:none;font-size:.92rem;margin-bottom:10px;transition:color .18s}.foot-col a:hover{color:var(--blueprint)}.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--hair)}.foot-base span{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--muted);letter-spacing:.06em}.auth-wrap{min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--mist)}.auth-card{background:var(--white);border:1px solid var(--hair);border-radius:16px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 18px 50px rgba(11,14,20,.07);padding:40px 38px;width:100%;max-width:420px}.auth-card h1{font-size:1.9rem;margin-bottom:8px}.auth-card p.sub{color:var(--muted);font-size:.95rem;margin-bottom:26px}.auth-card .btn{width:100%;text-align:center;margin-bottom:12px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;margin:18px 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--hair)}.field{display:block;width:100%;padding:12px 14px;border:1px solid var(--hair);border-radius:9px;font-family:Inter;font-size:.95rem;margin-bottom:12px}.field:focus{outline:none;border-color:var(--blueprint)}@media(max-width:820px){.features,.grid-3,.grid-price{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.nav-links a:not(.btn){display:none}.doc-row{grid-template-columns:1fr}.doc-top{flex-direction:column}.doc-meta{text-align:left}.foot-grid{grid-template-columns:1fr}.hero{padding:60px 0 0}}.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blueprint);outline-offset:3px;border-radius:8px}@media(prefers-reduced-motion:reduce){.tower-line{animation:none;stroke-dashoffset:0}.tower-facet{animation:none;opacity:.5}html{scroll-behavior:auto}}.mono{font-family:IBM Plex Mono,monospace}.app{display:flex;min-height:100vh}.sidebar{flex-shrink:0;background:var(--white);border-right:1px solid var(--hair);display:flex;flex-direction:column;padding:22px 16px;position:-webkit-sticky;position:sticky}.sidebar .mark{padding:6px 10px 22px}.side-nav{display:flex;flex-direction:column;gap:3px}.side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-size:.92rem;font-weight:500;width:100%;text-align:left;text-decoration:none;transition:background .15s,color .15s}.side-link svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.side-link:hover{background:var(--mist);color:var(--ink)}.side-link.active{background:var(--blueprint-soft);color:var(--blueprint)}.side-foot{margin-top:auto;border-top:1px solid var(--hair);padding-top:14px}.user-chip{gap:11px;padding:8px 10px;border-radius:9px}.avatar,.user-chip{display:flex;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background:var(--blueprint);color:#fff;justify-content:center;font-size:.8rem;font-weight:600}.user-chip .nm{font-size:.86rem;font-weight:500;line-height:1.2}.user-chip .rl{font-size:.74rem;color:var(--muted)}.app-main{flex:1 1;min-width:0;background:var(--mist)}.view{padding:40px 44px 64px;max-width:1080px}.app-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px}.app-head .eyebrow-app{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blueprint);margin-bottom:8px}.app-head h1{font-family:Fraunces,serif;font-weight:400;letter-spacing:-.02em;font-size:2rem;line-height:1.1}.app-head p{color:var(--muted);font-size:.95rem;margin-top:4px}.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;gap:8px}.btn-sm{padding:7px 13px;font-size:.82rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-bottom:30px}.stat{background:var(--white);border:1px solid var(--hair);border-radius:14px;padding:22px 24px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 8px 24px rgba(11,14,20,.05)}.stat-label{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stat-num{font-family:Fraunces,serif;font-size:2.4rem;letter-spacing:-.02em;line-height:1.1;margin-top:8px}.stat-sub{font-size:.82rem;color:var(--muted)}.stat-sub b{color:var(--blueprint);font-weight:600}.panel{background:var(--white);border:1px solid var(--hair);border-radius:16px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 10px 30px rgba(11,14,20,.05);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--hair)}.panel-head h3{font-family:Fraunces,serif;font-weight:500;font-size:1.1rem}.panel-head a{font-size:.84rem;color:var(--blueprint);text-decoration:none;font-weight:500}.thead,.trow{display:grid;grid-template-columns:2.4fr 1.3fr 1fr .9fr auto;grid-gap:16px;gap:16px;align-items:center;padding:14px 24px}.thead{font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.thead,.trow{border-bottom:1px solid var(--hair)}.trow{font-size:.9rem;transition:background .12s;text-decoration:none;color:inherit}.trow:last-child{border-bottom:none}.trow:hover{background:var(--mist);cursor:pointer}.trow .addr{font-weight:500}.trow .addr span{display:block;color:var(--muted);font-size:.78rem;font-weight:400}.cell-muted{color:var(--muted);font-size:.84rem}.status{font-family:IBM Plex Mono,monospace;font-size:.66rem;letter-spacing:.05em;padding:5px 10px;border-radius:999px;white-space:nowrap;display:inline-block}.status--ok{background:var(--blueprint-soft);color:var(--blueprint)}.status--review{background:#fcefd9;color:#9a6212}.status--draft{background:#eef0f2;color:var(--muted)}.toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search{flex:1 1;min-width:220px;display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--hair);border-radius:10px;padding:0 14px}.search svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2}.search input{border:none;outline:none;padding:11px 0;font-family:inherit;font-size:.9rem;width:100%;background:transparent}.chip{background:var(--white);border:1px solid var(--hair);border-radius:999px;padding:9px 15px;font-size:.82rem;color:var(--muted);cursor:pointer}.chip.on{background:var(--blueprint-soft);border-color:var(--blueprint);color:var(--blueprint);font-weight:500}.dropzone{background:var(--white);border:1.5px dashed var(--hair);border-radius:16px;padding:54px 30px;text-align:center;transition:border-color .2s,background .2s;cursor:pointer}.dropzone:hover{border-color:var(--blueprint);background:var(--blueprint-soft)}.dropzone svg{width:34px;height:34px;stroke:var(--blueprint);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}.dropzone h3{font-family:Fraunces,serif;font-weight:500;font-size:1.2rem}.dropzone p{color:var(--muted);font-size:.9rem;margin-top:6px}.form-row{margin-top:22px}.form-row label{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:7px}.form-row .field{margin-bottom:0}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.pipeline{margin:30px 0}.pipeline,.pstep{display:flex;align-items:center}.pstep{flex-direction:column;gap:8px;flex:0 0 auto}.pdot{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--hair);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--muted);background:var(--white)}.pstep.done .pdot{background:var(--blueprint);border-color:var(--blueprint);color:#fff}.pstep.active .pdot{border-color:var(--blueprint);color:var(--blueprint)}.pstep .plabel{font-size:.78rem;color:var(--muted)}.pstep.active .plabel,.pstep.done .plabel{color:var(--ink);font-weight:500}.pline{flex:1 1;height:1.5px;background:var(--hair);margin:0 6px 24px}.pline.done{background:var(--blueprint)}.report-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:var(--white);border:1px solid var(--hair);border-radius:14px;padding:20px 24px;margin-bottom:22px;box-shadow:0 1px 2px rgba(11,14,20,.04)}.conf-bar{flex:1 1;min-width:200px}.conf-bar .lab{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:8px}.conf-bar .lab b{font-weight:600}.bar{height:8px;background:var(--mist);overflow:hidden}.bar,.bar i{border-radius:999px}.bar i{display:block;height:100%;background:var(--blueprint)}.doc-section .sec-label{font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:16px 24px 6px}.doc-section+.doc-section{border-top:1px solid var(--hair)}@media(max-width:900px){.sidebar{display:none}.stat-grid,.two-col{grid-template-columns:1fr}.view{padding:28px 22px 56px}.thead{display:none}.trow{grid-template-columns:1fr auto;gap:8px}}.page-generate{max-width:1000px;margin:0 auto;padding:48px 28px 80px}.page-generate .signed-in-bar{font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.08em;color:var(--muted);margin-bottom:24px}.page-generate .signed-in-bar strong{color:var(--ink);font-weight:600}.page-generate .app-header{margin-bottom:32px}.page-generate .app-header .eyebrow{display:block;font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blueprint);margin-bottom:10px}.page-generate .app-header .eyebrow:before{display:none}.page-generate .app-header h1{font-size:2.2rem;line-height:1.1}.page-generate .app-header p{color:var(--muted);margin-top:8px}.page-generate .error-banner{background:#fcefd9;color:#9a6212;padding:14px 16px;border-radius:10px;margin-bottom:20px;font-size:.9rem}.page-generate .form-card{background:var(--white);border:1px solid var(--hair);border-radius:16px;padding:32px 30px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 10px 30px rgba(11,14,20,.05)}.page-generate .form-card h2{font-family:Fraunces,serif;font-weight:500;font-size:1.4rem;margin-bottom:22px}.page-generate .field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.page-generate .field{display:flex;flex-direction:column;gap:7px;border:none;padding:0;margin:0;background:transparent}.page-generate .field-full{grid-column:1/-1}.page-generate .field label{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.page-generate .field input,.page-generate .field select,.page-generate .field textarea{width:100%;padding:11px 13px;border-radius:9px;font-family:Inter;font-size:.92rem;background:var(--white);color:var(--ink)}.page-generate .field input:focus,.page-generate .field select:focus,.page-generate .field textarea:focus{outline:none}.page-generate .field textarea{min-height:96px;resize:vertical}.page-generate .field-hint{font-size:.8rem;color:var(--muted);margin-top:4px;line-height:1.6}.page-generate .field-hint code{font-family:IBM Plex Mono,monospace;font-size:.76rem;background:var(--mist);padding:1px 5px;border-radius:4px}.page-generate .json-import-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-generate .btn-json-import{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--hair);border-radius:9px;padding:10px 16px;font-size:.86rem;font-weight:500;cursor:pointer;color:var(--ink)}.page-generate .btn-json-import:hover{border-color:var(--blueprint);color:var(--blueprint)}.page-generate .json-success{color:var(--blueprint);font-size:.84rem;font-weight:500}.page-generate .json-error{color:#9a6212;font-size:.84rem}.page-generate .checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px}.page-generate .checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink);background:var(--mist);border:1px solid var(--hair);border-radius:8px;padding:9px 12px;cursor:pointer}.page-generate .checkbox-label input{accent-color:var(--blueprint)}.page-generate .submit-row{display:flex;align-items:center;gap:16px;margin-top:26px;flex-wrap:wrap}.page-generate .btn-generate{background:var(--ink);color:#fff;border:none;border-radius:9px;padding:14px 26px;font-family:Inter;font-weight:500;font-size:.95rem;cursor:pointer;box-shadow:0 1px 2px rgba(11,14,20,.18);transition:transform .15s,box-shadow .2s}.page-generate .btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px rgba(11,14,20,.22)}.page-generate .btn-generate:disabled{opacity:.55;cursor:default}.page-generate .generating-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}.page-generate .spinner{width:16px;height:16px;border:2px solid var(--hair);border-top-color:var(--blueprint);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.page-generate .report-card{background:var(--white);border:1px solid var(--hair);border-radius:16px;margin-top:34px;overflow:hidden;box-shadow:0 1px 2px rgba(11,14,20,.04),0 18px 50px rgba(11,14,20,.07)}.page-generate .report-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--hair);background:var(--mist)}.page-generate .report-label{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.page-generate .btn-download{background:var(--ink);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:.84rem;font-weight:500;cursor:pointer}.page-generate .report-content{padding:32px 30px}.page-generate .report-cover{border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:26px}.page-generate .report-doc-type{font-family:Fraunces,serif;font-size:1.8rem;font-weight:500;letter-spacing:-.02em}.page-generate .report-date{font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--muted);margin-top:6px}.page-generate .report-autoflags{background:var(--blueprint-soft);border:1px solid #cddcee;border-radius:10px;padding:16px 18px;margin-bottom:24px}.page-generate .autoflags-title{font-weight:600;color:var(--blueprint);margin-bottom:8px}.page-generate .report-autoflags ul{margin:0;padding-left:20px;color:var(--ink);font-size:.9rem}.page-generate .report-section{margin-bottom:26px}.page-generate .report-section--accent{background:var(--mist);border-radius:0 10px 10px 0;padding:20px 22px}.page-generate .report-section-title{font-family:Fraunces,serif;font-weight:500;font-size:1.3rem;letter-spacing:-.01em;padding-bottom:8px}.page-generate .report-section--accent .report-section-title{border-bottom:none;padding-bottom:0;margin-bottom:10px}.page-generate .report-section-body{font-size:.94rem;color:var(--ink);line-height:1.7}.page-generate .report-section-body p{margin-bottom:10px;color:var(--muted)}.page-generate .subsection-label{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blueprint);margin:18px 0 10px}.page-generate .detail-grid{display:grid;grid-gap:0;gap:0;margin-top:6px}.page-generate .info-row{display:grid;grid-template-columns:220px 1fr;grid-gap:16px;gap:16px;padding:10px 0;border-bottom:1px solid var(--hair);font-size:.9rem}.page-generate .info-row:last-child{border-bottom:none}.page-generate .info-label{color:var(--muted);font-weight:500}.page-generate .info-value{color:var(--ink)}.page-generate .info-value a{color:var(--blueprint);text-decoration:none}.page-generate .info-value a:hover{text-decoration:underline}.page-generate .codes-table,.page-generate .fees-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.88rem}.page-generate .codes-table th,.page-generate .fees-table th{text-align:left;font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--hair)}.page-generate .codes-table td,.page-generate .fees-table td{padding:10px 12px;border-bottom:1px solid var(--hair);color:var(--ink)}.page-generate .fees-total-row td{border-top:2px solid var(--ink);border-bottom:none}.page-generate .contact-block{border-radius:10px;padding:16px 18px;margin-bottom:14px}.page-generate .contact-dept-name{font-weight:600;margin-bottom:8px}.page-generate .contact-grid{display:grid;grid-gap:0;gap:0}.page-generate .disclaimer-text{font-size:.85rem;color:var(--muted);font-style:italic}.page-generate .report-bullets{margin:0;padding-left:20px;color:var(--muted);font-size:.93rem;line-height:1.7}.page-generate .report-bullets li{margin-bottom:6px}.page-generate .report-legend{display:flex;gap:10px;align-items:flex-start;background:var(--mist);border-radius:10px;padding:14px 16px;margin-top:24px;font-size:.82rem;color:var(--muted)}@media(max-width:700px){.page-generate .field-grid,.page-generate .info-row{grid-template-columns:1fr}.page-generate .info-row{gap:2px}}@media print{.footer,.nav,.page-generate .app-header,.page-generate .error-banner,.page-generate .form-card,.page-generate .report-toolbar,.page-generate .signed-in-bar{display:none!important}.page-generate{max-width:none;padding:0}.page-generate .report-card{border:none;box-shadow:none;margin:0}.page-generate .report-content{padding:0}}.page-generate .report-content{background:var(--mist);padding:24px}.page-generate .report-cover{padding:22px 24px}.page-generate .report-cover,.page-generate .report-section{background:var(--white);border:1px solid var(--hair);border-radius:14px;margin-bottom:18px;box-shadow:0 1px 2px rgba(11,14,20,.04),0 6px 20px rgba(11,14,20,.05)}.page-generate .report-section{padding:22px 24px 20px}.page-generate .report-section--accent{background:var(--blueprint-soft);border-color:#cddcee;border-left:3px solid var(--blueprint);border-radius:0 14px 14px 0}.page-generate .report-section-title{font-size:1.2rem;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--hair)}.page-generate .report-section--accent .report-section-title{border-bottom:1px solid #cddcee;padding-bottom:10px;margin-bottom:12px}.page-generate .info-row{grid-template-columns:210px 1fr;padding:9px 12px;border-bottom:none;border-radius:6px}.page-generate .contact-grid .info-row:nth-child(odd),.page-generate .detail-grid .info-row:nth-child(odd){background:var(--mist)}.page-generate .report-section--accent .info-row:nth-child(odd){background:hsla(0,0%,100%,.55)}.page-generate .codes-table th,.page-generate .fees-table th{background:var(--mist)}.page-generate .contact-block{background:var(--mist);border:1px solid var(--hair)}.page-generate .form-card h2{padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--hair)}.page-generate .field-grid{gap:20px 18px}.page-generate .field input,.page-generate .field select,.page-generate .field textarea{background:var(--mist);border:1px solid var(--hair)}.page-generate .field input:focus,.page-generate .field select:focus,.page-generate .field textarea:focus{box-shadow:0 0 0 3px rgba(32,94,166,.12)}.page-generate .field input::placeholder,.page-generate .field textarea::placeholder{color:#9aa3ae}.page-generate .field .checkbox-group{background:var(--mist);border:1px solid var(--hair);border-radius:10px;padding:14px}.page-generate .checkbox-label{background:var(--white)}.page-generate .json-import-row{background:var(--mist);border:1px solid var(--hair);border-radius:10px;padding:12px 14px}.page-generate .field input,.page-generate .field select,.page-generate .field textarea{background:#eef1f5;border:1px solid #d4dae1}.page-generate .field input:hover,.page-generate .field select:hover,.page-generate .field textarea:hover{border-color:#b9c2cc}.page-generate .field input:focus,.page-generate .field select:focus,.page-generate .field textarea:focus{box-shadow:0 0 0 3px rgba(32,94,166,.14)}.page-generate .field input,.page-generate .field select,.page-generate .field textarea{background:#e2e7ee;border:1px solid #c2cad4}.page-generate .field input:hover,.page-generate .field select:hover,.page-generate .field textarea:hover{border-color:#9faab8}.page-generate .field input:focus,.page-generate .field select:focus,.page-generate .field textarea:focus{background:var(--white);border-color:var(--blueprint);box-shadow:0 0 0 3px rgba(32,94,166,.16)}.page-generate{background:var(--mist);box-shadow:0 0 0 100vmax var(--mist)}.page-generate .form-group{padding-top:28px;margin-top:28px;border-top:1px solid var(--hair)}.page-generate .form-group:first-of-type{padding-top:0;border-top:none}.page-generate .form-group-title{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blueprint)}.page-generate{background:#dcdcdc;box-shadow:0 0 0 100vmax #dcdcdc;-webkit-clip-path:inset(0 -100vmax);clip-path:inset(0 -100vmax)}.page-generate .form-card{background:transparent;border:none;box-shadow:none;padding:0}.page-generate .form-card h2{border-bottom:none;padding-bottom:0;margin-bottom:20px}.page-generate .form-group{background:var(--white);border:1px solid #c7cfda;border-radius:14px;padding:24px 26px 26px;margin:0 0 16px;box-shadow:0 1px 3px rgba(11,14,20,.07),0 12px 30px rgba(11,14,20,.1)}.page-generate .form-group:first-of-type{padding-top:24px;margin-top:0;border-top:1px solid #c7cfda}.page-generate .form-group-title{padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid #e1e5ea}.page-generate .report-content{background:#dcdcdc}.page-generate .report-cover,.page-generate .report-section{border:1px solid #c7cfda;box-shadow:0 1px 3px rgba(11,14,20,.07),0 12px 30px rgba(11,14,20,.1)}.app-main{background:#dcdcdc}.app-main .page-generate{background:transparent;box-shadow:none;-webkit-clip-path:none;clip-path:none;max-width:900px;margin:0 auto;padding:40px 44px 64px}.app-main .page-generate .report-content{background:#dcdcdc}@media print{.sidebar{display:none!important}.app-main{background:#fff!important}}.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;overflow-y:auto}.app-main{margin-left:250px}@media(max-width:900px){.sidebar{display:none}.app-main{margin-left:0}}