:root{--bg: #0d0f17;--bg-2: #131623;--bg-3: #1b1f31;--border: #262b42;--text: #e7ebff;--muted: #9aa3c7;--accent: #ff5ea0;--accent-2: #7c5cff;--accent-3: #21d4b4;--warn: #ffb547;--danger: #ff5e7e;--pro: linear-gradient(135deg,#ffd86b,#ff7ad9 55%,#7c5cff);--shadow: 0 10px 30px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:14px/1.4 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select{font:inherit;color:inherit}.app{display:grid;grid-template-columns:64px 1fr 320px;grid-template-rows:56px 1fr;grid-template-areas:"head head head" "tools work side";height:100vh}header{grid-area:head;display:flex;align-items:center;gap:14px;padding:0 16px;background:linear-gradient(180deg,#141828,#0e1120);border-bottom:1px solid var(--border);z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}.brand .logo{width:28px;height:28px;border-radius:50%;background:conic-gradient(from 0deg,#ff5ea0,#ffd86b,#21d4b4,#7c5cff,#ff5ea0);box-shadow:inset 0 0 0 4px #0d0f17,0 0 12px #ff5ea099}.brand .name{font-size:16px}.brand .name span{background:var(--pro);-webkit-background-clip:text;background-clip:text;color:transparent}.project-name{background:transparent;border:1px solid transparent;border-radius:8px;padding:6px 10px;min-width:220px;max-width:360px;color:var(--text);transition:border-color .15s ease,background .15s ease}.project-name:hover{border-color:var(--border)}.project-name:focus{outline:0;border-color:var(--accent-2);background:var(--bg-2)}.actions{margin-left:auto;display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;background:var(--bg-2);border:1px solid var(--border);transition:transform .08s ease,background .15s ease,border-color .15s ease;color:var(--text);font-weight:500}.btn:hover{background:var(--bg-3)}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--bg-2)}.btn.cta{background:var(--pro);color:#1a0e2c;font-weight:700;border:0;box-shadow:0 6px 20px #ff5ab459}.btn.cta:hover{filter:brightness(1.05)}.tools{grid-area:tools;background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:4px}.tool{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;color:var(--muted);border:1px solid transparent;position:relative}.tool:hover{color:var(--text);background:var(--bg-3)}.tool.active{color:var(--text);background:#7c5cff2e;border-color:#7c5cff73}.tool svg{width:20px;height:20px}.tool .kbd{position:absolute;bottom:3px;right:4px;font-size:9px;color:var(--muted);opacity:.8}.tool-sep{width:28px;height:1px;background:var(--border);margin:6px 0}.workspace{grid-area:work;position:relative;background:radial-gradient(1200px 600px at 30% 0%,rgba(124,92,255,.1),transparent 60%),radial-gradient(900px 500px at 100% 100%,rgba(255,94,160,.08),transparent 60%),var(--bg);overflow:hidden}.canvas-wrap{position:absolute;top:0;right:0;bottom:56px;left:0;display:grid;place-items:center;overflow:hidden}#grid{image-rendering:pixelated;background:#f7f4ef;box-shadow:0 30px 80px #0000008c,0 0 0 1px #0008;border-radius:4px;touch-action:none}.bottom-bar{position:absolute;left:0;right:0;bottom:0;height:56px;display:flex;align-items:center;gap:14px;padding:0 16px;background:#0d0f17d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border)}.bottom-bar .group{display:flex;align-items:center;gap:6px;color:var(--muted)}.bottom-bar .sep{width:1px;height:24px;background:var(--border)}.chip{padding:4px 10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--border);color:var(--text);font-size:12px}.icon-btn{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--bg-2);border:1px solid var(--border);color:var(--text)}.icon-btn:hover{background:var(--bg-3)}select,.select{background:var(--bg-2);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:8px}.toggle{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.toggle input{accent-color:var(--accent-2)}.sidebar{grid-area:side;background:var(--bg-2);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.tabs{display:flex;padding:8px;gap:4px;border-bottom:1px solid var(--border)}.tab{flex:1;padding:7px 8px;border-radius:8px;color:var(--muted);font-size:12px;text-align:center;background:transparent;position:relative}.tab:hover{color:var(--text)}.tab.active{background:var(--bg-3);color:var(--text)}.tab .pro-pill{position:absolute;top:2px;right:2px}.pro-pill{background:var(--pro);color:#1a0e2c;font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;letter-spacing:.05em}.search-row{padding:8px 10px;border-bottom:1px solid var(--border)}.search-row input{width:100%;background:var(--bg-3);border:1px solid var(--border);border-radius:8px;padding:7px 10px;color:var(--text)}.search-row input:focus{outline:0;border-color:var(--accent-2)}.sidebar-scroll{flex:1;overflow:auto;padding:10px}.sidebar-scroll::-webkit-scrollbar{width:10px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:999px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:8px 4px;display:flex;align-items:center;gap:8px}.section-title .line{flex:1;height:1px;background:var(--border)}.palette{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.swatch{position:relative;aspect-ratio:1/1;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .08s ease;box-shadow:inset 0 -3px 8px #0000002e,inset 0 2px 5px #ffffff40}.swatch:hover{transform:scale(1.08)}.swatch.active{border-color:#fff;box-shadow:0 0 0 2px #1a0e2c,0 0 0 4px var(--accent),inset 0 -3px 8px #0000002e,inset 0 2px 5px #ffffff40}.swatch[data-locked="1"]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-linear-gradient(45deg,rgba(0,0,0,.45),rgba(0,0,0,.45) 2px,transparent 2px,transparent 5px)}.swatch[data-locked="1"]:before{content:"★";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:11px;text-shadow:0 1px 2px #000a;z-index:2}.current-color{margin-top:12px;display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-3);border-radius:10px}.current-color .cc-sw{width:36px;height:36px;border-radius:50%;box-shadow:inset 0 -3px 8px #0003}.current-color .cc-meta b{display:block}.current-color .cc-meta small{color:var(--muted)}.counts{display:flex;flex-direction:column;gap:6px}.count-row{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--bg-3);font-size:13px}.count-row .dot{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 -2px 4px #0003}.count-row .lbl{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-row .lbl small{color:var(--muted);margin-left:4px}.count-row .n{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.count-row.hl{outline:2px solid var(--accent, #6ea8ff);background:color-mix(in srgb,var(--accent, #6ea8ff) 14%,var(--bg-3));transform:translate(2px);transition:transform .08s ease-out}.adv-row{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:8px;background:var(--bg-3);margin-bottom:6px;cursor:pointer;border:1px solid transparent}.adv-row:hover{border-color:var(--border)}.adv-row .ic{width:18px;text-align:center;opacity:.85}.adv-row .label{flex:1;margin-left:10px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070fb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;z-index:100;align-items:center;justify-content:center}.scrim.open{display:flex}.modal{width:min(960px,92vw);max-height:86vh;overflow:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.modal header{height:auto;padding:16px 22px;background:transparent;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal h2{margin:0;font-size:18px}.modal .body{padding:20px 22px}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tier{border:1px solid var(--border);border-radius:14px;padding:18px;background:var(--bg-3);display:flex;flex-direction:column;position:relative}.tier.best{border-color:#ff5ea08c;background:radial-gradient(120% 80% at 100% 0%,rgba(255,94,160,.1),transparent 50%),var(--bg-3)}.tier.best:after{content:"Más elegido";position:absolute;top:-10px;left:18px;background:var(--pro);color:#1a0e2c;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px}.tier h3{margin:0 0 4px;font-size:16px}.tier .price{font-size:28px;font-weight:800;margin:8px 0 2px}.tier .price small{font-size:13px;color:var(--muted);font-weight:500}.tier ul{list-style:none;padding:0;margin:14px 0;flex:1}.tier li{padding:6px 0;display:flex;gap:8px;color:var(--text);font-size:13px;border-bottom:1px dashed var(--border)}.tier li:last-child{border-bottom:0}.tier li .ck{color:var(--accent-3)}.tier li.no,.tier li.no .ck{color:var(--muted)}.tier .btn{width:100%;justify-content:center;margin-top:6px;padding:10px}.tier .btn.cta{background:var(--pro);color:#1a0e2c}.micro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.mip{background:var(--bg-3);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;justify-content:space-between;align-items:center}.mip h4{margin:0;font-size:13px}.mip small{color:var(--muted)}.mip .px{font-weight:700;color:var(--text)}.saved-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.saved-card{background:var(--bg-3);border:1px solid var(--border);border-radius:10px;padding:10px;cursor:pointer;transition:transform .1s ease}.saved-card:hover{transform:translateY(-2px);border-color:var(--accent-2)}.saved-card canvas{width:100%;height:100px;image-rendering:pixelated;background:#f7f4ef;border-radius:6px}.saved-card .meta{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--muted)}.saved-card .ttl{color:var(--text);font-weight:600;margin-top:4px;font-size:13px}.toast{position:fixed;top:70px;left:50%;transform:translate(-50%);background:#0f1220f2;border:1px solid var(--border);padding:9px 14px;border-radius:999px;font-size:13px;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translate(-50%,6px)}.importer{display:grid;grid-template-columns:1fr 1fr;gap:16px}.importer .drop{aspect-ratio:1/1;border:2px dashed var(--border);border-radius:12px;display:grid;place-items:center;background:var(--bg-3);position:relative;overflow:hidden;cursor:pointer;padding:8px}.importer .drop.drag{border-color:var(--accent);background:#ff5ea014}.importer .drop img,.importer .drop canvas{max-width:100%;max-height:100%;display:block}.importer .drop p{color:var(--muted);text-align:center;padding:12px;margin:0;font-size:13px}.importer .drop p small{display:block;margin-top:4px;opacity:.7}.drop-label{position:absolute;top:6px;left:10px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.imp-controls{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.imp-row{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.imp-row label{display:flex;align-items:center;gap:8px;color:var(--text)}.imp-row input[type=number]{width:70px;background:var(--bg-3);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 8px}.imp-row input[type=range]{flex:1;accent-color:var(--accent-2)}.imp-row select{padding:5px 8px}.imp-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}@media (max-width: 900px){.app{grid-template-columns:56px 1fr;grid-template-rows:56px 1fr 280px;grid-template-areas:"head head" "tools work" "side side"}.sidebar{border-left:0;border-top:1px solid var(--border)}.tiers,.micro-grid{grid-template-columns:1fr}}
