.stl-workspace { min-width:0; }
.stl-modes { display:flex; gap:.4rem; padding:.3rem; border:1px solid var(--line); margin-bottom:1.5rem; border-radius:4px; }
.stl-modes button { flex:1; padding:.75rem .6rem; font:400 .9rem 'Inter',sans-serif; border:0; border-radius:3px; color:var(--ink-70); background:transparent; }
.stl-modes [aria-pressed="true"] { background:var(--surface); color:var(--accent); box-shadow:0 1px 5px rgba(0,0,0,.07); }
.stl-drop { border:1px dashed var(--accent); background:rgba(var(--accent-rgb),.025); border-radius:5px; text-align:center; padding:2.4rem 1rem; transition:background .2s,box-shadow .2s; }
.stl-drop.is-over { background:rgba(var(--accent-rgb),.1); box-shadow:0 0 0 4px rgba(var(--accent-rgb),.07); }
.stl-drop > svg { color:var(--accent); margin:0 auto 1rem; }
.stl-drop h3,.stl-settings h3 { font:400 1.3rem 'Space Grotesk',sans-serif; margin:0 0 .45rem; }
.stl-drop > p { color:var(--ink-70); font-size:.9rem; }
.stl-drop .btn { margin:1.2rem 0; }
.stl-drop small { display:block; font-size:.75rem; color:var(--ink-70); line-height:1.7; }
.stl-drop.has-model { padding:.65rem 1rem; }
.stl-drop.has-model > svg,.stl-drop.has-model h3,.stl-drop.has-model > p { display:none; }
.stl-drop.has-model .btn { margin:.35rem 0 .6rem; }
.stl-status { font-size:.875rem; color:var(--accent); margin:.85rem 0; }
.stl-status:empty { display:none; }
.stl-loading { margin-top:1rem; padding:1rem; background:var(--bg-2); font-size:.9rem; }
.stl-file-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.2rem; }
.stl-file-header > div { min-width:0; }
.stl-file-header strong { font-size:.95rem; font-weight:500; overflow-wrap:anywhere; }
.stl-file-header small { display:block; font-size:.75rem; color:var(--ink-70); margin-top:.4rem; }
.stl-file-header .text-button { flex-shrink:0; }
.stl-view { position:relative; border:1px solid var(--line); margin-top:1rem; overflow:hidden; border-radius:4px; }
#stl-preview { display:block; width:100%; height:270px; touch-action:none; cursor:grab!important; }
#stl-preview:active { cursor:grabbing!important; }
.stl-view button { position:absolute; bottom:.6rem; right:.6rem; background:var(--surface); border:1px solid var(--line-2); padding:.4rem .7rem; font:400 .75rem 'Inter',sans-serif; color:var(--ink); border-radius:3px; }
.stl-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin-top:1rem; border-top:1px solid var(--line); }
.stl-stats > div { padding:.9rem .5rem .9rem 0; border-bottom:1px solid var(--line); }
.stl-stats dt { font-size:.8rem; color:var(--ink-70); }
.stl-stats dd { margin:.5rem 0 0; font:400 1.2rem 'Space Grotesk',sans-serif; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.stl-stats .stl-size { grid-column:1/-1; }
.stl-stats #stl-weight { color:var(--accent); }
.stl-settings { margin:1.8rem 0; }
.stl-settings h3 { margin-bottom:1.2rem; }
.stl-tuning,.stl-method,.stl-costs { border-top:1px solid var(--line-2); margin-top:1.4rem; }
.stl-tuning > summary,.stl-method > summary,.stl-costs > summary { padding:1rem 0; font-size:.9rem; line-height:1.5; }
.stl-tuning .cost-fields { margin-top:.5rem; }
.stl-method p { font-size:.875rem; color:var(--ink-70); line-height:1.7; margin-bottom:.9rem; }
.stl-method a { color:var(--accent); text-decoration:underline; }
.stl-costs > .cost-help { margin:0 0 1.3rem; }
.stl-costs .cost-form { margin-top:1rem; }
.cost-input:has(input[readonly]),.cost-field select:disabled { background:var(--bg-2); opacity:.8; }
#cost-result-origin { margin:0 0 1rem; }
#cost-empty h3 { font:400 1.7rem 'Space Grotesk',sans-serif; line-height:1.3; margin-bottom:1rem; }
#cost-empty p { color:var(--ink-70); font-size:.95rem; line-height:1.7; }
@media(max-width:900px) { #stl-preview { height:240px; } }
@media(prefers-reduced-motion:reduce) { .stl-drop { transition:none; } }
