:root{color-scheme:dark;--bg: #08090c;--panel: #101218;--panel-2: #14161e;--line: #23262f;--line-soft: #1a1d24;--fg: #eceef2;--fg-dim: #a2a8b6;--fg-faint: #6a7180;--accent: #f4a83c;--accent-ink: #201502;--danger: #ff6b6b;--radius: 14px;--radius-sm: 9px;--shadow: 0 18px 40px -24px rgb(0 0 0 / .9);--mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(900px 500px at 50% -180px,rgb(244 168 60 / .1),transparent 70%),radial-gradient(700px 400px at 100% 10%,rgb(90 200 250 / .05),transparent 70%),var(--bg);background-attachment:fixed;color:var(--fg);font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{max-width:1080px;margin:0 auto;padding:40px 20px 140px}.masthead{display:flex;align-items:center;gap:18px;margin-bottom:34px}.mark{flex:none;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--accent) 0 12%,#0c0d11 13% 20%,#17191f 21% 100%),conic-gradient(from 0deg,#1c1f26,#101217,#1c1f26,#101217,#1c1f26);box-shadow:inset 0 0 0 1px #ffffff12,0 6px 20px -8px #f4a83c8c;animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.mark{animation:none}*{transition:none!important}}.langswitch{margin-left:auto;display:flex;gap:4px;align-self:flex-start}.langswitch button{background:transparent;border:1px solid var(--line);color:var(--fg-faint);border-radius:7px;padding:4px 9px;font-size:11px;font-weight:640;letter-spacing:.06em;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.langswitch button:hover{color:var(--fg-dim);border-color:#3a4150}.langswitch button.on{color:var(--accent-ink);background:var(--accent);border-color:transparent}.masthead h1{margin:0;font-size:21px;font-weight:620;letter-spacing:-.015em}.masthead p{margin:2px 0 0;color:var(--fg-dim);font-size:13.5px;max-width:62ch}.masthead p code{font-family:var(--mono);font-size:12px;color:var(--fg);background:#000;padding:1px 5px;border-radius:4px}.pluginbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-14px 0 18px;padding:0 2px}.pluginbar>span{font-size:13px;color:var(--fg-faint)}.btn.download{display:inline-flex;align-items:baseline;gap:7px;text-decoration:none;border-radius:999px;padding:7px 16px;font-size:13.5px;font-weight:600;color:var(--fg);background:#1a1d25}.btn.download span{color:var(--accent);font-weight:700}.btn.download em{font-style:normal;font-weight:400;font-size:11.5px;color:var(--fg-faint)}.btn.download:hover{border-color:var(--accent);background:#22262f}.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px}.panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line-soft)}.panel>header h2{margin:0;font-size:11px;font-weight:640;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-dim)}.panel>header .hint{font-size:12px;color:var(--fg-faint)}.panel .body{padding:18px 20px}.importrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line-soft)}.fieldgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.field input,.field select{background:#0a0b0f;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;width:100%;transition:border-color .15s,background .15s;min-width:0}.field input:hover,.field select:hover{border-color:#333844}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);background:#0d0e13}.field input.mono{font-family:var(--mono);font-size:13px}.field select{font-size:13.5px}.field input.invalid{border-color:var(--danger)}.field input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;height:22px;background:transparent;cursor:pointer}.field input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,hsl(var(--hue, 40) 70% 52%),#23262f)}.field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;border:2px solid #0c0e13;background:hsl(var(--hue, 40) 78% 62%)}.field input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,hsl(var(--hue, 40) 70% 52%),#23262f)}.field input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid #0c0e13;background:hsl(var(--hue, 40) 78% 62%)}.dropzone{display:grid;place-items:center;gap:8px;padding:38px 20px;margin:0;border:1.5px dashed var(--line);border-radius:var(--radius);background:#ffffff03;color:var(--fg-dim);text-align:center;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.dropzone:hover{border-color:#3a4150;background:#ffffff06}.dropzone.over{border-color:var(--accent);background:#f4a83c12;transform:scale(1.006)}.dropzone strong{color:var(--fg);font-weight:600}.dropzone small{color:var(--fg-faint);font-size:12px}.dropzone input{display:none}.tracks{display:grid;gap:12px;padding:18px 20px}.track{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:start;padding:16px 18px 16px 20px;background:#0c0e13;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;transition:border-color .18s,transform .18s}.track:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:hsl(var(--hue) 72% 55%);opacity:.85}.track:hover{border-color:#2b303b;transform:translateY(-1px)}.texture{display:grid;justify-items:center;gap:8px}.sprites{display:flex;align-items:center;gap:10px}.texture-actions{display:flex;align-items:center;gap:8px}.linkbtn{background:none;border:0;padding:0;font-size:11.5px;color:var(--fg-faint);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#333844;cursor:pointer;transition:color .15s}.linkbtn:hover{color:var(--accent)}.badge{font-family:var(--mono);font-size:10.5px;color:var(--fg-dim);background:#0a0b0f;border:1px solid var(--line);border-radius:999px;padding:2px 8px}.sprite{display:block;image-rendering:pixelated;background:#0a0b0f;border-radius:6px;filter:drop-shadow(0 4px 14px hsl(var(--hue) 75% 50% / .42))}.track .importrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line-soft)}.importrow .hint{flex:1 1 260px;font-size:12px;color:var(--fg-faint);min-width:0}.importrow .btn{padding:7px 14px;font-size:13.5px}.notes{border-color:#24404e}.notes>header h2{color:#7fc4e0}.notes ul{margin:0;padding-left:18px;display:grid;gap:4px}.notes li{font-size:13px;color:#b9cbd4}.fieldgrid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px}.readout{display:grid;gap:5px;justify-items:end;font-family:var(--mono);font-size:11.5px;color:var(--fg-faint);white-space:nowrap}.readout .key{color:hsl(var(--hue) 65% 70%)}.readout b{color:var(--fg-dim);font-weight:500}.iconbtn{background:transparent;border:1px solid var(--line);color:var(--fg-faint);border-radius:7px;padding:4px 9px;font-size:12px;cursor:pointer;transition:color .15s,border-color .15s}.iconbtn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.iconbtn:disabled{opacity:.35;cursor:default}.iconbtn.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.rowtools{display:flex;gap:5px;justify-content:flex-end;margin-top:2px}.rowtools .iconbtn{padding:3px 8px;line-height:1.2}.collections{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.collection{display:grid;gap:9px;align-content:start}.collection-head{display:flex;align-items:baseline;justify-content:space-between}.collection-head h3{margin:0;font-size:11px;font-weight:640;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-dim)}.collection-row{display:grid;grid-template-columns:84px 1fr 1.5fr auto;gap:7px;align-items:center}.collection-row.wide{grid-template-columns:88px 1fr auto}.collection-row input{background:#0a0b0f;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 9px;font-size:13px;min-width:0}.collection-row input:focus{outline:none;border-color:var(--accent)}.collection-row input.narrow{font-family:var(--mono);font-size:12px}.collection-row .chips{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:5px}.empty{margin:0;font-size:12.5px;color:var(--fg-faint)}.chip{font-family:var(--mono);font-size:11px;color:var(--fg-faint);background:#0a0b0f;border:1px solid var(--line);border-radius:999px;padding:3px 10px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.chip:hover{border-color:#3a4150}.chip.on{color:hsl(var(--hue) 70% 72%);border-color:hsl(var(--hue) 60% 40%);background:hsl(var(--hue) 60% 50% / .12)}.checks{border-color:#4a3a16}.checks>header h2{color:var(--accent)}.checks ul{margin:0;padding:0 0 0 18px;display:grid;gap:5px}.checks li{color:#e2c489;font-size:13px}.checks li code{font-family:var(--mono);color:var(--fg)}.guide .body{display:grid;gap:16px;max-width:78ch}.guide h3{margin:4px 0 -6px;font-size:12px;font-weight:640;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-dim)}.guide p{margin:0;color:var(--fg-dim);font-size:13.5px}.guide b{color:var(--fg);font-weight:600}.guide code{font-family:var(--mono);font-size:12px;white-space:nowrap;background:#08090c;border:1px solid var(--line-soft);border-radius:4px;padding:1px 5px;color:#d8dce4}.steps{margin:0;padding-left:20px;display:grid;gap:10px}.steps li{color:var(--fg-dim);font-size:13.5px}.steps li::marker{color:var(--accent);font-weight:700}.difftable{border-collapse:collapse;width:100%;font-size:13px}.difftable td{padding:8px 10px;border-top:1px solid var(--line-soft);vertical-align:top;color:var(--fg-dim)}.difftable td:first-child{width:190px;white-space:nowrap}.links{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.links a{font-size:12.5px;color:var(--fg-dim);text-decoration:none;background:#0a0b0f;border:1px solid var(--line);border-radius:999px;padding:5px 12px;transition:color .15s,border-color .15s}.links a:hover{color:var(--accent);border-color:var(--accent)}.buildbar{position:sticky;bottom:16px;display:flex;align-items:center;gap:16px;padding:12px 12px 12px 20px;background:#101218db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;box-shadow:0 22px 50px -20px #000000f2}.progress{flex:0 0 120px;height:5px;border-radius:3px;background:#23262f;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.failure{border-color:#6b2b2b}.failure>header h2{color:var(--danger)}.failure p{margin:0;font-size:13.5px;color:#f0b3b3}.failure .quiet{margin-top:6px;color:var(--fg-faint)}.buildbar .status{flex:1;font-size:13px;color:var(--fg-dim)}.buildbar .status b{color:var(--fg);font-weight:600}.btn{border:1px solid var(--line);background:#1a1d25;border-radius:999px;padding:9px 18px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.btn:hover:not(:disabled){background:#22262f;border-color:#39404e}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:linear-gradient(180deg,#f9b654,#e2952a);color:var(--accent-ink);border-color:transparent;font-weight:640}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffc26b,#eda034)}.result{display:grid;gap:14px;padding:18px 20px}.stats{display:flex;flex-wrap:wrap;gap:10px}.stat{flex:1 1 130px;background:#0a0b0f;border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:11px 13px}.stat span{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:3px}.stat b{font-family:var(--mono);font-size:15px;font-weight:600}.stat.over b{color:var(--accent)}.snippet{position:relative}.snippet pre{margin:0;background:#08090c;border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:14px 16px;overflow-x:auto;font-family:var(--mono);font-size:12.5px;color:#cfd4de}.snippet .copy{position:absolute;top:9px;right:9px}.snippet .val{color:var(--accent)}.actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:720px){.app{padding:24px 14px 120px}.track{grid-template-columns:1fr;gap:14px}.texture,.readout{justify-items:start}.rowtools{justify-content:flex-start}.rowtools .iconbtn{padding:6px 12px}.masthead{flex-wrap:wrap}.buildbar{border-radius:var(--radius);flex-wrap:wrap}.buildbar .status{flex:1 1 100%}.importrow .btn{flex:1 1 auto}.collection-row,.collection-row.wide{grid-template-columns:1fr auto}.collection-row input.narrow{grid-column:1 / -1}.difftable td{display:block;width:auto;white-space:normal}.difftable td:first-child{padding-bottom:2px;font-weight:600}.difftable td:last-child{padding-top:0;border-top:0}}
