:root{--bg:#0b0d12;--panel:#141821;--panel-2:#1b2130;--line:#262d3d;--text:#e8ecf4;--muted:#8b94a8;--accent:#6ee7ff;--accent-2:#b18bff;--warn:#ffb95c;--err:#ff7a7a;--radius:10px;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow:hidden;font:13px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif}button,input,select{font:inherit;color:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.studio-panel select{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;width:100%;padding:9px}.app>*,.ws>*,.studio-panel .field{min-width:0}.studio-panel .btn{text-decoration:none;text-align:center;min-height:44px}.studio-actions{display:flex;flex-wrap:wrap;gap:8px}.studio-error{color:var(--err);overflow-wrap:anywhere}.studio-inspection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.studio-inspection-grid a{color:var(--text);text-decoration:none;min-width:0;font-size:12px}.studio-inspection-grid img{display:block;aspect-ratio:1;border:1px solid var(--line);object-fit:contain;border-radius:6px;width:100%}.studio-inspection-grid span{display:block;padding:4px 0}.studio-view-label{position:absolute;pointer-events:none;color:var(--text);text-align:center;background:#141821cc;border-radius:6px;padding:7px;bottom:16px;left:16px;right:16px}@media (max-width:680px){.brand .pill,.brand .spacer,.brand .dot{display:none}.brand{gap:6px;padding:0 8px}.brand h1{font-size:12px}.brand .tabs{gap:2px;margin-left:auto}.brand .tab{padding:6px;font-size:12px}.studio-panel input,.studio-panel select{font-size:16px}}.app{display:grid;grid-template-columns:300px 1fr 220px;grid-template-rows:46px 1fr;grid-template-areas:"brand brand brand" "left stage right";height:100%}@media (max-width:1080px){.app{grid-template-columns:1fr;grid-template-rows:46px minmax(320px,45vh)1fr;grid-template-areas:"brand" "stage" "left";overflow-y:auto}.inspector{display:none}}.brand{grid-area:brand;display:flex;border-bottom:1px solid var(--line);background:var(--panel);align-items: center;gap:12px;padding:0 14px}.brand h1{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:650}.brand .dot{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:50%;width:9px;height:9px;box-shadow:0 0 12px #6ee7ff99}.brand .spacer{flex:1}.pill{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px}.pill.live{color:var(--accent);border-color:#6ee7ff59}.panel{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:14px}.panel.left{grid-area:left}.inspector{grid-area:right;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;padding:14px}.stage{grid-area:stage;position:relative;background:#06070a;min-height:0}.section h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.hint{color:var(--muted);margin:6px 0 0;font-size:11.5px}.dropzone{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--panel-2);padding:16px 12px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:#6ee7ff0f}.dropzone strong{display:block;margin-bottom:3px;font-size:13px}.dropzone span{color:var(--muted);font-size:11.5px}.thumb-row{display:flex;align-items: center;gap:8px;margin-top:10px}.thumb{object-fit:cover;border:1px solid var(--line);background:#000;border-radius:8px;width:46px;height:46px}.filemeta{flex:1;min-width:0}.filemeta .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.filemeta .sub{color:var(--muted);font-size:11px}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:10px}.gallery-item{border:1px solid var(--line);overflow:hidden;cursor:pointer;display:flex;background:#fff;border-radius:8px;flex-direction:column;padding:0;transition:border-color .12s,transform .12s}.gallery-item:hover{border-color:var(--accent);transform:translateY(-1px)}.gallery-item[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px #6ee7ff40}.gallery-item img{aspect-ratio:1;object-fit:cover;display:block;width:100%}.gallery.sheets{grid-template-columns:repeat(2,1fr)}.gallery.sheets img{aspect-ratio:3/2}.gallery-item.turn{grid-column:1/-1}.gallery-item.turn .turn-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;padding:0}.gallery-item.turn .turn-strip img{aspect-ratio:1}.gallery-item span{color:var(--muted);background:var(--panel-2);text-align:center;white-space:nowrap;overflow:hidden;padding:2px 0;font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:999px;padding:4px 10px;transition:all .12s;font-size:11.5px}.chip:hover{border-color:#3a445c}.chip[aria-pressed=true]{border-color:var(--accent);color:#d6f7ff;background:#6ee7ff1f}.chip.ghost[aria-pressed=true]{border-color:var(--accent-2);background:#b18bff24}.field{display:flex;flex-direction:column;gap:3px;margin-bottom:9px}.field-head{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px}.field-head .k{color:var(--text)}.field-head .v{color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;background:var(--line);outline:none;cursor:pointer;border-radius:2px;width:100%;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #6ee7ff26}input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:13px;height:13px}input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:100%;height:26px;padding:0}.btn{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;padding:7px 10px;transition:all .12s;font-size:12px}.btn:hover:not(:disabled){border-color:var(--accent);background:#6ee7ff14}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:#6ee7ff1f;border-color:#6ee7ff66}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.prompt,input.text{border:1px solid var(--line);background:var(--panel-2);color:var(--text);resize:vertical;outline:none;border-radius:8px;width:100%;padding:7px 9px;font-size:12px}.prompt:focus,input.text:focus{border-color:var(--accent)}.map-card{margin-bottom:12px}.map-card canvas{display:block;border:1px solid var(--line);image-rendering:auto;background:#000;border-radius:8px;width:100%}.map-card .label{display:flex;color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:11px}.swatches{display:flex;gap:3px;margin-top:4px}.swatch{border:1px solid #ffffff14;border-radius:3px;height:16px}.stat-grid{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:11.5px}.stat-grid dt{color:var(--muted)}.stat-grid dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.overlay{position:absolute;display:flex;pointer-events:none;background:radial-gradient(#06070a33,#06070ad9);flex-direction:column;justify-content:center;align-items: center;gap:10px;inset:0}.overlay .msg{font-size:13px}.overlay .detail{color:var(--muted);font-size:11.5px}.bar{background:var(--line);overflow:hidden;border-radius:2px;width:190px;height:3px}.bar>i{display:block;background:var(--accent);height:100%;transition:width .2s}.spinner{border:2px solid var(--line);border-top-color:var(--accent);animation:.8s linear infinite spin;border-radius:50%;width:22px;height:22px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:#ffd6d6;background:#ff7a7a14;border:1px solid #ff7a7a66;border-radius:8px;padding:8px 10px;font-size:11.5px}.notice{color:#ffe3b8;background:#ffb95c14;border:1px solid #ffb95c59;border-radius:8px;padding:8px 10px;font-size:11.5px}.empty{position:absolute;display:flex;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items: center;gap:6px;padding:20px;inset:0}.empty h3{color:var(--text);margin:0;font-size:15px;font-weight:600}.views-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:8px}.view-cell{position:relative;aspect-ratio:1;overflow:hidden;display:grid;color:#9aa4b2;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;place-items: center;font-size:12px}.view-cell img{object-fit:cover;display:block;width:100%;height:100%}.view-cell em{position:absolute;color:#cbd5e1;text-shadow:0 0 3px #000;font-size:9px;font-style:normal;bottom:2px;left:3px}.view-cell.running{animation:1.2s ease-in-out infinite tf-pulse;border-color:#7fd4ff}.view-cell.failed{color:#ff7b7b;border-color:#ff7b7b}@keyframes tf-pulse{0%,to{opacity:.55}50%{opacity:1}}.row{display:flex;flex-wrap:wrap}.views-strip.four{grid-template-columns:repeat(4,1fr)}.views-strip.four .view-cell{aspect-ratio:auto}.views-strip.four .view-cell img{object-fit:contain;background:#111}.ws{display:contents}.ws[hidden]{display:none}.tabs{display:flex;gap:4px;margin-left:10px}.tab{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 10px;font-size:12.5px}.tab:hover{color:var(--text);border-color:var(--line)}.tab[aria-pressed=true]{color:var(--accent);background:#6ee7ff14;border-color:#6ee7ff59}.stage-tip{position:absolute;color:var(--muted);pointer-events:none;text-shadow:0 0 4px #000;font-size:11px;bottom:8px;left:10px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.tile{position:relative;border:1px solid var(--line);overflow:hidden;cursor:pointer;text-align:left;background:#ffffff08;border-radius:8px;padding:0}.tile img{aspect-ratio:1;object-fit:cover;display:block;background:#fff;width:100%}.tile span{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 5px;font-size:10.5px}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px #6ee7ff40}.tile i{position:absolute;color:#ff7b7b;text-shadow:0 0 3px #000;font-size:14px;font-style:normal;top:2px;right:4px}.tile.ghost{opacity:.85}.tile.ghost:hover{opacity:1;border-color:var(--accent)}.layers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.layer{display:flex;flex-direction:column;align-items:stretch;gap:4px}.layer .ph{aspect-ratio:1;width:100%}.layer .ph[data-k=grass]{background:#608e3a}.layer .ph[data-k=dirt]{background:#96764e}.layer .ph[data-k=rock]{background:#767270}.layer .ph[data-k=snow]{background:#ecf0f5}.chip.small{text-align:center;padding:2px 6px;font-size:10.5px}
