:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;color:#183441;background:#f6f5f0;font-synthesis:none;--teal:#176b69;--muted:#62767e}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #d99b37;outline-offset:3px}header{max-width:1400px;padding:22px 40px;margin:auto;display:flex;align-items:center;gap:24px;border-bottom:1px solid #dce3df}.brand{color:inherit;text-decoration:none;font-size:19px;font-weight:700;display:flex;align-items:center;gap:10px}.mark{font-size:32px;color:var(--teal)}.course{font-size:10px;letter-spacing:2px;color:var(--muted);margin-left:auto}header button{border:1px solid #cbd5cf;border-radius:7px;background:transparent;padding:8px 12px;font-size:12px}main{max-width:1320px;margin:auto;padding:40px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--teal);font-weight:700}.intro h1{font-size:clamp(28px,3vw,42px);margin:12px 0 14px;letter-spacing:.02em;font-weight:650}.intro p{color:var(--muted);font-size:14px;margin:0 0 28px}.mobile{display:none}.tabs{display:flex;gap:10px;margin-bottom:18px}.tabs button{flex:1;display:flex;gap:16px;align-items:center;border:1px solid #ccd8d0;background:#fdfdfa;border-radius:9px;padding:15px 22px;text-align:left;color:var(--muted)}.tabs b{font-size:27px;font-weight:600;color:#223b45}.tabs span{font-size:13px}.tabs small{margin-left:auto;font-size:12px}.tabs button[aria-selected=true]{background:#e2efea;border-color:#287c70;color:#135951}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.viewer{background:#102a35;border-radius:12px;position:relative;min-height:570px;color:#e8f2f0;overflow:hidden;display:flex;flex-direction:column}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:22px 22px 0;gap:12px;z-index:1}.viewer-top strong{font-weight:500;font-size:15px}#formula{font-size:13px;margin-left:12px;color:#b1c8cd}.live-dot{display:inline-block;border-radius:50%;background:#8ce3b9;width:6px;height:6px;margin-right:10px}.view-switch{display:flex;gap:3px;border:1px solid #3b515d;padding:3px;border-radius:6px}.view-switch button{border:0;border-radius:3px;color:#c7d8dd;background:transparent;font-size:11px;padding:7px 9px}.view-switch button[aria-pressed=true]{background:#36545d;color:white}canvas{display:block;width:100%;height:430px;flex:1;min-height:350px;touch-action:none;cursor:grab}.viewer-bottom{padding:0 22px 12px;display:flex;justify-content:space-between;align-items:center;color:#a9c0c8;font-size:10px}.viewer-bottom button{border:0;background:transparent;color:#d3e6e6;font-size:11px}.legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;border-top:1px solid #2a4650;padding:14px 8px;color:#c7d8dd;font-size:10px}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.hybrid{background:#64cec0}.p-orbital{background:#b2a2ff}.sigma{background:#e9bc6a}aside{padding:14px 0}aside h2{font-size:22px;line-height:1.5;font-weight:600;margin:10px 0}#summary{font-size:13px;line-height:1.9;color:var(--muted);min-height:74px}.stats{display:flex;border-top:1px solid #d6dfd8;border-bottom:1px solid #d6dfd8;padding:14px 0;margin:16px 0}.stats>div{width:50%}.stats small{display:block;color:var(--muted);font-size:11px}.stats strong{font-size:22px;font-weight:500;display:block;margin-top:5px}.bond-card{border-left:3px solid #c99d52;padding:0 0 0 13px;margin:20px 0}.bond-card small,.bond-card span{font-size:11px;color:var(--muted)}.bond-card p{font-size:21px;margin:7px 0}.control-title{font-size:11px;font-weight:700;margin:18px 0 10px}aside>label{display:flex;align-items:center;gap:8px;font-size:12px;margin:9px 0}input[type=checkbox]{accent-color:var(--teal);width:15px;height:15px}input:disabled{opacity:.4}.camera{display:flex;gap:6px;margin:17px 0}.camera button{flex:1;background:transparent;border:1px solid #cbd6d0;border-radius:5px;padding:7px 0;font-size:11px;color:#385661}#methaneChoice>label{font-size:11px;color:var(--muted)}select{display:block;width:100%;padding:9px;border:1px solid #ccd8d0;background:#fdfdfa;border-radius:5px;margin-top:7px;font-size:11px;color:inherit}.twist-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-bottom:1px solid #d3ddd5;padding:32px 0}.twist-section h2{font-size:21px;margin:10px 0}.twist-section p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.twist-control>div:first-child{display:flex;justify-content:space-between;font-size:12px;align-items:center}.twist-control output{font-size:23px;color:var(--teal)}input[type=range]{width:100%;accent-color:var(--teal);margin:20px 0 5px}.range-ticks{display:flex;justify-content:space-between;color:#82918f;font-size:10px}.twist-control p{margin-top:12px;font-size:12px;min-height:42px}.learning{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;padding:33px 0}.step{font-size:10px;letter-spacing:1px;color:var(--teal)}.learning h3{font-size:16px;font-weight:600;margin:12px 0}.learning p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}footer{border-top:1px solid #d3ddd5;padding:20px 0}footer p{font-size:10px;color:#75867e;line-height:1.8;margin:4px 0}[hidden]{display:none!important}@media(min-width:1500px){canvas{height:510px}}@media(max-width:900px){main{padding:28px 20px}header{padding:16px 20px}.course{display:none}header button{margin-left:auto}.workspace{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}aside>.eyebrow,aside>h2,aside>#summary{grid-column:1/-1}#summary{min-height:0}.stats{margin:10px 0}.control-title{grid-column:1/-1}.camera{grid-column:1/-1}.viewer{min-height:500px}canvas{height:400px}.learning{gap:22px}.twist-section{gap:25px}.tabs button{padding:12px;gap:10px}.tabs small{display:none}}@media(max-width:550px){.mobile{display:block}.intro h1{line-height:1.45}.tabs span{font-size:10px}.tabs b{font-size:23px}.tabs button{gap:7px;padding:10px}.viewer-top{padding:15px 12px 0;align-items:flex-start;flex-direction:column}.viewer{min-height:470px}canvas{min-height:300px;height:330px}.viewer-bottom{padding:0 12px 12px}.viewer-bottom span{font-size:9px}.legend{gap:10px;font-size:9px}.twist-section,.learning{grid-template-columns:1fr;gap:23px}.brand{font-size:16px}header button{font-size:10px}.intro p{line-height:1.8}}

.pi-region{background:#69d9ff}.pi-hint{font-size:11px;line-height:1.8;color:#176b69;background:#e6f0ec;border-left:2px solid #4099b0;padding:9px 10px;margin:8px 0 12px}aside>.pi-hint{grid-column:1/-1}
header button{margin-left:auto}.intro h1{font-size:30px;margin:0 0 25px}main{padding-top:30px}.molecules{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.molecules button{background:#fdfdfa;border:1px solid #ccd8d0;border-radius:6px;padding:11px 15px;color:#52666c;font-size:13px}.molecules button[aria-pressed=true]{background:#dfede7;border-color:#287c70;color:#125e53;}.molecules small{font-size:11px;margin-left:8px;color:inherit}aside h2{font-size:23px;margin-top:0}.atom-hybrid{font-size:15px;color:#176b69;line-height:1.8;margin:0 0 15px}.facts{margin:0 0 18px;padding:0;border-top:1px solid #d6dfd8}.facts>div{padding:12px 0;border-bottom:1px solid #d6dfd8;display:flex;align-items:baseline;justify-content:space-between;gap:15px}.facts dt{font-size:12px;color:#62767e}.facts dd{font-size:17px;margin:0;text-align:right}.electron-pair{color:#fff;letter-spacing:2px;margin-right:5px;font-size:13px;font-weight:700}.pi-hint{margin:0 0 17px}.viewer{min-height:620px}canvas{min-height:460px}.twist-section>h2{font-size:18px}.twist-section{padding:24px 0}.control-title{margin-top:0}footer{display:flex;justify-content:space-between;gap:25px;color:#75867e;font-size:10px}footer>span{line-height:1.8}footer details{max-width:550px}footer summary{cursor:pointer}footer a{color:#176b69}aside>label{font-size:13px}.legend{font-size:11px}@media(max-width:900px){aside{display:block}.viewer{min-height:530px}canvas{height:440px;min-height:360px}.molecules button{flex:1 0 21%;font-size:12px;padding:10px 8px}.molecules small{display:block;margin:5px 0 0}.workspace{gap:22px}aside>label{display:inline-flex;width:48%;margin:9px 0}.facts{max-width:none}.facts>div{justify-content:flex-start}.facts dt{min-width:105px}.facts dd{text-align:left}footer{display:block}footer details{margin-top:12px}}@media(max-width:550px){.intro h1{font-size:24px}.molecules{gap:6px}.molecules button{font-size:11px}.viewer{min-height:440px}canvas{height:330px;min-height:300px}.viewer-top{flex-direction:row;align-items:center}.view-switch button{font-size:10px;padding:5px}.viewer-top strong{font-size:13px}#formula{margin-left:6px}.legend{font-size:9px;gap:8px}.facts dd{font-size:16px}.twist-section{gap:15px}.viewer-bottom span{font-size:9px}}

header{border-bottom:0;padding-top:14px;padding-bottom:0}.intro h1{margin-bottom:8px}.intro .schematic-note{font-size:12px;color:#75867e;margin:0 0 24px}

.rotation-panel{margin:18px 0 12px;padding:17px 0 8px;border-top:1px solid #cbd8d0}.rotation-panel h3{font-size:14px;font-weight:600;margin:0 0 15px}.rotation-panel .twist-control label{font-size:11px}.rotation-panel input[type=range]{height:22px;margin-top:13px;cursor:ew-resize}.rotation-panel .twist-control output{font-size:21px}.rotation-feedback{margin-top:17px}.meter-label{display:flex;justify-content:space-between;gap:10px;color:#567279;font-size:10px;margin:10px 0 6px}.meter-track{height:7px;border-radius:4px;overflow:hidden;background:#dce5df}.overlap-fill{height:100%;background:#43a7b5}.energy-fill{height:100%;background:#dc8155;width:0}.rotation-panel .twist-control>p{font-size:10px;line-height:1.7;min-height:0;margin:12px 0 0;color:#62767e}.viewer{align-self:start;height:650px;min-height:0}canvas{height:auto;min-height:300px}.rotation-panel .twist-control>div:first-child{gap:8px}@media(max-width:900px){.viewer{height:540px}.rotation-panel{max-width:100%;padding-top:20px}.rotation-panel input[type=range]{height:26px}.rotation-panel .twist-control>p{font-size:11px}.rotation-panel .twist-control label{font-size:12px}}@media(max-width:550px){.viewer{height:455px}canvas{min-height:260px}}

.rotation-constraint{font-size:12px;line-height:1.6;color:#9b4b2f;border-left:3px solid #d18259;padding:7px 10px;margin:0 0 15px;background:#f1e6da;font-weight:600}

/* Plain presentation controls. */
:root{color:#273238;background:#fafafa;--teal:#405c66;--muted:#677278}
header{padding-top:12px}button,select,input{box-shadow:none!important;text-shadow:none!important}
.molecules{gap:6px}.molecules button{background:#fff;border:1px solid #c7cdcf;border-radius:2px;color:#424c50;padding:10px 14px}
.molecules button[aria-pressed=true]{background:#e6eaec;border-color:#46575f;color:#172c35;box-shadow:none}
.molecules button:hover{background:#f0f2f3}.molecules button[aria-pressed=true]:hover{background:#e6eaec}
header button,.camera button{border-radius:2px;background:#fff;color:#424c50;border-color:#c7cdcf}
.viewer{border-radius:3px}.view-switch{border-radius:2px;padding:2px}.view-switch button{border-radius:0}.view-switch button[aria-pressed=true]{background:#36505a}
.atom-hybrid{color:#405c66}.facts>div{border-color:#d8dddf}.facts dt{color:#677278}.control-title{font-weight:500}
.pi-hint{background:transparent;border-left:2px solid #a7b5bc;color:#52646d;padding:3px 10px;font-size:11px}
.rotation-constraint{background:transparent;border-left:2px solid #b79073;color:#775039;font-weight:500;padding:3px 10px}
.rotation-panel{border-color:#d8dddf}.rotation-panel h3{font-weight:500}.meter-track{border-radius:0;background:#e0e5e7}.meter-label{color:#677278}.overlap-fill{background:#6191a1}.energy-fill{background:#b68b6d}
input[type=checkbox],input[type=range]{accent-color:#4e6c78}.intro .schematic-note{color:#707b80}
@media(max-width:900px){.molecules button{padding:10px 8px}}
