:root{--bg:#fbfaf7;--card:#fff;--text:#242424;--muted:#777;--line:#dedbd4;--accent:#e8dfcf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}.header{height:72px;display:flex;align-items:center;gap:18px;max-width:1100px;margin:auto;padding:0 22px;border-bottom:1px solid var(--line)}.brand{font-weight:700;text-decoration:none;color:inherit}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.desktop{margin-left:auto;display:flex;gap:24px}.desktop a,.drawer a{color:inherit;text-decoration:none}.menu{display:none;font-size:22px;background:none;border:1px solid var(--line);border-radius:8px;width:44px;height:44px}main{max-width:1050px;margin:auto;padding:26px 22px}.hero{padding:42px 42px;background:#f4ead6;border:1px solid var(--line);border-radius:20px;margin-bottom:55px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:center;overflow:hidden}.heroText{min-width:0}.heroArt{display:flex;align-items:center;justify-content:center;min-width:0;height:280px;overflow:hidden}.heroArt img{display:block;width:auto;height:auto;max-width:220px;max-height:260px;object-fit:contain}.hero h1{font-size:38px;margin:5px 0 12px}.hero>p:not(.eyebrow){color:var(--muted);max-width:620px}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--muted);margin:0 0 4px}.button{display:inline-block;margin-top:14px;padding:13px 20px;border-radius:9px;background:var(--accent);color:inherit;text-decoration:none;font-weight:700}.sectionHead{display:flex;justify-content:space-between;align-items:end}.sectionHead h2,.search h2,.message h2{margin:2px 0 16px}.sectionHead button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card)}.slider{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}.slider::-webkit-scrollbar{display:none}.card{min-width:31.5%;scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden}.thumb{height:145px;background:#e8d3ad;padding:15px}.badge{font-size:11px;font-weight:800;background:var(--accent);padding:5px 8px;border-radius:6px}.cardBody{padding:16px}.cardBody h3{font-size:17px;margin:0 0 7px}.meta{font-size:12px;color:var(--muted)}.card a{color:inherit;text-decoration:none}.search{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0;margin:55px 0}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.filters label{font-size:13px;font-weight:700}.filters select{display:block;width:100%;height:46px;margin-top:6px;padding:0 12px;background:var(--card);border:1px solid var(--line);border-radius:8px;font-size:16px}.count{font-weight:700;margin-top:25px}.results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}.result h3{font-size:16px;margin:0 0 6px}.result a{color:inherit}.message{padding:28px;background:#f1eee8;border:1px solid var(--line);border-radius:14px}.message p{color:var(--muted)}.message button{padding:12px 18px;border:1px solid var(--line);border-radius:8px;background:var(--card)}footer{max-width:1050px;margin:35px auto;padding:25px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.drawer,.overlay{display:none}
@media(max-width:700px){.header{height:64px;padding:0 14px}.menu{display:block}.desktop{display:none}main{padding:18px 14px}.hero{padding:28px 22px;margin-bottom:42px;grid-template-columns:minmax(0,1fr) 105px;gap:10px;overflow:hidden}.heroArt{height:150px}.heroArt img{max-width:100px;max-height:145px}.hero h1{font-size:28px}.card{min-width:82%}.filters,.results{grid-template-columns:1fr}.drawer{display:flex;position:fixed;z-index:20;left:0;top:0;bottom:0;width:82%;max-width:310px;background:var(--card);padding:18px;flex-direction:column;gap:5px;transform:translateX(-105%);transition:.2s}.drawer.open{transform:translateX(0)}.drawer a{padding:13px;border-radius:8px}.close{align-self:flex-end;width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:8px;font-size:22px}.overlay{position:fixed;z-index:19;inset:0;background:#0005}.overlay.open{display:block}}

/* 利用規約 */
.rulesPage{max-width:900px}.rulesHero{padding:38px 0 28px;border-bottom:1px solid var(--line);margin-bottom:12px}.rulesHero h1{font-size:34px;margin:5px 0 14px}.rulesHero>p:not(.eyebrow){color:var(--muted);line-height:1.9}.rulesBlock{padding:30px 0;border-bottom:1px solid var(--line)}.rulesBlock h2{font-size:21px;margin:0 0 16px}.rulesBlock ul{margin:0;padding-left:1.4em}.rulesBlock li{margin:0 0 15px;line-height:1.8}.rulesBlock li:last-child{margin-bottom:0}.rulesBlock small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.rulesBlock a{color:inherit}.allowed h2::before{content:"○ ";}.prohibited h2::before{content:"× ";}.credit{margin-top:10px;padding:13px 15px;background:var(--card);border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;gap:4px}.backHome{margin:32px 0 10px}@media(max-width:700px){.rulesHero{padding:25px 0 20px}.rulesHero h1{font-size:28px}.rulesBlock{padding:24px 0}}

/* プロフィール */
.profile{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:center;padding:34px;margin:0 0 55px;background:var(--card);border:1px solid var(--line);border-radius:16px}.profileImage{display:flex;justify-content:center;align-items:center}.profileImage img{display:block;width:190px;height:190px;object-fit:cover;border-radius:50%;border:1px solid var(--line);background:#fff}.profileBody h2{font-size:28px;margin:3px 0 12px}.profileText{line-height:1.9;margin:0 0 20px}.profileLinks{display:flex;flex-wrap:wrap;gap:10px}.profileLinks a{display:inline-block;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:inherit;text-decoration:none;font-weight:700;font-size:13px}.profileLinks a:hover{background:var(--accent)}
@media(max-width:700px){.profile{grid-template-columns:1fr;gap:20px;padding:26px 20px;text-align:center;margin-bottom:42px}.profileImage img{width:150px;height:150px}.profileBody h2{font-size:25px}.profileLinks{flex-direction:column}.profileLinks a{width:100%}}

/* 管理画面リンク */
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.copyright{grid-column:2;text-align:center}.adminLink{grid-column:3;justify-self:end;color:var(--muted);text-decoration:none}.adminLink:hover{text-decoration:underline}@media(max-width:700px){footer{grid-template-columns:1fr auto;gap:20px}.copyright{grid-column:1;text-align:left}.adminLink{grid-column:2;justify-self:end}}

/* v12 Matcha & Cookie palette */
:root{
  --bg:#f7f3e8;
  --card:#fffdf7;
  --text:#34382f;
  --muted:#777264;
  --line:#d9d0bd;
  --accent:#d7dfc1;
  --matcha:#73805a;
  --matcha-dark:#45543a;
  --matcha-soft:#e8ecd9;
  --cookie:#d6b98c;
  --cookie-soft:#efe0c8;
  --cookie-dark:#9a7448;
}
body{background:var(--bg)}
.header{border-bottom-color:#d5ccb8;background:rgba(255,253,247,.72)}
.hero{background:#f4ead6;border-color:#d8cfbb}
.button{background:var(--matcha);color:#fff;border:1px solid var(--matcha-dark)}
.button:hover{background:var(--matcha-dark)}
.sectionHead button{background:var(--card)}
.thumb{background:#e8d3ad}
.badge{background:var(--cookie-soft);color:#5d4a32}
.search{border-color:#d5ccb8}
.filters select{background:var(--card);border-color:#d4c9b3}
.result{border-color:#d9d0bd}
.result:hover{border-color:var(--cookie-dark)}
.message{background:#efe1c6;border-color:#d8cfbb}
.message button{background:var(--card)}
.profile{border-color:#d8cfbb}
.profileImage img{border-color:#d8cfbb;background:#fffdf7}
.profileLinks a{background:#f3eadb;border-color:#d4c5aa}
.profileLinks a:hover{background:var(--matcha-soft);border-color:#aeb99a}
footer{border-top-color:#d5ccb8}
.adminPanel,.loginBox{background:var(--card)!important;border-color:#d8cfbb!important}
.admin button,.fileBtn{background:var(--card)!important;border-color:#d4c9b3!important}
.admin .primary,.loginBox button{background:var(--matcha)!important;color:#fff!important;border-color:var(--matcha-dark)!important}
.admin input,.loginBox input{background:#fffdf8;border-color:#d4c9b3!important}
.adminItem{border-color:#d8cfbb!important}
.drawer{background:var(--card)}
@media(max-width:700px){.overlay{background:#29301f66}}

/* v13 Strong Matcha & Cookie palette */
:root{
  --bg:#f8f4e9;
  --card:#fffdf8;
  --text:#302f29;
  --muted:#716c61;
  --line:#d9cdb8;
  --accent:#d9b983;
  --matcha:#5f7247;
  --matcha-dark:#3f5434;
  --matcha-soft:#e5ead9;
  --cookie:#d7b27a;
  --cookie-soft:#f0dfc4;
  --cookie-light:#f5e8d2;
  --cookie-dark:#805a32;
}
body{background:var(--bg)}
.header{
  max-width:none;
  padding-left:max(22px,calc((100% - 1050px)/2 + 22px));
  padding-right:max(22px,calc((100% - 1050px)/2 + 22px));
  background:var(--matcha-dark);
  border-bottom-color:#35462c;
  color:#fffdf5;
}
.brand small{color:#e6eadc}.desktop a{color:#fffdf5}.menu{color:#fffdf5;border-color:#91a181}
.hero{background:#f4ead6;border-color:#d5c8b1}
.button{background:var(--matcha-dark);color:#fff;border-color:#35462c}.button:hover{background:#33462b}
.sectionHead h2,.search h2,.profileBody h2,.message h2,.rulesBlock h2{color:var(--matcha-dark)}
.eyebrow{color:#758064}
.card,.result{border-color:#d8c7ab;box-shadow:0 2px 8px #6e57320b}
.thumb{background:#e8d3ad}
.badge{background:var(--matcha-dark);color:#fffdf5}
.cardBody h3,.result h3{
  display:block;
  margin:-3px -5px 10px;
  padding:9px 10px;
  border-radius:7px;
  background:var(--cookie-light);
  color:#654722;
  border-left:4px solid var(--cookie-dark);
}
.cardBody h3{font-size:17px}.result h3{font-size:16px}
.search{border-color:#d3c4aa}.filters select{border-color:#ccb995}.result:hover{border-color:var(--cookie-dark)}
.message{background:#efe1c6;border-color:#d4c5aa}
.profile{border-color:#d5c8b1}.profileLinks a{background:#f0dfc4;border-color:#d0b98f}.profileLinks a:hover{background:#e4ead7;border-color:#9dad89}
footer{
  max-width:none;
  margin:35px 0 0;
  padding:28px max(22px,calc((100% - 1050px)/2 + 22px));
  background:var(--matcha-dark);
  border-top:0;
  color:#e8ecdf;
}
.adminLink{color:#e8ecdf}.adminLink:hover{color:#fff}
.rulesHero{border-color:#d3c4aa}.rulesBlock{border-color:#d3c4aa}.credit{border-color:#d5c8b1}
.drawer{background:#fffdf8}.drawer a:hover{background:var(--matcha-soft)}
.adminPanel,.loginBox{background:var(--card)!important;border-color:#d5c8b1!important}
.admin .primary,.loginBox button{background:var(--matcha-dark)!important;border-color:#35462c!important}
@media(max-width:700px){
  .header{padding-left:14px;padding-right:14px}
  footer{padding-left:14px;padding-right:14px}
}

/* v14: 濃い抹茶 × クッキーブラウン / flat color */
:root{
  --bg:#f8f3e8;
  --card:#fffdf7;
  --text:#252b24;
  --muted:#6f6b5f;
  --line:#d8c8aa;
  --accent:#d8ad67;
  --matcha:#12613f;
  --matcha-dark:#075537;
  --matcha-soft:#dfe7d6;
  --cookie:#d7a85e;
  --cookie-soft:#ead3ad;
  --cookie-light:#f0dfc2;
  --cookie-dark:#765022;
}
body{background:var(--bg)}
.header{background:var(--matcha-dark);border-bottom-color:#06472f;color:#fffaf0}
.brand small{color:#e7dfc9}.desktop a{color:#fffaf0}.menu{color:#fffaf0;border-color:#d9c89f}
.hero{background:#f4ead6;border-color:#d8c8aa}
.button{background:var(--matcha-dark);color:#fff;border-color:#06472f}.button:hover{background:#06472f}
.sectionHead h2,.search h2,.profileBody h2,.message h2,.rulesBlock h2{color:var(--matcha-dark)}
.eyebrow{color:#7a684c}
.card,.result{border-color:#d8c8aa;box-shadow:none}
.thumb{background:#e8d3ad}
.badge{background:#e60012;color:#fff;border-radius:5px}
.cardBody h3,.result h3{background:var(--cookie-soft);color:#5f401c;border-left:4px solid var(--cookie-dark)}
.search{border-color:#d8c8aa}.filters select{border-color:#ccb78f}.result:hover{border-color:var(--cookie-dark)}
.message{background:#efe1c6;border-color:#d8c8aa}
.profile{border-color:#d8c8aa}.profileLinks a{background:#ead3ad;border-color:#cbaa73}.profileLinks a:hover{background:#dfc18e;border-color:#9d753b}
footer{background:var(--matcha-dark);color:#f1ead8}.adminLink{color:#f1ead8}.adminLink:hover{color:#fff}
.rulesHero,.rulesBlock{border-color:#d8c8aa}.credit{border-color:#d8c8aa}
.drawer{background:#fffaf0}.drawer a:hover{background:#ead3ad}
.adminPanel,.loginBox{background:var(--card)!important;border-color:#d8c8aa!important}
.admin .primary,.loginBox button{background:var(--matcha-dark)!important;border-color:#06472f!important}

/* v15: script title + optional new-script images */
.cardBody h3,.result h3{border-left:0!important;background:var(--cookie-soft)!important;color:#5f401c!important;padding:10px 12px!important;border-radius:8px!important}
.thumb{height:170px;background:#eee8dc;padding:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .noImage{font-size:14px;letter-spacing:.12em;color:#8f8a80;font-weight:700}
.thumb .badge{position:absolute;top:10px;right:10px;z-index:2;background:#e60012;color:#fff}
.imageField{grid-column:1/-1}.imageControls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.imagePreview{width:150px;height:90px;border:1px solid var(--line);border-radius:8px;object-fit:cover;background:#eee8dc}.imagePreview.no-image{display:flex;align-items:center;justify-content:center;color:#8f8a80;font-size:12px}.removeImage{padding:8px 12px}
