:root{--bg: #fff7fb;--card: #ffffff;--text: #2e1f2b;--sub: #6c5a67;--brand: #ff5fa2;--brand-soft: #ffd3e6;--ok: #2d8f6f;--warn: #b06d00;--danger: #a6425d}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans JP,system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,#fff7fb,#fff);color:var(--text)}.container{max-width:900px;margin:0 auto;padding:16px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;align-items:center}.hero img{width:100%;border-radius:12px;border:1px solid #f3bfd9;background:#fff}.card{background:var(--card);border:1px solid #f4d6e5;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 8px 24px #ff5fa20f}h1,h2,h3{margin:0 0 8px}.muted{color:var(--sub);font-size:.92rem}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}label{font-weight:600;display:block;margin-bottom:6px}input,select{width:100%;border:1px solid #e3c6d6;border-radius:10px;padding:10px 12px;font-size:16px}button{border:0;border-radius:12px;padding:10px 14px;font-size:15px;cursor:pointer;min-height:44px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffa7ca;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand);color:#fff}button.secondary{background:#f7e7ef;color:#63374f}button.ghost{background:transparent;border:1px solid #ecc7d8;color:#7a4f65}.progress{height:8px;background:#f6e4ed;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--brand)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:720px){.grid2,.hero{grid-template-columns:1fr}}.error{color:var(--danger);font-size:.9rem;margin-top:4px}.badge{background:var(--brand-soft);color:#8a2654;border-radius:999px;padding:4px 10px;font-size:.8rem}.rank-good{color:var(--ok)}.rank-mid{color:var(--warn)}.rank-bad{color:var(--danger)}.small{font-size:12px;color:var(--sub)}.share-capture{background:linear-gradient(180deg,#fff,#fff6fa)}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0 12px}.kpi-card{border:1px solid #f0d3e2;border-radius:12px;background:#fff;padding:10px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.scenario-card{border:1px solid #f0d3e2;border-radius:12px;padding:10px;background:#fffafc}@media (max-width:720px){.scenario-grid,.kpi-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
