:root{--surface:#e4e9f2;--panel-inset:#dde3ee;--hi:#fff;--shadow:#b9c2d6;--shadow-inset:#bcc5d8;--shadow-deep:#a7b1c8;--shadow-pin:#a9b3c8;--text:#39415a;--text-2:#5b6b93;--muted:#8792ab;--faint:#7b859c;--divider:#cdd5e3;--acc-256:oklch(60% .13 256);--acc-156:oklch(62% .13 156);--acc-78:oklch(70% .13 78);--acc-28:oklch(62% .14 28);--acc-305:oklch(58% .13 305);--r-sm:8px;--r-md:18px;--r-card:28px;--r-pill:999px;--font-ui:"Nunito", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--ease-apple:cubic-bezier(.22, 1, .36, 1);--dur-cluster:.42s;--dur-pop:.32s}.neo-raised{background:var(--surface);border-radius:var(--r-card);box-shadow:8px 8px 18px var(--shadow), -8px -8px 18px var(--hi)}.neo-inset{background:var(--panel-inset);border-radius:var(--r-card);box-shadow:inset 8px 8px 18px var(--shadow-inset), inset -8px -8px 18px var(--hi)}.neo-pin{transition:transform var(--dur-cluster) var(--ease-apple), width var(--dur-cluster) var(--ease-apple), height var(--dur-cluster) var(--ease-apple);background:linear-gradient(145deg,#eef2fb,#cfd8ea);border-radius:50%;justify-content:center;align-items:center;display:flex}@keyframes pin-pop{0%{transform:scale(0)}70%{transform:scale(1.12)}to{transform:scale(1)}}.neo-pin--appear{animation:pin-pop var(--dur-pop) var(--ease-apple)}.neo-pin--mine{box-shadow:0 0 0 3px var(--acc-256), 6px 6px 12px var(--shadow-pin)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}button{cursor:pointer;color:var(--text);font-family:inherit}.admin-shell{flex-direction:column;gap:20px;min-height:100%;padding:28px clamp(16px,5vw,56px);display:flex}.admin-header{justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.admin-title{font-size:20px;font-weight:800}.admin-badge{font-family:var(--font-mono);color:var(--text-2);padding:6px 14px;font-size:12px}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.admin-card{padding:22px 24px}.admin-card h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:13px}.admin-card p{color:var(--faint);margin:0;font-size:14px}.admin-tabs{flex-wrap:wrap;gap:8px;display:flex}.admin-tab{background:var(--surface);border-radius:var(--r-pill);color:var(--text-2);box-shadow:4px 4px 9px var(--shadow), -4px -4px 9px var(--hi);border:none;padding:9px 18px;font-size:13px;font-weight:700}.admin-tab--active{color:var(--acc-256);box-shadow:inset 3px 3px 7px var(--shadow-inset), inset -3px -3px 7px var(--hi)}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;font-size:11px;font-weight:600}.admin-table td{border-top:1px solid var(--divider);color:var(--text);padding:7px 10px}.swatch{border-radius:5px;width:26px;height:16px;display:inline-block;box-shadow:inset 1px 1px 2px #39415a33}.mini{background:var(--surface);border-radius:var(--r-pill);color:var(--text-2);box-shadow:3px 3px 6px var(--shadow), -3px -3px 6px var(--hi);border:none;padding:5px 12px;font-size:12px;font-weight:700}.mini.primary{color:var(--acc-256)}.mini.danger{color:var(--acc-28)}.mini:active{box-shadow:inset 2px 2px 5px var(--shadow-inset), inset -2px -2px 5px var(--hi)}.admin-form{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}input{border-radius:var(--r-sm);color:var(--text);background:var(--panel-inset);box-shadow:inset 2px 2px 5px var(--shadow-inset), inset -2px -2px 5px var(--hi);border:none;padding:8px 12px;font-family:inherit;font-size:13px}input[type=checkbox]{width:18px;height:18px;box-shadow:none;accent-color:var(--acc-256)}.admin-msg{color:var(--acc-28);margin-top:10px;font-size:13px}.admin-hint{color:var(--faint);margin:0 0 10px;font-size:12px}.admin-login{place-items:center;min-height:100%;padding:24px;display:grid}.admin-login__card{flex-direction:column;gap:12px;width:min(340px,100%);padding:28px;display:flex}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-top:8px;display:grid}.admin-stats>div{border-radius:var(--r-md);box-shadow:inset 3px 3px 7px var(--shadow-inset), inset -3px -3px 7px var(--hi);flex-direction:column;gap:4px;padding:16px;display:flex}.admin-stats b{color:var(--text);font-size:26px}.admin-stats span{color:var(--muted);font-size:12px}
