:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Noto Sans JP",sans-serif;color:#222;background:#f5f6f8}
*{box-sizing:border-box}body{margin:0}.app{max-width:920px;margin:auto;padding:22px 16px 50px}.hero{padding:14px 4px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;margin:0 0 6px}h1{font-size:clamp(34px,8vw,50px);margin:0}.sub{color:#555;line-height:1.7}.card{background:#fff;border:1px solid #e4e7eb;border-radius:20px;padding:20px;margin-top:16px;box-shadow:0 8px 20px rgba(0,0,0,.04)}.message{text-align:center;padding:22px 0}.message strong{display:block;font-size:24px}.message span{display:block;margin-top:8px;color:#666;font-size:14px}.controls{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px}button{font:inherit;border:1px solid #d1d5db;background:#fff;border-radius:14px;padding:13px;font-weight:700}.primary{background:#111827;color:#fff;border-color:#111827}button:disabled{opacity:.4}.status{font-size:14px;color:#555;margin:14px 0 0}.chartHead{display:flex;justify-content:space-between;gap:12px;align-items:start}h2{font-size:20px;margin:0 0 6px}.hint{font-size:14px;color:#666;line-height:1.7;margin:0}.rangeInfo{font-size:13px;color:#555;background:#f8fafc;padding:6px 9px;border-radius:999px}.chartWrap{margin-top:16px;border:1px solid #edf0f3;border-radius:16px;overflow:hidden;background:white}canvas{display:block;width:100%;aspect-ratio:900/420}.feedback{background:#f8fafc;border-radius:14px;padding:14px;display:grid;gap:4px;margin-top:14px}.feedback span{font-size:14px;color:#555}.compact{padding-bottom:16px}@media(max-width:640px){.controls{grid-template-columns:1fr 1fr}.controls .primary{grid-column:1/-1}.message strong{font-size:21px}.chartHead{display:block}.rangeInfo{display:inline-block;margin-top:8px}}

.chartScroller{
  margin-top:16px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border:1px solid #edf0f3;
  border-radius:16px;
  background:#fff;
}
.chartWrap{
  min-width:900px;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  margin-top:0 !important;
}
.chartWrap canvas{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto !important;
}
