:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1ea;--primary:#4d6b3f;--primary-dark:#39512f;--pale:#e9efe1;--cream:#f4f1e8;--garnet:#8c2f33;--ink:#2b3327;--ink-soft:#5a6452;--line:#d7ddcf;--card:#fff}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Noto Sans JP,sans-serif;line-height:1.6}.app{max-width:980px;margin:0 auto;padding:28px 20px 64px}.app-header h1{color:var(--primary-dark);letter-spacing:.01em;margin:0;font-size:28px;font-weight:700}.app-header .subtitle{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.back-link{color:var(--primary-dark);margin-bottom:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-top:18px;padding:22px 24px;box-shadow:0 1px 2px #39512f0a}.result-card{z-index:5;background:linear-gradient(180deg, #f6f8f2, var(--card));position:sticky;top:12px}.result-title{color:var(--primary-dark);margin:0 0 14px;font-size:14px;font-weight:700}.result-block+.result-block{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px}.result-variant-label{color:var(--ink-soft);margin:0 0 8px;font-size:12px;font-weight:700}.result-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.chip{background:var(--cream);border:1px solid var(--line);text-align:center;border-radius:12px;flex:none;min-width:78px;padding:8px 12px}.chip .chip-k{color:var(--ink-soft);letter-spacing:.06em;font-size:11px;display:block}.chip .chip-v{color:var(--ink);font-size:20px;font-weight:700;line-height:1.2;display:block}.badge{color:#fff;text-align:center;border-radius:12px;flex-direction:column;flex:220px;justify-content:center;align-items:center;padding:8px 16px;display:flex}.badge.tone-primary{background:var(--primary)}.badge.tone-dim{background:#9aa893}.badge.tone-amber{background:#a9791f}.badge.tone-garnet{background:var(--garnet)}.badge .badge-k{letter-spacing:.1em;opacity:.9;font-size:11px}.badge .badge-v{font-size:26px;font-weight:800;line-height:1.15}.pending{background:var(--cream);color:#6b5a32;border:1px solid #e6dcc4;border-radius:12px;margin-top:14px;padding:10px 14px;font-size:13px}.pending strong{color:#8a6d28}.pending ul{margin:6px 0 0;padding-left:18px}.pending li{margin:2px 0}.summary-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.summary-head .result-title{margin:0}.summary-box{background:var(--pale);border:1px solid var(--line);color:var(--ink);white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:12px 14px;font-size:13.5px}.summary-box.empty{color:var(--ink-soft)}.copy-btn{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:10px;flex:none;padding:7px 16px;font-size:13px;font-weight:600;transition:background .15s}.copy-btn:hover{background:var(--primary-dark)}.copy-btn:disabled{opacity:.5;cursor:not-allowed}.copy-btn.copied{background:var(--primary-dark)}.step-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.step-num{background:var(--pale);width:26px;height:26px;color:var(--primary-dark);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:13px;font-weight:700;display:flex}.step-title{color:var(--ink);margin:0;font-size:18px;font-weight:700}.step-desc{color:var(--ink-soft);margin:2px 0 0;font-size:12.5px}.q{margin-top:18px}.q:first-of-type{margin-top:0}.q-label{color:var(--ink);font-size:14px;font-weight:700}.q-hint{color:var(--ink-soft);margin:2px 0 0;font-size:12px}.options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px;display:grid}.options.cols-2{grid-template-columns:repeat(2,1fr)}.options.cols-3{grid-template-columns:repeat(3,1fr)}.options.cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=560px){.options,.options.cols-2,.options.cols-3,.options.cols-4{grid-template-columns:1fr}}.opt{text-align:left;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink);border-radius:12px;padding:12px 14px;font-family:inherit;transition:border-color .12s,background .12s}.opt:hover{border-color:var(--primary)}.opt[aria-pressed=true]{background:var(--pale);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.opt .opt-label{font-size:15px;font-weight:600;display:block}.opt .opt-sub{color:var(--ink-soft);margin-top:3px;font-size:11.5px;line-height:1.45;display:block}.notes-title{color:var(--ink);margin:0 0 14px;font-size:18px;font-weight:700}.note{border-radius:12px;margin-top:10px;padding:12px 16px;font-size:13px;line-height:1.65}.note.info{background:var(--cream);color:#5f5026;border:1px solid #e6dcc4}.note.warn{color:var(--garnet);background:#f6e6e6;border:1px solid #e2bcbe}.note.good{background:var(--pale);border:1px solid var(--line);color:var(--primary-dark)}.note.alert{background:var(--garnet);border:1px solid var(--garnet);color:#fff;font-weight:600}.ref-title{color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:700}.ref-block{margin-top:14px}.ref-block:first-of-type{margin-top:0}.ref-h{color:var(--primary-dark);margin:0 0 2px;font-size:13px;font-weight:700}.ref-p{color:var(--ink-soft);margin:0;font-size:12.5px}.foot{color:var(--ink-soft);margin-top:18px;font-size:12px;line-height:1.7}.reset-btn{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;border-radius:10px;margin-top:14px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600}.reset-btn:hover{border-color:var(--primary);color:var(--primary-dark)}.region-card+.region-card{margin-top:14px}.region-title{letter-spacing:.04em;color:var(--ink-soft);margin:0 0 12px;font-size:13px;font-weight:700}.site-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.site-card{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.site-card:hover{border-color:var(--primary);background:var(--pale);box-shadow:inset 0 0 0 1px var(--primary)}.site-card-label{color:var(--primary-dark);font-size:18px;font-weight:700}.site-card-meta{color:var(--ink-soft);font-size:12px}.home-foot{margin-top:22px}
