:root{--bg:#04040a;--panel:#080815;--border:#0f0f20;--text:#e0e0f0;--muted:#335;--accent:#39ff14;--container-max:480px;--gap:8px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{color:var(--text);font-family:DM Mono,Courier New,monospace}button{-webkit-tap-highlight-color:transparent;font-family:DM Mono,monospace}::-webkit-scrollbar{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.app-shell{width:100%;max-width:var(--container-max);background:var(--bg);min-height:100dvh;color:var(--text);margin:0 auto;font-family:DM Mono,Courier New,monospace}.app-footer{width:100%;max-width:var(--container-max);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:8px 14px calc(8px + env(safe-area-inset-bottom));z-index:98;background:#04040af7;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.card-grid{gap:var(--gap);grid-template-columns:1fr;display:grid}.split-panels{display:contents}.mobile-only{display:block}.desktop-only{display:none}@media (width>=768px){:root{--container-max:720px}}@media (width>=1024px){:root{--container-max:960px}.card-grid{grid-template-columns:1fr 1fr}}@media (width>=1280px){:root{--container-max:1200px}.app-shell.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"header header""scanner watchlist";align-items:start;column-gap:20px;display:grid}.app-shell.split>.app-header{grid-area:header}.app-shell.split>.scanner-panel{grid-area:scanner;min-width:0}.app-shell.split>.watchlist-panel{grid-area:watchlist;min-width:0;max-height:calc(100dvh - 120px);position:sticky;top:96px;overflow-y:auto}.mobile-only{display:none}.desktop-only{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
