:root{font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;color:#253b43;background:#f6f8f7;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{transition:background .18s,border-color .18s}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #1b9c8c;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.5}button:hover{filter:brightness(.96)}.page-header{height:84px;padding:0 max(32px,calc((100vw - 1360px)/2));background:#fff;border-bottom:1px solid #e5ebe8;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#243e43;font-size:16px;font-weight:700;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#197b70;font-size:38px;font-weight:400;transform:rotate(-30deg)}.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:5px;color:#718582}.course{color:#637873;font-size:12px;letter-spacing:.06em}.course span{padding:0 14px;color:#bdcbc5}main{max-width:1424px;margin:0 auto;padding:32px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.eyebrow{margin:0 0 12px;color:#167e70;font-size:12px;font-weight:700;letter-spacing:.1em}.eyebrow span{margin-left:10px;padding-left:12px;border-left:1px solid #a9c7bd;font-weight:500}h1{margin:0;font-size:clamp(22px,2.2vw,31px);letter-spacing:.025em;line-height:1.5;font-weight:650}.intro{margin:11px 0 0;color:#697d78;font-size:13px;line-height:1.8}.stage{border:1px solid #dce5df;border-radius:5px;padding:8px 11px;color:#718179;font-size:11px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:22px;align-items:stretch}.simulation{min-width:0;border:1px solid #dce4df;border-radius:12px;overflow:hidden;background:#101f2b;box-shadow:0 5px 18px #253b4310}.scene-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 0;gap:12px;position:relative;z-index:2}.scene-title{font-size:12px;color:#cbdce2;white-space:nowrap}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;background:#72cdbd;vertical-align:2px}.view-buttons{display:flex;border:1px solid #334651;border-radius:6px;padding:3px;gap:3px}.view-buttons button{background:transparent;border:0;border-radius:3px;color:#a9bdc8;padding:8px 10px;font-size:11px;min-height:34px}.view-buttons button[aria-pressed=true]{background:#36505d;color:#fff}#scene{height:clamp(360px,34vw,470px);position:relative;overflow:hidden}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.world-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;color:#d8e4e9;font-size:11px;padding:4px 7px;border-radius:4px;background:#101f2bb8;letter-spacing:.05em}.world-label[hidden]{display:none}.observer-label{color:#ffdb8c;border:1px solid #a48a514c}.scene-error{position:absolute;inset:30% 12% auto;background:#213844;color:#fff;padding:24px;line-height:1.8;font-size:14px;z-index:5}.scene-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 22px 19px;font-size:10px;color:#a6bbc7}.scene-footer>:first-child{color:#81d5c7;white-space:nowrap}.rotation-key{display:inline-block;width:18px;height:1px;background:#81d5c7;margin:0 6px 3px 0}.time-controls{background:#fff;padding:22px 26px 14px}.control-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin-bottom:14px}.control-heading output{font-size:14px;font-variant-numeric:tabular-nums;color:#14796a}#time{--progress: 50%;display:block;width:100%;margin:0;height:28px;appearance:none;background:transparent;cursor:pointer}#time::-webkit-slider-runnable-track{height:5px;border-radius:3px;background:linear-gradient(to right,#268e7c var(--progress),#e4ece7 var(--progress))}#time::-moz-range-track{height:5px;border-radius:3px;background:#e4ece7}#time::-moz-range-progress{background:#268e7c;height:5px}#time::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:#208a79;border:3px solid white;border-radius:50%;margin-top:-6.5px;box-shadow:0 0 0 1px #268e7c}#time::-moz-range-thumb{width:13px;height:13px;background:#208a79;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #268e7c}#time:focus-visible{outline:2px solid #208a79;outline-offset:3px;border-radius:5px}.time-ticks{display:flex;justify-content:space-between;font-size:10px;color:#7b8d85;margin:2px 0 19px}.playback-row{display:flex;align-items:center;gap:10px}.primary-button{border:1px solid #167d6c;background:#167d6c;border-radius:6px;color:#fff;min-width:109px;height:42px;font-size:12px;font-weight:600}.primary-button span{margin-right:6px;font-size:11px}.reset-button{border:1px solid #dce5df;background:#fff;color:#60776d;border-radius:6px;min-height:42px;padding:0 12px;font-size:11px}.speed-control{margin-left:auto;display:flex;gap:9px;align-items:center}.speed-control label{font-size:11px;color:#718579}.speed-control select{border:1px solid #dce5df;background:#fff;color:#3d564d;border-radius:6px;padding:0 9px;height:42px;font-size:11px}.speed-note{text-align:right;font-size:10px;color:#718579;margin:10px 0 0}.observation{border:1px solid #e0e7e2;border-radius:12px;padding:26px 23px 22px;background:#fff}.observer-heading{display:flex;align-items:center;gap:12px}.location-dot{width:12px;height:12px;border:3px solid #f4d296;background:#a57533;border-radius:50%;box-shadow:0 0 0 4px #fcf5e9}.observer-heading h2{font-size:14px;font-weight:650;margin:0 0 6px}.observer-heading p{margin:0;color:#7b8c84;font-size:11px;letter-spacing:.04em}.clock-card{margin-top:25px;padding:19px 0 15px;border-top:1px solid #eaf0eb;border-bottom:1px solid #eaf0eb}.small-label{font-size:11px;color:#6f8479}.clock-row{display:flex;gap:15px;align-items:center;margin:6px 0 8px}#clock{font-size:48px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.2}.day-state{font-size:11px;color:#926323;background:#fff3d9;padding:5px 9px;border-radius:4px;white-space:nowrap}.day-state[data-state=night]{color:#54709c;background:#ebf0f8}#phase-title{font-size:12px;color:#5b7468;margin:0;line-height:1.6}.phase-description{font-size:12px;color:#738278;line-height:1.95;min-height:70px;margin:18px 0 12px}.altitude-row{display:flex;justify-content:space-between;font-size:11px;color:#6d8176}.altitude-row output{font-variant-numeric:tabular-nums;font-weight:600;color:#456357}.checkpoints{margin-top:25px}.checkpoints h3{font-size:11px;margin:0 0 12px;font-weight:600}.checkpoint-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkpoint-grid button{display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e9e4;border-radius:6px;padding:12px 10px;background:#fafcfb;color:#627b6d}.checkpoint-grid strong{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.checkpoint-grid span{font-size:10px}.checkpoint-grid [aria-current=true]{background:#edf6f1;border-color:#a3cbbb;color:#176e5c}.discovery{display:flex;align-items:flex-start;gap:9px;margin-top:24px;padding:15px 12px;border-radius:7px;background:#f1f6f3}.discovery-icon{font-size:23px;line-height:1.3;color:#367e65}.discovery p{font-size:11px;line-height:1.9;color:#6e8477;margin:0}.discovery strong{display:block;font-weight:600;color:#3b6652;margin-bottom:5px}.model-note{display:flex;gap:20px;align-items:flex-start;padding:22px 0 20px;border-bottom:1px solid #e1e8e2}.note-label{flex-shrink:0;font-size:11px;color:#6b8073;padding-top:2px}.model-note p{font-size:11px;line-height:1.9;color:#7b8a80;margin:0}.model-note strong{font-weight:600}.page-footer{display:flex;justify-content:space-between;gap:12px;padding-top:18px;font-size:10px;color:#8e9c93;letter-spacing:.03em}@media(min-width:1500px){main{padding-top:40px}}@media(max-width:1050px){main{padding:26px 22px}.workspace{gap:16px;grid-template-columns:minmax(0,1fr) 270px}.observation{padding:22px 18px}.scene-toolbar{padding:16px 16px 0}.scene-title{font-size:10px}.view-buttons button{padding:7px;font-size:10px}.scene-footer{padding-left:16px;padding-right:16px;font-size:9px}.time-controls{padding:20px 18px 14px}.speed-control{gap:5px}.speed-control label,.stage{display:none}}@media(max-width:780px){.page-header{height:70px;padding:0 22px}.workspace{grid-template-columns:minmax(0,1fr)}#scene{height:430px}.observation{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px}.observer-heading{grid-column:1 / -1}.clock-card{margin:0}.phase-description{margin:0;align-self:center}.altitude-row{grid-column:1}.checkpoints{grid-column:2;grid-row:3 / 5;margin:0}.discovery{margin:0}.title-row{margin-bottom:20px}.model-note{gap:14px}.view-buttons button{min-height:38px;font-size:11px}.scene-title{font-size:12px}}@media(max-width:480px){main{padding:23px 14px}.page-header{padding:0 16px}.brand{font-size:13px}.brand-mark{font-size:31px;width:31px}.course{font-size:10px}.course span{padding:0 5px}.brand small{font-size:7px}h1{font-size:22px;max-width:320px}.intro{font-size:12px}.scene-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.view-buttons{align-self:stretch}.view-buttons button{flex:1}#scene{height:370px}.scene-footer{flex-direction:column;align-items:flex-start;gap:8px;font-size:10px}.time-controls{padding:18px 16px 12px}.playback-row{flex-wrap:wrap;gap:8px}.primary-button{min-width:94px}.reset-button{padding:0 9px}.speed-control{margin-left:auto}.speed-control select{max-width:128px;font-size:10px}.observation{display:block;padding:22px}.clock-card{margin-top:18px}.phase-description{margin:16px 0;min-height:0}.checkpoints{margin-top:22px}.discovery{margin-top:20px}.model-note,.page-footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){button{transition:none}}.workspace{grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);align-items:start;gap:18px}.page-header{height:64px}main{padding-top:24px}.title-row{margin-bottom:20px}#scene{height:clamp(360px,31vw,470px)}.scene-toolbar{flex-wrap:wrap}.scene-footer{flex-wrap:wrap;font-size:10px}.directions-toggle{display:inline-flex;align-items:center;gap:4px;color:#cee1e6}.directions-toggle input{accent-color:#268e7c}.ground-panel{min-width:0;background:#fff;border:1px solid #dce4df;border-radius:12px;overflow:hidden;align-self:stretch}.ground-heading{padding:20px 20px 14px}.ground-heading h2{font-size:14px;margin:0 0 7px;display:flex;align-items:center;gap:10px}.ground-heading>span{font-size:11px;color:#6b8073}.sky-chart{display:block;width:100%;height:auto}.sky-fill{fill:#cde4ec}.ground-fill{fill:#dfe8df}.sky-grid{stroke:#7c9fa9;opacity:.55}.sky-scale{fill:#3c5a69}.horizon{stroke:#637f70;stroke-width:2}.sky-cardinals{fill:#304f47}.sky-night-message{fill:#d5e0ef}#ground-view[data-light=night] .sky-fill{fill:#172b40}#ground-view[data-light=night] .ground-fill{fill:#233a3e}#ground-view[data-light=night] .sky-scale,#ground-view[data-light=night] .sky-cardinals{fill:#c8d8e1}#ground-view[data-light=night] .sky-grid{stroke:#7290a8;opacity:.3}.sky-caption{font-size:12px;text-align:center;color:#416357;margin:14px 12px;font-variant-numeric:tabular-nums}.projection-note{font-size:11px;line-height:1.7;color:#748278;margin:5px 20px}.zenith-note{margin:14px 20px 18px;padding-top:12px;border-top:1px solid #e5ece6;color:#5c7468;font-size:12px;line-height:1.85}.workspace>.time-controls{grid-column:1 / -1;border:1px solid #dce4df;border-radius:10px;padding-top:16px}.observation{grid-column:1 / -1;display:grid;grid-template-columns:.8fr 1fr 1fr;gap:10px 28px;padding:18px 24px}.observation .observer-heading,.observation .discovery{display:none}.observation .clock-card{margin:0;border:0;padding:0;grid-row:1 / 3}.observation #clock{font-size:35px}.observation .phase-description{grid-column:2;grid-row:1;margin:0;min-height:0}.observation .altitude-row{grid-column:2;grid-row:2}.observation .checkpoints{grid-column:3;grid-row:1 / 3;margin:0}@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr)}.scene-title{font-size:11px}.scene-toolbar{gap:8px}.ground-heading{padding:18px 14px 12px}}@media(max-width:780px){.workspace{grid-template-columns:minmax(0,1fr)}#scene{height:390px}.ground-panel{width:100%}.sky-chart{max-height:370px}.observation{display:block}.observation .phase-description{margin:14px 0}.observation .checkpoints{margin-top:18px}}@media(max-width:480px){#scene{height:330px}.sky-caption{font-size:11px}.ground-heading h2{font-size:13px}}
