:root{--ink: #14121c;--ink2: #1d1a29;--ink3: #29253a;--line: #3a3550;--text: #f3f0f8;--dim: #a59fbb;--hot: #ff4d5e;--hot2: #ff8a5c;--cool: #4fe0d0;--gold: #ffd15c;--font: "Avenir Next", "Segoe UI", "Helvetica Neue", "Noto Sans", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--ink);color:var(--text);font:14px/1.35 var(--font);overflow:hidden;overscroll-behavior:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}.hidden{display:none!important}#app{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,34vw,460px);height:100vh;height:100dvh}#stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#0d0b14}#view{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#view:active{cursor:grabbing}#hud{position:absolute;inset:0;pointer-events:none}#hud>*{pointer-events:auto}.brand{position:absolute;left:18px;top:16px;display:flex;align-items:center;gap:10px;pointer-events:none!important;filter:drop-shadow(0 3px 0 rgba(20,18,28,.35))}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--hot);color:#fff;font-weight:900;font-style:italic;font-size:19px;letter-spacing:-1px;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}.brand-name{font-weight:900;font-style:italic;font-size:25px;letter-spacing:1px;line-height:1;color:#fff;text-shadow:2px 2px 0 var(--ink)}.brand-name b{color:var(--hot)}.brand-sub{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:#fff;background:var(--ink);padding:2px 6px;margin-top:3px;display:inline-block;transform:skew(-12deg)}.hud-actions{position:absolute;right:14px;top:14px;display:flex;gap:8px}.hud-btn{width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:#fff;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);transition:background .12s,transform .12s}.hud-btn:hover{background:var(--hot);transform:translateY(-1px)}.hud-btn.on{background:var(--cool);color:var(--ink)}.hud-btn:disabled{opacity:.35;cursor:default;background:var(--ink);transform:none}.ico{display:inline-grid}.ico svg{width:20px;height:20px}.nametag{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none!important}.nametag b{background:#fff;color:var(--ink);font-size:19px;font-style:italic;font-weight:900;padding:3px 16px 3px 10px;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);max-width:60vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nametag span{background:var(--hot);color:#fff;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:2px 14px 2px 10px;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}.hint{position:absolute;right:16px;bottom:16px;font-size:11px;letter-spacing:1px;color:#ffffffc7;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none!important}#panel{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--ink);border-left:3px solid var(--hot);z-index:2}.panel-deco{position:absolute;right:-40px;top:-40px;width:170px;height:170px;background:repeating-linear-gradient(135deg,transparent 0 9px,rgba(255,77,94,.13) 9px 12px);pointer-events:none}.tabs{display:flex;gap:2px;padding:12px 10px 0 12px;overflow-x:auto;scrollbar-width:none;flex:none;border-bottom:2px solid var(--line)}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;flex:1 0 auto;padding:9px 5px;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:0;font-size:11.5px;color:var(--dim);background:var(--ink2);clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);transition:color .12s,background .12s;white-space:nowrap}.tab small{display:block;font-size:9px;font-style:normal;letter-spacing:2px;opacity:.6;line-height:1;margin-bottom:1px}.tab:hover{color:#fff}.tab.on{background:var(--hot);color:#fff}.content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 14px 24px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.sec{margin-top:16px}.sec h3{display:flex;align-items:center;gap:8px;margin:0 0 9px;font-size:12px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:#fff}.sec h3 i{width:14px;height:10px;background:var(--hot);clip-path:polygon(30% 0,100% 0,70% 100%,0 100%);flex:none}.sec h3:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--line),transparent)}.note{color:var(--dim);font-size:12px;margin:10px 0 0}.label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);margin:10px 0 5px}.row{display:flex;flex-wrap:wrap;gap:8px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px}.seg button,.btn,.chip{min-height:40px;padding:8px 14px;background:var(--ink3);color:var(--text);font-weight:700;border-radius:3px;border:1.5px solid transparent;transition:background .12s,border-color .12s,color .12s}.seg button:hover,.btn:hover,.chip:hover{border-color:var(--hot)}.seg button.on,.chip.on{background:#fff;color:var(--ink)}.btn{flex:1 1 auto}.btn.primary{background:var(--hot);color:#fff}.btn.primary:hover{background:#ff6a78}.btn.small{min-height:34px;margin-top:8px;flex:none;font-size:12px}.btn:disabled{opacity:.5}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:38px;padding:7px 12px;font-size:13px}.chips.slots{margin-top:14px}.chips.slots .chip{position:relative;flex:1 0 18%;padding:7px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.chips.slots .chip.worn:after{content:"";position:absolute;right:5px;top:5px;width:6px;height:6px;background:var(--cool);border-radius:50%}.chips.slots .chip.on.worn:after{background:var(--hot)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.grid.presets{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.card{position:relative;display:flex;flex-direction:column;background:var(--ink2);border:2px solid transparent;border-radius:4px;overflow:hidden;text-align:left;transition:border-color .12s,transform .12s}.card:hover{border-color:var(--line);transform:translateY(-2px)}.card.on{border-color:var(--hot)}.card.on:before{content:"";position:absolute;left:0;top:0;width:26px;height:26px;background:var(--hot);clip-path:polygon(0 0,100% 0,0 100%);z-index:1}.thumb{aspect-ratio:168 / 208;background:radial-gradient(120% 90% at 50% 20%,#4a4468,#2a2640 60%,#1d1a29) center / cover;background-size:cover;background-position:center;display:grid;place-items:center;color:var(--dim)}.thumb.loading{background-image:linear-gradient(110deg,#26223a 30%,#322d4a,#26223a 70%);background-size:200% 100%;animation:sheen 1.1s linear infinite}.thumb{background-color:#2f2a46;background-blend-mode:normal}.thumb .ico svg{width:34px;height:34px;opacity:.7}@keyframes sheen{to{background-position:-200% 0}}.card-name{padding:6px 8px 2px;font-weight:700;font-size:12.5px;line-height:1.2}.card-sub{padding:0 8px 7px;font-size:11px;color:var(--dim);line-height:1.25}.card .card-name:last-child{padding-bottom:7px}.slider{display:grid;grid-template-columns:104px 1fr 56px;align-items:center;gap:10px;min-height:40px}.slider span{font-size:13px;color:var(--text)}.slider output{text-align:right;font-variant-numeric:tabular-nums;font-size:12px;color:var(--dim)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:0}input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--ink3);border-radius:0;transform:skew(-20deg)}input[type=range]::-moz-range-track{height:6px;background:var(--ink3)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:24px;margin-top:-9px;background:var(--hot);border:2px solid #fff;transform:skew(-12deg)}input[type=range]::-moz-range-thumb{width:14px;height:22px;background:var(--hot);border:2px solid #fff;border-radius:0}input[type=range]:focus-visible{outline:2px solid var(--cool);outline-offset:2px}.swatches{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sw{width:34px;height:34px;border-radius:3px;background:var(--c);border:2px solid rgba(255,255,255,.14);position:relative;transition:transform .1s}.sw:hover{transform:scale(1.1)}.sw.on{border-color:#fff;box-shadow:0 0 0 2px var(--hot)}.sw.custom{overflow:hidden;background:conic-gradient(#ff4d5e,#ffd15c,#4fe0d0,#4a78c2,#b06bff,#ff4d5e);display:grid;place-items:center}.sw.custom:after{content:"";width:16px;height:16px;border-radius:50%;background:var(--c);border:2px solid #fff;pointer-events:none}.sw.custom input{position:absolute;inset:-6px;width:150%;height:150%;opacity:0;cursor:pointer}.palettes{display:flex;flex-wrap:wrap;gap:8px}.pal{display:flex;width:54px;height:30px;border:2px solid rgba(255,255,255,.16);border-radius:3px;overflow:hidden;transform:skew(-10deg)}.pal:hover{border-color:#fff}.pal i{flex:2}.pal i+i{flex:1}input[type=text],textarea{width:100%;background:var(--ink2);border:1.5px solid var(--line);border-radius:3px;padding:10px;color:var(--text)}textarea{resize:vertical;font:12px/1.4 ui-monospace,SF Mono,Menlo,Consolas,monospace;word-break:break-all;margin-bottom:8px}input[type=text]:focus,textarea:focus{outline:none;border-color:var(--cool)}.status{margin:14px 0 0;padding:9px 12px;font-weight:700;border-left:4px solid var(--cool);background:#4fe0d01f}.status.bad{border-color:var(--hot);background:#ff4d5e24}button:focus-visible{outline:2px solid var(--cool);outline-offset:1px}@media (max-width: 820px) and (orientation: portrait){#app{grid-template-columns:1fr;grid-template-rows:minmax(0,46fr) minmax(0,54fr)}#panel{border-left:0;border-top:3px solid var(--hot)}.brand{left:10px;top:10px;gap:7px}.brand-mark{width:34px;height:34px;font-size:15px}.brand-name{font-size:19px}.brand-sub{display:none}.hud-actions{right:8px;top:8px;gap:5px}.hud-btn{width:38px;height:38px}.hint{display:none}.nametag{left:10px;bottom:10px}.nametag b{font-size:15px}.tabs{padding:8px 8px 0}.tab{padding:8px 11px;font-size:12px;min-height:40px}.tab small{display:none}.content{padding:2px 10px 18px}.grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.grid.presets{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.slider{grid-template-columns:92px 1fr 50px;min-height:44px}.sw{width:38px;height:38px}}@media (max-height: 520px) and (orientation: landscape){#app{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}.brand-sub,.hint,.tab small{display:none}.brand-mark{width:32px;height:32px;font-size:14px}.brand-name{font-size:18px}.hud-btn{width:36px;height:36px}.hud-actions{gap:4px;right:6px;top:6px}.tabs{padding:6px 6px 0}.tab{padding:7px 10px;font-size:12px;min-height:38px}.nametag b{font-size:14px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
