.origin-tour .fr-panel { --fr-sage:#b4cfae; --fr-blush:#d6b3bd; --fr-ink:#eee4dd; --fr-muted:#c7bdc4; padding:28px; border:1px solid #a28b9959; border-radius:7px; background:#18171bc9; }
.origin-tour .fr-intro { max-width:780px; color:#d2c8ce; font-size:1.06rem; line-height:1.75; }
.origin-tour .fr-intro strong { color:#eee4dd; }
.origin-tour .fr-event-records { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin:25px 0 30px; }
.origin-tour .fr-event-record { display:flex; align-items:center; gap:15px; border-block:1px solid #b69fa944; padding:19px 0; }
.origin-tour .fr-event-letter { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border:1px solid #b8c9af; border-radius:50%; color:#dfebd9; font:1.2rem/1 Georgia,serif; }
.origin-tour .fr-event-record:nth-child(2) .fr-event-letter { border-color:#caa2b0; color:#ecd3dd; }
.origin-tour .fr-event-record h3 { margin:0 0 5px; font:1.15rem/1.4 Georgia,serif; color:#eee4dd; }
.origin-tour .fr-event-record p { margin:0; color:#c5b9c2; font-size:.93rem; line-height:1.5; }
.origin-tour .fr-controls { display:none; }
.frame-lab-ready .origin-tour .fr-controls { display:block; }
.frame-lab-ready .origin-tour .fr-static-only { display:none; }
.origin-tour .fr-panel [hidden] { display:none !important; }
.origin-tour .fr-control-label { color:#dbd0d7; margin:0 0 15px; font-size:1rem; }
.origin-tour .fr-presets { display:flex; gap:10px; flex-wrap:wrap; }
.origin-tour .fr-presets button { flex:1 1 150px; min-height:46px; padding:11px 17px; background:#28252b; border:1px solid #8e7b8a; border-radius:5px; color:#e0d7dc; font:500 .95rem/1.4 system-ui,sans-serif; cursor:pointer; }
.origin-tour .fr-presets button:hover { background:#363039; border-color:#b397aa; }
.origin-tour .fr-presets button[aria-pressed="true"] { background:#303a32; border-color:#9cad92; color:#e0e8da; }
.origin-tour .fr-presets button:focus-visible, .origin-tour .fr-slider:focus-visible { outline:3px solid #d6b3bd; outline-offset:4px; }
.origin-tour .fr-speed { margin:23px 0 0; }
.origin-tour .fr-speed-label { display:flex; justify-content:space-between; gap:12px; color:#d6c9d2; font-size:.95rem; line-height:1.5; }
.origin-tour .fr-speed-label output { color:#d4dfcb; text-align:right; font-variant-numeric:tabular-nums; }
.origin-tour .fr-slider { display:block; width:100%; margin:5px 0 0; height:44px; accent-color:#a8bea0; cursor:pointer; }
.origin-tour .fr-speed-scale { display:flex; justify-content:space-between; color:#bcaab9; font-size:.83rem; gap:8px; }
.origin-tour .fr-feedback { margin:24px 0 22px; padding:20px 0; border-block:1px solid #b39fac49; }
.origin-tour .fr-feedback h3 { font:1.32rem/1.45 Georgia,serif; color:#e6dcd8; margin:0 0 8px; }
.origin-tour .fr-feedback p { margin:0; max-width:810px; color:#ccc1ca; font-size:1rem; line-height:1.7; }
.origin-tour .fr-readouts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 26px; }
.origin-tour .fr-readout { min-width:0; border:1px solid #a48b9b59; border-radius:5px; background:#252128; padding:16px; }
.origin-tour .fr-readout dt { font-size:.85rem; line-height:1.5; color:#cbbcc8; }
.origin-tour .fr-readout dd { margin:8px 0 3px; color:#ecdee9; font:1.85rem/1.1 Georgia,serif; font-variant-numeric:tabular-nums; }
.origin-tour .fr-readout small { display:block; color:#bcb0b9; font-size:.8rem; line-height:1.5; margin-top:7px; }
.origin-tour .fr-readout.fr-invariant { background:#272f29; border-color:#a8b29c69; }
.origin-tour .fr-invariant dt { color:#c8d2c0; }
.origin-tour .fr-invariant dd { color:#deead5; }
.origin-tour .fr-invariant small { color:#b6c1ae; }
.origin-tour .fr-visual { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.8fr); align-items:center; gap:30px; }
.origin-tour .fr-chart-wrap { min-width:0; }
.origin-tour .fr-chart { display:block; width:100%; height:auto; aspect-ratio:640/460; border:1px solid #ac99a535; border-radius:5px; background:#1d1c20; }
.origin-tour .fr-base-grid { fill:none; stroke:#8f819333; stroke-width:1; }
.origin-tour .fr-base-axis { fill:none; stroke:#a69aa963; stroke-width:1.4; stroke-dasharray:4 7; }
.origin-tour .fr-space-grid { stroke:#b4cfae3b; stroke-width:1; fill:none; }
.origin-tour .fr-time-grid { stroke:#d6b3bd38; stroke-width:1; fill:none; }
.origin-tour .fr-time-axis { stroke:#bad1b3; stroke-width:2.5; fill:none; }
.origin-tour .fr-space-axis { stroke:#d6b3bd; stroke-width:2.5; fill:none; }
.origin-tour .fr-watch-path { stroke:#e5d9d0; stroke-width:3; stroke-dasharray:5 7; fill:none; }
.origin-tour .fr-event-dot-a { fill:#bfd4b7; stroke:#1c1b1e; stroke-width:5; }
.origin-tour .fr-event-dot-b { fill:#dfbbc7; stroke:#1c1b1e; stroke-width:5; }
.origin-tour .fr-chart text { font-family:system-ui,sans-serif; paint-order:stroke; stroke:#1d1c20; stroke-width:7px; stroke-linejoin:round; }
.origin-tour .fr-event-label { fill:#efe4dc; font-size:30px; font-weight:600; }
.origin-tour .fr-axis-label-time { fill:#c8dcc0; font-size:28px; }
.origin-tour .fr-axis-label-space { fill:#e1bfce; font-size:28px; }
.origin-tour .fr-chart-guide h3 { font:1.4rem/1.4 Georgia,serif; color:#e8dbd5; margin:0 0 14px; }
.origin-tour .fr-chart-guide p { font-size:.98rem; line-height:1.7; color:#c8bcc5; margin:0 0 18px; }
.origin-tour .fr-key { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.origin-tour .fr-key li { display:flex; align-items:center; gap:12px; font-size:.9rem; line-height:1.5; color:#c8bec5; }
.origin-tour .fr-key-mark { width:24px; flex:0 0 24px; border-top:2px solid #bad1b3; }
.origin-tour .fr-key-mark.fr-space-key { border-color:#d6b3bd; }
.origin-tour .fr-key-mark.fr-watch-key { border-color:#e5d9d0; border-top-style:dashed; }
.origin-tour .fr-footnote { color:#b9aeb7; font-size:.86rem; line-height:1.65; margin:22px 0 0; }
.origin-tour .fr-question { border-left:2px solid #c6a4b4; padding-left:24px; margin-top:34px; max-width:870px; }
.origin-tour .fr-question p { font-size:1rem; line-height:1.7; color:#c9bcc6; margin:0 0 10px; }
.origin-tour .fr-question h3 { font:1.65rem/1.45 Georgia,serif; color:#e8dcd8; margin:0; }
.origin-tour .fr-equation { font-family:Georgia,serif; font-size:1.1rem; color:#dfd3de; overflow-wrap:anywhere; }
.origin-tour .fr-source { display:inline-block; margin-top:10px; color:#c4d8bd; text-underline-offset:4px; }
.origin-tour .fr-static-only { border-top:1px solid #bca3b044; margin-top:22px; padding-top:17px; color:#d0c4cd; line-height:1.7; }
@media (max-width:1000px) { .origin-tour .fr-visual { grid-template-columns:minmax(0,1fr); gap:24px; } .origin-tour .fr-chart-wrap { max-width:680px; width:100%; margin-inline:auto; } .origin-tour .fr-chart-guide { max-width:680px; } }
@media (max-width:650px) {
  .origin-tour .fr-panel { padding:19px; }
  .origin-tour .fr-event-records { grid-template-columns:minmax(0,1fr); gap:0; }
  .origin-tour .fr-event-record + .fr-event-record { border-top:0; }
  .origin-tour .fr-readouts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .origin-tour .fr-readout { padding:13px; }
  .origin-tour .fr-readout dd { font-size:1.65rem; }
  .origin-tour .fr-presets button { flex:1 1 100%; }
  .origin-tour .fr-speed-label { flex-wrap:wrap; }
  .origin-tour .fr-speed-label output { text-align:left; }
  .origin-tour .fr-question { padding-left:18px; }
  .origin-tour .fr-question h3 { font-size:1.4rem; }
  .origin-tour .fr-event-label { font-size:36px; }
  .origin-tour .fr-axis-label-time, .origin-tour .fr-axis-label-space { font-size:33px; }
}
@media (prefers-reduced-motion:reduce) { .origin-tour .fr-panel *, .origin-tour .fr-panel *::before, .origin-tour .fr-panel *::after { animation:none !important; transition:none !important; } }
