:root[data-theme="light"] {
  color-scheme:light;
  --background:#fefdfa;--foreground:#294165;--card:#f3f4f0;--card-foreground:#294165;
  --primary:#294165;--primary-foreground:#fff;--secondary:#fff;--secondary-foreground:#294165;
  --muted:#f0f2ef;--muted-foreground:#626f79;--accent:#f1efe6;--accent-foreground:#294165;
  --border:#d9dedf;--input:#bdc6cc;--ring:#294165;--popover:#fff;--popover-foreground:#294165;
  --font-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  --font-size-base:15px;--font-weight-normal:400;--radius:8px;
}
html > body {max-width:none;padding:0!important;letter-spacing:.035em;line-height:1.85;}
.share-header {padding:12px 0 40px;gap:36px;align-items:flex-start;}
.share-header .eyebrow {font-size:12px;letter-spacing:.13em;color:#626f79;margin-bottom:15px;}
.share-header .intro-title {font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.6;letter-spacing:.045em;margin:0;}
.intro-title span {background:linear-gradient(transparent 79%,#f6dc83 79%,#f6dc83 94%,transparent 94%);}
.creator-credit {margin-top:20px;font-size:13px;letter-spacing:.08em;}
.share-actions {min-width:155px;gap:14px;}
a {color:#294165;text-underline-offset:5px;}
.video-jump {font-size:13px;}
.speed-guidance {padding:28px 32px;margin:0 0 48px;background:#f4f0e5;border-left:4px solid #c4a451;}
.speed-guidance h2 {font-size:16px;letter-spacing:.08em;margin-bottom:14px;}
.speed-guidance .speed-range {font-size:clamp(24px,3vw,34px);font-weight:600;color:#294165;}
.speed-guidance p {font-size:14px;line-height:1.9;}
.speed-guidance .speed-consequence {margin-top:16px;}
.section-title,.video-section h2,.process-section h2,.reference-section h2 {font-size:clamp(23px,2.4vw,30px);font-weight:500;line-height:1.65;letter-spacing:.07em;margin-bottom:24px;}
#mth-crushing-3d .viz-controls {gap:10px;}
.btn,.form-select {background-color:#fff;border:1px solid #bdc6cc;color:#294165;box-shadow:none;}
#mth-crushing-3d .btn,#mth-crushing-3d .form-select,.share-actions select {min-height:44px;border-radius:6px;}
#mth-crushing-3d .btn-primary {background:#294165;border-color:#294165;color:#fff;padding-left:22px;padding-right:22px;}
.btn:hover {background:#eef1ef;}
#mth-crushing-3d .btn-primary:hover {background:#3b5272;}
button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible {outline:2px solid #294165;outline-offset:3px;}
.form-label {font-size:13px;letter-spacing:.03em;}
.form-range::-webkit-slider-runnable-track {background:#d4dce0;height:4px;}
.form-range::-webkit-slider-thumb {margin-top:-8px;background:#294165;border:2px solid #fefdfa;box-shadow:0 0 0 1px #294165;}
.form-range::-moz-range-track {background:#d4dce0;height:4px;}
.form-range::-moz-range-thumb {background:#294165;border:2px solid #fefdfa;box-shadow:0 0 0 1px #294165;}
body #mth-crushing-3d .mth-stage {height:clamp(400px,48vw,590px);background:#f4f5f1;border:1px solid #dfe3df;border-radius:14px;overflow:hidden;margin-top:22px;}
#mth-crushing-3d .mth-hint {left:14px;right:14px;top:12px;font-size:11px;}
#mth-crushing-3d .mth-caption {left:14px;right:14px;bottom:10px;font-size:11px;}
#mth-crushing-3d .mth-labels text {stroke:#f4f5f1;}
.soil-view-note {background:#f0f2ed;border-left:3px solid #bbaa7e;padding:13px 16px;}
#mth-status {line-height:1.8;}
.video-section,.process-section,.reference-section {margin-top:56px;padding-top:36px;border-top:1px solid #d9dedf;}
.video-section video {border-radius:12px;}
.process-section li {padding-left:8px;line-height:2;}
.process-section li::marker {color:#9c7a2c;font-weight:600;}
.share-footer {padding-top:26px;margin-top:48px;font-size:12px;line-height:1.9;}
@media(max-width:700px){
  html > body {padding:0!important;}
  .share-header {padding:4px 0 28px;gap:24px;}
  .share-header .intro-title {font-size:29px;line-height:1.7;letter-spacing:.015em;}
  .share-header .eyebrow {font-size:11px;letter-spacing:.04em;}
  .creator-credit {font-size:12px;}
  .share-actions {gap:18px;}
  .speed-guidance {padding:20px 18px;margin-bottom:36px;}
  .speed-guidance .speed-range {font-size:24px;}
  .speed-guidance h2 {font-size:14px;}
  .speed-guidance p {font-size:13px;}
  body #mth-crushing-3d .mth-stage {height:420px;border-radius:10px;}
  #mth-crushing-3d .btn {font-size:13px;padding:8px 10px;}
  #mth-crushing-3d .mth-caption {font-size:9px;}
  #mth-crushing-3d .mth-hint {font-size:10px;}
  .video-section,.process-section,.reference-section {margin-top:40px;padding-top:28px;}
}
