:root{font-family:Inter,"Segoe UI",sans-serif;color:#e9edf2;background:#111821;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}header{height:88px;border-bottom:1px solid #2c343f;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:20px}.brand{font-size:22px;letter-spacing:-.8px;display:flex;align-items:center;gap:7px}.brand b{font-weight:800}.logo{color:#c9ff69;font-size:36px;margin-right:7px}.header-note{font-size:12px;letter-spacing:2px;color:#a0a9b6}.local{font-size:13px;color:#b7c1cf;border:1px solid #35404e;padding:8px 12px;border-radius:5px}main{max-width:1400px;margin:auto;padding:46px 5vw 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.eyebrow{font-size:12px!important;letter-spacing:2px!important;color:#c9ff69!important;font-weight:650;margin:0 0 14px!important}h1{font-size:clamp(30px,3.4vw,48px);line-height:1.1;letter-spacing:-1.7px;margin:0 0 14px}h1 span{color:#c9ff69}.intro p{color:#a6b0be;font-size:16px;margin:0;line-height:1.6}.edition{font-family:monospace;color:#68778c;font-size:14px;line-height:1.8;text-align:right;letter-spacing:2px}.edition b{color:#aab5c4;font-weight:400}.workspace{display:grid;grid-template-columns:365px minmax(0,1fr);border:1px solid #35404e;border-radius:12px;overflow:hidden;background:#18212c}.settings{padding:28px;border-right:1px solid #35404e;background:#1b2531}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:24px}.section-label>span{font:12px monospace;color:#91a0b4;border:1px solid #425165;padding:5px;border-radius:4px}h2{font-size:17px;font-weight:600;margin:0;letter-spacing:-.3px}label{display:block;font-size:14px;font-weight:500;color:#c5cfdb;margin:0 0 9px}textarea,select,input{border:1px solid #425063;border-radius:6px;background:#131c27;color:#f5f7fa;padding:12px;width:100%;outline:none}textarea{resize:vertical;min-height:86px;max-height:200px;line-height:1.6;font-size:15px}input:focus,select:focus,textarea:focus{border-color:#c9ff69;box-shadow:0 0 0 2px #c9ff6925}button:focus-visible,a:focus-visible{outline:2px solid #c9ff69;outline-offset:4px}.hint-line{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#9facbe;line-height:1.6;margin:8px 0 22px}.hint-line>span:last-child{white-space:nowrap}select{font-size:14px}.dimensions{margin-top:30px;border-top:1px solid #35404e;padding-top:26px;margin-bottom:22px}.dimensions small{margin-left:auto;color:#8998ac;font:13px monospace}.measure{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:17px 0}.measure label{margin:0;line-height:1.5;max-width:170px}.measure>div{position:relative;width:106px;flex-shrink:0}.measure input{padding:11px 28px 11px 12px;font-size:16px;-moz-appearance:textfield;appearance:textfield}.measure input::-webkit-inner-spin-button{display:none}.measure div>span{position:absolute;right:10px;top:14px;font-size:12px;color:#8391a3;pointer-events:none}.hint{font-size:12px;color:#9cabbc;line-height:1.6;margin:-7px 0 20px}.total{display:flex;justify-content:space-between;border-top:1px solid #35404e;padding:18px 0 24px;margin-top:23px;font-size:14px}.total strong{color:#c9ff69}.primary{background:#c9ff69;color:#16200b;border:none;border-radius:6px;width:100%;padding:15px 10px;font-size:16px;font-weight:700;display:flex;justify-content:center;gap:12px;align-items:center;transition:background .15s}.primary:hover{background:#ddff9f}.primary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.export-note{font-size:12px;text-align:center;color:#9daabc;margin:12px 0 0}.preview{min-width:0;padding:24px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.preview-toolbar .section-label{margin:0}.tabs{display:flex;background:#111923;border:1px solid #394555;border-radius:6px;padding:4px;gap:4px}.tabs button{border:0;background:transparent;color:#99a8bb;padding:8px 14px;border-radius:4px;font-size:13px}.tabs button[aria-pressed=true]{background:#354353;color:#fff}.stage{position:relative;background-color:#101923;background-image:linear-gradient(#26334266 1px,transparent 1px),linear-gradient(90deg,#26334266 1px,transparent 1px);background-size:32px 32px;border:1px solid #344252;border-radius:8px;height:460px;overflow:hidden}.stage-caption{position:absolute;top:19px;left:20px;z-index:2;font-size:11px;letter-spacing:1.4px;color:#8e9fb2;pointer-events:none}.stage-caption span{color:#b8c7d8}#scene{width:100%;height:100%;touch-action:none}#scene canvas{display:block;width:100%;height:100%}#flat{position:absolute;inset:65px 35px 60px;text-align:center}#flat canvas{width:auto;height:100%;max-width:100%;object-fit:contain;box-shadow:0 16px 60px #0007;background:white}#fallback{position:absolute;bottom:75px;padding:10px 25px;font-size:14px;color:#c9d5e4;text-align:center}.stage-bottom{position:absolute;bottom:17px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#90a3b9;pointer-events:none}.stage-bottom button{pointer-events:auto;background:#1c2a3b;border:1px solid #405065;color:#bfcdde;border-radius:5px;padding:7px 10px;font-size:12px;white-space:nowrap}.stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;margin:22px 0 24px;gap:15px}.stats>div+div{border-left:1px solid #394555;padding-left:20px}.stats span{font-size:11px;color:#8e9fb3;letter-spacing:1.3px;display:block;margin-bottom:9px}.stats strong{font-size:15px;font-weight:500;white-space:nowrap}.print-tip{display:flex;gap:12px;border-top:1px solid #35404e;padding-top:21px;align-items:flex-start}.tip-icon{display:block;border:1px solid #9babbd;border-radius:50%;color:#c9ff69;min-width:20px;text-align:center;font:14px serif;line-height:19px;margin-top:3px}.print-tip p{font-size:13px;line-height:1.7;color:#a7b5c6;margin:0}.print-tip strong{color:#d9e2ed;font-weight:500}footer{display:flex;justify-content:space-between;padding:26px 0;font-size:12px;color:#8393a8;gap:20px;line-height:1.6}footer b{color:#c9ff69;padding:0 8px}.error,.warning{font-size:14px;color:#ffd595;line-height:1.6}.error{margin:0 0 18px}.warning{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1400px){main{padding-left:55px;padding-right:55px}}@media(max-width:1050px){.workspace{grid-template-columns:330px minmax(0,1fr)}.settings{padding:22px}.preview{padding:20px}.stage{height:445px}.stats{gap:9px}.stats>div+div{padding-left:10px}.stats strong{font-size:13px}.stage-bottom{left:12px;right:12px}.stage-bottom>span{max-width:190px;line-height:1.6}}@media(max-width:760px){header{height:72px;padding:0 20px}.header-note,.edition{display:none}.local{border:0;padding:0;font-size:11px;max-width:120px;text-align:right}main{padding:30px 16px 0}.intro{margin-bottom:26px}.workspace{grid-template-columns:1fr}.settings{border-right:0;border-bottom:1px solid #35404e;padding:24px}.preview{padding:20px 16px}.stage{height:400px}.stage-bottom>span{max-width:165px}.stats span{font-size:10px;letter-spacing:.7px}.stats strong{font-size:13px}.preview-toolbar{gap:8px}.tabs button{padding:8px 10px}.stats{grid-template-columns:1.4fr 1fr 1fr}footer{flex-direction:column;gap:5px}.measure label{max-width:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.brand-subtitle{font-size:12px;letter-spacing:1.5px;color:#aab5c4;margin-left:13px}.toggle{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:18px 0;cursor:pointer;gap:12px}.toggle input{position:absolute;width:42px;height:24px;right:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch{width:42px;height:24px;border:1px solid #566679;border-radius:20px;background:#131c27;flex-shrink:0;position:relative}.switch:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#94a2b6;border-radius:50%;transition:transform .15s}.toggle input:checked+.switch{background:#c9ff69;border-color:#c9ff69}.toggle input:checked+.switch:before{background:#1b2531;transform:translateX(18px)}.toggle input:focus-visible+.switch{outline:2px solid #c9ff69;outline-offset:3px}.style-hint{margin-top:10px}.color-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.color-controls label{font-size:12px;line-height:1.5}.color-controls input{display:block;height:42px;padding:5px;margin-top:8px;cursor:pointer}.preview{position:sticky;top:0;align-self:start}.stats strong{white-space:normal;line-height:1.5}@media(max-width:760px){.brand{flex-wrap:wrap;gap:2px;font-size:19px;max-width:235px}.brand-subtitle{flex-basis:100%;margin:-5px 0 0 44px;font-size:9px;letter-spacing:1px}.logo{font-size:30px}.preview{position:static}.workspace{overflow:visible}.settings{border-radius:12px 12px 0 0}.stats strong{font-size:12px}}
.stage{background-color:#b2c2ce;background-image:linear-gradient(#51687a22 1px,transparent 1px),linear-gradient(90deg,#51687a22 1px,transparent 1px)}.stage-caption{color:#263b4a}.stage-caption span{color:#263b4a}.stage-bottom{color:#2a4051}
.workspace{overflow:clip}.preview{top:20px}
.field-range{display:block;font-size:12px;font-weight:400;color:#9cabbc;margin-top:4px;line-height:1.5}.measure{align-items:flex-start}.measure>div{margin-top:4px}input[aria-invalid=true]{border-color:#ffba77}.color-controls{grid-template-columns:1fr 1fr}.color-controls label:first-child{grid-column:1/-1}
details{border-top:1px solid #35404e;margin-top:18px}summary{padding:18px 0;color:#e3eaf2;font-weight:600;font-size:14px;cursor:pointer}.detail-body{padding-bottom:6px}.secondary{width:100%;background:#283748;color:#e3eaf2;border:1px solid #536479;border-radius:6px;padding:10px;margin:12px 0}.project-actions{display:flex;gap:8px}.checks{display:grid;gap:14px;margin:20px 0}.checks>div{background:#131c27;padding:14px;border:1px solid #35404e;border-radius:7px}.checks h3{font-size:13px;margin:0 0 8px}.checks p{font-size:13px;line-height:1.6;margin:0}.checks .hint{font-size:12px;margin-top:6px}[data-state=pass]{color:#c9ff69}[data-state=warn]{color:#ffce88}.export-bar{position:sticky;bottom:0;background:#1b2531;border-top:1px solid #536479;padding:16px 0 8px;z-index:5;margin-top:16px}.export-bar select{margin-bottom:12px}.settings{padding:22px}.preview{top:15px}.tabs button{padding:8px 10px}#placement{position:absolute;inset:75px 20px 65px;display:flex;align-items:center;justify-content:center}#card-canvas{max-width:100%;max-height:100%;width:auto;height:auto;touch-action:none;cursor:move;box-shadow:0 8px 35px #0004}#flat canvas{max-height:100%}.color-controls label:first-child{grid-column:auto}.workspace{overflow:visible}.settings{border-radius:12px 0 0 12px}@media(max-width:760px){.settings{border-radius:12px 12px 0 0}.preview-toolbar{flex-wrap:wrap}.tabs{width:100%;justify-content:space-between}.tabs button{flex:1}.stage{height:370px}.export-bar{bottom:0}.stats{grid-template-columns:1fr 1fr}.stats>div:last-child{border:0;padding-left:0;grid-column:1/-1}.checks{gap:10px}}
.quick-export{position:fixed;right:22px;bottom:20px;width:auto;min-width:180px;padding:14px 22px;z-index:20;box-shadow:0 5px 25px #0006}body{padding-bottom:70px}@media(max-width:760px){.quick-export{left:16px;right:16px;bottom:12px;width:calc(100% - 32px)}}
main{padding-top:24px}.measure{flex-wrap:wrap;gap:10px 12px}.measure .numeric-slider{flex:0 0 100%;width:100%;height:32px;padding:0;margin:0;border:0;border-radius:0;background:transparent;cursor:pointer;accent-color:#c9ff69;touch-action:pan-y}.numeric-slider:disabled{opacity:.35;cursor:not-allowed}.numeric-slider::-webkit-slider-runnable-track{height:6px;border-radius:10px;background:linear-gradient(to right,#c9ff69 var(--position),#425063 var(--position))}.numeric-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#c9ff69;border:3px solid #1b2531;box-shadow:0 0 0 1px #c9ff69;margin-top:-7px}.measure .numeric-slider{-webkit-appearance:none;appearance:none}.numeric-slider::-moz-range-track{height:6px;border-radius:10px;background:#425063}.numeric-slider::-moz-range-progress{height:6px;background:#c9ff69;border-radius:10px}.numeric-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#c9ff69;border:2px solid #1b2531}.measure .numeric-slider:focus-visible{outline:2px solid #c9ff69;outline-offset:3px;box-shadow:none}@media(max-width:760px){main{padding-top:18px}.measure .numeric-slider{height:40px}.numeric-slider::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}}
.content-fields{margin-top:18px}.content-fields>input{margin-bottom:18px}.content-fields .hint{margin-top:-10px}.content-fields #wifi-password-hint{margin-top:4px}.content-fields .toggle{margin-bottom:20px}
header{position:sticky;top:0;z-index:30;background:#111821f5;backdrop-filter:blur(18px);height:auto;min-height:100px;padding:18px 5vw;gap:24px;flex-wrap:nowrap;border-bottom:1px solid #ffffff12;box-shadow:0 8px 28px #0002}
header .brand{gap:12px;flex-shrink:0;letter-spacing:-.6px}header .logo{font-size:30px;line-height:1;background:#c9ff6910;border:1px solid #c9ff6925;border-radius:12px;padding:9px;margin:0}header .brand-text{display:grid;gap:5px}header .brand b{font-size:22px}header .brand-subtitle{font-size:10px;letter-spacing:2px;color:#9cabbc;margin:0}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto;flex-shrink:0}.makerworld-link,.support a{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:12px 15px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.makerworld-link{background:#1b2531;border:1px solid #405063;color:#dce5ef}.makerworld-link:hover{background:#253344;border-color:#6a819b}.external-arrow{font-size:16px;opacity:.65;margin-left:3px}.support{display:grid;gap:6px;text-align:center}.support a{background:#c9ff69;color:#17230b;border:1px solid #c9ff69;box-shadow:0 3px 16px #c9ff6915}.support a:hover{background:#ddff9f;border-color:#ddff9f}.paypal-tag{font-size:10px;font-weight:700;border-left:1px solid #17230b30;padding-left:9px;letter-spacing:.2px}.support>span{font-size:10px;color:#8f9ead}.header-actions>.makerworld-link{margin-bottom:18px}
.preset-toolbar{display:flex;align-items:stretch;gap:8px;margin-bottom:20px}.preset-toolbar select{min-width:0;flex:1;padding:11px 8px;font-size:12px}.preset-toolbar #reset-settings{width:auto;flex:0 0 108px;padding:8px;border:1px solid #bf555c;border-radius:6px;background:#8c303b;color:#fff3f3;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer}.preset-toolbar #reset-settings:hover{background:#aa3c48;border-color:#e4777f}
@media(max-width:860px){header{gap:15px;padding:16px 4vw}.header-actions{gap:9px}.makerworld-link,.support a{font-size:11px;padding:11px 12px;gap:6px}header .brand b{font-size:20px}header .brand-subtitle{font-size:9px;letter-spacing:1.3px}header .logo{padding:7px;font-size:27px}}
@media(max-width:680px){header{flex-wrap:wrap;padding:14px 16px;gap:15px}.header-actions{width:100%;margin-left:0;justify-content:space-between;align-items:start;gap:10px}.header-actions>.makerworld-link{margin-bottom:0;flex:1;white-space:normal;text-align:center}.support{flex:1}.support a{white-space:normal;gap:5px;padding:11px 8px}.paypal-tag{padding-left:5px}.external-arrow{margin-left:0}.preset-toolbar select{font-size:13px}}