:root{--bg:#030308;--bg-2:#06060f;--panel-bg:#080812b8;--panel-border:#ffffff14;--ink:#e9ecf5;--dim:#e9ecf58c;--faint:#e9ecf552;--accent-cyan:#2bd0ff;--accent-violet:#9b5bff;--accent-amber:#ffb35a;--accent-owned:#b4dcff;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--sans:"Space Grotesk", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--mono);margin:0;overflow:hidden}#app{position:fixed;inset:0}.galaxy-canvas{cursor:grab;touch-action:none;display:block;position:fixed;inset:0}.galaxy-canvas:active{cursor:grabbing}.hud{z-index:5;-webkit-user-select:none;user-select:none;pointer-events:none;position:fixed;top:18px;left:22px}.hud__title{font-family:var(--sans);letter-spacing:.22em;text-shadow:0 0 18px #2bd0ff59;font-size:clamp(14px,1.6vw,18px);font-weight:700}.hud__sub{color:var(--dim);letter-spacing:.03em;margin-top:6px;font-size:11px}.top-right{z-index:6;gap:10px;display:flex;position:fixed;top:18px;right:22px}.tooltip{z-index:20;pointer-events:none;border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ink);letter-spacing:.02em;white-space:nowrap;background:#04040cd9;border-radius:6px;padding:6px 10px;font-size:11.5px;position:fixed}.tooltip b{color:var(--accent-cyan)}.stats-chip{z-index:6;background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;gap:18px;padding:10px 18px;display:flex;position:fixed;bottom:20px;left:22px}.stats-chip__item{color:var(--dim);letter-spacing:.05em;flex-direction:column;align-items:center;font-size:10px;display:flex}.stats-chip__item b{color:var(--ink);font-size:14px;font-family:var(--sans)}.wallet-btn{font:inherit;letter-spacing:.04em;color:var(--ink);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:20px;padding:9px 16px;font-size:11.5px;transition:all .18s}.wallet-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.wallet-btn--connected{color:var(--accent-owned);background:#b4dcff14;border-color:#b4dcff80}.dev-panel{z-index:6;background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:10px 18px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.dev-panel__label{color:var(--dim);letter-spacing:.05em;font-size:10px}.dev-panel__count{color:var(--accent-amber)}.dev-panel__slider{width:220px;accent-color:var(--accent-cyan)}.closeup-overlay{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#020208c7;justify-content:center;align-items:center;padding:clamp(16px,4vw,56px);transition:opacity .32s;display:flex;position:fixed;inset:0}.closeup-overlay--open{opacity:1}.closeup{background:linear-gradient(#0e0a16eb,#04040af7);border:1px solid #9b5bff47;border-radius:16px;flex-direction:column;width:min(1100px,100%);height:100%;max-height:860px;transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden;transform:scale(.97);box-shadow:0 30px 90px #0000008c}.closeup-overlay--open .closeup{transform:scale(1)}.closeup__close{z-index:2;width:34px;height:34px;color:var(--ink);cursor:pointer;background:#04040c8c;border:1px solid #ffffff24;border-radius:50%;font-size:18px;transition:all .15s;position:absolute;top:14px;right:14px}.closeup__close:hover{background:#ffffff1f;transform:scale(1.08)}.closeup__frame{background:#000;flex:1;min-height:0;position:relative}.closeup__iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.closeup__status{color:var(--dim);letter-spacing:.04em;pointer-events:none;background:#03030899;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.closeup__empty{background:radial-gradient(#0a0a14 0%,#030306 75%);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:none;position:absolute;inset:0}.closeup__empty-stars{position:absolute;inset:0;overflow:hidden}.closeup__empty-dot{background:#c8d2eb66;border-radius:50%;width:2px;height:2px;animation:4s ease-in-out infinite closeup-twinkle;position:absolute}@keyframes closeup-twinkle{0%,to{opacity:.15}50%{opacity:.55}}.closeup__empty-title{font-family:var(--sans);letter-spacing:.12em;color:var(--faint);z-index:1;font-size:clamp(16px,2vw,20px)}.closeup__empty-sub{color:var(--faint);opacity:.7;z-index:1;font-size:12px}.closeup__strip{border-top:1px solid var(--panel-border);background:#080812d9;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.closeup__designation{font-family:var(--sans);letter-spacing:.04em;margin-bottom:4px;font-size:clamp(14px,1.6vw,18px)}.closeup__meta{flex-wrap:wrap;gap:8px;display:flex}.closeup__tag{letter-spacing:.05em;color:var(--dim);background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;padding:3px 9px;font-size:10.5px}.closeup__tag.owner{color:var(--accent-owned);border-color:#b4dcff4d}.closeup__tag.preview{color:var(--accent-amber);border-color:#ffb35a59}.closeup__mint-btn{font:inherit;letter-spacing:.03em;color:var(--ink);cursor:pointer;white-space:nowrap;background:#ffb35a24;border:1px solid #ffb35a80;border-radius:20px;padding:10px 18px;font-size:12px;transition:all .18s}.closeup__mint-btn:hover:not(:disabled){background:#ffb35a42;transform:translateY(-1px)}.closeup__mint-btn:disabled{opacity:.5;cursor:default}@media (width<=640px){.closeup__strip{flex-direction:column;align-items:flex-start}}.mint-panel{z-index:8;background:var(--panel-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffb35a59;border-radius:16px;flex-direction:column;align-items:stretch;gap:6px;padding:12px 18px;display:flex;position:fixed;bottom:20px;right:22px;box-shadow:0 10px 34px #00000059}.mint-panel__phase{letter-spacing:.16em;color:var(--dim);text-align:center;font-size:9.5px}.mint-panel__row{align-items:center;gap:10px;display:flex}.mint-panel__label{letter-spacing:.14em;color:var(--accent-amber);font-size:10px}.mint-panel__hint{min-height:14px;color:var(--dim);letter-spacing:.02em;text-align:center;font-size:10.5px}.mint-panel__qty{font:inherit;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;padding:6px 8px;font-size:12px}.mint-panel__btn{font:inherit;letter-spacing:.03em;color:var(--ink);cursor:pointer;background:#ffb35a1f;border:1px solid #ffb35a80;border-radius:20px;padding:9px 16px;font-size:12px;transition:all .18s}.mint-panel__btn:hover:not(:disabled){background:#ffb35a3d;transform:translateY(-1px)}.mint-panel__btn:disabled{opacity:.55;cursor:default}.mint-panel__status{min-height:14px;color:var(--dim);letter-spacing:.03em;font-size:10.5px}.mint-panel__status--ok{color:var(--accent-owned)}.mint-panel__status--error{color:#ff8a8a}@media (width<=640px){.dev-panel__slider{width:140px}.stats-chip{gap:10px;padding:8px 12px}}html.qa-html,body.qa-page{height:auto;min-height:100%;overflow-y:auto}.qa{flex-direction:column;gap:22px;max-width:1400px;margin:0 auto;padding:28px clamp(16px,3vw,40px) 48px;display:flex}.qa__header{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:16px;display:flex}.qa__title{font-family:var(--sans);letter-spacing:.14em;text-shadow:0 0 18px #2bd0ff59;font-size:clamp(16px,2vw,22px);font-weight:700}.qa__title-sub{font-family:var(--mono);letter-spacing:.18em;color:var(--accent-violet);margin-left:10px;font-size:11px;font-weight:400}.qa__badge{letter-spacing:.08em;color:var(--accent-amber);background:#ffb35a1a;border:1px solid #ffb35a4d;border-radius:20px;padding:5px 12px;font-size:10.5px}.qa__viewtoggle{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.qa__viewbtn{font:inherit;letter-spacing:.1em;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:9px 18px;font-size:11.5px;font-weight:700;transition:all .15s}.qa__viewbtn:hover{color:var(--ink)}.qa__viewbtn--active{color:var(--accent-cyan);text-shadow:0 0 14px #2bd0ff66;background:#2bd0ff24;border-color:#2bd0ff73}.qa__subtoggle{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:11px;align-self:flex-start;gap:4px;padding:3px;display:inline-flex}.qa__subtoggle--sm{align-self:center}.qa__subbtn{font:inherit;letter-spacing:.08em;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 14px;font-size:10.5px;font-weight:700;transition:all .15s}.qa__subbtn:hover{color:var(--ink)}.qa__subbtn--active{color:var(--accent-violet);text-shadow:0 0 12px #9b5bff66;background:#9b5bff29;border-color:#9b5bff80}.qa__panes{grid-template-columns:1fr 1fr;gap:20px;display:grid}.qa__pane{flex-direction:column;gap:10px;display:flex}.qa__pane-label{letter-spacing:.14em;color:var(--accent-cyan);text-align:center;font-size:11px}.qa__pane-label--animated{color:var(--accent-violet)}.qa__frame{aspect-ratio:1;border:1px solid var(--panel-border);background:#000;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000073}.qa__iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.qa__controls{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.qa__nav{gap:8px;display:flex}.qa__field{align-items:center;gap:8px;display:flex}.qa__field label{letter-spacing:.08em;color:var(--dim);font-size:10.5px}.qa__btn{font:inherit;letter-spacing:.03em;color:var(--ink);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:20px;padding:9px 16px;font-size:12px;transition:all .15s}.qa__btn:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px)}.qa__btn:disabled{opacity:.4;cursor:default;transform:none}.qa__btn--roll{color:var(--accent-cyan);background:#2bd0ff1a;border-color:#2bd0ff80;font-weight:700}.qa__btn--roll:hover:not(:disabled){background:#2bd0ff33}.qa__btn--sm{padding:8px 12px;font-size:11px}.qa__btn--copy{margin-left:auto}.qa__key{letter-spacing:.06em;color:var(--dim);background:#0000004d;border-radius:6px;margin-left:6px;padding:2px 6px;font-size:9.5px}.qa__input{font:inherit;width:72px;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;padding:8px 10px;font-size:12px}.qa__input--wide{width:120px}.qa__traits{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex-wrap:wrap;gap:10px 22px;min-height:20px;padding:16px 20px;display:flex}.qa__traits-empty{color:var(--faint);letter-spacing:.03em;font-size:11.5px}.qa__trait{color:var(--ink);letter-spacing:.02em;font-size:11.5px}.qa__trait b{letter-spacing:.1em;color:var(--dim);font-size:9.5px;font-family:var(--sans);margin-bottom:2px;display:block}#qa-compare-view,#qa-sheet-view{flex-direction:column;gap:22px;display:flex}.qa__sheet-controls{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.qa__sheet-hint{letter-spacing:.03em;color:var(--dim);font-size:11px}.qa__sheet-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.qa__tile{cursor:pointer;border:1px solid var(--panel-border);background:#000;border-radius:10px;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.qa__tile:hover{z-index:1;border-color:#2bd0ff8c;transform:translateY(-2px)scale(1.015);box-shadow:0 12px 34px #2bd0ff2e}.qa__tile-frame{aspect-ratio:1;background:#000;width:100%;position:relative}.qa__tile-iframe{pointer-events:none;border:0;width:100%;height:100%;position:absolute;inset:0}.qa__tile--loading .qa__tile-frame{animation:1.1s ease-in-out infinite qa-tile-pulse;box-shadow:inset 0 0 0 1px #2bd0ff4d}@keyframes qa-tile-pulse{0%,to{background:#000}50%{background:#060812}}.qa__tile-caption{letter-spacing:.03em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:linear-gradient(#03030800,#030308eb);padding:5px 7px 4px;font-size:9px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}@media (width<=1100px){.qa__sheet-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=700px){.qa__sheet-grid{grid-template-columns:repeat(2,1fr)}.qa__tile-caption{font-size:8.5px}}@media (width<=420px){.qa__sheet-grid{grid-template-columns:1fr}}@media (width<=900px){.qa__panes{grid-template-columns:1fr}.qa__btn--copy{margin-left:0}.qa__controls{justify-content:flex-start}}
