/* HOBBY RELEASE 共通デザインシステム（提案2モックから抽出・2026-11-06）
   出典：proposal2_package/monthly-mock.html / ichiban-detail-mock.html（両モックで同一のCSS）
   トークン注意：仕様テキストのアクセントは #D69A55 だが、モック実物の --accent は #C58B49。
   実装はモック準拠で #C58B49 を採用（差異は templates/README.md に記録）。 */
:root{
  --ink:#202b3b; --paper:#f5f6f4; --card:#fff; --muted:#77808b; --line:#e5e8eb;
  --accent:#c58b49; --accent-ink:#8b683d; --feature-line:#d7c4a8;
  --blue:#e9eef3; --green:#e9f1eb;
  --shadow:0 8px 24px rgba(32,43,59,.06);
  --sanrio-accent:#d98aa5; --sanrio-bg:#fdf3f5;
}
*{box-sizing:border-box}
/* 個性付け修正（2026-11-06 ぶに承認）：地に極薄ドットを敷く。色のグラデーションではなく柄として使う */
body{margin:0;background:var(--paper);background-image:radial-gradient(rgba(32,43,59,.05) 1px,transparent 1.1px);background-size:22px 22px;color:var(--ink);font-family:Inter,"Noto Sans JP",system-ui,-apple-system,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:auto;padding:0 20px}

/* 共通：最上部帯（公式情報であること＋最終確認日） */
.topbar{background:var(--ink);color:#fff;font-size:12px;padding:8px 0;border-bottom:3px solid var(--accent)}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px}
/* 共通：ヘッダー（sticky） */
.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.head{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:850;letter-spacing:.04em;font-size:19px;display:flex;align-items:center}
.brand .blocks{display:inline-flex;gap:3px;margin-right:10px;flex:0 0 auto}
.brand .blocks i{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:800;font-size:13px;font-family:Inter,sans-serif;transform:rotate(-4deg)}
.brand .blocks i:nth-child(1){background:#E4572E}
.brand .blocks i:nth-child(2){background:#2E7FC2;transform:rotate(3deg)}
.brand .blocks i:nth-child(3){background:#F2B705;color:#5C4300;transform:rotate(-3deg)}
.brand .blocks i:nth-child(4){background:#3FA46A;transform:rotate(4deg)}
.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;font-weight:600}
.nav{display:flex;gap:22px;font-size:13px;color:#536071}
.nav a:first-child{color:var(--ink);font-weight:750}
.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px}
/* 共通：フッター */
.footer{margin-top:55px;background:var(--ink);color:#dfe4e9;padding:30px 0;font-size:12px;border-top:4px solid var(--accent)}
.footer small{color:#aeb8c4}

/* 共通パーツ */
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--accent)}
h1{font-size:clamp(26px,4vw,38px);line-height:1.25;margin:8px 0 10px;letter-spacing:-.03em}
.lead{color:#687382;font-size:14px;max-width:680px}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px;font-size:11px;color:var(--muted)}
.meta span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px 10px}
.tag{display:inline-flex;align-items:center;border-radius:5px;background:var(--blue);padding:3px 7px;font-size:10px;color:#435366;margin:2px 3px 2px 0}
.tag.maker{background:#f0f1f2;color:#59616b}
.tag.work{background:#f5eee5;color:#85633b}
.tag.tbd{background:#fff;border:1px dashed #b6a98c;color:#85633b}
.notice{background:#fff;border-left:3px solid var(--accent);padding:12px 14px;font-size:12px;color:#626d79;border-radius:0 8px 8px 0;margin:18px 0}
.section{margin:28px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:13px}
.section-head h2{font-size:19px;margin:0;letter-spacing:-.02em;border-left:4px solid var(--accent);padding-left:10px}
.section-head p{font-size:11px;color:var(--muted);margin:3px 0 0}
.count{font-size:12px;color:var(--muted)}
/* 画像：切り取らない。枠は一定、contain。未確認は代替を作らず枠＋表示 */
.img-unconfirmed{display:flex;align-items:center;justify-content:center;background:#f0f1ef;color:var(--muted);
  border:1px dashed #c8cdd2;border-radius:7px;font-size:11px;min-height:82px;height:100%;text-align:center;padding:8px}

/* 月別ページ */
.hero{padding:34px 0 24px;position:relative;overflow:hidden}
.month-ghost{position:absolute;right:4px;top:-14px;font-weight:800;font-size:170px;line-height:1;color:rgba(32,43,59,.055);pointer-events:none;font-family:Inter,sans-serif}
.monthbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 22px}
.monthbar button,.filter select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;color:var(--ink)}
.monthnow{font-weight:800;font-size:18px;margin:0 8px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:0 0 22px;overflow:auto}
.tabs a{padding:10px 14px;font-size:13px;white-space:nowrap;color:#77808b}
.tabs a.active{border-bottom:3px solid var(--accent);color:var(--ink);font-weight:800}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.feature{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}
.feature-img{height:185px;background:#f0f1ef;display:flex;align-items:center;justify-content:center;padding:12px}
.feature-img img{width:100%;height:100%;object-fit:contain}
.feature-body{padding:12px}
.feature-title{font-size:13px;font-weight:750;line-height:1.45;margin:8px 0}
.stickyfilters{position:sticky;top:70px;z-index:10;background:rgba(245,246,244,.96);backdrop-filter:blur(12px);padding:9px 0}
.list-tools{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:14px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.search{flex:1;min-width:170px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.filter{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}
.result{margin-left:auto;font-size:11px;color:var(--muted)}
.clear-filters{font-size:11px;color:var(--accent-ink);text-decoration:underline}
.week{background:var(--ink);color:#fff;padding:9px 13px;border-radius:8px;font-size:12px;font-weight:800;display:flex;justify-content:space-between;margin:17px 0 0}
.week span{color:#f0d9ae}
.item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-top:0;padding:12px}
.item:last-child{border-radius:0 0 10px 10px}
.thumb{height:82px;background:#f3f4f2;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:5px}
.thumb img{width:100%;height:100%;object-fit:contain}
.item h3{font-size:13px;margin:0 0 5px;line-height:1.5}
.sub{font-size:11px;color:var(--muted)}
.item-date{font-size:13px;font-weight:800;white-space:nowrap;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* 【廃止・未使用 2026-11-08】旧くじタイトル別ページ用スタイル。くじ廃止決定により本番では使わない（履歴として残置） */
.crumb{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 14px;font-size:11px;color:var(--muted)}
.crumb span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px 10px}
.detail-hero{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;box-shadow:var(--shadow)}
.banner{background:#f0f1ef;border-radius:10px;min-height:190px;display:flex;align-items:center;justify-content:center;padding:14px}
.banner img{width:100%;max-height:250px;object-fit:contain}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.fact{background:#f5f6f4;border-radius:9px;padding:10px}
.fact small{display:block;color:var(--muted);font-size:10px}
.fact strong{font-size:14px}
.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.award{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.rank-ghost{position:absolute;top:2px;right:10px;font-family:Inter,sans-serif;font-weight:800;font-size:46px;line-height:1;color:rgba(197,139,73,.16);pointer-events:none;z-index:1}
.award.featured{border-color:var(--feature-line)}
.award-img{height:190px;background:#f1f2ef;display:flex;align-items:center;justify-content:center;padding:12px}
.award-img img{width:100%;height:100%;object-fit:contain}
.award-body{padding:12px}
.award-label{font-size:11px;color:var(--accent-ink);font-weight:850;letter-spacing:.08em}
.award h3{font-size:13px;margin:4px 0 0;line-height:1.5}
.lastone{margin-top:22px;background:#fff;border:1px solid var(--feature-line);border-radius:14px;padding:16px;display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}
.lastone .award-img{height:155px;border-radius:9px}
.source{font-size:11px;color:var(--muted);margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}

/* サンリオコーナー差分（共通構造のまま、色と地だけ） */
.sanrio{background:var(--sanrio-bg);border-radius:16px;padding:16px}
.sanrio .eyebrow,.sanrio h2,.sanrio h4{color:var(--sanrio-accent)}
.sanrio .tabs a.active{border-color:var(--sanrio-accent);color:var(--sanrio-accent)}

/* 売り方ガイド（読み物型） */
.guide{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;max-width:820px}
.guide h2{font-size:19px;margin:26px 0 8px}
.guide h2:first-child{margin-top:0}
.guide p,.guide li{font-size:14px;color:#39424e}
.pr-note{font-size:11px;color:var(--muted)}
.affiliate-area{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}
.affiliate-area a{color:var(--accent-ink);text-decoration:underline}

@media(max-width:760px){
  .wrap{padding:0 14px}.head{height:60px}.nav{display:none}.menu{display:block}
  .hero{padding:25px 0 15px}.feature-grid{grid-template-columns:repeat(2,1fr);gap:9px}.feature-img{height:145px}
  .stickyfilters{top:60px}.list-tools{gap:7px}.filter{flex:1}.filter select{width:100%}
  .result{width:100%;text-align:right}.item{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px}
  .thumb{height:76px}.item-date{grid-column:2;grid-row:2}
  .detail-hero{grid-template-columns:1fr;padding:15px}.facts{grid-template-columns:repeat(3,1fr)}
  .award-grid{grid-template-columns:repeat(2,1fr);gap:9px}.award-img{height:150px}
  .lastone{grid-template-columns:110px 1fr}.lastone .award-img{height:125px}
  .monthnow{font-size:16px}.topbar .wrap{font-size:10px}
}

/* === 確定デザイン：トイ風の部分採用（2026-11-06 ぶに確定）===
   提案2＋琥珀の個性付けを土台に、トイ風からは次の4点だけを正式採用する。
   (1) 見出しとブランド名は丸ゴシック（M PLUS Rounded 1c）。本文は通常ゴシックのまま。
   (2) ロゴは積み木ブロック（文字は正式サイト名決定後に差し替え。現状は HOBBY RELEASE 前提の H/O/B/B）。
   (3) 一覧の日付は値札型タグ（形のみ採用、色は琥珀系で統一）。
   (4) 原色ローテーションは週バーだけ（w1〜w4を週ごとに循環）。他の要素には広げない。 */
h1,h2,.brand{font-family:"M PLUS Rounded 1c","Noto Sans JP",sans-serif}
.week.w1{background:#2E7FC2}.week.w2{background:#2F8F57}.week.w3{background:#E4572E}.week.w4{background:#8A7FD6}
.week.w1 span,.week.w2 span,.week.w3 span,.week.w4 span{color:rgba(255,255,255,.85)}
.item-date{position:relative;background:#F5E7C6;color:#7A5E14;border-radius:7px;padding:5px 10px 5px 17px;border-bottom:0}
.item-date:before{content:"";position:absolute;left:7px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--paper)}

/* === 構成方針（2026-11-08 プライズ特化で確定）===
   TOP（月別）は現行レイアウト。プライズのカードには公式リンク（.official-link）を埋め込み、詳細ページは作らない（薄いページ量産を避ける）。
   旧ハイブリッド仕様（くじタイトル別ページ）は 2026-11-08 に廃止。.source-card／.official-btn は今後の本番では未使用。 */
.official-link{font-size:11px;font-weight:700;color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--accent)}
.source-card{background:#fff;border:1px solid var(--feature-line);border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.source-card .t{font-size:13px;font-weight:700;color:var(--ink)}
.source-card .d{font-size:11px;color:var(--muted);margin-top:2px}
.official-btn{background:var(--accent);color:#fff;font-weight:800;font-size:13px;border-radius:999px;padding:9px 18px;text-decoration:none;white-space:nowrap}
[data-theme="dark"] .source-card{background:#1E2635}

/* === ダークモード（2026-11-06 ぶに提案で追加）===
   仕様：初期表示は端末設定に追随（prefers-color-scheme）、ヘッダーの .theme-toggle で手動切替、
   選択は localStorage に保存（ゲームサイトと同方式）。切替は <html data-theme="dark"> で行う。
   ダーク時は画像枠を最も暗くし、フィギュアが展示ケースのように浮く設計。
   値札タグ・積み木ロゴなどブランド色は両モード共通で固定する。 */
.theme-toggle{border:1px solid var(--line);background:#f5f6f4;color:var(--ink);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
[data-theme="dark"] body{background:#141A24;color:#E6EBF2}
[data-theme="dark"] .header,[data-theme="dark"] .feature,[data-theme="dark"] .item,[data-theme="dark"] .award,[data-theme="dark"] .detail-hero,[data-theme="dark"] .lastone,[data-theme="dark"] .meta span{background:#1E2635;border-color:#2E394D;color:#E6EBF2}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] .brand,[data-theme="dark"] .fact strong,[data-theme="dark"] .feature-title{color:#EDF1F6}
[data-theme="dark"] .lead,[data-theme="dark"] .sub,[data-theme="dark"] .meta,[data-theme="dark"] .count,[data-theme="dark"] .section-head p{color:#93A0B4}
[data-theme="dark"] .feature-img,[data-theme="dark"] .thumb,[data-theme="dark"] .award-img,[data-theme="dark"] .banner,[data-theme="dark"] .img-unconfirmed{background:#0B111C}
[data-theme="dark"] .fact{background:#242F42}
[data-theme="dark"] .tag{background:#26334A;color:#B9C9DE}
[data-theme="dark"] .tag.maker{background:#232B3A;color:#A7B2C2}
[data-theme="dark"] .tag.work{background:#3A2F1C;color:#E3C98F}
[data-theme="dark"] .tabs a{color:#93A0B4}
[data-theme="dark"] .tabs a.active{color:#EDF1F6}
[data-theme="dark"] .theme-toggle{background:#242F42;color:#EDF1F6;border-color:#2E394D}
[data-theme="dark"] .topbar{background:#0A0E14}
[data-theme="dark"] .footer{background:#0A0E14}
[data-theme="dark"] .month-ghost{color:rgba(255,255,255,.06)}

/* === 参照実装から取り込んだ部品（2026-11-06）===
   .big-card: プライズ1件を大きく見せる注目枠（画像左＋基本情報4点＋公式ボタン）。
   .small-list/.srow: くじ詳細で小物賞（E賞以降）をコンパクトな行で並べる形式。フィギュア賞は .award グリッド。 */
.big-card{background:#fff;border:1px solid var(--feature-line);border-radius:14px;box-shadow:var(--shadow);display:grid;grid-template-columns:300px 1fr;overflow:hidden}
.big-img{background:#f0f1ef;min-height:280px}.big-img img{width:100%;height:100%;object-fit:contain;display:block}
.big-body{padding:18px}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}
.small-list{margin-top:13px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.srow{display:flex;gap:14px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}
.srow:first-child{border-top:0}
.slabel{flex:0 0 auto;font-weight:800;font-size:12px;color:var(--accent-ink);background:#f5f6f4;border-radius:7px;padding:5px 10px}
.srow h4{font-size:13px;margin:0}
.stores{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.6}
[data-theme="dark"] .big-card,[data-theme="dark"] .small-list{background:#1E2635;border-color:#2E394D}
[data-theme="dark"] .big-img{background:#0B111C}
[data-theme="dark"] .slabel{background:#242F42}
@media(max-width:700px){.big-card{grid-template-columns:1fr}.big-img{min-height:220px}}
