@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;color:#ededeb;background:#141516;font-synthesis:none;--line:#303234;--muted:#9a9d9f;--lime:#dbf69e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,label,input,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}.topbar{height:80px;padding:0 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-size:27px;font-weight:700;letter-spacing:-1.6px;display:flex;align-items:center;gap:17px}.slash{font-size:29px;font-weight:400;color:#737779}.brand-sub{font-size:11px;letter-spacing:1.5px;font-weight:500}.top-actions{display:flex;align-items:center;gap:26px}.local-badge{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}i{width:5px;height:5px;border-radius:50%;background:var(--lime);display:inline-block;flex-shrink:0}.export{background:var(--lime);color:#1d2617;border-radius:7px;padding:13px 17px;font-size:12px;font-weight:650;display:flex;align-items:center;gap:28px}.export span{font-size:20px;line-height:15px}.workspace{height:calc(100dvh - 80px);min-height:620px;display:grid;grid-template-columns:254px minmax(300px,1fr) 300px}.library{border-right:1px solid var(--line);padding:24px 20px 16px;display:flex;flex-direction:column;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.35px;color:var(--muted);height:16px}.section-heading button{font-size:10px;letter-spacing:0;padding:0}.library h1{font-size:25px;line-height:1.13;font-weight:450;letter-spacing:-.9px;margin:24px 0 20px}.tabs{display:flex;gap:3px;padding:3px;background:#202224;border-radius:6px;margin-bottom:20px}.tabs button{font-size:10px;padding:7px 9px;flex:1;border-radius:4px;color:#a9abae}.tabs .active{background:#3b3d3e;color:#fff}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;overflow:auto;padding:2px 3px 15px;scrollbar-width:thin;scrollbar-color:#46494b transparent}.model{padding:0;text-align:left;min-width:0;position:relative}.model-visual{position:relative;border:1px solid #414447;border-radius:5px;overflow:hidden;background:#303439;aspect-ratio:3/4;transition:border-color .15s}.model img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.model:hover img{transform:scale(1.04)}.model.selected .model-visual{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}.model.selected .model-number{background:var(--lime);color:#20281b}.model-number{position:absolute;left:6px;top:6px;border-radius:3px;background:#202529c9;padding:3px 5px;font-size:9px;font-weight:600;letter-spacing:.5px}.model-name{display:block;font-size:10px;color:#b2b5b7;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model.selected .model-name{color:#eef3e5}.library-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:9px;color:#939698;display:flex;gap:7px;align-items:center}.stage{display:flex;flex-direction:column;min-width:0;background:#1d1f20;padding:0 28px}.stage-bar{height:63px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.stage-bar>span{font-size:10px;letter-spacing:1px;color:#adafb0}.stage-tools{display:flex;gap:8px;align-items:center}.stage-tools button{font-size:20px;display:flex;gap:6px;align-items:center;color:#acafb0}.stage-tools span{font-size:10px}.canvas-area{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(#56595a35 .7px,transparent .7px);background-size:14px 14px;overflow:hidden}canvas{display:block;max-height:100%;max-width:100%;aspect-ratio:3/4;box-shadow:0 15px 50px #0005;object-fit:contain;width:auto;height:100%}.loading{position:absolute;inset:0;background:#1d1f20e8;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#bfc3c4;font-size:12px}.loading[hidden]{display:none}.loading span{width:24px;height:24px;border:1px solid #535853;border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drop-hint{display:none;position:absolute;inset:10px;border:2px dashed var(--lime);border-radius:10px;background:#182016e8;align-items:center;justify-content:center;font-size:22px}.canvas-area.drag .drop-hint{display:flex}.stage-footer{height:54px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-shrink:0;font-size:9px;color:#bcc0c1}.stage-footer>span:first-child{display:flex;align-items:center;gap:7px}.muted{color:#7b8082}#preview-label{font-size:8px;letter-spacing:1px;color:#777e81}.controls{padding:24px 22px;overflow:auto;border-left:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#46494b transparent}.upload{display:flex;align-items:center;flex-direction:column;position:relative;border:1px dashed #4b5051;border-radius:7px;padding:20px 8px;margin:24px 0 16px;cursor:pointer;transition:background .2s}.upload:hover{background:#25292a}.upload-icon{display:flex;align-items:center;justify-content:center;border:1px solid #454b4c;width:30px;height:30px;border-radius:50%;font-size:24px;color:var(--lime);margin-bottom:12px}.upload strong{font-size:14px;font-weight:500}.upload>span:not(.upload-icon){color:#aeb3b5;font-size:10px;margin-top:7px}.upload small{color:#70787a;font-size:9px;margin-top:10px}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:2px solid var(--lime);outline-offset:3px}.file-info{font-size:10px;color:#b9c5ad;line-height:1.5;margin-bottom:14px;overflow-wrap:anywhere}.quality{font-size:10px;line-height:1.5;background:#38311d;color:#dfce94;padding:9px;border-radius:4px}.quality[hidden]{display:none}details{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;font-size:12px;padding:17px 0;font-weight:500}summary::-webkit-details-marker{display:none}summary span{color:#777e80;font-size:11px}details[open] summary span{transform:rotate(90deg)}.control-content{padding-bottom:17px}.segmented{display:flex;border:1px solid #393e40;border-radius:5px;padding:3px;gap:3px;margin-bottom:16px}.segmented button{flex:1;font-size:10px;padding:7px 3px;color:#a8adaf;border-radius:3px}.segmented .active{background:#3a4041;color:#f4f5f2}.slider{display:block;margin:15px 0 0}.slider-line{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#afb4b6;margin-bottom:6px}.slider output{color:#d7dcd9;font-size:10px;font-variant-numeric:tabular-nums}.slider input{width:100%;height:14px;cursor:pointer;accent-color:var(--lime);margin:0;appearance:none;background:transparent}.slider input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#c8dcab var(--progress,50%),#404648 var(--progress,50%));border-radius:2px}.slider input::-webkit-slider-thumb{appearance:none;width:9px;height:9px;background:#e1ebd2;border-radius:50%;margin-top:-3.5px}.slider input::-moz-range-track{height:2px;background:#404648}.slider input::-moz-range-thumb{height:9px;width:9px;background:#e1ebd2;border:0}.color-row{display:flex;justify-content:space-between;align-items:center;color:#afb4b6;font-size:11px}.color-row input{width:26px;height:26px;border:1px solid #535b5d;padding:2px;background:none;border-radius:50%;cursor:pointer}.swatches{display:flex;gap:10px;margin:13px 0}.swatches button{width:22px;height:22px;border-radius:50%;background:var(--swatch);border:2px solid #282d2e;box-shadow:0 0 0 1px #4c5455}.hint,.controls-foot{font-size:9px;line-height:1.6;color:#7d8688}.controls-foot{margin-top:16px}.select-row{display:flex;flex-direction:column;font-size:10px;color:#9ca6a8;gap:8px}select{width:100%;padding:9px 8px;border:1px solid #434b4d;background:#222729;color:#dce2e3;border-radius:4px;font-size:11px}.export-note{border:1px solid #354038;border-radius:4px;padding:12px;display:flex;flex-direction:column;gap:7px;margin-top:12px}.export-note strong{font-size:12px;font-weight:500;color:var(--lime)}.export-note span{font-size:10px;line-height:1.5;color:#9da8a1}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:all .2s;background:#e1f1d0;color:#233019;padding:13px 20px;font-size:12px;border-radius:6px;box-shadow:0 5px 30px #0005;z-index:99;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#f1ccbd;color:#442416}.stage:fullscreen{padding:0 40px;background:#151718}.stage:fullscreen .stage-bar{height:55px}.stage:fullscreen .stage-footer{height:45px}@media(min-width:1600px){.workspace{grid-template-columns:290px minmax(400px,1fr) 330px}.library{padding-left:26px;padding-right:26px}.controls{padding-left:28px;padding-right:28px}}@media(max-width:1100px){.workspace{grid-template-columns:208px minmax(260px,1fr) 265px}.library{padding-left:14px;padding-right:14px}.stage{padding:0 18px}.controls{padding:24px 17px}.local-badge{display:none}#preview-label{display:none}.stage-footer .muted{display:none}}@media(max-width:800px){.topbar{height:66px;padding:0 18px}.brand{font-size:22px;gap:10px}.brand-sub{font-size:8px;letter-spacing:1px}.top-actions{gap:5px}.export{padding:11px;font-size:10px;gap:13px}.workspace{height:auto;min-height:0;grid-template-columns:1fr}.stage{grid-row:1;height:calc(100dvh - 150px);min-height:400px;padding:0 18px}.stage-bar{height:48px}.stage-footer{height:40px}.library{grid-row:2;padding:20px 18px;border-right:0;border-top:1px solid var(--line)}.library h1{display:none}.tabs{max-width:320px;margin:16px 0}.gallery{display:flex;gap:12px;overflow-x:auto}.model{flex:0 0 105px}.library-foot{display:none}.controls{grid-row:3;border-left:0;border-top:1px solid var(--line);padding:24px 22px;overflow:visible}.upload{padding:18px}.control-content{max-width:none}.slider{margin-top:20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:801px){body{overflow:hidden}.workspace{min-height:0}.stage{overflow:hidden}}
.model-visual{display:block}.model img{height:auto;aspect-ratio:3/4}

/* Official Insany lockup, with its original proportions and pink accent. */
.brand-logo{display:block;width:150px;height:auto;flex-shrink:0}
@media(max-width:800px){.brand-logo{width:110px}}
@media(max-width:480px){.brand-logo{width:120px}.brand .slash,.brand .brand-sub{display:none}}
