/* PokéJapan Cards — shared styles. Mobile-first, dark theme. */
:root{
  --bg:#0d1117; --bg2:#161b22; --card:#1c2330; --line:#2a3340;
  --text:#e8edf3; --muted:#9aa7b6; --accent:#ee1c25; --accent2:#ffcb05;
  --blue:#3d7bff; --ok:#2ecc71; --radius:14px; --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(13,17,23,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:14px;height:58px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.05rem;color:var(--text)}
.brand:hover{text-decoration:none}
.brand .ball{width:26px;height:26px;border-radius:50%;background:
  linear-gradient(#ee1c25 0 49%,#111 49% 51%,#fff 51% 100%);
  border:2px solid #111;position:relative;flex:0 0 auto}
.brand .ball::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;background:#fff;border:2px solid #111;border-radius:50%;transform:translate(-50%,-50%)}
.nav .links{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.nav .links a{color:var(--muted);font-size:.9rem;font-weight:600;padding:7px 10px;border-radius:8px}
.nav .links a:hover{color:var(--text);background:var(--bg2);text-decoration:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 10px;font-size:1.1rem}

/* Hero */
.hero{padding:54px 0 34px;text-align:center;background:radial-gradient(120% 100% at 50% 0%,#1a2130 0%,var(--bg) 60%)}
.hero h1{font-size:2.1rem;line-height:1.2;margin:.2em 0 .3em;font-weight:800}
.hero p.sub{color:var(--muted);font-size:1.08rem;max-width:620px;margin:0 auto 22px}
.hero .accent{color:var(--accent2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;font-size:1rem}
.btn:hover{text-decoration:none;opacity:.92}
.btn-line{background:#06c755;color:#fff}
.btn-primary{background:var(--accent);color:#fff}
.btn-ghost{background:var(--card);color:var(--text);border:1px solid var(--line)}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Sections */
section{padding:34px 0}
h2.sec{font-size:1.5rem;margin:0 0 6px;font-weight:800}
.sec-sub{color:var(--muted);margin:0 0 20px}
.grid{display:grid;gap:16px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h3{margin:.1em 0 .4em;font-size:1.12rem}
.card p{margin:0;color:var(--muted);font-size:.95rem}
.pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent2);background:rgba(255,203,5,.1);padding:3px 9px;border-radius:999px;margin-bottom:8px}
/* Amazon pick cards with hero image */
.card.pick{padding:0;overflow:hidden;display:flex;flex-direction:column}
.card.pick .pick-img{width:100%;aspect-ratio:1/1;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><circle cx="30" cy="30" r="26" fill="none" stroke="%23d9d9d9" stroke-width="4"/><line x1="4" y1="30" x2="56" y2="30" stroke="%23d9d9d9" stroke-width="4"/><circle cx="30" cy="30" r="8" fill="none" stroke="%23d9d9d9" stroke-width="4"/></svg>') center/60px no-repeat;object-fit:contain;display:block}
.card.pick .pick-body{padding:14px 16px 16px}
.card.pick .pick-body h3{margin:.1em 0 .35em;font-size:1.02rem}
.card.pick .pill{margin:0 0 6px}

/* LINE banner */
.line-cta{background:linear-gradient(100deg,#06c755 0%,#04a548 100%);border-radius:var(--radius);padding:26px;text-align:center;color:#fff}
.line-cta h2{margin:0 0 6px;color:#fff}
.line-cta p{margin:0 0 16px;color:rgba(255,255,255,.9)}

/* Price tool */
.pricebox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.searchrow{display:flex;gap:10px;flex-wrap:wrap}
.searchrow input{flex:1;min-width:200px;background:var(--bg2);border:1px solid var(--line);color:var(--text);padding:12px 14px;border-radius:10px;font-size:1rem}
.searchrow input:focus{outline:2px solid var(--blue);border-color:var(--blue)}
.results{margin-top:18px;display:grid;gap:12px}
.item{display:flex;gap:14px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px;align-items:center}
.item img{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#fff;flex:0 0 auto}
.item .info{flex:1;min-width:0}
.item .info .name{font-weight:600;font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item .info .shop{color:var(--muted);font-size:.8rem;margin-top:2px}
.item .price{text-align:right;flex:0 0 auto}
.item .price .jpy{font-weight:800;font-size:1.05rem}
.item .price .usd{color:var(--muted);font-size:.8rem}
.item .price .stock{font-size:.72rem;font-weight:700}
.stock.in{color:var(--ok)} .stock.out{color:var(--accent)}
.muted{color:var(--muted)}
.notice{background:rgba(61,123,255,.08);border:1px solid rgba(61,123,255,.3);border-radius:10px;padding:12px 14px;font-size:.9rem;color:var(--text);margin:14px 0}
.warn{background:rgba(238,28,37,.08);border:1px solid rgba(238,28,37,.35)}

/* Article */
.article{max-width:760px;margin:0 auto}
.article h1{font-size:1.9rem;line-height:1.25}
.article h2{font-size:1.35rem;margin-top:1.6em}
.article h3{font-size:1.1rem;margin-top:1.3em}
.article ul,.article ol{padding-left:1.3em}
.article li{margin:.3em 0}
.article table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.9rem}
.article th,.article td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.article th{background:var(--bg2)}
.updated{color:var(--muted);font-size:.85rem}
/* Lottery schedule table */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;margin:1em 0}
.table-wrap table{margin:0;border:0;min-width:760px;width:100%;font-size:.9rem}
.table-wrap th,.table-wrap td{border:0;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}
/* Let the schedule table use the full page width on desktop, not the narrow article column */
@media(min-width:900px){
  .article .table-wrap{width:min(1060px,94vw);margin-left:50%;transform:translateX(-50%)}
  .article .table-wrap td:nth-child(4){white-space:nowrap}
}
.table-wrap th{position:sticky;top:0;background:var(--bg2);white-space:nowrap}
.table-wrap tr:last-child td{border-bottom:0}
.table-wrap .store{font-weight:700;white-space:nowrap}
.table-wrap .dl{color:var(--accent2);font-weight:700;white-space:nowrap}
.table-wrap .dates div{white-space:nowrap}
.table-wrap .dates .lbl{color:var(--muted)}
.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--bg2);border:1px solid var(--line);white-space:nowrap}
.tag.web{color:var(--blue)} .tag.store{color:var(--accent2)} .tag.app{color:var(--ok)} .tag.ship{color:var(--blue)}

/* Ad slots */
.ad-slot{background:var(--bg2);border:1px dashed var(--line);border-radius:10px;min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;margin:22px 0}

/* Footer */
footer.site{border-top:1px solid var(--line);margin-top:30px;padding:26px 0;color:var(--muted);font-size:.86rem}
footer.site .cols{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
footer.site a{color:var(--muted)}
footer.site .disc{margin-top:16px;font-size:.78rem;opacity:.8;max-width:680px}

@media(max-width:760px){
  .grid.c3,.grid.c2{grid-template-columns:1fr}
  .nav .links{display:none;position:absolute;top:58px;left:0;right:0;background:var(--bg2);flex-direction:column;padding:10px 16px;border-bottom:1px solid var(--line)}
  .nav .links.open{display:flex}
  .menu-btn{display:block}
  .hero h1{font-size:1.7rem}
}
