@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:#f0edeb;background:#0a0a0b;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 65% 35% at 85% 0%,#300c0d55,transparent 75%),#0a0a0b;padding:0 max(20px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
main{max-width:1140px;margin:0 auto}.brandbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292426;gap:12px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:#ab0b0b;color:white;font:700 25px 'Space Grotesk',sans-serif;letter-spacing:-3px}.brand-spark{font-size:15px;align-self:center;color:#e5a4a4}.brand-word{font:600 17px 'Space Grotesk',sans-serif;letter-spacing:.06em}.brand-word strong{font-weight:400;color:#a8a0a0}.brand-divider,.footer-slash{color:#a71b20;margin:0 6px}.brand-meta,.eyebrow,.section-index,.preview-label,.buildline,footer{font-size:10px;font-weight:700;letter-spacing:.19em;color:#827a7c}.brand-meta-dot{color:#ad2428;margin-left:8px}.intro{min-height:280px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.eyebrow{color:#c45e60;display:inline-flex;align-items:center;gap:12px}.eyebrow-line{width:28px;height:1px;background:#8d292c}h1{font:600 clamp(40px,6vw,76px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:22px 0 12px}.period{color:#ab0b0b}.subtitle{color:#999093;font-size:15px;margin:0}.intro-ornament{font:700 210px/.8 'Space Grotesk',sans-serif;color:#40161944;letter-spacing:-.15em;transform:rotate(-11deg);pointer-events:none}.intro-ornament span{color:#70202455}.buildline{margin:0 0 18px;color:#5f585a}.buildline #appBuild{color:#8e8587;letter-spacing:normal;margin-left:8px}
.workspace{background:linear-gradient(150deg,#191617,#111112 70%);border:1px solid #30282a;border-radius:15px;padding:clamp(20px,4vw,40px);box-shadow:0 24px 80px #0005}.workspace-head{display:flex;align-items:flex-start;gap:18px;border-bottom:1px solid #30292a;padding-bottom:26px}.section-index{display:grid;place-items:center;width:38px;height:38px;border:1px solid #613134;color:#d1696d;border-radius:50%;flex:none}.workspace h2{font:600 clamp(21px,3vw,30px) 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:0 0 5px}.workspace-head p{font-size:13px;color:#91888a;margin:0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}button,.upload{font:600 14px 'DM Sans',sans-serif;min-height:50px;padding:12px 22px;border:1px solid #494043;border-radius:7px;background:#252022;color:#f3eeee;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}button:not(:disabled):active,.upload:active{transform:scale(.98)}button:not(:disabled):hover,.upload:hover{background:#37272a;border-color:#895052}#connect{background:#f0e9e8;color:#20191a;border-color:#f0e9e8}#connect:not(:disabled):hover{background:white}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,.upload:focus-within,summary:focus-visible{outline:2px solid #d8585e;outline-offset:4px}.upload{position:relative;overflow:hidden}.upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.state{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:#b8afb1;background:#221d1f;border:1px solid #393033;padding:10px 14px;border-radius:30px}.dot{width:8px;height:8px;background:#8e777b;border-radius:50%;flex:none}.dot.connected{background:#5cce9b;box-shadow:0 0 0 4px #5cce9b20}.notice{background:#351c20;border:1px solid #8d3e45;border-radius:7px;padding:14px;color:#ffd9d9;font-size:14px;margin:14px 0}.preview-label{display:flex;justify-content:space-between;gap:12px;margin:30px 0 10px;color:#8d8082}.preview-label span:last-child{color:#5e5658}figure{margin:0;min-height:220px;background:repeating-linear-gradient(0deg,transparent 0 29px,#ffffff05 30px),repeating-linear-gradient(90deg,#151314 0 29px,#ffffff05 30px);border:1px solid #393032;border-radius:8px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center}figure[hidden]{display:none!important}canvas{width:auto;max-width:100%;height:auto;max-height:480px;object-fit:contain;display:block;background:#fff;box-shadow:0 16px 45px #0008}figcaption{font-size:12px;color:#aaa0a1;margin-top:16px;text-align:center}#jobExtent,#geometryStatus{font-size:12px;color:#8e8587;line-height:1.6;margin:16px 0}.print-actions{display:flex;gap:12px;margin-top:20px}#print{flex:1;background:#ab0b0b;color:white;border-color:#ab0b0b;min-height:60px;font-size:16px;justify-content:space-between;padding:14px 24px}#print:not(:disabled):hover{background:#c61920;border-color:#c61920}#print span{font-size:22px}#cancel{border-color:#774045;color:#f6b5b8}#message{font-size:13px;line-height:1.6;color:#d4c7c8;overflow-wrap:anywhere;margin:16px 0 10px}progress{width:100%;height:6px;accent-color:#ab0b0b;display:block;border:0;border-radius:20px;overflow:hidden;background:#352a2c}progress::-webkit-progress-bar{background:#352a2c}progress::-webkit-progress-value{background:#ab0b0b}progress::-moz-progress-bar{background:#ab0b0b}#transfer{font-size:12px;color:#8d8284;margin:10px 0 0}
.utilities{margin:28px 0 48px;border-top:1px solid #292426}details{border-bottom:1px solid #292426;padding:18px 6px;color:#a79b9d;font-size:13px;line-height:1.65}summary{cursor:pointer;font-weight:600;color:#d6cacc;font-size:14px;list-style-position:inside;padding:4px 0}details[open] summary{margin-bottom:20px}details p{margin:10px 0}details button{margin:6px 8px 6px 0;font-size:13px}label.review{display:block;margin:12px 0}input[type=number]{background:#211c1e;color:#f4eeee;border:1px solid #55464a;border-radius:5px;padding:10px;font:inherit;max-width:130px}input[type=checkbox]{accent-color:#ab0b0b}pre,textarea{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;background:#181516;border:1px solid #403437;border-radius:7px;padding:14px;color:#cbbec0;font:12px/1.6 ui-monospace,monospace;width:100%}.service-tools{opacity:.65}.service-tools[open]{opacity:1}footer{display:flex;justify-content:space-between;gap:20px;padding:0 0 24px;color:#6e6365}footer strong{color:#b8a9ab;font-weight:700}[hidden]{display:none!important}
@media(max-width:650px){.brandbar{min-height:76px}.brand-word{font-size:13px}.brand-meta{display:none}.intro{min-height:235px}.intro-ornament{font-size:120px;position:absolute;right:0;opacity:.5}.intro>div:first-child{z-index:1}.subtitle{max-width:280px;line-height:1.5}.workspace{padding:20px 16px}.workspace-head{gap:12px}.actions>*{flex:1 1 100%}.preview-label{font-size:9px}figure{padding:14px}.print-actions{flex-wrap:wrap}#cancel{width:100%}footer{font-size:9px;line-height:1.8;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Artist edition: retain calibration and diagnostics DOM hooks, never expose service controls. */
.utilities{display:none!important}
/* Studio-grade visual refinement */
:root{--studio-red:#ab0b0b;--studio-line:#35292c}
body{background:radial-gradient(ellipse 80% 45% at 100% -10%,#3c101342,transparent 68%),#09090a}
.brandbar{border-bottom-color:#3a2a2c}
.brand-mark{clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}
.intro{min-height:310px}
.intro-ornament{color:#5d1b2040}
.workspace{position:relative;overflow:hidden;background:linear-gradient(145deg,#21191b 0%,#151213 45%,#100f10 100%);border-color:#493236;box-shadow:0 30px 95px #0009,0 1px 0 #ffffff09 inset}
.workspace:before{content:"";position:absolute;top:0;left:0;width:105px;height:2px;background:#c21a24}
.workspace-head{padding-bottom:30px}
#connect{font-weight:700}
#print{box-shadow:0 12px 35px #ab0b0b26;letter-spacing:.01em}
#message:not(:empty){border-left:2px solid #873337;padding-left:12px}
footer{margin-top:35px;padding-top:24px;border-top:1px solid #302528}
@media(max-width:650px){.intro{min-height:240px}.workspace{border-radius:11px}}

/* Artist-facing connection feedback: hide verbose trace, preserve DOM for diagnostics. */
#connectTrace{display:none!important}
#connectError{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;line-height:1.6;overflow-wrap:anywhere}

/* Aethon bespoke studio direction — wordmark-led, editorial, tactile. */
.brandbar{min-height:106px}.brand{gap:20px;min-width:0}.aethon-wordmark{display:block;max-width:min(210px,40vw);max-height:72px;width:auto;height:auto;object-fit:contain}.brand-product{font:500 12px 'Space Grotesk',sans-serif;letter-spacing:.22em;color:#e8d9da;border-left:1px solid #6c383c;padding-left:19px;white-space:nowrap}
.intro{min-height:360px;padding:24px 0 28px}.intro h1{font-size:clamp(52px,7.5vw,100px);line-height:.98;letter-spacing:-.075em}.intro h1 em{font-style:normal;color:#b51a24}.intro .subtitle{font-size:15px;letter-spacing:.01em}.intro-ornament{position:absolute;right:5%;top:18%;width:230px;height:230px;transform:none;font-size:initial;opacity:1;pointer-events:none}.ornament-ring{display:block;position:absolute;inset:15px;border:1px solid #68242a80;border-radius:50%;box-shadow:0 0 0 34px #54191c13,0 0 0 68px #54191c0b}.ornament-ring:before,.ornament-ring:after{content:"";position:absolute;top:50%;left:-40px;right:-40px;height:1px;background:#6b252a50}.ornament-ring:after{transform:rotate(90deg)}.ornament-cross{position:absolute;inset:0;display:grid;place-items:center;font:300 72px 'Space Grotesk',sans-serif;color:#9e323c66}
.workspace{border-radius:3px;background:linear-gradient(120deg,#1d1719,#121112 55%,#0e0e0f);border-color:#423235}.workspace:before{width:160px;height:3px}.workspace-head{align-items:center}.workspace h2{font-size:clamp(25px,3.4vw,37px)}.workspace-head p{font-size:14px}.section-index{border-radius:2px;width:42px;height:42px;font-size:11px}.actions{margin:30px 0 18px}.actions button,.actions .upload{border-radius:3px;min-height:56px;padding:14px 26px}#connect{background:#e8dfdf;color:#171214;border-color:#e8dfdf}.upload{background:transparent;border-color:#665154}.state{border-radius:3px;background:#171416}.preview-label{margin-top:34px;font-size:11px}.tiny-cross{color:#b7252e;margin-left:8px}figure{border-radius:2px;min-height:280px;background-color:#0c0c0d;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:28px 28px;border-color:#45383b}#print{border-radius:3px;min-height:68px;font-size:17px}#message{font-size:14px}#connectError{background:#2b1a1d;border-left:3px solid #c0323c;border-radius:2px;border-top-color:#4d282e;border-right-color:#4d282e;border-bottom-color:#4d282e}footer{margin-top:48px}.brand-meta{white-space:nowrap}
@media(max-width:700px){.brandbar{min-height:86px}.aethon-wordmark{max-width:160px;max-height:56px}.brand-product{font-size:10px;padding-left:12px}.intro{min-height:300px}.intro h1{font-size:clamp(44px,10vw,66px)}.intro-ornament{right:-60px;top:45px;transform:scale(.7);opacity:.5}.workspace-head{align-items:flex-start}.workspace{padding:24px 18px}.workspace h2{font-size:27px}}
@media(max-width:400px){.aethon-wordmark{max-width:130px}.brand-product{font-size:9px;letter-spacing:.12em}.intro{min-height:260px}.intro h1{font-size:44px}.intro-ornament{opacity:.25}}

/* CSS-only service mode: append #test to reveal developer controls. */
.utilities:target{display:block!important}
body:has(.utilities:target) #connectTrace:not([hidden]){display:block!important}
