:root{--bg:#07111f;--panel:#0d1b2d;--text:#f6fbff;--muted:#91a6ba;--cyan:#34e7d7;--line:#20364e;--danger:#ff6573;--shadow:0 24px 60px #0006}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% -8%,#173e57 0,transparent 32%),var(--bg);color:var(--text);font:16px/1.35 Inter,system-ui,sans-serif;min-height:100vh}.app-shell{width:min(1320px,100%);margin:auto;padding:18px 22px 54px}button,input,select{font:inherit}button{cursor:pointer}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand small{font-size:.75rem;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#07111f;background:linear-gradient(140deg,var(--cyan),#8effd5);font-weight:950}.printer-pill{display:flex;align-items:center;gap:8px;color:var(--text);border:1px solid var(--line);background:#0c1a2a;border-radius:99px;padding:10px 13px;font-weight:750}.printer-pill small{color:var(--muted)}.printer-pill>i,.fit-row i{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.studio{display:grid;grid-template-columns:minmax(390px,.86fr) minmax(520px,1.14fr);gap:22px}.preview-column{position:sticky;top:18px;align-self:start}.preview-head{display:flex;justify-content:space-between;align-items:end}.eyebrow{color:var(--cyan);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;margin:0 0 5px}.preview-head h1{font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.045em;margin:0 0 14px}.icon-button{width:42px;height:42px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:1.3rem;margin-bottom:14px}.preview-card{height:clamp(360px,56vh,560px);position:relative;display:grid;place-items:center;background:radial-gradient(circle at 48% 33%,#214f68,#0a1c2d 64%);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.grid-floor{position:absolute;width:150%;height:70%;bottom:-30%;background-image:linear-gradient(#3c677733 1px,transparent 1px),linear-gradient(90deg,#3c677733 1px,transparent 1px);background-size:28px 28px;transform:perspective(400px) rotateX(55deg)}.model-stage{perspective:1000px;z-index:1}.case-model{--mw:230px;--mh:135px;--md:65px;--wv:2px;--color:#34e7d7;position:relative;width:var(--mw);height:var(--mh);transform:rotateX(-12deg) rotateY(-27deg);transform-style:preserve-3d;transition:.18s}.case-face{position:absolute;background:color-mix(in srgb,var(--color),#11384a 18%);border:var(--wv) solid color-mix(in srgb,var(--color),white 35%);transition:.18s}.face-front{inset:0;border-radius:9px;box-shadow:inset 0 0 25px #fff2,0 35px 50px #0007}.face-top{width:var(--mw);height:var(--md);top:calc(var(--md)*-1 + 4px);transform-origin:bottom;transform:rotateX(76deg);border-radius:9px;background:color-mix(in srgb,var(--color),white 10%)}.face-side{width:var(--md);height:var(--mh);right:calc(var(--md)*-1 + 4px);transform-origin:left;transform:rotateY(88deg);border-radius:7px;background:color-mix(in srgb,var(--color),black 28%)}.snap .face-top{border-style:dashed}.slide .face-top{transform:rotateX(76deg) translateX(14px)}.port-shape{position:absolute;width:42px;height:16px;border-radius:8px;background:#07111f;bottom:20%;left:42%;box-shadow:inset 0 0 0 2px #9bb}.port-shape.ethernet{width:48px;height:36px;border-radius:4px}.port-shape.dc,.port-shape.gland{width:24px;height:24px;border-radius:50%}.port-shape.micro-usb{height:12px;border-radius:3px}.indicator-hole{position:absolute;width:10px;height:10px;border-radius:50%;background:#ff4f62;right:16%;bottom:24%;box-shadow:0 0 10px #ff4f62}.side-control{position:absolute;width:20px;height:38px;border-radius:4px;background:#07111f;left:35%;top:28%}.screw{position:absolute;width:10px;height:10px;border-radius:50%;background:#082d3c;border:2px solid color-mix(in srgb,var(--color),white 50%);z-index:4}.s1{top:10px;left:11px}.s2{top:10px;right:11px}.s3{bottom:10px;left:11px}.s4{bottom:10px;right:11px}.vent-preview{position:absolute;width:40%;height:43%;left:30%;top:27%;opacity:.85}.vent-preview.slots{background:repeating-linear-gradient(90deg,#082630 0 4px,transparent 4px 9px)}.vent-preview.honeycomb{background:radial-gradient(circle,#082630 0 2px,transparent 2.5px);background-size:10px 10px}.vent-preview.mesh{background-image:linear-gradient(45deg,#082630 25%,transparent 25%,transparent 75%,#082630 75%),linear-gradient(45deg,#082630 25%,transparent 25%,transparent 75%,#082630 75%);background-size:9px 9px;background-position:0 0,4.5px 4.5px}.logo-preview{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:45%;text-align:center;color:color-mix(in srgb,var(--color),white 60%);font-weight:950;letter-spacing:.08em;text-shadow:0 2px 2px #0008}.logo-preview.debossed{color:color-mix(in srgb,var(--color),black 38%);text-shadow:0 1px 1px #fff5}.logo-preview img{display:block;max-width:100%;max-height:44px;margin:auto;object-fit:contain}.dimension-readout{position:absolute;z-index:3;bottom:18px;color:#b8cedb;font-size:.9rem;background:#071522dd;padding:9px 13px;border-radius:99px}.fit-row{display:flex;justify-content:space-between;padding:12px 5px;color:var(--muted);font-size:.86rem}.fit-row span:first-child{color:#a9dfd8}.fit-row i{display:inline-block;margin-right:5px}.fit-row .bad{color:var(--danger)!important}.fit-row .bad i{background:var(--danger)}.generate-button{width:100%;display:flex;justify-content:space-between;border:0;border-radius:17px;padding:17px 19px;font-weight:900;background:linear-gradient(120deg,var(--cyan),#47a9ff);color:#061421}.generate-button:disabled{filter:grayscale(1);opacity:.5}.controls-column{display:grid;gap:12px}.project-intent,.config-section{background:linear-gradient(145deg,#0d1b2d,#0a1727);border:1px solid var(--line);border-radius:22px}.project-intent{padding:18px}.project-intent>label{display:block;font-weight:850;margin-bottom:9px}.prompt-row{display:flex;gap:8px}.prompt-row input{flex:1;min-width:0;background:#071522;border:1px solid var(--line);border-radius:13px;padding:13px;color:var(--text)}.prompt-row button{border:0;border-radius:13px;background:#18364b;color:var(--cyan);font-weight:800;padding:0 18px}.tag-list,.swatches{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.tag{border:1px solid var(--line);background:#102135;color:var(--muted);border-radius:99px;padding:7px 11px;font-size:.8rem}.tag.active{background:#153e4a;border-color:#298e87;color:#bffff5}.config-section{overflow:hidden}.config-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px;cursor:pointer}.config-section summary::-webkit-details-marker{display:none}.config-section summary>span{display:flex;align-items:center;gap:11px}.config-section summary i{font-style:normal;color:var(--cyan);font-size:.72rem;background:#143246;border-radius:9px;padding:6px}.config-section summary em{font-style:normal;color:var(--muted);font-size:.82rem}.config-section[open] summary{border-bottom:1px solid var(--line)}.section-content{padding:16px}.field-grid{display:grid;gap:10px;margin-bottom:10px}.field-grid.four{grid-template-columns:repeat(4,1fr)}.field-grid.two,.range-grid{grid-template-columns:repeat(2,1fr)}.field-grid label,.full-field{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:.8rem;font-weight:750}.field-grid label>span{display:flex;align-items:center;gap:4px;background:#071522;border:1px solid var(--line);border-radius:12px;padding:2px 9px}.field-grid input:not([type=color]),.full-field input,.field-grid select,.full-field select{width:100%;min-width:0;background:#071522;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px}.field-grid label>span input{border:0!important;padding:9px 0!important}.field-grid input[type=color]{width:100%;height:44px;background:#071522;border:1px solid var(--line);border-radius:12px}.feature-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px}.feature-tabs button{white-space:nowrap;border:1px solid var(--line);background:#0a1726;color:var(--muted);border-radius:11px;padding:9px 11px;font-size:.78rem}.feature-tabs button.active{color:#061421;background:var(--cyan);border-color:var(--cyan);font-weight:850}.feature-panel{display:none}.feature-panel.active{display:grid;gap:9px}.feature-card{background:#091725;border:1px solid var(--line);border-radius:15px;padding:13px}.feature-card.enabled{border-color:#277167;background:#0e2932}.feature-card>label{display:flex;align-items:center;gap:10px}.feature-card>label input{width:20px;height:20px;accent-color:var(--cyan)}.feature-card b,.feature-card small{display:block}.feature-card small{color:var(--muted);font-size:.78rem}.feature-params{display:none;gap:8px;flex-wrap:wrap;margin:12px 0 0 30px}.feature-card.enabled .feature-params{display:flex}.feature-params label{color:var(--muted);font-size:.74rem}.feature-params input,.feature-params select{background:#071522;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:8px;max-width:125px}.swatches{gap:10px;margin-top:15px}.swatches button{width:37px;height:37px;border-radius:50%;background:var(--s);border:3px solid #0d1b2d;box-shadow:0 0 0 1px var(--line)}.swatches button.active{box-shadow:0 0 0 2px var(--cyan)}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;border:1px dashed #3a5a70;border-radius:16px;padding:18px;background:#091725;color:var(--muted)}.upload-zone input{position:absolute;inset:0;opacity:0}.upload-zone>span{font-size:1.4rem;color:var(--cyan)}.upload-zone b{color:var(--text)}.upload-zone small{font-size:.75rem}.full-field{margin-top:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#071522;border:1px solid var(--line);border-radius:12px;padding:4px;margin:12px 0}.segmented button{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:9px}.segmented button.active{background:#183d49;color:var(--cyan);font-weight:800}.range-grid{display:grid;gap:12px}.range-grid label{font-size:.78rem;color:var(--muted)}.range-grid label>span{display:flex;align-items:center;gap:8px}.range-grid input{accent-color:var(--cyan);width:100%}.range-grid output{min-width:48px;font-size:.72rem}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:0 0 16px}.dialog-head button{border:0;background:#17283a;color:#fff;border-radius:12px;width:38px;height:38px;font-size:1.5rem}dialog{width:min(500px,calc(100% - 24px));border:1px solid var(--line);border-radius:25px;background:#0b1829;color:var(--text);padding:22px;box-shadow:var(--shadow)}dialog::backdrop{background:#020711cc;backdrop-filter:blur(8px)}dialog p{color:var(--muted)}.printer-specs{background:#071522;border-radius:14px;padding:6px 14px}.printer-specs span{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);color:var(--muted)}.printer-specs span:last-child{border:0}.printer-specs b{color:var(--cyan)}.success-dialog{text-align:center}.success-burst{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:var(--cyan);color:#06292b;font-size:1.8rem;font-weight:950}.ghost-button{width:100%;margin-top:9px;border:1px solid var(--line);background:#14263a;color:var(--text);border-radius:15px;padding:14px;font-weight:800}@media(max-width:900px){.studio{grid-template-columns:1fr}.preview-column{position:relative;top:0}.preview-card{height:380px}}@media(max-width:560px){.app-shell{padding:12px 12px 36px}.brand small,.printer-pill small{display:none}.preview-card{height:310px;border-radius:22px}.case-model{transform:rotateX(-12deg) rotateY(-27deg) scale(.78)}.field-grid.four{grid-template-columns:1fr 1fr}.field-grid.two,.range-grid{grid-template-columns:1fr}.config-section summary{padding:16px}.feature-params{margin-left:0}.generate-button{position:sticky;bottom:10px;z-index:10;box-shadow:0 10px 35px #000b}}
