:root { --ink:#2b2320; --soft:#6d625c; --paper:#fffaf5; --card:#fff; --rule:#eadfd5; --accent:#c8452f; --accent-ink:#fff; --tint:#fbeee8; }
@media (prefers-color-scheme: dark) { :root { --ink:#f3ebe5; --soft:#b5aaa3; --paper:#1f1a18; --card:#2a2421; --rule:#40372f; --accent:#ec7a63; --accent-ink:#1f1a18; --tint:#3a2a25; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
.wrap { max-width:860px; margin:0 auto; padding:0 16px; }
a { color:var(--accent); }
img { max-width:100%; height:auto; }
h1 { font-size:clamp(30px,6vw,44px); line-height:1.1; margin:32px 0 12px; }
h2 { font-size:26px; margin:40px 0 8px; }
.top { border-bottom:1px solid var(--rule); }
.top .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 20px; padding-block:10px; }
.brand { display:flex; align-items:center; gap:8px; font-weight:800; font-size:20px; color:var(--ink); text-decoration:none; }
nav { display:flex; gap:16px; font-size:15px; } nav a { color:var(--ink); text-decoration:none; }
.hero { padding:24px 0 8px; } .hero p { font-size:20px; max-width:34em; }
.lead { color:var(--soft); } .small { font-size:14px; color:var(--soft); }
.btn { display:inline-block; background:var(--accent); color:var(--accent-ink); border:0; border-radius:10px; padding:13px 22px; font:700 17px system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.btn.ghost { background:none; color:var(--accent); border:1.5px solid var(--accent); }
.notice { background:var(--tint); padding:14px 16px; border-radius:10px; }
.example { margin-top:24px; } .who { font-size:18px; color:var(--soft); font-weight:600; margin:0 0 8px; }
.idea { background:var(--card); border:1px solid var(--rule); border-radius:14px; padding:18px; margin:14px 0; }
.idea h3 { margin:0 0 4px; font-size:21px; } .why { margin:0 0 14px; color:var(--soft); }
.products { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.product { display:flex; flex-direction:column; gap:6px; color:var(--ink); text-decoration:none; border:1px solid var(--rule); border-radius:10px; padding:10px; }
.product:hover { border-color:var(--accent); }
.product img { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; border-radius:6px; }
.product .name { font-size:15px; line-height:1.3; } .product .meta { font-size:14px; color:var(--soft); margin-top:auto; } .product strong { color:var(--ink); }
.gift { display:grid; gap:20px; margin-top:12px; }
.gift label, legend { font-weight:600; font-size:15px; }
.row { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; }
.gift input[type=text], .gift input[type=number], select, textarea { display:block; width:100%; margin-top:6px; padding:10px; font:16px system-ui,sans-serif; color:var(--ink); background:var(--card); border:1px solid var(--rule); border-radius:8px; }
.hint { display:block; font-weight:400; color:var(--soft); }
fieldset { border:0; padding:0; margin:0; } legend { padding:0; margin-bottom:8px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chips label { font-weight:500; cursor:pointer; }
.chips input { position:absolute; opacity:0; }
.chips span { display:block; border:1px solid var(--rule); background:var(--card); border-radius:99px; padding:6px 13px; font-size:14px; }
.chips input:checked + span { background:var(--tint); border-color:var(--accent); color:var(--accent); }
.chips input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
.hp { position:absolute; left:-9999px; }
.wait { text-align:center; padding:48px 0; }
.posts { padding-left:20px; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.card { display:block; color:var(--ink); text-decoration:none; background:var(--card); border:1px solid var(--rule); border-radius:12px; overflow:hidden; }
.card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; } .card strong { display:block; padding:12px; line-height:1.3; }
.post { max-width:680px; } .hero-img { width:100%; border-radius:12px; margin-top:24px; }
.pick { margin:16px auto; max-width:260px; text-align:center; font-size:14px; } .pick img { max-height:240px; width:auto; background:#fff; border-radius:8px; }
.more { text-align:center; font-size:15px; }
footer { margin-top:56px; border-top:1px solid var(--rule); padding:12px 0; font-size:14px; color:var(--soft); }
.gift .btn { justify-self:start; }
