*{box-sizing:border-box} :root{--ink:#26232c;--muted:#746e80;--plum:#7142ce;--accent:#7543d2;--line:#e6e1ed;--paper:#fff;--bg:#f0e9ff}body{margin:0;font:16px/1.5 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 16px;color:var(--ink);font-size:14px;font-weight:600}button:hover{border-color:var(--accent);background:#f2ecff}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--plum);color:#fff;border-color:var(--plum)}button.primary:hover{background:#5e32b3}input,select{min-width:0;border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#fff;color:var(--ink);width:100%;font-size:14px}input[type=range]{accent-color:var(--accent);padding:0}input[type=color]{padding:3px;width:46px;height:36px;cursor:pointer}input[type=checkbox]{width:auto;accent-color:var(--plum)}label{display:block;font-size:14px;font-weight:600;margin-bottom:17px}label input,label select{display:block;margin-top:6px}h1{font:500 29px/1.2 Georgia,serif;margin:7px 0 24px}h2{font-size:20px;margin-top:0}h3{font-size:16px;margin:0 0 10px}p{margin:5px 0 16px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent)}.muted{font-size:13px;color:var(--muted)}.rail{width:88px;position:fixed;inset:0 auto 0 0;background:#302047;color:#fff;display:flex;align-items:center;flex-direction:column;padding:26px 8px;z-index:5}.brand{font:italic 38px Georgia;color:#7142ce;text-decoration:none;text-align:center;line-height:1}.brand span{font:8px 'Segoe UI',sans-serif;letter-spacing:2px;display:block;margin-top:10px}.nav{background:none;border:0;color:#787080;width:72px;padding:10px 3px;font-size:29px;margin-top:24px;font-weight:400}.nav span{display:block;font-size:12px}.nav.active{background:#9166ee;color:#fff}.nav:hover{background:#eee5fc;color:white}.rail-bottom{margin-top:auto;font-size:8px;letter-spacing:1.6px;line-height:1.8;color:#9586aa;text-align:center}main{margin-left:88px}header{height:100px;display:flex;justify-content:space-between;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);background:#fff}header input{display:block;font-size:21px;font-weight:600;border:0;padding:2px 0;width:330px}.header-actions{display:flex;gap:10px;align-items:center}.header-actions>span{font-size:12px;color:var(--muted);margin-right:10px}.header-actions button span{margin-left:12px}.workspace{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 100px)}.controls{overflow:auto;background:white;border-right:1px solid var(--line);padding:25px 24px}.panel-heading h1{margin-bottom:22px}.template-note{font-size:12px;color:var(--muted);margin-top:-9px;margin-bottom:24px}.tabs{display:flex;gap:15px;border-bottom:1px solid var(--line);margin-bottom:23px}.tabs button{border:0;border-radius:0;padding:10px 0;color:var(--muted);font-size:13px}.tabs button.selected{border-bottom:2px solid var(--plum);color:var(--plum)}.stage{min-width:0;display:flex;flex-direction:column}.stage-bar{min-height:70px;display:flex;align-items:center;padding:12px 24px;gap:22px;border-bottom:1px solid var(--line)}.segmented{display:flex;background:#f2eef8;padding:4px;border-radius:8px}.segmented button{border:0;background:none;padding:7px 15px;color:var(--muted)}.segmented button.selected{background:#fff;color:var(--ink);box-shadow:0 2px 4px #4a2b7910}.inline{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;white-space:nowrap}.inline input{margin:0}.zoom{margin:0 0 0 auto;display:flex;align-items:center;gap:10px;font-size:12px}.zoom input{width:80px;margin:0}.zoom output{min-width:35px}.canvas-area{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:26px;background-color:#f0f1f1;background-image:radial-gradient(#d7dada .75px,transparent .75px);background-size:16px 16px}.paper{background:white;box-shadow:0 6px 24px #2c23391c;flex:none;width:350px;line-height:0}.paper canvas{width:100%;touch-action:none;cursor:move}footer{display:flex;justify-content:space-between;padding:11px 24px;font-size:12px;color:var(--muted);background:#fff;border-top:1px solid var(--line)}.upload{border:1px dashed #d4c4ef;border-radius:9px;background:#f8f5ff;width:100%;padding:20px 10px;margin-bottom:12px;text-align:center}.upload strong{display:block;font-size:14px}.upload small{font-weight:400;color:var(--muted);font-size:12px}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.color-row{display:flex;align-items:center;gap:10px;margin-top:6px}.color-row span{font-size:12px;font-weight:400}.color-row button{padding:7px;font-size:12px}.section-title{border-top:1px solid var(--line);padding-top:20px;margin-top:22px;font-size:14px;font-weight:700;margin-bottom:14px}.range-label{display:flex;justify-content:space-between;font-weight:600}.range-label output{font-weight:400;color:var(--muted)}.small-btn{font-size:12px;padding:7px 9px}.thumb-logo{max-width:100%;max-height:75px;object-fit:contain;margin:auto;display:block}.library{padding:40px;max-width:1400px;margin:auto}.library-head{display:flex;justify-content:space-between;align-items:flex-start}.library-head h1{font-size:36px;margin-bottom:10px}.library-head p{color:var(--muted);font-size:14px}.folder-bar{display:flex;align-items:center;gap:14px;padding:24px;background:white;border:1px solid var(--line);border-radius:12px;margin:24px 0}.folder-bar div{flex:1}.folder-bar p{font-size:13px;color:var(--muted);margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.card img{width:100%;height:180px;object-fit:contain;background:#f4f2f7;border-radius:7px;margin-bottom:18px}.card button{margin:10px 6px 0 0}.empty{grid-column:1/-1;text-align:center;padding:70px;border:1px dashed #d7c9e9;border-radius:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:15px;padding:30px;width:min(680px,95vw);max-height:90vh;box-shadow:0 30px 100px #30204733}dialog::backdrop{background:#29203966;backdrop-filter:blur(3px)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.notice{background:#f1eafb;padding:12px;border-radius:7px;color:#65468e;font-size:13px}.mapping-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.mapping-grid label{font-size:12px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#302047;color:white;padding:14px 24px;border-radius:10px;box-shadow:0 8px 24px #0002;z-index:30;display:none;max-width:80vw;font-size:14px}[hidden]{display:none!important}#threeView{text-align:center;margin:auto}.bag-scene{height:450px;width:420px;perspective:1100px;display:grid;place-items:center}.bag{position:relative;width:260px;height:330px;transform-style:preserve-3d;transform:rotateX(-8deg) rotateY(-25deg)}.bag canvas{position:absolute;backface-visibility:hidden;box-shadow:inset 0 0 30px #0002}.bag-front{width:260px;height:330px;transform:translateZ(60px)}.bag-back{width:260px;height:330px;transform:rotateY(180deg) translateZ(60px)}.bag-side{width:120px;height:330px;transform:rotateY(-90deg) translateZ(60px)}.rotation{max-width:260px;margin:auto}.busy{opacity:.65;pointer-events:none}@media(max-width:1050px){.header-actions>span{display:none}.workspace{grid-template-columns:290px 1fr}.stage-bar{gap:10px;padding:12px}.zoom{display:none}header{padding:0 20px}header input{width:250px}}@media(max-width:760px){.rail{width:64px}.nav{width:52px}.nav span{font-size:10px}.rail-bottom{display:none}main{margin-left:64px}header{height:auto;min-height:100px;flex-wrap:wrap;padding:12px;gap:10px}.workspace{grid-template-columns:260px minmax(340px,1fr);overflow:auto}.header-actions button{padding:8px}.library{padding:20px}.folder-bar{flex-wrap:wrap}}

.canvas-area{min-height:0}.mapping-grid input{padding:7px 3px}.bag canvas{image-rendering:auto}

.bag canvas{left:0;top:0}.bag-side{filter:brightness(.82)}#bagRight{filter:brightness(.75)}

/* Mint studio shell; artwork colors are controlled by the editor. */
body{background:radial-gradient(ellipse at 12% 0%,#f0e9ff 0%,#eee6ff 48%,#ddd0f7 100%);background-attachment:fixed;padding:20px;min-height:100vh}
main{margin-left:100px;padding:14px;border:1px solid #ffffffdd;border-radius:26px;background:#f8f5ffdd;min-height:calc(100vh - 40px);box-shadow:0 16px 50px #56398012}
.rail{inset:34px auto 34px 30px;width:78px;border:1px solid #fff;border-radius:23px;padding:23px 5px;background:linear-gradient(160deg,#fffffff2,#f8f6fcf5);color:var(--ink);box-shadow:0 7px 25px #5639800d}
.brand{font:600 34px/1 'Segoe UI',sans-serif}.brand span{font-size:9px;font-weight:700;letter-spacing:1.7px}.nav{width:64px;border-radius:16px;margin-top:20px;padding:15px 4px;color:#726a7d}.nav svg{width:23px;height:23px;display:block;margin:0 auto 7px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.nav.active{background:#9465ee;color:#7142ce;box-shadow:inset 0 0 0 1px #9465ee}.nav:hover{color:#6635c1}.nav span{font-size:12px;font-weight:500}.rail-bottom{letter-spacing:1px}
header{height:85px;border:1px solid #fff;border-radius:18px;background:#fffffff2;padding:0 25px;margin-bottom:14px;box-shadow:0 3px 12px #4f345e05}header input{background:transparent;font-size:21px}.eyebrow{font-size:11px;letter-spacing:1.6px}h1{font:600 27px/1.25 'Segoe UI',sans-serif;letter-spacing:-.7px}.panel-heading h1{margin-bottom:24px}.library-head h1{font-size:32px}
button{border-radius:11px;transition:background .15s,border-color .15s,box-shadow .15s}button.primary{box-shadow:0 3px 8px #744acb20}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b99aee;outline-offset:3px}input,select{border-radius:10px;background:#fcfbfe}input[type=range]{accent-color:#9465ee}input[type=checkbox]{accent-color:#8050da}input[type=color]{background:white;border-radius:9px}
.workspace{height:calc(100vh - 183px);min-height:480px;grid-template-columns:310px minmax(0,1fr);gap:14px}.controls{border:1px solid #e9e4f0;border-radius:18px;background:#fffffff2;padding:24px 22px;scrollbar-width:thin;scrollbar-color:#d9cceb transparent}.stage{border:1px solid #e6e0ef;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 4px 14px #46365508}.stage-bar{background:#fdfcfe;min-height:65px;padding:12px 18px;gap:18px}.canvas-area{background-color:#f0f1f1;background-image:radial-gradient(#d4d8d5 .7px,transparent .7px);padding:24px}.paper{box-shadow:0 7px 25px #2424241a}.segmented{border-radius:12px;padding:4px;background:#f2eef8}.segmented button{border-radius:9px;font-size:14px}.segmented button.selected{color:#7142ce;background:#fff;box-shadow:0 2px 5px #55358112}.tabs{gap:0;padding:4px;border:1px solid #e8e1f0;background:#f5f1fa;border-radius:11px}.tabs button{flex:1;border:0;border-radius:8px;font-size:13px;padding:8px 6px;background:transparent}.tabs button.selected{border:0;color:#7142ce;background:#fff;box-shadow:0 2px 5px #5535810f}.upload{border-color:#d2beef;border-radius:13px;background:#faf7ff}.upload:hover{background:#f0e7ff}.section-title{color:#74549c;font-weight:600}.library{background:#fcfbfe;border:1px solid #e8e2ef;border-radius:18px;padding:30px;min-height:calc(100vh - 183px)}.card,.folder-bar{border-radius:16px;box-shadow:0 3px 12px #46365508}.card img{border-radius:10px}.empty{background:#f8f5fc;border-radius:16px}.notice{border:1px solid #e2d3f5;border-radius:10px}dialog{border-radius:22px}#toast{background:#34204e;border-radius:13px}footer{font-size:12px;padding:10px 18px;gap:15px}
@media(max-width:1200px){body{padding:12px}main{margin-left:88px;min-height:calc(100vh - 24px);padding:11px}.rail{inset:24px auto 24px 20px;width:70px}.nav{width:59px}.workspace{height:calc(100vh - 161px);grid-template-columns:285px minmax(0,1fr);gap:11px}.stage-bar{gap:10px;padding:10px}.zoom{display:none}.header-actions>span{display:none}.controls{padding:22px 18px}.library{min-height:calc(100vh - 161px)}}
@media(max-width:900px){header{padding:0 16px}header input{width:230px;font-size:18px}.header-actions button{padding:9px 11px}.workspace{grid-template-columns:270px minmax(310px,1fr);overflow:auto}.inline{font-size:12px}.segmented button{padding:7px 9px;font-size:13px}.folder-bar{flex-wrap:wrap}}
@media(max-width:760px){body{padding:8px}main{margin-left:68px;padding:8px;border-radius:18px}.rail{inset:16px auto 16px 12px;width:57px;border-radius:17px;padding:20px 2px}.brand{font-size:28px}.brand span{font-size:7px}.nav{width:49px}.nav span{font-size:10px}.workspace{height:calc(100vh - 180px)}header{height:auto;min-height:90px;gap:8px;padding:12px}.library{padding:18px}.library-head{gap:12px}.library-head h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
#themeToggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}#themeToggle span{margin:0}#themeToggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}#themeToggle .sun{display:none}:root[data-theme=dark] #themeToggle .sun{display:block}:root[data-theme=dark] #themeToggle .moon{display:none}
/* Neutral black theme with green action accents. */
:root[data-theme=dark]{color-scheme:dark;--ink:#ededed;--muted:#ababab;--plum:#7544ce;--accent:#bf9aff;--line:#383838;--paper:#202020;--bg:#111111}
[data-theme=dark] body{background:#111111}
[data-theme=dark] main{background:#181818;border-color:#333;box-shadow:0 16px 50px #0004}
[data-theme=dark] .rail{background:#1c1c1c;border-color:#343434;box-shadow:0 7px 25px #0003}
[data-theme=dark] .brand{color:#eee}[data-theme=dark] .nav{background:transparent;color:#bcbcbc}[data-theme=dark] .nav:hover{background:#2b2b2b;color:#fff}[data-theme=dark] .nav.active{color:#fff;background:#7544ce;box-shadow:inset 0 0 0 1px #9465ee,0 3px 14px #9465ee20}[data-theme=dark] .nav.active:hover{background:#8957dd}[data-theme=dark] .rail-bottom{color:#999}
[data-theme=dark] header,[data-theme=dark] .controls,[data-theme=dark] .stage,[data-theme=dark] .library{background:#202020;border-color:#363636;box-shadow:none}
[data-theme=dark] .stage-bar,[data-theme=dark] footer{background:#222;border-color:#363636}
[data-theme=dark] .canvas-area{background-color:#282828;background-image:radial-gradient(#414141 .7px,transparent .7px)}
[data-theme=dark] .paper{background:#fff;box-shadow:0 7px 25px #0005}
[data-theme=dark] button{background:#2a2a2a;border-color:#454545;color:#ededed}[data-theme=dark] button:hover{background:#353535;border-color:#686868}[data-theme=dark] button.primary{background:#7544ce;border-color:#9867ee;color:#fff}[data-theme=dark] button.primary:hover{background:#8957dd}
[data-theme=dark] input,[data-theme=dark] select{background:#181818;color:#f1f1f1;border-color:#424242}[data-theme=dark] input::placeholder{color:#a7a7a7}[data-theme=dark] header input{background:transparent;border-color:transparent}[data-theme=dark] input[type=color]{background:#292929}[data-theme=dark] input[type=range]{accent-color:#a16df5}
[data-theme=dark] .tabs,[data-theme=dark] .segmented{background:#161616;border-color:#393939}[data-theme=dark] .tabs button,[data-theme=dark] .segmented button{background:transparent;color:#bdbdbd}[data-theme=dark] .tabs button.selected,[data-theme=dark] .segmented button.selected{color:#c4a2ff;background:#333;box-shadow:none}
[data-theme=dark] .upload{background:#252525;border-color:#575757}[data-theme=dark] .upload:hover{background:#303030}[data-theme=dark] .section-title{color:#cfcfcf}[data-theme=dark] .controls{scrollbar-color:#555 transparent}
[data-theme=dark] .card,[data-theme=dark] .folder-bar,[data-theme=dark] dialog{background:#252525;color:var(--ink);border-color:#414141}[data-theme=dark] .card img{background:#e2e2e2}[data-theme=dark] .empty{background:#1b1b1b;border-color:#484848}[data-theme=dark] .notice{background:#303030;color:#ddd;border-color:#4a4a4a}[data-theme=dark] dialog::backdrop{background:#000b}[data-theme=dark] #toast{background:#e8e8e8;color:#202020;border:1px solid #bbb}
@media(max-width:1250px){#themeLabel{display:none}#themeToggle{padding:10px}.header-actions>span{display:none}}

.contact-block{margin-bottom:24px}.contact-block>label{margin-bottom:7px}.contact-entry{display:flex;align-items:center;gap:10px}.contact-entry input{flex:1;min-width:0}.contact-current-icon{width:24px;flex:none;display:grid;place-items:center;color:var(--ink)}.contact-current-icon svg{width:21px;height:21px;fill:currentColor}.icon-library{margin-top:9px;border:1px solid var(--line);border-radius:10px;background:#f8f5fc;overflow:hidden}.icon-library summary{cursor:pointer;padding:10px;font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;align-items:center;list-style:none}.icon-library summary:after{content:'+';font-size:16px}.icon-library[open] summary:after{content:'−'}.icon-library summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.current-icon-name{font-size:12px;color:var(--muted);margin-left:auto}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px}.social-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 3px;font-size:12px;font-weight:500;min-height:67px;background:white}.social-grid svg{width:22px;height:22px;fill:currentColor;flex:none}.social-grid button[aria-pressed=true]{background:#ede3ff;color:#6334af;border-color:#a479ec;box-shadow:inset 0 0 0 1px #a479ec}.no-social-icon{display:grid;place-items:center;width:22px;height:22px;font-size:20px}[data-theme=dark] .icon-library{background:#191919}[data-theme=dark] .social-grid button{background:#2a2a2a}[data-theme=dark] .social-grid button[aria-pressed=true]{background:#38234f;color:#dfc7ff;border-color:#a479ec}

#bag{display:none}.bag-scene{perspective:none;display:block;max-width:none;flex:none;margin:auto}#presentationCanvas{display:block}#threeView{flex:none;max-width:none}#download3dBtn{margin-bottom:10px}.trash-btn{padding:8px;float:right;color:#b52b36}.trash-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.danger{background:#aa2632;color:white;border-color:#aa2632}.danger:hover{background:#8c1e29;color:white}[data-theme=dark] .trash-btn{color:#ff9ba5}[data-theme=dark] .danger{background:#ac2935;color:white;border-color:#c14750}.stage-bar{flex-wrap:wrap}.stage-bar .zoom{display:flex}@media(max-width:1050px){.stage-bar .zoom{margin-left:auto}.stage-bar .zoom input{width:65px}}

/* Lavender workspace, compact cards, neutral artwork surface. */
body{background:linear-gradient(135deg,#f5efff,#e6dcfb);background-attachment:fixed}
main{border-radius:16px;background:#f7f4fc;border-color:#ffffffcc;box-shadow:0 10px 40px #5736800a;padding:12px}
.rail{border-radius:13px;background:#fdfcfe;border-color:#efebf5;box-shadow:0 3px 16px #57368008}.nav{border-radius:9px;padding:13px 4px;margin-top:18px}.nav.active{color:#fff;background:#8958db;box-shadow:none}.nav:hover{background:#eee5fc;color:#6532b7}.nav.active:hover{background:#7746c7;color:#fff}.brand{color:#9362e9}
header{border-radius:11px;height:78px;padding:0 22px;margin-bottom:12px;border-color:#ece7f2;background:#fff}header input{font-size:20px}.header-actions{gap:8px}#saveState{max-width:180px;line-height:1.35}h1{font-size:25px;letter-spacing:-.5px}.eyebrow{letter-spacing:1.2px}.workspace{gap:12px;height:calc(100vh - 170px)}.controls,.stage,.library{border-radius:11px}.controls{padding:21px 20px}.stage-bar{min-height:61px}.panel-heading h1{margin-bottom:20px}.tabs,.segmented{border-radius:8px}.tabs button,.segmented button{border-radius:6px}.upload{border-radius:9px}.card,.folder-bar{border-radius:10px;box-shadow:0 2px 8px #4e2f6706}.card{padding:18px}.card img{border-radius:7px}.library{padding:26px}.library-head h1{font-size:30px}.library-head p{max-width:580px}.section-title{padding-top:17px;margin-top:19px}.icon-library{border-radius:8px}.social-grid button{border-radius:7px}button,input,select{border-radius:8px}dialog{border-radius:14px}.canvas-area{background-color:#f0f0f0;background-image:radial-gradient(#d5d5d5 .7px,transparent .7px)}
[data-theme=dark] body{background:#111}[data-theme=dark] main{background:#181818;border-color:#333}[data-theme=dark] .rail{background:#1c1c1c;border-color:#343434}[data-theme=dark] .brand{color:#c19bff}[data-theme=dark] .nav.active{background:#7544ce;color:#fff;box-shadow:inset 0 0 0 1px #9867ee}[data-theme=dark] .nav.active:hover{background:#8957dd;color:#fff}[data-theme=dark] .canvas-area{background-color:#282828;background-image:radial-gradient(#414141 .7px,transparent .7px)}
@media(max-width:1200px){main{padding:10px}.workspace{height:calc(100vh - 149px);gap:10px}.controls{padding:20px 17px}.header-actions>span{display:none}}
@media(max-width:760px){main{padding:8px}header{height:auto;min-height:90px;padding:12px}.workspace{height:calc(100vh - 180px)}.library{padding:18px}}
