:root{--bg:#f6f7f9;--fg:#1d2430;--card:#fff;--line:#e2e5ea;--accent:#2457c5;--accent-fg:#fff;--price:#a4520b;--hero:#dce6f9;--head:#1d2430;--head-fg:#fff;--muted:#e2e5ea}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#12161d;--fg:#e8ebf0;--card:#1b212b;--line:#2c3441;--accent:#6c97f0;--accent-fg:#0d1320;--price:#f0a35c;--hero:#1c2a47;--head:#0b0e13;--head-fg:#e8ebf0;--muted:#2c3441;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#12161d;--fg:#e8ebf0;--card:#1b212b;--line:#2c3441;--accent:#6c97f0;--accent-fg:#0d1320;--price:#f0a35c;--hero:#1c2a47;--head:#0b0e13;--head-fg:#e8ebf0;--muted:#2c3441;color-scheme:dark}
*{box-sizing:border-box}
body{font-family:system-ui,sans-serif;margin:0;color:var(--fg);background:var(--bg)}
header{background:var(--head);color:var(--head-fg);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
header a{color:var(--head-fg);text-decoration:none;margin-left:16px}
header .logo{font-weight:700;font-size:20px;margin:0}
main{max-width:960px;margin:24px auto;padding:0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;text-align:center}
.card .emoji{font-size:64px}
.card a{text-decoration:none;color:inherit}
.price{color:var(--price);font-weight:600}
button,.btn{background:var(--accent);color:var(--accent-fg);border:0;border-radius:6px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block;font-size:14px}
button.secondary,.btn.secondary{background:var(--muted);color:var(--fg)}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
input{padding:8px;width:100%;margin:4px 0 12px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--fg)}
.hero{background:var(--hero);padding:40px 16px;border-radius:8px;text-align:center;margin-bottom:24px}
.detail{display:flex;gap:32px;align-items:center;background:var(--card);padding:24px;border-radius:8px;flex-wrap:wrap}
.detail .emoji{font-size:120px}
