@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#10151c;background:#fff;font-synthesis:none;--ink:#10151c;--muted:#57657b;--line:#dde3eb;--button:#39566b;--focus:#225faf}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}button,input,summary{font:inherit}a{color:var(--button);text-underline-offset:4px}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,.drop-zone:focus-within{outline:3px solid var(--focus);outline-offset:5px}img{display:block;max-width:100%}[hidden]{display:none!important}.container{width:min(1280px,calc(100% - 96px));margin:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:20;background:#fff;padding:12px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(42,53,67,.9);backdrop-filter:blur(12px);border-bottom:1px solid #71809466;color:#f7f9fc}.site-header::before,.site-footer::before{content:'';position:absolute;inset:0;background:url('/assets/hero-mesh.jpg') center 42%/cover;opacity:.055;pointer-events:none}.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}.brand{font-size:28px;font-weight:780;letter-spacing:-1.1px;color:inherit;text-decoration:none;white-space:nowrap}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a{color:#eef2f7;text-decoration:none}nav a:hover{text-decoration:underline}.nav-upload{border:1px solid #d2dbe5;border-radius:4px;padding:10px 18px}
.hero{min-height:calc(100svh - 70px);display:grid;grid-template-columns:minmax(320px,.43fr) minmax(0,.57fr);align-items:center;column-gap:20px;position:relative;padding-top:32px;padding-bottom:64px;scroll-margin-top:70px}.hero-content{z-index:1;min-width:0}h1{font-size:clamp(48px,5.7vw,72px);line-height:1.05;font-weight:780;letter-spacing:-3px}.hero-subtitle{color:var(--muted);font-size:clamp(17px,1.8vw,22px);line-height:1.5;margin:10px 0 24px}.upload-panel{padding:20px;border:1px solid var(--line);border-radius:7px;background:#ffffffb8}.upload-panel h2{font-size:17px;font-weight:650;margin-bottom:16px}.drop-zone{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:165px;border:1px dashed #8e9eb4;border-radius:6px;color:var(--muted);cursor:pointer;background:#fbfcff8c;text-align:center;padding:16px}.drop-zone:hover,.drop-zone.dragging{background:#eff4f9;border-color:var(--button)}.drop-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.browse-hint{font-size:12px;line-height:1.4}.drop-zone>span:first-of-type{font-size:16px}.primary-button{display:block;width:100%;border:0;border-radius:5px;background:var(--button);color:#fff;font-size:16px;font-weight:550;min-height:48px;padding:12px;margin-top:14px}.primary-button:hover:not(:disabled){background:#2c465b}.file-help{font-size:11px;color:#68768a;margin-top:9px}.tool-status{font-size:12px;line-height:1.55;color:#536177;margin-top:12px}.tool-status[data-phase='invalid'],.tool-status[data-phase='failed']{color:#a33138}.selected-file{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;padding-top:12px}.selected-file span{overflow-wrap:anywhere;min-width:0}.selected-file button,#cancel-task{border:1px solid var(--line);padding:7px 10px;background:white;border-radius:4px;color:var(--muted)}.sample-link{background:transparent;border:0;color:var(--button);font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:12px;padding:6px 0}.workflow{display:flex;list-style:none;padding:0;margin:22px 0 0;gap:40px;font-size:13px}.workflow li{display:flex;align-items:center;flex-direction:column;gap:9px}.step-icon{width:54px;height:54px;border-radius:50%;background:#eff2f6;display:grid;place-items:center}.mesh-view{position:relative;min-width:0;align-self:center}.mesh-view>img{width:100%;height:auto;object-fit:contain;max-height:calc(100svh - 180px)}.mesh-view figcaption{font-size:11px;color:#6b798d;text-align:center;padding:10px 8px}.mesh-view #mesh-empty{padding:40px 20px;min-height:240px;display:grid;place-items:center;color:var(--muted);text-align:center}.scroll-hint{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:12px;color:#68768a;text-decoration:none}.scroll-hint span{display:inline-block;margin-left:8px}.no-js{padding-top:12px;font-size:13px;color:#8c3339;line-height:1.5}
.education{background:#f8fafc;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;padding:80px 0 68px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:22px}.section-heading h2{font-size:clamp(29px,3vw,40px);line-height:1.2;letter-spacing:-1.3px;font-weight:730}.section-heading>p{max-width:410px;font-size:15px;color:var(--muted);line-height:1.7}.support-note{font-size:13px;line-height:1.7;color:#637186;max-width:820px;margin-bottom:32px}.issues-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:38px}.issue{min-width:0}.issue>img{width:100%;height:auto;aspect-ratio:5/3;object-fit:contain;background:#fff;border-radius:5px}.issue h3{font-size:17px;letter-spacing:-.35px;line-height:1.4;margin-top:17px}.issue p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:8px}.issue strong{font-weight:600;color:#394a60}.issue .capability{border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:12px}.education-end{font-size:14px;color:var(--muted);line-height:1.6;margin-top:40px}.faq-section{min-height:calc(100svh - 70px);padding-top:76px;padding-bottom:70px}.faq-list{max-width:900px;margin:32px auto 0}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:600;font-size:16px;line-height:1.6;padding-right:16px}.faq-list details p{padding-top:13px;max-width:770px;color:var(--muted);font-size:14px;line-height:1.8}.return-link{display:block;width:fit-content;margin:30px auto 0;font-size:14px}.site-footer{position:relative;background:rgba(42,53,67,.94);color:#eff3f8;padding:32px 0 22px}.footer-inner,.distribution{position:relative}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-inner p{font-size:12px;color:#d0d9e6;margin-top:10px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:12px}.footer-links a{color:#e6edf6}.distribution{margin-top:24px;border-top:1px solid #65768b66;padding-top:16px}.distribution p{font-size:11px;color:#c2cedf;line-height:1.6;max-width:850px}.distribution p+p{margin-top:6px}.hole-option{display:flex;gap:9px;align-items:start;font-size:12px;margin-top:16px;line-height:1.5}.option-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}.action-row{display:flex;gap:10px;align-items:center}.action-row .primary-button{flex:1}.diagnosis{padding-top:16px}.diagnosis h3{font-size:15px}.diagnosis p{font-size:12px;line-height:1.6;margin-top:8px}.diagnosis dl{font-size:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.diagnosis dd{margin:0}
@media(min-width:901px) and (max-height:760px){.hero{padding-top:20px;padding-bottom:48px}h1{font-size:56px}.hero-subtitle{margin-bottom:16px;font-size:18px}.drop-zone{min-height:140px}.upload-panel{padding:16px}.workflow{margin-top:16px}.step-icon{width:42px;height:42px}.hero .scroll-hint{bottom:14px}}
@media(max-width:1000px){.container{width:calc(100% - 56px)}.hero{grid-template-columns:minmax(300px,.48fr) minmax(0,.52fr);column-gap:12px}.workflow{gap:32px}.section-heading{display:block}.section-heading>p{margin-top:16px;max-width:650px}.issues-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.issue h3{font-size:16px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{height:64px;gap:16px}.brand{font-size:24px}nav{gap:15px;font-size:12px}.nav-upload{padding:8px 10px}.hero{grid-template-columns:1fr;min-height:0;padding-top:32px;padding-bottom:56px;row-gap:24px}h1{font-size:48px;letter-spacing:-2px}.hero-subtitle{font-size:18px}.upload-panel{padding:18px}.drop-zone{min-height:175px}.workflow{justify-content:space-between;gap:20px;max-width:360px}.mesh-view>img{max-height:none;aspect-ratio:6/5}.mesh-view{width:min(580px,100%);margin:auto}.scroll-hint{bottom:20px}.education{padding:48px 0}.issues-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.section-heading h2{font-size:29px;letter-spacing:-.8px}.faq-section{padding-top:48px;padding-bottom:48px;min-height:0}.footer-inner{align-items:start;flex-direction:column;gap:24px}.footer-links{gap:22px}.site-footer{padding:28px 0 22px}}
@media(max-width:430px){.brand{font-size:21px}nav{gap:13px;font-size:11px}.nav-upload{display:none}.issues-grid{grid-template-columns:1fr;row-gap:36px}.issue>img{max-height:210px}.issue h3{font-size:18px}.issue p{font-size:14px}.issue .capability{font-size:13px}.section-heading>p{font-size:14px}.faq-list summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.site-header a:focus-visible,.site-footer a:focus-visible{outline-color:#d6e7ff}
/* Actual file inspection workbench. Existing education/FAQ layout is preserved. */
#viewer-panel{border:1px solid #545b65;border-radius:12px;overflow:hidden;background:#34383e;color:#e8edf3;text-align:left}#viewer-canvas{height:390px;width:100%;touch-action:none}#viewer-canvas canvas{display:block;width:100%;height:100%;outline-offset:-3px}.viewer-toolbar,.viewer-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:#292d32;font-size:12px}.viewer-toolbar select,.viewer-toolbar button,.viewer-navigation button{background:#444b54;color:#fff;border:1px solid #68727e;border-radius:5px;padding:6px 8px;font:inherit}.viewer-toolbar label{display:flex;align-items:center;gap:5px}.viewer-navigation span{flex:1;color:#c3cbd5}.viewer-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px;background:#f6f8fa;color:#253244}.viewer-details h3{font-size:14px;margin-bottom:12px}.viewer-details dl{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:8px}.viewer-details dd{margin:0;text-align:right;overflow-wrap:anywhere}.viewer-details dt{color:#647183}#viewer-legend label{display:flex;gap:7px;align-items:center;font-size:11px;line-height:1.5;margin:8px 0}.issue-swatch{display:inline-block;width:11px;height:11px;flex:0 0 11px;border-radius:2px}#viewer-note{font-size:11px;color:#647183;line-height:1.6;margin-top:12px}#viewer-comparison{padding:10px 16px;color:#cbd4df;font-size:12px;line-height:1.5}#export-controls{font-size:12px;margin:14px 0}#export-name{display:block;width:100%;padding:8px;border:1px solid #cbd4df;border-radius:5px;margin:6px 0 12px}.scale-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.scale-controls input{width:85px;padding:7px;border:1px solid #cbd4df;border-radius:5px}.scale-controls button{font-size:11px;padding:7px;border:1px solid #cbd4df;border-radius:5px;background:#fff}button:disabled{opacity:.5}.mesh-view{min-width:0}.viewer-toolbar select{max-width:190px}@media(max-width:760px){#viewer-canvas{height:340px}.viewer-details{grid-template-columns:1fr}.viewer-details dl{font-size:12px}.viewer-toolbar{gap:8px}.viewer-toolbar select{max-width:155px}}@media(max-width:360px){#viewer-canvas{height:290px}.viewer-toolbar select{max-width:138px}}
@media(min-width:1100px){.hero.has-mesh{grid-template-columns:minmax(280px,.7fr) minmax(0,1.7fr);gap:32px}.has-mesh #viewer-panel{display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:auto minmax(420px,1fr) auto auto}.has-mesh .viewer-toolbar{grid-column:1/-1}.has-mesh #viewer-canvas{grid-column:1;grid-row:2;height:100%;min-height:420px}.has-mesh .viewer-navigation{grid-column:1;grid-row:3}.has-mesh #viewer-comparison{grid-column:1;grid-row:4}.has-mesh .viewer-details{grid-column:2;grid-row:2/5;display:block;padding:16px}.has-mesh .viewer-details section+section{margin-top:22px}.has-mesh .viewer-details dl{font-size:12px;line-height:1.5}.has-mesh #viewer-legend label,.has-mesh #viewer-note{font-size:12px}.has-mesh .viewer-details h3{font-size:15px}}

/* First-use result hierarchy; the accepted 3D workbench stays unchanged. */
.result-card{margin-top:10px;padding:14px;border:1px solid #d7e1e9;border-radius:7px;background:#f6f9fb}.result-card h4{margin:0;font-size:16px}.result-card ul{padding-left:18px;margin:10px 0;font-size:12px;line-height:1.7}.result-card ul:empty{display:none}.diagnosis details{margin-top:12px;font-size:12px}.diagnosis summary{cursor:pointer;font-weight:600;line-height:1.5}.diagnosis dd{overflow-wrap:anywhere}#viewer-legend .no-issue{color:#85909c}#viewer-legend .no-issue .issue-swatch{background:#b5bdc5!important}#viewer-legend .unlocated{color:#647183}

/* Content detail added without changing the accepted tool and 3D workbench layout. */
.workflow{gap:24px}.workflow li{flex:1;min-width:0;gap:7px;text-align:center}.workflow small{color:var(--muted);font-size:10px;line-height:1.45;max-width:130px}.education-end{font-size:13px;line-height:1.75;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:760px){.workflow{gap:10px;max-width:420px}.workflow small{font-size:9px}}

/* Static policy pages: readable without scripts. */
.legal-page{padding-top:120px;padding-bottom:48px;max-width:900px}.legal-page section{margin-top:32px}.legal-page p{line-height:1.75}.legal-page h1{font-size:clamp(2rem,5vw,3rem)}.legal-page h2{font-size:1.35rem}.legal-page a{text-decoration:underline;overflow-wrap:anywhere}
.distribution a{color:#e6edf6}.distribution p{font-size:12px;max-width:none}.source-page h1+p,.source-page h2+p,.source-page p+p{margin-top:14px}.source-page li{margin:10px 0;line-height:1.6;overflow-wrap:anywhere}.source-status{padding:14px 16px;border-left:3px solid var(--button);background:#f3f6f9}.material-inventory{margin-top:18px}.material-inventory summary{cursor:pointer;line-height:1.6;font-weight:600}.material-inventory ul{padding-left:20px}.source-version{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;line-height:1.6}.source-version dd{margin:0;overflow-wrap:anywhere}.source-version dt{color:var(--muted)}@media(max-width:430px){.footer-links{gap:16px 22px}.source-version{grid-template-columns:1fr;gap:4px}.source-version dd{margin-bottom:10px}}
