
.analyzer-shell{max-width:var(--content);margin:auto;padding:clamp(2rem,5vw,4rem) 2rem}
.analyzer-heading{margin-bottom:1.25rem}
.analyzer-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;min-width:0}.analyzer-section-heading>div{min-width:0}.analyzer-section-heading h2,.analyzer-section-heading h3{margin:.25rem 0 .3rem}.analyzer-section-heading h3{font-size:1.15rem}.analyzer-section-heading p{margin:.2rem 0 0;line-height:1.5}
.privacy-badge{display:inline-flex;align-items:center;border:1px solid #315744;border-radius:999px;padding:.42rem .68rem;color:var(--accent);font-size:.74rem;font-weight:800;white-space:nowrap}

.analyzer-upload{margin-top:0;display:block}.analyzer-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;margin-top:1rem}.file-drop{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px dashed #466077;border-radius:12px;background:#0c131b}.file-drop>span{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.file-drop small{color:var(--muted);font-size:.76rem}.file-drop input{margin:0;background:#0a1016}.analyzer-upload-form>.button{min-height:46px}.analyzer-privacy-copy{font-size:.82rem;line-height:1.55;margin:1rem 0 0}

.analysis-result{display:grid;gap:1rem;margin-top:1.5rem}.analysis-title{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.analysis-title h2{font-size:clamp(1.45rem,4vw,2.15rem);line-height:1.1;margin:.3rem 0;overflow-wrap:anywhere}.analysis-title p{margin:.45rem 0 0;overflow-wrap:anywhere}
.analysis-callout{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:1rem;padding:1rem 1.1rem;border:1px solid #315744;border-radius:13px;background:rgba(94,230,168,.055);line-height:1.55}.analysis-callout strong{color:#c9f6e1}.analysis-callout span{color:var(--muted)}

.analysis-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.analysis-stats article{min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:1rem}.analysis-stats span{display:block;color:var(--muted);font-size:.78rem}.analysis-stats strong{display:block;font-size:1.55rem;margin-top:.35rem;overflow-wrap:anywhere}.analysis-stats small{display:block;color:#748393;font-size:.72rem;margin-top:.28rem;line-height:1.35}

.analysis-panel{min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:1.15rem}
.metadata-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 0}.metadata-grid>div{min-width:0;padding:.85rem;border:1px solid var(--line-soft);background:var(--panel3);border-radius:10px}.metadata-grid dt{color:var(--muted);font-size:.75rem;margin-bottom:.42rem}.metadata-grid dd{margin:0;font-weight:800;line-height:1.35;overflow-wrap:anywhere}

.object-type-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin-top:1rem}.object-type{display:flex;justify-content:space-between;align-items:center;gap:.8rem;min-width:0;padding:.75rem .85rem;border:1px solid var(--line-soft);border-radius:9px;background:var(--panel3)}.object-type span{color:var(--muted);overflow-wrap:anywhere}.object-type strong{font-size:1rem}

.layer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.layer-card{min-width:0;padding:1rem;border:1px solid var(--line-soft);border-radius:11px;background:var(--panel3)}.layer-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0}.layer-card header>div{min-width:0}.layer-index{display:block;color:var(--accent2);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;overflow-wrap:anywhere}.layer-card h4{font-size:1.04rem;margin:.3rem 0}.layer-card header p{color:var(--muted);font-size:.8rem;line-height:1.4;margin:0}.layer-type{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:.35rem .55rem;font-size:.72rem;color:#cad5df;background:var(--panel)}
.layer-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:1rem 0 0}.layer-values>div{min-width:0}.layer-values dt{font-size:.68rem;color:var(--muted);margin-bottom:.28rem}.layer-values dd{margin:0;font-size:.92rem;font-weight:800;overflow-wrap:anywhere}.layer-values dd small{display:block;margin-top:.2rem;color:#687787;font-size:.62rem;font-weight:500}.layer-secondary{display:flex;gap:.6rem 1rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line-soft);font-size:.72rem;color:var(--muted)}

.technical-details{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}.technical-details summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;cursor:pointer;font-weight:800;list-style:none}.technical-details summary::-webkit-details-marker{display:none}.technical-details summary:after{content:"＋";color:var(--muted);font-size:1.1rem}.technical-details[open] summary:after{content:"−"}.technical-details summary span{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:600}.technical-copy{padding:0 1.15rem 1rem;color:var(--muted);font-size:.8rem;line-height:1.5}.technical-details .table-wrap{border-left:0;border-right:0;border-bottom:0;border-radius:0}.analysis-table{min-width:980px}

.analyzer-warnings ul{margin:.8rem 0 0;padding-left:1.2rem;color:var(--muted)}.analyzer-warnings li{margin:.35rem 0;line-height:1.45}
.recent-panel{margin-top:0}.analysis-history{display:grid;margin-top:.65rem}.analysis-history article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);min-width:0}.analysis-history article:last-child{border-bottom:0}.analysis-history a{display:grid;gap:.25rem;min-width:0;flex:1 1 auto}.analysis-history a strong{overflow-wrap:anywhere}.analysis-history a:hover strong{color:var(--accent2)}.analysis-history span{color:var(--muted);font-size:.8rem}.stat-small{font-size:1.05rem!important;line-height:1.3}

@media(max-width:980px){
  .analysis-stats,.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .layer-values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .analyzer-shell{padding-left:1rem;padding-right:1rem}
  .analyzer-upload-form{grid-template-columns:1fr}.analyzer-upload-form>.button{width:100%}
  .layer-card-grid{grid-template-columns:1fr}
  .analysis-callout{grid-template-columns:1fr}
  .analysis-history article{align-items:flex-start;flex-direction:column}.analysis-history article form,.analysis-history article .button{width:100%}
}
@media(max-width:480px){
  .analysis-stats,.metadata-grid{grid-template-columns:1fr}
  .layer-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .layer-card header{flex-direction:column}.layer-type{align-self:flex-start}
}

/* 0.5.0 Project Intelligence */
.analysis-upgrade{display:grid;gap:.25rem;padding:1rem 1.1rem;border:1px solid #806126;border-radius:13px;background:rgba(237,181,69,.07)}
.analysis-upgrade strong{color:#f3d48a}.analysis-upgrade span{color:var(--muted);line-height:1.5}
.intelligence-hero{overflow:hidden}.confidence-badge{display:inline-flex;align-items:center;padding:.38rem .62rem;border-radius:999px;border:1px solid var(--line);font-size:.72rem;font-weight:800;white-space:nowrap}.confidence-high{color:#9ce8c4;border-color:#315744;background:rgba(94,230,168,.06)}.confidence-medium{color:#f2d28a;border-color:#69562b;background:rgba(237,181,69,.06)}.confidence-low{color:#f1a2a2;border-color:#6b3535;background:rgba(224,92,92,.06)}
.intelligence-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:1rem}.footprint-card,.fit-card{min-width:0;border:1px solid var(--line-soft);border-radius:12px;background:var(--panel3);padding:1rem}.intelligence-label{display:block;color:var(--muted);font-size:.75rem;font-weight:700}.footprint-card>strong{display:block;font-size:clamp(1.55rem,3vw,2.25rem);margin:.45rem 0 .25rem;line-height:1.1}.footprint-card p,.fit-card p{color:var(--muted);font-size:.8rem;line-height:1.5;margin:.35rem 0}.bounds-mini{display:flex;gap:.5rem 1rem;flex-wrap:wrap;padding-top:.8rem;margin-top:.8rem;border-top:1px solid var(--line-soft);font-size:.72rem;color:#8795a3}
.fit-card{border-left:3px solid var(--line)}.fit-pass{border-left-color:#5ee6a8}.fit-info{border-left-color:#74a9ff}.fit-warn{border-left-color:#edb545}.fit-fail{border-left-color:#e05c5c}.fit-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.fit-pill{display:inline-flex;padding:.3rem .5rem;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:.7rem;font-weight:800}.fit-card h4{font-size:1.15rem;margin:.65rem 0 .15rem}.machine-dimensions{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line-soft);font-size:.78rem}.machine-dimensions span{color:var(--muted)}.text-link{display:inline-flex;margin-top:.8rem;color:var(--accent2);font-weight:800;font-size:.8rem}
.workspace-fit{margin-top:1rem;border-top:1px solid var(--line);padding-top:1rem}.workspace-fit-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.75rem}.workspace-fit-head>div{display:grid;gap:.15rem}.workspace-fit-head span{font-size:.72rem;color:var(--muted)}.workspace-canvas{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,680px);max-height:360px;min-height:180px;margin:auto;border:1px solid #415162;border-radius:12px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),#0a1016;background-size:24px 24px;overflow:hidden}.workspace-canvas:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.08);border-radius:8px}.project-footprint{position:relative;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:28px;border:2px solid #5ee6a8;background:rgba(94,230,168,.12);border-radius:6px;z-index:1}.project-footprint.danger{border-color:#e05c5c;background:rgba(224,92,92,.14)}.project-footprint span{padding:.25rem .4rem;background:#081018;border-radius:5px;font-size:.65rem;font-weight:800;white-space:nowrap}.workspace-note{font-size:.72rem;line-height:1.45;margin:.75rem 0 0}
.health-summary{display:flex;gap:.45rem;flex-wrap:wrap}.health-summary span{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .48rem;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:800}.health-summary .pass{color:#8ce2b9}.health-summary .warn{color:#f1cb79}.health-summary .fail{color:#ed9292}.health-list{display:grid;gap:.55rem;margin-top:1rem}.health-check{display:grid;grid-template-columns:32px minmax(0,1fr);gap:.75rem;align-items:start;padding:.8rem .9rem;border:1px solid var(--line-soft);border-radius:10px;background:var(--panel3)}.health-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);font-weight:900}.health-check strong{font-size:.85rem}.health-check p{margin:.2rem 0 0;color:var(--muted);font-size:.76rem;line-height:1.45}.health-pass .health-icon{color:#78dcae;border-color:#315744;background:rgba(94,230,168,.06)}.health-info .health-icon{color:#8cb7ff;border-color:#324d72;background:rgba(116,169,255,.06)}.health-warn .health-icon{color:#efc76f;border-color:#665429;background:rgba(237,181,69,.06)}.health-fail .health-icon{color:#eb8b8b;border-color:#6b3535;background:rgba(224,92,92,.06)}
.layer-disabled{opacity:.72;border-style:dashed}.layer-disabled .layer-index:after{content:" · OFF";color:#e8b565}
@media(max-width:820px){.intelligence-grid{grid-template-columns:1fr}.workspace-canvas{min-height:150px}.workspace-fit-head{align-items:flex-start}}
@media(max-width:520px){.fit-card-head,.machine-dimensions{align-items:flex-start;flex-direction:column}.workspace-canvas{min-height:130px}.project-footprint span{font-size:.58rem}.health-check{grid-template-columns:28px minmax(0,1fr);padding:.75rem}.health-icon{width:24px;height:24px}}
/* 0.6.0 saved-material preset context */
.preset-context-panel{display:grid;gap:1rem}.preset-count{align-self:flex-start;padding:.35rem .55rem;border:1px solid rgba(94,230,168,.2);border-radius:999px;color:#bff6db;font-size:.72rem}.preset-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.preset-match{display:grid;gap:.55rem;padding:.85rem;border:1px solid var(--line-soft);border-radius:12px;background:rgba(255,255,255,.018)}.preset-match header{display:flex;justify-content:space-between;gap:.7rem}.preset-match header>div{display:grid;gap:.08rem}.preset-match header span,.preset-match p,.preset-match footer{color:var(--muted);font-size:.74rem}.preset-match header b{font-size:1rem;color:#b8def8}.preset-match-strong{border-color:rgba(94,230,168,.25);background:rgba(94,230,168,.035)}.preset-match-strong header b{color:#bff6db}.preset-match-close{border-color:rgba(85,184,255,.22)}.preset-match-weak{border-color:rgba(244,189,99,.2)}.preset-match-weak header b{color:#f6dcae}.preset-match-material{display:flex;align-items:baseline;gap:.45rem}.preset-match-material strong{font-size:.96rem}.preset-match-material span{color:var(--muted);font-size:.74rem}.preset-match p{margin:0}.preset-match footer{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid var(--line-soft);padding-top:.45rem}.preset-context-empty{display:grid;gap:.35rem;padding:.9rem;border:1px dashed var(--line);border-radius:12px}.preset-context-empty p{margin:0;color:var(--muted)}.preset-context-empty .button{width:max-content;margin-top:.3rem}.preset-context-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:start;padding:.75rem .85rem;border-radius:11px;border:1px solid rgba(244,189,99,.22);background:rgba(244,189,99,.055)}.preset-context-note strong{color:#f6dcae}.preset-context-note span{color:var(--muted);font-size:.76rem;line-height:1.5}.preset-context-note>div{display:flex;gap:.7rem;flex-wrap:wrap}@media(max-width:760px){.preset-match-grid{grid-template-columns:1fr}.preset-context-note{grid-template-columns:1fr}.preset-context-empty .button{width:100%}}
