/* BeerGut CAD Studio. Presentation only; original workflow/geometry stays intact. */
:root { color-scheme:dark; --cad-bg:#15181d; --cad-panel:#20252c; --cad-raised:#292f38; --cad-field:#12161c; --cad-line:#3c4653; --cad-text:#f0f3f8; --cad-muted:#adb9c8; --cad-accent:#72c8ff; --cad-primary:#a5dbff; --cad-radius:7px; }
html { background:var(--cad-bg); scroll-padding-top:20px; }
body.cad-theme { --bg:var(--cad-bg); --panel:var(--cad-panel); --line:var(--cad-line); --muted:var(--cad-muted); --accent:var(--cad-accent); margin:0; background:var(--cad-bg)!important; color:var(--cad-text)!important; font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif!important; font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased; }
body.cad-theme *,body.cad-theme *::before,body.cad-theme *::after { box-sizing:border-box; }
body.cad-theme [hidden] { display:none!important; }
body.cad-theme :is(main,section,article,aside,form,fieldset,div) { min-width:0; }
body.cad-theme main { padding:28px clamp(16px,3vw,40px) 48px; }
body.cad-theme :is(h1,h2,h3,h4) { color:var(--cad-text)!important; font-family:inherit!important; letter-spacing:-.025em; text-wrap:balance; }
body.cad-theme h1 { font-size:clamp(28px,3.2vw,44px)!important; line-height:1.14!important; font-weight:650!important; letter-spacing:-.035em!important; }
body.cad-theme h2 { font-size:clamp(18px,2vw,24px); font-weight:620; }
body.cad-theme h3 { font-size:19px; font-weight:620; }
body.cad-theme :is(p,li,figcaption) { color:#bdc7d4; }
body.cad-theme :is(.hint,.small,.muted,.note,.scope-note,.lede,.technical,small) { color:var(--cad-muted)!important; }
body.cad-theme :is(.eyebrow,.home-kicker,.promo-kicker,.count,.bay-label,.card-top) { color:var(--cad-accent)!important; font-size:11px!important; font-weight:700!important; letter-spacing:.12em!important; text-transform:uppercase; }
body.cad-theme a { color:var(--cad-accent); text-underline-offset:3px; }
body.cad-theme a:hover { color:#c2e8ff; }
body.cad-theme :is(button,input,select,textarea,summary) { font-family:inherit; }
body.cad-theme :is(label,legend) { color:#e3e9f1!important; font-size:13px; font-weight:550; }
body.cad-theme :is(input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) { min-height:42px; max-width:100%; background:var(--cad-field)!important; color:var(--cad-text)!important; border:1px solid #526071!important; border-radius:5px!important; padding:9px 11px; box-shadow:inset 0 1px 2px #0002!important; font-size:14px; line-height:1.4; }
body.cad-theme input[type=number] { font-family:"Cascadia Code",Consolas,monospace!important; font-variant-numeric:tabular-nums; font-weight:600; }
body.cad-theme input::placeholder,body.cad-theme textarea::placeholder { color:#94a2b4; opacity:1; }
body.cad-theme input[type=file] { padding:6px!important; }
body.cad-theme input::file-selector-button { margin-right:10px; padding:7px 10px; color:#eaf3fc; border:1px solid #526071; border-radius:4px; background:#2e3947; cursor:pointer; }
body.cad-theme :is(input[type=checkbox],input[type=radio]) { accent-color:var(--cad-accent); width:18px; height:18px; vertical-align:middle; }
body.cad-theme input[type=range] { appearance:none; -webkit-appearance:none; width:100%; min-height:36px; margin:4px 0; padding:0!important; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; accent-color:var(--cad-accent); cursor:pointer; }
body.cad-theme input[type=range]::-webkit-slider-runnable-track { height:5px; border-radius:3px; background:#596879; }
body.cad-theme input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:17px; height:17px; margin-top:-6px; border:2px solid #d9f0ff; border-radius:50%; background:#65bcf7; box-shadow:0 1px 5px #0007; }
body.cad-theme input[type=range]::-moz-range-track { height:5px; border-radius:3px; background:#596879; }
body.cad-theme input[type=range]::-moz-range-progress { height:5px; background:var(--cad-accent); }
body.cad-theme input[type=range]::-moz-range-thumb { width:14px; height:14px; border:2px solid #d9f0ff; border-radius:50%; background:#65bcf7; }
body.cad-theme :is(output,.readout,.measurement-value,.field-value) { display:inline-block; min-width:48px; padding:2px 7px; color:#edf8ff!important; background:#111923!important; border:1px solid #405970; border-radius:4px; font:600 13px/1.65 "Cascadia Code",Consolas,monospace!important; font-variant-numeric:tabular-nums; letter-spacing:.01em; }
body.cad-theme :is(button,.button,a.primary,a.save-file,.studio-start-button,.example-upload,.sizing-example-actions a,.promo-cta) { min-height:40px; padding:9px 14px; border:1px solid #526173!important; border-radius:5px!important; color:#eaf2fb!important; background:#303b49!important; box-shadow:0 1px 2px #0003!important; font-size:13px; font-weight:600; line-height:1.4; text-decoration:none; transition:background .15s,border-color .15s; cursor:pointer; }
body.cad-theme :is(button,.button,a.primary,.studio-start-button,.sizing-example-actions a):hover { background:#3c4a5d!important; border-color:#82afcf!important; transform:none!important; }
body.cad-theme :is(button.primary,a.primary,.studio-start-button,.example-upload,#mesh-analyze,#router-next) { background:var(--cad-primary)!important; color:#112330!important; border-color:var(--cad-primary)!important; }
body.cad-theme :is(button.primary,a.primary,.studio-start-button,.example-upload,#mesh-analyze,#router-next):hover { background:#c5e9ff!important; color:#10202d!important; }
body.cad-theme :is(button.secondary,.secondary.button,.text-button,button.quiet,button.clear) { background:#252d37!important; color:#d0dbe8!important; }
body.cad-theme button:disabled { opacity:.46; cursor:not-allowed; }
body.cad-theme button[aria-pressed=true],body.cad-theme [aria-selected=true] { border-color:var(--cad-accent)!important; color:#d5f0ff!important; background:#233e52!important; outline:none; }
body.cad-theme :focus-visible { outline:2px solid #8cd3ff!important; outline-offset:3px!important; }
body.cad-theme :is(input,select,textarea):focus-visible { border-color:#8cd3ff!important; }
body.cad-theme :is(.site-header,.workshop-header) { width:100%; max-width:none; min-height:65px; padding:12px clamp(16px,3vw,40px)!important; gap:16px; background:#1c2128!important; color:#e9eff7; border:0!important; border-bottom:1px solid #39434f!important; box-shadow:0 2px 10px #0002; }
body.cad-theme :is(.brand,.beergut-brand,.site-header>a:first-child) { color:#edf4fc!important; font-size:22px!important; font-weight:750!important; line-height:1.15!important; letter-spacing:-.055em!important; text-transform:none!important; text-decoration:none; }
body.cad-theme :is(.brand,.beergut-brand) span { color:var(--cad-accent)!important; }
body.cad-theme .workshop-identity p { font-size:11px; color:#a6b3c3!important; letter-spacing:.025em; margin:5px 0 0; }
body.cad-theme .site-header nav a { font-size:13px; color:#c4d0de; }
body.cad-theme .profile-menu { margin:0; border:0!important; background:transparent!important; }
body.cad-theme .profile-menu>summary { width:40px; height:40px; min-height:40px; border:1px solid #4a5768!important; border-radius:6px!important; background:#29313c!important; color:#dbe9f8!important; }
body.cad-theme .profile-links { color:#e7edf7; border:1px solid #526173!important; border-radius:7px!important; background:#242b35!important; box-shadow:0 16px 44px #0008!important; z-index:100; }
body.cad-theme .profile-links a { color:#e5eef7!important; background:transparent!important; border-color:#3f4b5b!important; }
body.cad-theme .profile-links a:hover { background:#354254!important; }
body.cad-theme .profile-links p { color:var(--cad-accent)!important; }
body.cad-theme :is(main>section,main>article,.panel,.fit-card,.build-card,.measurement-card,.step-section,.own-result,.own-unmatched,.own-other,.workshop-option,.ready,.mission-card,.sizing-example,.surface-editor section,#studio-file-start,.studio-task-list>details,.studio-layout>aside,.ams-planner,fieldset) { background:var(--cad-panel)!important; border-color:var(--cad-line)!important; border-radius:var(--cad-radius)!important; box-shadow:none!important; }
body.cad-theme :is(main>section,main>article,.panel,.fit-card,.workshop-option,.surface-editor section) { border-width:1px; }
body.cad-theme :is(details,.step-box,.build-next,.notice) { border-color:var(--cad-line)!important; border-radius:6px!important; }
body.cad-theme summary { color:#e2ebf5!important; cursor:pointer; font-size:14px; font-weight:600; line-height:1.4; padding-block:10px; }
body.cad-theme details[open]>summary { color:var(--cad-accent)!important; }
body.cad-theme :is(.viewport,.viewer,.preview-bay,.bay,#mesh-graphic,.surface-preview) { background:radial-gradient(ellipse at 50% 35%,#303a46,#1c222b 75%)!important; border-color:#455260!important; border-radius:7px!important; box-shadow:inset 0 1px 0 #ffffff08!important; overflow:hidden; }
body.cad-theme canvas { max-width:100%; filter:none!important; image-rendering:auto; border-color:#455260!important; border-radius:5px!important; }
body.cad-theme :is(.bay-heading,.view-tools,.view-buttons,.forge-controls,.studio-modes,.surface-actions) { gap:7px; }
body.cad-theme :is(.bay-heading,.bay-label) { color:#c6d4e4!important; background:#232b35!important; border-color:#455260!important; }
body.cad-theme :is(.view-buttons,.forge-controls,.studio-modes,.surface-actions) button { font-size:12px; min-height:36px; padding:7px 11px; }
body.cad-theme :is(table,th,td) { border-color:#45505e!important; }
body.cad-theme th { background:#2a333f!important; color:#edf3fb!important; }
body.cad-theme td { color:#cbd5e2; }
body.cad-theme code,body.cad-theme pre { color:#deecfb; background:#131920; border-radius:4px; }
body.cad-theme :is(.warning,.warn,[role=alert]) { color:#ffd6a0!important; border-color:#81613b!important; }
body.cad-theme :is(.status,[role=status]) { color:#b8d9f1; font-size:13px; overflow-wrap:anywhere; }
body.cad-theme [role=status]:empty { margin:0; padding:0; }
body.cad-theme .fit-badge[data-level=green] { background:#254637!important; color:#c0f1cf!important; }
body.cad-theme .fit-badge[data-level=amber] { background:#493b25!important; color:#ffe0ac!important; }
body.cad-theme .fit-badge[data-level=red] { background:#4c2c32!important; color:#ffd1d8!important; }
body.cad-theme :is(.mission-card,.build-card) { transition:border-color .15s; }
body.cad-theme :is(.mission-card,.build-card):hover { transform:none!important; border-color:#6b8ead!important; }
body.cad-theme .mission-card .card-action { border-color:#3f4c5b; }
body.cad-theme .mission-stamp { color:#a8bdd2!important; border-color:#526173!important; outline-color:#52617355!important; transform:none; }
body.cad-theme.sizing-home main { width:min(100%,1320px); padding-top:24px; }
body.cad-theme .workshop-promo { background:#252f3b!important; border:1px solid #46576a!important; border-radius:7px!important; box-shadow:none!important; }
body.cad-theme .beginner-beacon { padding:24px!important; border-left:3px solid #79caff!important; }
body.cad-theme .beginner-beacon h1 { max-width:760px; font-size:clamp(24px,2.9vw,36px)!important; margin:8px 0 10px; }
body.cad-theme .beginner-beacon p { color:#bdccdc!important; font-size:14px; line-height:1.6; }
body.cad-theme .beginner-beacon .promo-cta { flex-shrink:0; background:#a5dbff!important; color:#122534!important; border-color:#a5dbff!important; }
body.cad-theme .workshop-steps { background:transparent!important; border:0!important; }
body.cad-theme .workshop-steps ol { gap:10px; padding:0; }
body.cad-theme .workshop-steps li { background:#202731!important; border:1px solid #3c4958!important; border-radius:6px!important; padding:16px!important; }
body.cad-theme .workshop-steps .step-link span { color:#e6f0fb!important; font-size:17px!important; font-weight:600; }
body.cad-theme .workshop-steps b { background:#34485c!important; color:#bce3ff!important; border-color:#5a7b99!important; border-radius:5px!important; }
body.cad-theme .workshop-steps :is(.step-help,small) { color:#b8c8db!important; font-size:12px!important; }
body.cad-theme .sizing-example:before { display:none; }
body.cad-theme .sizing-example figure { background:#171e27!important; border-color:#3b4b5f!important; border-radius:6px!important; padding:12px; }
body.cad-theme .sizing-example figcaption strong { color:#e7f0fc; font-size:15px; font-weight:600; }
body.cad-theme .sizing-example figcaption span { color:#aebfd1; font-size:13px; }
body.cad-theme .sizing-example-actions a { min-height:42px; }
body.cad-theme .sizing-example figure:hover img { transform:none; }
body.cad-theme .wiring-promo .promo-cta { background:transparent!important; border-color:#5b7187!important; }
body.cad-theme .workshop-option h2 { font-size:21px; }
body.cad-theme :is(.decorate-shortcut,.card-action,.arrow) { color:var(--cad-accent)!important; }
body.cad-theme .studio-layout { gap:18px; grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); }
body.cad-theme .studio-layout>aside { border:1px solid #435063; padding:20px; }
body.cad-theme .surface-editor { width:min(100%,1400px); }
body.cad-theme .surface-layout { grid-template-columns:minmax(0,1.8fr) minmax(260px,.85fr); gap:20px; }
body.cad-theme .surface-preview { padding:12px; }
body.cad-theme .surface-inspector { background:#252d38; padding:16px; border:1px solid #455164; border-radius:6px; }
body.cad-theme footer { color:#aab8c9; border-color:#394655!important; }
@media(min-width:1600px) { body.cad-theme main { max-width:1440px; } }
@media(max-width:900px) { body.cad-theme .studio-layout,body.cad-theme .surface-layout { grid-template-columns:1fr; } body.cad-theme .studio-layout .viewport { position:relative; top:auto; } }
@media(max-width:640px) { body.cad-theme { font-size:14px; } body.cad-theme main { padding:18px 14px 32px; } body.cad-theme :is(.site-header,.workshop-header) { padding:12px 14px!important; gap:10px; } body.cad-theme :is(button,.button,input,select,summary) { min-height:44px; } body.cad-theme .beginner-beacon { padding:18px!important; } body.cad-theme .workshop-steps ol { gap:8px; } body.cad-theme .workshop-steps li { padding:12px!important; } body.cad-theme .profile-links { max-width:calc(100vw - 28px); } body.cad-theme .surface-inspector { padding:12px; } body.cad-theme .studio-layout>aside { padding:14px; } }
@media(prefers-reduced-motion:reduce) { body.cad-theme *,body.cad-theme *::before,body.cad-theme *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { body.cad-theme { background:white!important; color:black!important; } body.cad-theme :is(p,h1,h2,h3,label,li) { color:black!important; } }
/* Reserve navigation space for the existing native workshop disclosure. */
body.cad-theme>header:has(.profile-menu):not(.workshop-header) { position:relative; padding-inline-end:92px!important; }
body.cad-theme>header:not(.workshop-header)>.profile-menu { right:clamp(14px,3vw,40px); top:12px; }
@media(max-width:640px) { body.cad-theme>header:has(.profile-menu):not(.workshop-header) { padding-inline-end:70px!important; } }
