
:root{--ink:#232038;--sub:#5a5670;--acc:#5b4bc4;--bg:#f6f5fb;--card:#fff;--line:#e3e0f0}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;color:var(--ink);background:var(--bg);line-height:1.8}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#2c2750;color:#fff;flex-wrap:wrap}
.logo{color:#fff;font-weight:700;font-size:20px}.logo span{display:block;font-size:11px;font-weight:400;opacity:.85}
.site-header nav a{color:#fff;margin-left:14px;font-size:14px}
.wrap{max-width:860px;margin:0 auto;padding:20px 16px 48px}
.hero{background:linear-gradient(135deg,#3a3470,#5b4bc4);color:#fff;border-radius:16px;padding:28px 20px;text-align:center}
.hero h1{margin:4px 0 8px;font-size:30px}
.search{display:flex;gap:8px;max-width:560px;margin:16px auto 4px}
.search input{flex:1;padding:12px;border:none;border-radius:10px;font-size:16px}
.search button,.big-btn{background:#ffb93e;color:#3a2c00;border:none;padding:12px 18px;border-radius:10px;font-weight:700;cursor:pointer;font-size:15px}
.block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:18px 0}
.block h2{margin-top:0;font-size:20px;border-left:5px solid var(--acc);padding-left:10px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:12px}
.dream-card,.cat-card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--ink)}
.dream-card:hover,.cat-card:hover{border-color:var(--acc);text-decoration:none}
.dc-name{display:block;font-weight:700;font-size:17px}
.dc-verdict{display:block;color:var(--sub);font-size:13px;margin:4px 0}
.dc-luck{color:#e8a100;font-size:13px}
.cat-card span{display:block;color:var(--sub);font-size:13px}
.verdict-box{background:#fff7e0;border:1px solid #f0d48a;border-radius:14px;padding:16px;margin:14px 0}
.verdict-main{font-size:19px;font-weight:700;margin:0 0 8px}
.luck-grid{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:14px}.luck-grid b{color:#e8a100}
.crumbs{font-size:13px;color:var(--sub);margin-bottom:8px}
.toc{font-size:14px}
.variation{border-top:1px dashed var(--line);padding:10px 0}
.variation h3{font-size:17px;margin:6px 0}
.v-verdict{display:inline-block;background:#efeafe;color:var(--acc);border-radius:20px;font-size:12px;padding:2px 10px;margin-left:8px;vertical-align:middle}
.faq{border-top:1px dashed var(--line);padding:8px 0}.faq summary{font-weight:700;cursor:pointer}
.axis{margin:10px 0}.axis-name{font-weight:700;margin:0 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--acc);background:#fff;color:var(--acc);border-radius:20px;padding:6px 14px;cursor:pointer}
.chip.on{background:var(--acc);color:#fff}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:12px 0}
.pick{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;cursor:pointer}
.nikki-form{display:grid;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.nikki-form textarea,.nikki-form input,.nikki-form select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:15px}
.site-footer{background:#2c2750;color:#cfcbe8;padding:24px 16px;font-size:13px}
.site-footer a{color:#fff}.small{font-size:12px;color:var(--sub)}
.site-footer .small{color:#9d97c4}
@media(max-width:560px){.hero h1{font-size:24px}.search{flex-direction:column}}
