:root{--accent:#B48BCF;--light:#E3D3F4;--bg:#150f20;--panel:#1f1730;--panel2:#291e3f;--line:#3a2c57;--muted:#a999bd;--ok:#7fd6a0;--warn:#f0c674;--bad:#ff8a8a;--r:12px}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:radial-gradient(1200px 500px at 70% -10%,#2d1f48 0,transparent 60%),var(--bg);color:var(--light);font:16px/1.5 "Avenir Next","Segoe UI",Roboto,system-ui,sans-serif}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--light);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--light);color:#150f20;padding:8px 12px;z-index:99;border-radius:8px}
.top{position:sticky;top:0;z-index:10;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 18px;background:rgba(21,15,32,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:.04em;color:var(--light);text-decoration:none;font-size:1.15rem;white-space:nowrap}
.brand::first-letter{color:var(--accent)}
nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
nav a,nav button{color:var(--light);text-decoration:none;padding:8px 12px;border-radius:999px;white-space:nowrap;background:none;border:0;font:inherit;cursor:pointer}
nav a:hover,nav button:hover,nav a[aria-current=page]{background:var(--panel2);color:#fff}
.badge{background:var(--accent);color:#150f20;border-radius:999px;padding:0 7px;font-size:.78rem;font-weight:700;margin-left:4px}
main{max-width:1180px;margin:0 auto;padding:18px}
h1{font-size:1.7rem;margin:.2em 0 .6em}h2{font-size:1.25rem;margin:1.2em 0 .5em}h3{margin:.2em 0}
.muted{color:var(--muted)}.pad{padding:24px}.small{font-size:.86rem}.right{text-align:right}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grow{flex:1}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tab{padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--light);text-decoration:none;font-weight:600}
.tab[aria-current=page]{background:var(--accent);color:#150f20;border-color:var(--accent)}
button,.btn{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:#150f20;padding:9px 16px;font-weight:700;text-decoration:none;display:inline-block}
button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}
button.ghost,.btn.ghost{background:transparent;color:var(--light);border-color:var(--line)}
button.danger{background:transparent;color:var(--bad);border-color:var(--bad)}
button.sm{padding:5px 10px;font-size:.88rem}
input,select,textarea{font:inherit;background:#120c1c;color:var(--light);border:1px solid var(--line);border-radius:10px;padding:9px 11px;max-width:100%}
input[type=checkbox]{width:auto}label{display:block;font-size:.88rem;color:var(--muted);margin:10px 0 4px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.filters label{margin:0 0 3px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.85rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.grid.list{grid-template-columns:1fr}.grid.list .prod{flex-direction:row;align-items:center}.grid.list .imgwrap{width:96px;height:96px;aspect-ratio:auto;flex:none}
.prod{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.imgwrap{aspect-ratio:1;border-radius:10px;overflow:hidden;background:#120c1c;display:grid;place-items:center}
.imgwrap img{width:100%;height:100%;object-fit:contain}
.noimg{color:var(--muted);font-size:.8rem;text-align:center;padding:8px}
.price{font-weight:800;font-size:1.1rem;color:#fff}
.tag{display:inline-block;border-radius:6px;padding:1px 8px;font-size:.78rem;font-weight:700;border:1px solid}
.t-ok{color:var(--ok);border-color:var(--ok)}.t-warn{color:var(--warn);border-color:var(--warn)}.t-bad{color:var(--bad);border-color:var(--bad)}.t-muted{color:var(--muted);border-color:var(--line)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.85rem}
.scroll{overflow-x:auto}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}
.stat b{display:block;font-size:1.5rem;color:#fff}.stat span{color:var(--muted);font-size:.85rem}
.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 14px 16px}.timeline li::before{content:"";position:absolute;left:-23px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.notice{border-left:4px solid var(--warn);background:var(--panel2);padding:10px 14px;border-radius:8px;margin:10px 0}
.err{color:var(--bad)}
#toasts{position:fixed;right:14px;bottom:14px;display:grid;gap:8px;z-index:50;max-width:min(380px,90vw)}
.toast{background:var(--panel2);border:1px solid var(--accent);border-radius:10px;padding:10px 14px}.toast.bad{border-color:var(--bad)}
dialog{background:var(--panel);color:var(--light);border:1px solid var(--accent);border-radius:var(--r);padding:20px;width:min(520px,94vw);max-height:90vh;overflow:auto}
dialog::backdrop{background:rgba(5,2,10,.7)}
.proof{max-width:100%;max-height:360px;border:1px solid var(--line);border-radius:10px}
.skel{background:linear-gradient(90deg,var(--panel),var(--panel2),var(--panel));background-size:200% 100%;animation:sh 1.4s infinite;border-radius:var(--r);height:210px}
@keyframes sh{to{background-position:-200% 0}}
.foot{text-align:center;color:var(--muted);padding:26px 12px;font-size:.85rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.top{flex-wrap:wrap;gap:4px}nav{width:100%}.tab{padding:7px 12px;font-size:.92rem}main{padding:12px}.two{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.top{padding:8px 10px}h1{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.top,.foot,#toasts,.noprint{display:none!important}body{background:#fff;color:#000}.card{border-color:#999;background:#fff}a{color:#000}}
