:root{--bg:#000;--surface:#0a0a0a;--hair:#1a1a1a;--hair2:#2e2e2e;--muted:#8a8a8a;--dim:#d9d9d9;--fg:#fff;--red:#d71921;--brand:Doto, "JetBrains Mono", monospace;--display:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--body:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--side:236px;--pane:378px;--row:40px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:400 12.5px/1.5 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.5}input,select,textarea{font:inherit;color:var(--fg);border:1px solid var(--hair2);background:0 0;border-radius:8px;outline:none;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--fg)}:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:4px}::selection{background:var(--fg);color:#000}.display{font-family:var(--display);letter-spacing:-.01em;font-weight:700}.mono{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:500}.muted{color:var(--muted)}.dim{color:var(--dim)}.red{color:var(--red)}.hair{border-color:var(--hair)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--display:Doto, "JetBrains Mono", monospace}body{font-size:12.5px}#root{flex-direction:column;height:100vh;display:flex}.top{border-bottom:1px solid var(--hair);flex:none;align-items:center;gap:14px;height:52px;padding:0 18px;display:flex}.top .brand{font:900 16px/1 var(--brandfont,var(--display));letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;align-items:baseline;gap:10px;display:flex}.top .ctx{font:500 9.5px/1 var(--mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;white-space:nowrap}.top .grow{flex:1}.top .getapp{border:1px solid var(--hair2);height:30px;color:var(--dim);white-space:nowrap;border-radius:15px;align-items:center;padding:0 13px;font-size:11.5px;font-weight:600;display:inline-flex}.top .getapp:hover{border-color:var(--fg);color:var(--fg)}.avatar{background:var(--hair2);object-fit:cover;width:26px;height:26px;font:600 10px/1 var(--body);border-radius:50%;flex:none;place-items:center;display:grid}.frame{flex:1;min-height:0;display:flex}.side{border-right:1px solid var(--hair);flex-direction:column;flex:none;gap:2px;width:200px;padding:14px 10px;display:flex;overflow-y:auto}.side a{height:38px;color:var(--dim);border-radius:10px;justify-content:space-between;align-items:center;padding:0 12px;font-weight:500;display:flex}.side a:hover{background:var(--surface);color:var(--fg)}.side a.on{background:var(--fg);color:#000}.side .sect{font:500 8.5px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:16px 4px 6px}.side .facet{height:32px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;width:100%;padding:0 12px;font-size:12px;display:flex}.side .facet:hover,.side .facet.on{color:var(--fg);background:var(--surface)}.side .facet .n{font:400 10px/1 var(--mono);color:var(--muted)}.count{background:var(--hair);min-width:20px;height:18px;font:500 9.5px/1 var(--mono);color:var(--dim);border-radius:9px;place-items:center;padding:0 6px;display:inline-grid}.on>.count{color:#fff;background:#000}.content{flex:1;min-width:0;min-height:0;display:flex}.list{flex:1;min-width:0;padding:16px 20px 40px;overflow-y:auto}.pane{border-left:1px solid var(--hair);flex:none;width:400px;padding:20px;display:none;overflow-y:auto}@media (width>=1020px){.pane{display:block}}.bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search{border:1px solid var(--hair2);border-radius:17px;flex:1;align-items:center;gap:8px;min-width:160px;max-width:380px;height:34px;padding:0 13px;display:flex}.search input{background:0 0;border:0;flex:1;min-width:0;padding:0;font-size:12.5px}.chip{border:1px solid var(--hair2);height:28px;font:500 10px/1 var(--mono);letter-spacing:.06em;color:var(--dim);text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.chip.on{background:var(--fg);color:#000;border-color:var(--fg)}.btn{cursor:pointer;height:34px;color:var(--fg);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:17px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:12px;font-weight:600;display:inline-flex}.btn.primary{background:var(--fg);color:#000}.btn.primary:hover:not(:disabled){background:var(--dim)}.btn.secondary{border-color:var(--hair2);color:var(--dim)}.btn.secondary:hover:not(:disabled){border-color:var(--fg);color:var(--fg)}.btn.danger{border-color:var(--red);color:var(--red)}.btn:disabled{opacity:.45;cursor:default}.cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.card{border:1px solid var(--hair2);cursor:pointer;text-align:left;color:var(--fg);background:0 0;border-radius:14px;width:100%;padding:0;display:block;overflow:hidden}.card:hover{border-color:var(--muted)}.card.on{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}.card .ph{aspect-ratio:3/2;background:var(--surface) radial-gradient(#2e2e2e 1px, transparent 1px) 7px 7px / 14px 14px;position:relative}.card .ph img{object-fit:cover;width:100%;height:100%;display:block}.card .ver{color:#000;width:16px;height:16px;font:600 9px/1 var(--body);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.card .meta{padding:10px 12px 11px}.card .name{font:800 13px/1.15 var(--display);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card .sub{font:400 9.5px/1.4 var(--mono);color:var(--muted);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.dp h1{font:800 22px/1.1 var(--display);text-transform:uppercase;margin:0}.dp .credit{color:var(--muted);margin-top:6px;font-size:11.5px}.dp .credit a{color:var(--dim);text-underline-offset:3px;text-decoration:underline}.dp .hero{aspect-ratio:3/2;background:var(--surface);border-radius:12px;margin:14px 0;overflow:hidden}.dp .hero img{object-fit:cover;width:100%;height:100%}.dp .thumbs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.dp .thumbs img{aspect-ratio:3/2;object-fit:cover;border-radius:8px;width:100%}.specs{background:var(--hair);border:1px solid var(--hair);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.specs>div{background:var(--bg);padding:10px 12px}.specs .k{font:500 8px/1 var(--body);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.specs .v{font:400 12.5px/1.2 var(--mono)}.pill{height:22px;font:500 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--hair2);color:var(--dim);border-radius:11px;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.pill.solid{background:var(--fg);color:#000;border-color:var(--fg)}.pill.red{border-color:var(--red);color:var(--red)}.codebox{border:1px solid var(--hair2);border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:12px;display:flex}.codebox img{border-radius:6px;flex:none;width:92px;height:92px}.codebox .pay{font:400 9.5px/1.55 var(--mono);color:var(--muted);word-break:break-all;max-height:78px;overflow:hidden}.appnote{border:1px dashed var(--hair2);color:var(--muted);border-radius:12px;margin-top:12px;padding:12px 14px;font-size:11.5px;line-height:1.55}.appnote a{color:var(--dim);text-decoration:underline}.tbl{background:var(--hair);border:1px solid var(--hair);border-radius:12px;grid-template-columns:minmax(200px,2fr) minmax(150px,1.4fr) 70px 60px 110px 120px;gap:1px;display:grid;overflow:hidden}.tbl .th{background:var(--surface);font:500 8.5px/1.3 var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;padding:9px 12px}.tbl .td{background:var(--bg);white-space:nowrap;align-items:center;gap:10px;min-height:52px;padding:0 12px;display:flex;overflow:hidden}.tbl .td .name{font:800 12.5px/1.15 var(--display);text-transform:uppercase;text-overflow:ellipsis;overflow:hidden}.tbl .td .sub{color:var(--muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.tbl .rowbtn{cursor:pointer}.thumb{background:var(--surface) radial-gradient(#2e2e2e 1px, transparent 1px) 4px 4px / 8px 8px;object-fit:cover;border-radius:7px;flex:none;width:32px;height:32px}.ed{flex:1;min-height:0;display:flex}.ed .main{flex:1;min-width:0;max-width:760px;padding:18px 22px 60px;overflow-y:auto}.ed .aside{border-left:1px solid var(--hair);flex:none;width:320px;padding:18px;display:none;overflow-y:auto}@media (width>=1100px){.ed .aside{display:block}}.ed h1{font:800 22px/1.1 var(--display);text-transform:uppercase;margin:0}.edhead{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.frow{border-bottom:1px solid var(--hair);align-items:center;gap:12px;min-height:46px;display:flex}.frow .lbl{width:150px;font:500 9px/1.3 var(--body);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;flex:none}.frow .val{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.frow select,.frow input[type=text],.frow input[type=url],.frow input[type=number]{border:1px solid var(--hair2);height:34px;color:var(--fg);font:400 12.5px/1 var(--mono);background:0 0;border-radius:10px;max-width:220px;padding:0 10px}.frow input[type=text],.frow input[type=url]{font-family:var(--body);width:100%;max-width:320px}.step{align-items:center;gap:8px;display:flex}.step button{border:1px solid var(--hair2);width:30px;height:30px;color:var(--dim);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:15px;display:grid}.step button:hover:not(:disabled){border-color:var(--fg);color:var(--fg)}.step button:disabled{opacity:.35;cursor:default}.step .n{text-align:center;min-width:52px;font:400 14px/1 var(--mono)}.livecode{border:1px solid var(--hair2);background:var(--surface);border-radius:12px;margin-top:18px;padding:12px}.livecode .pay{font:400 10.5px/1.6 var(--mono);color:var(--dim);word-break:break-all}.livecode .cap{font:500 8.5px/1 var(--mono);letter-spacing:.14em;color:var(--muted);margin-top:6px}.compat{border:1px solid var(--hair);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;font-size:12px;display:flex}.compat .ok:before{content:"✓  ";color:var(--fg)}.compat .warn:before{content:"!  ";color:var(--red)}.hlist{flex-direction:column;gap:6px;display:flex}.hrow{border:1px solid var(--hair);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.hrow .v{font:500 10px/1 var(--mono);color:var(--muted)}.issue{border:1px solid var(--red);color:var(--red);border-radius:12px;margin-top:14px;padding:12px 14px;font-size:12px;line-height:1.6}.note{border:1px solid var(--hair2);color:var(--dim);border-radius:12px;margin-top:14px;padding:12px 14px;font-size:12px;line-height:1.6}.note a{text-decoration:underline}.set{flex:1;max-width:720px;padding:18px 22px 60px;overflow-y:auto}.setcard{border:1px solid var(--hair2);border-radius:14px;margin-bottom:14px;padding:16px}.setcard h3{font:500 9px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:0 0 12px}.kv{grid-template-columns:1fr auto;align-items:center;gap:8px 14px;font-size:12.5px;display:grid}.kv .m{font-family:var(--mono);color:var(--dim);text-align:right;font-size:11.5px}.wall{background-image:radial-gradient(#141414 1px,#0000 1px);background-size:16px 16px;flex:1;place-items:center;padding:40px 20px;display:grid}.wall .box{text-align:center;border:1px solid var(--hair2);background:var(--bg);border-radius:24px;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:400px;padding:40px 32px;display:flex}.wall .mark{border:1px solid var(--hair2);width:54px;height:54px;font:400 22px/1 var(--display);border-radius:50%;place-items:center;display:grid}.wall h1{font:900 26px/1 var(--display);letter-spacing:.05em;text-transform:uppercase;margin:0}.wall .tag{font:500 9.5px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.wall p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.6}.gsi{place-items:center;min-height:44px;display:grid}.empty{border:1px dashed var(--hair2);text-align:center;color:var(--muted);border-radius:14px;margin:16px 0;padding:40px 20px}.toast{background:var(--fg);color:#000;z-index:50;border-radius:14px;padding:10px 16px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.err{background:var(--red);color:#fff}.dots{gap:4px;display:inline-flex}.dots i{background:currentColor;border-radius:50%;width:5px;height:5px;animation:.9s ease-in-out infinite pulse}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.swatch{flex:none;align-items:stretch;gap:1.5px;width:26px;height:18px;display:flex}.swatch i{flex-direction:column;flex:1;justify-content:center;align-items:stretch;display:flex;position:relative}.swatch i:before{content:"";background:var(--hair2);height:1px;position:absolute;top:50%;left:0;right:0}.swatch i b,.swatch i u{background:var(--fg);min-height:0;display:block;position:relative}.swatch i b{margin-top:auto}.swatch i u{opacity:.55;margin-bottom:auto}.swatch.light i b,.swatch.light i u{background:#000}.swatch.light i:before{background:#00000040}@media (width<=760px){.side{display:none}.tbl{grid-template-columns:minmax(160px,2fr) 70px 110px}.tbl .hide-m{display:none!important}}*{scrollbar-width:thin;scrollbar-color:var(--hair2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--hair2);border:3px solid var(--bg);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-corner{background:0 0}.dots i{border-radius:0!important}.page{flex:1;min-width:0;padding:18px 22px 48px;overflow-y:auto}.pagehead{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.pagehead h1{font:800 26px/1.1 var(--display);text-transform:uppercase;margin:0}.pagebody{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:26px;display:grid}@media (width<=980px){.pagebody{grid-template-columns:minmax(0,1fr)}}.shots .big{border:1px solid var(--hair);background:var(--surface);border-radius:14px;position:relative;overflow:hidden}.shots .big img{object-fit:contain;width:100%;max-height:74vh;display:block}.shots .nav{border:1px solid var(--hair2);width:42px;height:42px;color:var(--fg);background:#000000a8;border-radius:50%;place-items:center;font-size:16px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.shots .nav:hover:not(:disabled){border-color:var(--fg)}.shots .nav:disabled{opacity:.25}.shots .nav.prev{left:14px}.shots .nav.next{right:14px}.shots .strip{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.shots .strip button{border:1px solid var(--hair2);background:0 0;border-radius:8px;width:84px;height:58px;padding:0;overflow:hidden}.shots .strip button.on{border-color:var(--fg)}.shots .strip img{object-fit:cover;width:100%;height:100%;display:block}.pagespec{border:1px solid var(--hair);border-radius:14px;padding:16px}.ed .main{max-width:720px}.frow{gap:18px}.frow .lbl{width:132px}.frow .val{justify-content:flex-start}.frow select{min-width:168px}.frow input[type=text],.frow input[type=url]{max-width:none}.edsect{font:500 8.5px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:22px 0 4px}.edsect:first-of-type{margin-top:10px}.step{margin-left:auto}.frow .val .step{margin-left:0}.frow{align-items:center;padding:9px 0}.frow .val{flex-wrap:wrap;row-gap:8px}.frow:has(.chip){align-items:flex-start}.frow:has(.chip) .lbl{padding-top:9px}.backdrop{z-index:60;background:#0000009e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:var(--bg);border:1px solid var(--hair2);border-radius:18px;flex-direction:column;gap:12px;width:min(420px,100%);padding:22px;display:flex}.dialog h3{margin:0;font-size:16px}.dialog p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.55}.dialog input,.dialog textarea{background:var(--surface);border:1px solid var(--hair2);width:100%;color:var(--fg);font:inherit;resize:vertical;border-radius:12px;padding:10px 12px;font-size:13px}.dialog .drow{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}
