:root{color-scheme:dark;--bg:#081019;--panel:#111c28;--panel2:#172432;--line:#26394a;--text:#edf5fb;--muted:#8fa6b8;--accent:#41a8ff;--danger:#ef6666}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0,#142a3b 0,transparent 34%),var(--bg);color:var(--text);font:14px/1.5 "Microsoft YaHei",sans-serif}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:22px clamp(18px,4vw,64px);border-bottom:1px solid var(--line);background:rgba(8,16,25,.94);backdrop-filter:blur(14px)}h1,h2,h3,p{margin:0}.topbar span,.admin-panel header span{color:var(--accent);font-size:10px;letter-spacing:2px}.topbar h1{margin-top:4px;font-size:24px}.topbar p,.admin-panel p{margin-top:4px;color:var(--muted);font-size:12px}button,input,select{font:inherit}button{min-height:38px;padding:0 16px;border:1px solid #278fdf;border-radius:7px;background:#1687dd;color:#fff;cursor:pointer}button:hover{filter:brightness(1.1)}button:disabled{cursor:wait;opacity:.6}.ghost{border-color:var(--line);background:transparent;color:var(--text)}main{max-width:1500px;margin:auto;padding:24px clamp(16px,3vw,48px) 60px}.filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(160px,1fr) auto;gap:12px;align-items:center;margin-bottom:18px}.filters input,.filters select,.editor-card input,.editor-card select,#loginForm input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text)}.filters strong{color:var(--muted);font-size:12px;text-align:right}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:11px}.item-card{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(145deg,var(--panel),#0e1822)}.item-card img,.image-placeholder{width:64px;height:64px;object-fit:contain;border-radius:7px;background:#09121b}.item-card h3,.item-card p,.item-card code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-card h3{font-size:13px}.item-card p{color:var(--muted);font-size:11px}.item-card code{display:block;margin-top:5px;color:#71c4ff;font-size:10px}.item-actions{grid-column:1/-1;display:flex;gap:7px}.item-actions button{min-height:30px;padding:0 10px;font-size:11px}.danger{border-color:#8a3d42;background:#52282d}.load-more{display:block;margin:20px auto}.empty{grid-column:1/-1;padding:50px;text-align:center;color:var(--muted)}.admin-panel{margin-top:28px;padding-top:26px;border-top:1px solid var(--line)}.admin-panel>header,.item-editor>header,#loginForm>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-card{display:grid;gap:12px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.editor-card label,#loginForm label{display:grid;gap:6px;color:var(--muted);font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.image-preview{display:flex;align-items:center;justify-content:center;min-height:96px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}.image-preview img{max-width:120px;max-height:90px;object-fit:contain}dialog{width:min(460px,calc(100vw - 30px));padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text)}dialog::backdrop{background:rgba(2,7,12,.78)}#loginForm{display:grid;gap:14px;padding:24px}#loginError{min-height:20px;color:var(--danger);font-size:11px}#toast{position:fixed;right:22px;bottom:22px;z-index:10;max-width:360px;padding:12px 16px;border-radius:8px;background:#238c62;color:#fff;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}#toast.visible{opacity:1;transform:none}#toast.error{background:#b7444d}@media(max-width:800px){.filters{grid-template-columns:1fr}.filters strong{text-align:left}.admin-grid,.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}.topbar h1{font-size:19px}}
