:root { color-scheme: dark; --bg:#0a0e16; --panel:#141b28; --panel2:#101723; --line:#253145; --text:#e9edf7; --muted:#8e9aaf; --gold:#e8b54c; --blue:#2478fc; --green:#16a275; --cyan:#08b4cc; }
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 90% 50% at 40% -40%,#1c2f4c 0%,transparent 100%),var(--bg);font:14px/1.5 Inter,'Segoe UI',Arial,sans-serif;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.grow{flex:1}.topbar{height:68px;display:flex;align-items:center;gap:19px;padding:0 26px;background:#0b1019;border-bottom:1px solid #202a3a}.brand{display:flex;gap:12px;align-items:center}.brand-icon{display:flex;align-items:center;justify-content:center;width:41px;height:41px;background:linear-gradient(130deg,#fff0aa,#d0942f);color:#204a88;border-radius:12px;box-shadow:0 3px 16px #e5ab4b3d;font-size:23px}.brand-word b{font-size:18px;letter-spacing:1.4px}.brand-word b span{color:var(--gold)}.brand-word small{display:block;color:#79859b;font-weight:700;font-size:9px;letter-spacing:1.5px}.top-separator{height:35px;border-left:1px solid #283449}.product-name{font-weight:700;font-size:15px}.gold-icon{color:var(--gold);margin-right:7px}.product-label{display:inline-flex;align-items:center;margin-left:8px;border:1px solid #534522;background:#2b2618;color:#e9b755;padding:3px 8px;border-radius:6px;font-size:10px;letter-spacing:.8px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:22px}.nav-link{color:#aab8ca}.nav-link:hover{color:white}.top-tag{border:1px solid #294a45;padding:8px 11px;color:#7dd1ae;border-radius:7px;font-size:10px;font-weight:800;letter-spacing:1px}.app{max-width:1800px;margin:0 auto;padding:24px}.hero{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:7px 1px 21px}.hero h1{font-weight:800;font-size:32px;line-height:1.15;margin:4px 0 8px;letter-spacing:-.8px}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{margin:0;color:#a1aec1}.hero .overline{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--gold)}.hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{background:#192334;border:1px solid #344058;color:#e8effb;border-radius:9px;padding:11px 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;white-space:nowrap}.btn:hover{filter:brightness(1.15)}.btn.primary{background:linear-gradient(120deg,#226ff7,#125bd9);border-color:#287ffd}.btn.subtle{background:#151d2b;border-color:#303d51}.btn.tiny{padding:7px 11px;font-size:12px}.btn.outline{background:#101827;color:#74abff;border-color:#276bd0}.btn.danger{background:#271920;border-color:#7c3f44;color:#ff9292}.btn.success{background:#168d5a;border-color:#149966}.btn.aqua{background:#0799b9;border-color:#15b7d5}.status-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111b28;border:1px solid #233148;padding:11px 16px;margin-bottom:14px;border-radius:10px;color:#aab7c9;font-size:12px}.status-strip>div:first-child{display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:#38ba8e;box-shadow:0 0 10px #38ba8e90}.chip{border:1px solid #33415a;border-radius:6px;padding:3px 8px;white-space:nowrap}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.95fr);gap:14px;align-items:start}.left,.right{display:flex;flex-direction:column;gap:14px;min-width:0}.panel{background:var(--panel);border:1px solid #253148;border-radius:13px;padding:16px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.section-title{color:#9faec4;font-size:12px;font-weight:800;letter-spacing:.8px;display:flex;align-items:center;gap:8px}.section-icon{color:var(--gold);font-size:17px;font-weight:800}.tiny-note{font-size:11px;color:#8b98ad;letter-spacing:normal;font-weight:500}.catalog-panel{padding-bottom:12px}.catalog-panel #searchInput,.fields-grid input,.fields-grid select,.add-row input,.filename-label input,.sockets input,.controls select{width:100%;background:#0c131e;border:1px solid #29384c;color:var(--text);border-radius:9px;outline:none;padding:10px 12px}.catalog-panel #searchInput:focus,.fields-grid input:focus,.add-row input:focus,.sockets input:focus,.controls select:focus{border-color:#2d7aea;box-shadow:0 0 0 2px #277fff23}.section-pills{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.pill{padding:5px 9px;min-width:29px;background:#131d2d;border:1px solid #273449;border-radius:7px;color:#8494aa;font-size:11px}.pill.active,.pill:hover{background:#43371d;color:#f6d488;border-color:#bd933a}.catalog-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.75fr);gap:12px}.item-results{height:243px;overflow-y:auto;border:1px solid #28364b;background:#0b121d;border-radius:9px;padding:5px}.catalog-entry{width:100%;display:flex;gap:10px;align-items:center;text-align:left;padding:7px 10px;color:#dfe6f5;background:transparent;border:0;border-radius:5px;font-size:12px}.catalog-entry .catalog-index{color:#a4bbd4;font-family:Consolas,monospace;font-weight:700;min-width:46px}.catalog-entry .catalog-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-entry small{color:#75859c}.catalog-entry.selected{background:#414248}.catalog-entry:hover{background:#26344b}.selected-item{border:1px solid #253348;border-radius:9px;padding:10px;background:#101621;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px}.item-art{width:100%;min-height:130px;border:1px solid #0e1420;border-radius:9px;background:radial-gradient(circle,#1f3152,#080c14 75%);display:flex;justify-content:center;align-items:center;font-size:50px;color:#e8c061;text-shadow:0 5px 15px #dbab4e80}.item-art[data-tone=green]{color:#65bda0}.item-art[data-tone=violet]{color:#bf9cf9}.item-art[data-tone=amber]{color:#f0d38a}.item-meta{text-align:center}.meta-code{border:1px solid #715625;background:#302714;border-radius:5px;font-weight:700;color:#f1bc51;display:inline-block;font-size:9px;padding:3px 7px}.item-meta strong{display:block;margin:6px 0 3px}.item-meta small{color:#93a4b8}.fields-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:13px}.fields-grid label,.sockets label,.add-row label,.controls label{display:block;color:#9cabc1;font-weight:600;font-size:12px}.fields-grid label input,.fields-grid label select,.sockets label input,.add-row label input,.controls label select{display:block;margin-top:6px}.fields-grid label.checkrow{display:flex;align-items:center;gap:7px;padding:12px 2px}.checkrow input{width:16px!important;height:16px;accent-color:#e4b04d}.subheading{display:flex;align-items:center;gap:9px;margin:21px 0 11px;color:#9faec5;font-size:12px;font-weight:800;letter-spacing:.6px}.counter{border:1px solid #745725;background:#332a1b;color:#f0bc51;border-radius:5px;padding:1px 7px;font-weight:800;font-size:11px}.text-btn{padding:5px 8px;border:1px solid #2169df;border-radius:7px;background:#111a2a;color:#5aa0ff;font-size:11px;font-weight:700}.text-btn.gold{border-color:#aa821d;color:#eabb3d}.exc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.excel-check{display:flex;align-items:center;gap:8px;color:#d2d9e5;font-size:12px}.excel-check input{width:15px;height:15px;accent-color:#e8b54c}.sockets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.sockets input{padding:8px}.add-row{display:flex;align-items:end;gap:10px}.add-row label{flex:1}.add-row .btn{height:41px}.list-panel{padding-bottom:10px}.shop-items{max-height:360px;overflow-y:auto}.shop-item{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid #2a3447}.shop-item:last-child{border-bottom:0}.shop-item.dragging{opacity:.5}.drag-handle{color:#7b8ba0;cursor:grab;letter-spacing:-3px;font-size:18px}.mini-art{width:33px;height:33px;flex:none;display:flex;align-items:center;justify-content:center;color:#f5d485;border:1px solid #464e5d;border-radius:6px;background:#171c29}.tone-blue{color:#69a3ff!important;background:linear-gradient(125deg,#142b4b,#151c2a)!important}.tone-green{color:#77dac0!important;background:linear-gradient(125deg,#173c3a,#151c2a)!important}.tone-violet{color:#d2a7fc!important;background:linear-gradient(125deg,#31244c,#151c2a)!important}.tone-amber{color:#f5cc76!important;background:linear-gradient(125deg,#48311e,#161c26)!important}.shop-item-text{min-width:0;flex:1}.shop-item-text b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.shop-item-text small{display:block;color:#92a1b7;font-size:10px}.item-controls{display:flex;gap:4px}.item-controls button{background:#1b2535;border:1px solid #33415a;color:#a8b9d0;border-radius:5px;padding:4px 7px;font-size:11px}.item-controls button:hover{background:#29394e;color:white}.item-controls .delete-control{color:#f48b95}.preview-panel{position:sticky;top:10px}.controls{display:flex;align-items:end;gap:9px;margin:4px 0 14px}.controls label{flex:1}.controls label select{padding:8px}.controls .btn{margin-bottom:1px}.shop-frame{background:#0c0f14;border:7px ridge #4d5155;box-shadow:inset 0 0 15px #010306,0 18px 26px #050a1391;border-radius:8px;padding:11px 14px 12px;max-width:345px;margin:0 auto;width:100%}.frame-head{font-family:Georgia,serif;font-size:16px;letter-spacing:1px;text-align:center;text-shadow:0 2px 5px #000;border:2px solid #333c4c;background:linear-gradient(#292a2c,#0b0c0d);padding:10px 0;border-radius:4px;margin-bottom:12px}.frame-head span{display:block;font:9px Arial;color:#bb9143;letter-spacing:2px}.shop-grid{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(15,31px);border:2px solid #1f2939;box-shadow:0 0 12px #000;background:#11151c}.grid-cell{border:1px solid #404750;box-shadow:inset 0 1px 6px #05070b;background:linear-gradient(155deg,#3c4149,#1e222a 65%,#343a44)}.item-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(15,31px);pointer-events:none}.placed-item{pointer-events:auto;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;line-height:1.15;color:#dec479;border:1px solid #8e784d!important;border-radius:3px;background:radial-gradient(circle,#523d25,#14171d)!important;box-shadow:inset 0 0 7px #d59e354d;cursor:pointer;font-size:12px;padding:2px}.placed-item:hover{filter:brightness(1.5);z-index:2}.placed-item span{display:block;max-width:100%;font-size:8px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.frame-foot{display:flex;justify-content:space-between;align-items:center;font:9px Arial;color:#cbb37e;letter-spacing:1px;padding:11px 2px 0}.preview-note{margin-top:18px;padding:12px 13px;background:#101a2a;border-left:3px solid #c69a43;border-radius:5px}.preview-note b{font-size:11px;color:#e5c478}.preview-note p{margin:5px 0 0;color:#9faac0;font-size:11px}.error-text{color:#fc8b8b!important}.code-panel{margin-top:15px}.filename-label{display:flex;gap:8px;align-items:center;color:#9caabe;font-size:11px}.filename-label input{width:215px;padding:7px 10px}.code-panel textarea{width:100%;height:225px;display:block;background:#0b101a;border:1px solid #263249;color:#d2e4fa;border-radius:8px;padding:15px;resize:vertical;line-height:1.6;font:12px/1.6 Consolas,'Courier New',monospace;white-space:pre;tab-size:8;outline:none}.code-actions{display:flex;align-items:center;gap:10px;margin-top:11px;flex-wrap:wrap}.code-actions .btn{padding:9px 14px}.privacy{font-size:11px;color:#879cb4}footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#607189;margin-top:22px;padding-bottom:16px}.empty-list{color:#7f91a8;padding:18px 10px;text-align:center;font-size:12px}.empty-list.large{padding:38px 12px}.toast{position:fixed;bottom:23px;right:23px;background:#152d28;border:1px solid #2ca87c;color:#c8ffeb;border-radius:9px;padding:13px 20px;font-size:13px;box-shadow:0 14px 45px #0008;z-index:100;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .2s,transform .2s;max-width:440px}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:#3e2329;border-color:#d26f77;color:#ffdde0}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.preview-panel{position:static}.shop-frame{max-width:360px}.left{order:0}.right{order:1}.top-tag{display:none}}@media(max-width:700px){.topbar{padding:10px 15px;gap:9px;height:auto}.brand-icon{width:36px;height:36px}.brand-word b{font-size:13px}.brand-word small{font-size:7px}.top-separator,.product-label,.nav-link{display:none}.product-name{font-size:12px}.app{padding:12px}.hero{display:block}.hero h1{font-size:25px}.hero-actions{margin-top:16px}.hero-actions .btn{flex:1}.status-strip{font-size:11px}.status-strip .chip{display:none}.panel{padding:12px}.catalog-body{grid-template-columns:1fr}.selected-item{flex-direction:row;justify-content:flex-start}.item-art{width:100px;min-height:75px;font-size:28px}.fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exc-grid{grid-template-columns:1fr}.sockets{grid-template-columns:repeat(3,minmax(0,1fr))}.add-row{flex-wrap:wrap}.add-row label{flex-basis:100%}.controls{flex-wrap:wrap}.filename-label{width:100%}.filename-label input{width:100%}footer{display:block}footer span{display:block;margin-top:7px}.privacy{display:block}.shop-item .edit-control{font-size:10px}.item-controls{gap:2px}}

/* Imagens do acervo e preview real da loja (referência fornecida pelo usuário). */
.catalog-entry .catalog-thumb{width:31px;height:31px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid #354052;border-radius:5px;overflow:hidden;background:#212834;color:#e3bf68}
.catalog-thumb .thumb-image{width:100%;height:100%;object-fit:contain}
.selected-item .selected-sprite{display:block;max-height:128px;max-width:94%;width:auto;height:auto;object-fit:contain;image-rendering:auto;box-shadow:0 5px 25px #0006}
.shop-item .mini-art{overflow:hidden}
.mini-art .mini-sprite{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.preview-panel .shop-frame{position:relative;display:block;aspect-ratio:350/709;background: url('shop-background.png') center/100% 100% no-repeat;border:0;box-shadow:0 12px 30px #0007;border-radius:0;padding:0;max-width:350px;margin:0 auto;width:100%;overflow:hidden}
.shop-frame .frame-head,.shop-frame .frame-foot{display:none}
.shop-frame .shop-grid{position:absolute;top:12.55%;left:8.29%;width:83.72%;height:77.29%;border:0;box-shadow:none;background:transparent;display:block;overflow:hidden}
.shop-frame .grid-cell{display:none}
.shop-frame .item-overlay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr));pointer-events:none;gap:0}
.shop-frame .placed-item{pointer-events:auto;display:flex;position:relative;align-items:center;justify-content:center;background:transparent!important;border:1px solid transparent!important;border-radius:1px;box-shadow:none;min-width:0;min-height:0;width:100%;height:100%;padding:0;cursor:grab;overflow:hidden;color:#e5c36d;font-size:9px;text-align:center}
.shop-frame .placed-item:hover{border:1px solid #eac366!important;box-shadow:0 0 10px #efbc5090;z-index:5;filter:brightness(1.1)}
.shop-frame .placed-item:active{cursor:grabbing}
.shop-frame .placed-item .shop-sprite{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}

/* ========================================================
   VORTEXGRID SHOP STUDIO — identidade própria (v1.1)
   Workspace, trilha de trabalho e montador de sets.
   ======================================================== */
:root { --bg:#080f1b; --panel:#111d2b; --panel2:#0c1726; --line:#223a51; --text:#f0f6ff; --muted:#94a7bc; --gold:#3ed8d5; --blue:#6e86f8; --green:#2bc59a; --cyan:#3ed8d5; }
body {background:radial-gradient(ellipse 56% 32% at 15% 0%,#163848a0,transparent 75%),radial-gradient(ellipse 40% 24% at 100% 10%,#2b245b75,transparent 80%),linear-gradient(155deg,#07111e,#0b1420 45%,#070e18);font:14px/1.55 'Segoe UI',Inter,Arial,sans-serif;min-height:100vh;}
.topbar {height:78px;background:#08121fe8;border-bottom:1px solid #1a344c;backdrop-filter:blur(15px);padding:0 max(25px,calc((100vw - 1770px)/2));box-shadow:0 7px 22px #03091440;position:relative;z-index:3;}
.topbar::after {content:'';position:absolute;bottom:-1px;left:0;width:28%;height:2px;background:linear-gradient(90deg,transparent,#35d7d1,transparent);pointer-events:none;}
.brand {gap:14px;}
.brand-icon {position:relative;width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#21b9bd 0%,#294bad 95%);box-shadow:0 7px 25px #27aed54a;color:#fff;font:bold 28px/1.1 'Segoe UI',Arial,sans-serif;transform:skew(-5deg);overflow:hidden;}
.brand-icon span:first-child {transform:skew(5deg);position:relative;z-index:1;letter-spacing:-3px;}
.brand-icon .icon-orbit {position:absolute;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;left:23px;top:-21px;box-shadow:0 0 12px #b7f8ff60;}
.brand-word b {font-size:18px;letter-spacing:2px;font-weight:900;}
.brand-word b span {color:#39d2d8;}
.brand-word small {letter-spacing:2px;font-size:9px;color:#9cacc3;}
.top-separator {height:33px;border-color:#274259;}
.product-name {letter-spacing:1.2px;font-size:13px;color:#b7c5d6;}
.product-name strong {color:#f5faff;font-weight:900;}
.gold-icon {color:#40d6d3;font-size:19px;}
.product-label,.top-tag {color:#8aeee4;border-color:#225e68;background:#10323c66;border-radius:99px;padding:5px 10px;font-weight:800;}
.top-tag {padding:8px 14px;letter-spacing:.3px;}
.nav-link {font-size:12px;color:#b8c8dc;}
.nav-link:hover {color:#8afaf0;}
.app {padding:22px 27px 25px;max-width:1815px;}
.hero {padding:29px 33px 32px;margin:0 0 17px;background:linear-gradient(108deg,#102d3e,#111d35 53%,#14203f);border:1px solid #28526a;border-radius:22px;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 20px 55px #02091440;}
.hero::before {content:'';position:absolute;right:21%;top:-105px;width:450px;height:270px;border:1px solid #7bfafc14;border-radius:50%;transform:rotate(-35deg);z-index:-1;box-shadow:0 0 0 38px #67d8e008,0 0 0 90px #67d8e005;}
.hero::after {content:'';position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:100%;background:radial-gradient(circle,#3c5cbd5c,transparent 66%);z-index:-1;}
.hero-copy {max-width:710px;}
.hero .overline {color:#91f4ec;display:flex;align-items:center;gap:10px;letter-spacing:2px;font-size:10px;}
.overline-bar {width:19px;height:3px;background:#32d8d3;border-radius:3px;}
.version-chip {font-size:9px;border:1px solid #47d9df6b;padding:2px 7px;border-radius:100px;letter-spacing:0;color:#e8ffff;}
.hero h1 {font-size:clamp(30px,3vw,46px);line-height:1.08;letter-spacing:-1.7px;margin:13px 0 16px;}
.hero h1 em {background:linear-gradient(90deg,#7ceee8 5%,#8ca2ff 85%);background-clip:text;color:transparent;font-style:normal;}
.hero p:not(.overline) {font-size:13px;line-height:1.7;color:#b9c9df;max-width:540px;}
.hero-actions {align-self:center;position:relative;z-index:1;max-width:380px;}
.btn {border-radius:11px;transition:transform .16s,filter .16s,background .16s;border-color:#38516a;}
.btn:focus-visible,.pill:focus-visible,.catalog-entry:focus-visible,.placed-item:focus-visible {outline:2px solid #89f3e3;outline-offset:2px;}
.btn:hover {filter:brightness(1.13);transform:translateY(-1px);}
.btn.primary {background:linear-gradient(100deg,#34c9cb,#3976e3);border:1px solid #63ddd8;color:#061523;box-shadow:0 10px 23px #1b91b546;}
.btn.subtle {background:#122337;border-color:#35526a;}
.btn.outline {border-color:#3b8298;background:#152f40;color:#89f3eb;}
.btn.aqua {background:linear-gradient(90deg,#3abfc5,#4786dc);color:#061a2c;border-color:#62cbdc;}
.btn.success {background:#1d9e7f;border-color:#33cea5;}
.workflow {display:flex;align-items:center;gap:23px;margin:0 0 14px;padding:16px 24px;background:linear-gradient(90deg,#101f2f 70%,#132238);border:1px solid #253b53;border-radius:15px;}
.workflow-step {display:flex;align-items:center;gap:13px;flex:1;min-width:0;}
.workflow-step>span {border:1px solid #3d7588;color:#6ce9e6;background:#102e3b;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;flex:none;font:bold 12px 'Consolas',monospace;}
.workflow-step b {display:block;font-size:11px;letter-spacing:1px;color:#deedf9;}
.workflow-step small {display:block;font-size:11px;color:#89a0b6;white-space:nowrap;}
.flow-arrow {color:#4d6c85;font-size:23px;}
.status-strip {background:#0e1d2b;border-radius:11px;border-color:#234051;padding:9px 15px;}
.status-dot {background:#3edbc0;box-shadow:0 0 12px #2ad6c0a0;}
.chip {border-color:#356373;color:#9eece7;}
.layout {grid-template-columns:minmax(0,1.26fr) minmax(365px,.9fr);gap:16px;}
.left,.right {gap:16px;}
.panel {background:linear-gradient(160deg,#142237ee,#111b2cee);border:1px solid #263d56;border-radius:17px;padding:19px;box-shadow:0 10px 32px #040b173d;}
.panel-heading {margin-bottom:17px;}
.section-title {color:#dce9f7;font-size:11px;font-weight:900;letter-spacing:1.2px;}
.section-icon {color:#41d5d6;font-size:18px;}
.tiny-note {color:#94a9c0;}
.catalog-panel #searchInput,.fields-grid input,.fields-grid select,.add-row input,.filename-label input,.sockets input,.controls select,.set-preset-label select,.set-part select {background:#0a1625;border-color:#2c455f;color:#ecf6ff;border-radius:9px;outline:0;}
.catalog-panel #searchInput:focus,.fields-grid input:focus,.fields-grid select:focus,.set-part select:focus,.set-preset-label select:focus,.controls select:focus {border-color:#52dbd9;box-shadow:0 0 0 3px #27c6d325;}
.pill {border-color:#284056;color:#a7b9cf;border-radius:7px;background:#111f30;}
.pill.active,.pill:hover {background:#155365;color:#ccffff;border-color:#2cc6cf;}
.item-results {background:#0a1523;border-color:#28415a;height:255px;}
.catalog-entry {border-radius:9px;}
.catalog-entry:hover {background:#16364c;}
.catalog-entry.selected {background:linear-gradient(100deg,#155168,#1e3856);outline:1px solid #2b91a9;}
.catalog-entry .catalog-index {color:#88cdda;}
.selected-item {background:radial-gradient(circle at 50% 30%,#1c3b50,#0c1726 70%);border-color:#2d5067;border-radius:12px;}
.item-art {background:radial-gradient(circle,#1a364e,#09121f 75%);border-color:#1f3e57;}
.meta-code,.counter {border-color:#287b8b;background:#103a4b;color:#86eff0;}
.text-btn {border-color:#3b8498;color:#8be9f1;}
.text-btn.gold {border-color:#7976b7;color:#aaacff;}
.checkrow input,.excel-check input {accent-color:#32c8ce;}
.list-panel .shop-items {max-height:360px;}
.mini-art {border-color:#305e70;}
.preview-panel {top:15px;border-color:#2e536b;}
.live-indicator {font-size:9px;letter-spacing:1.2px;color:#8af8d9;border-radius:99px;background:#113b38;border:1px solid #288e7b;padding:3px 8px;box-shadow:0 0 15px #18bb8c32;}
.preview-stage {background:radial-gradient(circle at 50% 43%,#23364d65,transparent 72%),radial-gradient(#41617a30 1px,transparent 1px),radial-gradient(#41617a30 1px,transparent 1px),#0a1422;background-size:auto,24px 24px,24px 24px,auto;background-position:center,0 0,12px 12px,center;display:flex;flex-direction:column;align-items:center;padding:18px 12px 22px;border:1px solid #24445a;border-radius:14px;}
.stage-badge {font-weight:800;font-size:9px;letter-spacing:2px;color:#87b3c8;padding:4px 10px;margin-bottom:9px;border:1px solid #355769;border-radius:50px;background:#0c2230;}
.preview-panel .shop-frame {box-shadow:0 12px 35px #0009;}
.preview-note {background:#112b3b;border-color:#38c3cf;border-radius:10px;}
.preview-note b {color:#97f8f1;}
.preview-note p {color:#adbfce;line-height:1.7;}
.code-panel {margin-top:18px;border-color:#34546b;}
.code-panel textarea {background:#08121e;border-color:#2e455d;color:#bce7f8;}
.toast {background:#153944;border-color:#28b9bd;color:#c6ffff;}
footer {color:#728ca5;}
/* Montador exclusivo: mosaico de cinco peças do set. */
.set-panel {position:relative;background:linear-gradient(125deg,#163244 0%,#132334 58%,#182143 100%);border-color:#37687c;overflow:hidden;}
.set-panel::before {content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#2fd1c8 0%,#7d96f4 65%,transparent);}
.set-count {border:1px solid #4796a5;border-radius:99px;font-size:9px;letter-spacing:1px;padding:4px 8px;color:#b2f6f2;background:#184855;}
.set-intro {color:#b7c7db;font-size:12px;line-height:1.75;margin:-4px 0 15px;max-width:590px;}
.set-preset-label {display:block;color:#91b8c9;font-weight:900;font-size:10px;letter-spacing:1.1px;}
.set-preset-label select {display:block;width:100%;padding:12px;font-size:12px;letter-spacing:0;margin-top:7px;}
.set-help {font-size:11px;color:#a6c2cf;margin:9px 0 15px;padding-left:10px;border-left:2px solid #4892a9;line-height:1.65;}
.set-pieces {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;}
.set-part {min-width:0;padding:9px;background:linear-gradient(155deg,#101c2b,#102739);border:1px solid #2a4b60;border-radius:11px;transition:border-color .15s,box-shadow .15s;}
.set-part.is-selected {border-color:#44b6bd;box-shadow:inset 0 0 0 1px #38aab12f;}
.set-part-top {display:flex;align-items:center;justify-content:space-between;gap:3px;margin:0 0 7px;}
.set-part-top span:first-child {font-size:10px;font-weight:800;color:#e5f3ff;}
.set-part-index {color:#70a7b7;font:10px Consolas,monospace;white-space:nowrap;}
.set-part-image {height:78px;background:radial-gradient(circle,#254960,#0a1624 70%);border:1px solid #284a5e;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;overflow:hidden;}
.set-part-sprite {max-width:95%;max-height:95%;object-fit:contain;filter:drop-shadow(0 5px 5px #0008);}
.part-empty {font-size:30px;font-weight:200;color:#467e93;}
.set-part select {width:100%;font-size:10px;padding:7px 3px;text-overflow:ellipsis;color:#c9e5f1;}
.set-bottom {display:flex;align-items:center;gap:14px;justify-content:space-between;border-top:1px solid #315168;padding-top:15px;margin-top:16px;}
.set-configuration {display:flex;flex-direction:column;gap:5px;font-size:11px;color:#c0d4e1;}
.set-configuration small {color:#7de0db;font-size:11px;}
.set-ribbon {font-size:10px;font-weight:900;letter-spacing:1.1px;color:#88e9e5;}
.btn.set-add {background:linear-gradient(105deg,#53dfd0,#6998f3);border:1px solid #75e3e3;color:#081b2b;font-weight:900;padding:13px 14px;box-shadow:0 12px 25px #166f9473;white-space:normal;text-align:center;flex:none;}
.btn.set-add span {padding:3px 7px;background:#071a2b22;border-radius:90px;font-size:10px;white-space:nowrap;}
.btn.set-add:disabled {opacity:.45;cursor:not-allowed;filter:grayscale(.6);transform:none;box-shadow:none;}
@media(max-width:1230px) {.layout{grid-template-columns:minmax(0,1fr) minmax(340px,.78fr)}.set-pieces{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow{gap:12px}.workflow-step small{white-space:normal;}}
@media(max-width:1000px) {.layout{grid-template-columns:1fr}.preview-panel{position:static}.set-pieces{grid-template-columns:repeat(5,minmax(0,1fr))}.hero{gap:18px;}}
@media(max-width:700px) {.topbar{height:auto;padding:12px 15px}.top-separator{display:none}.brand-icon{width:38px;height:38px}.brand-word b{font-size:14px}.product-name{display:none}.app{padding:13px}.hero{padding:23px 19px;border-radius:17px;display:block}.hero h1{font-size:33px}.hero-actions{max-width:100%;margin-top:18px}.hero-actions .btn{flex:1}.workflow{padding:12px;gap:7px}.workflow-step{flex:1;gap:5px;min-width:0;flex-direction:column;text-align:center}.workflow-step>span{height:29px;width:29px;font-size:10px}.workflow-step b{font-size:9px;letter-spacing:0}.workflow-step small{display:none}.flow-arrow{font-size:15px}.panel{padding:14px}.set-pieces{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.set-bottom{flex-direction:column;align-items:stretch}.set-add{width:100%}.catalog-body{grid-template-columns:1fr}.preview-stage{padding:12px 5px}.top-tag{display:none}}
@media(min-width:701px) and (max-width:1229px){.hero-actions{max-width:310px}.hero h1{font-size:32px}}

/* v1.2 — movimentação livre por mouse e toque no Shop */
.shop-frame .placed-item{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;}
.shop-frame .placed-item.is-moving{opacity:.28;cursor:grabbing;filter:grayscale(.4);}
.shop-frame .item-overlay{overflow:visible;}
.shop-frame .drop-outline{position:relative;pointer-events:none;z-index:20;box-sizing:border-box;border:2px dashed #9ff5e9;border-radius:3px;background:#20c5ab44;box-shadow:inset 0 0 12px #67ffe977,0 0 5px #20d1cc66;}
.shop-frame .drop-outline.is-invalid{border-color:#ff7474;background:#ff565640;box-shadow:inset 0 0 12px #ff626273;}
.shop-frame .drop-outline.is-valid{border-color:#8bf9b2;background:#24b66c46;}
.shop-frame .shop-grid.grid-dragging{outline:2px solid #4ff6d766;outline-offset:1px;}

/* v2.1 — opcionais exclusivos do set, independentes do editor de item individual */
.set-options{margin:16px 0 0;padding:15px;border:1px solid #3a697d;border-radius:12px;background:linear-gradient(155deg,#0b1a2a,#11283a 80%)}
.set-options-heading{display:flex;justify-content:space-between;align-items:start;gap:8px;margin-bottom:12px}
.set-options-heading p{margin:5px 0 0;font-size:11px;color:#9db9ca;line-height:1.55}
.set-options-note{font-size:9px;font-weight:800;color:#bceee8;border:1px solid #317c83;border-radius:50px;padding:5px 8px;letter-spacing:.6px;white-space:nowrap}
.set-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.set-fields label,.set-individual-options label{color:#c0d5e4;font-size:11px;font-weight:700;min-width:0}
.set-fields select,.set-fields input,.set-individual-options select{display:block;width:100%;border:1px solid #33576d;border-radius:8px;background:#091929;padding:9px;color:#e7f8ff;margin-top:5px;outline:none}
.set-fields input:focus,.set-fields select:focus,.set-individual-options select:focus{border-color:#45c6d1;box-shadow:0 0 0 2px #22c9d523}
.set-fields .set-option-check,.set-individual-options .set-option-check{display:flex;align-items:center;gap:7px;padding-top:17px;font-size:12px}
.set-option-check input{width:16px!important;height:16px;margin:0!important;accent-color:#3dd2cf}
.set-exc-heading{display:flex;align-items:center;gap:8px;margin-top:16px;margin-bottom:10px;color:#e4f6fa;font-size:11px}
.set-exc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.set-exc-grid .excel-check{font-size:11px;line-height:1.45}
.set-advanced,.set-individual-extras{border:1px solid #2e5367;border-radius:9px;background:#0b1a2a;margin-top:13px}
.set-advanced>summary,.set-individual-extras>summary{cursor:pointer;padding:11px 12px;color:#95e4e6;font-weight:800;font-size:11px;list-style-position:inside}
.set-advanced .set-advanced-fields{padding:0 12px 13px}
.set-individual-toggle{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 12px;background:#173348;border:1px solid #3b7186;border-radius:9px;color:#e2f5fb;font-size:11px;font-weight:700;cursor:pointer}
.set-individual-toggle input{accent-color:#47ddcf;flex:none}
.set-individual-fields{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.set-individual-card{border:1px solid #2c566d;border-radius:10px;padding:11px;background:#0d2333}
.set-individual-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;color:#f0ffff}
.set-individual-title small{color:#87b3c4;font-size:10px}
.set-individual-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:end}
.set-individual-options .set-option-check{padding:5px 0;margin-bottom:5px}
.set-individual-extras{margin-top:9px;border-color:#274b5f}
.set-individual-extras>summary{padding:8px;font-size:10px}
.set-individual-excel-grid{padding:0 11px 11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.set-individual-excel{display:flex;gap:6px;align-items:start;color:#b9d3e0;font-size:10px;line-height:1.4}
.set-individual-excel input{accent-color:#3dd2cf;flex:none;margin:1px 0 0}
.code-panel textarea{font-family:Consolas,'Liberation Mono','Courier New',monospace!important;white-space:pre;overflow-x:auto;tab-size:4;line-height:1.75;font-size:12px}
@media(max-width:700px){.set-options{padding:11px}.set-options-heading{display:block}.set-options-note{display:inline-block;margin-top:8px}.set-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.set-exc-grid,.set-individual-excel-grid{grid-template-columns:1fr}.set-individual-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
