*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#071B4D;background:#F4F7FB;font-synthesis:none;--navy:#001A35;--purple:#6547F5;--border:#E4EAF4}body{margin:0}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;min-height:44px;border:1px solid var(--border);background:#fff;color:#071B4D;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:600}button:hover{background:#F2F5FA;border-color:#b7bfe0}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #F5C518;outline-offset:3px}[hidden]{display:none!important}.lab-header{background:radial-gradient(circle at 72% 22%,#304462 0 1px,transparent 2px),radial-gradient(circle at 44% 70%,#304462 0 1px,transparent 2px),linear-gradient(110deg,#001A35,#001328);color:white}.header-inner,main{max-width:1800px;margin:auto;padding-left:3%;padding-right:3%}.navigation-row{display:flex;align-items:center;gap:22px;min-height:100px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:25px;letter-spacing:1.8px;font-weight:700;flex-shrink:0}.brand img{width:68px;height:68px;object-fit:contain;border-radius:50%}.brand small{display:block;font-size:10px;letter-spacing:5px;margin-top:4px}nav{display:flex;gap:18px;align-items:center;margin:auto}nav a,nav button{font-size:12px;white-space:nowrap;color:#eff3fb;background:transparent;border:0;border-radius:0;text-decoration:none;padding:14px 0}nav .selected{border-bottom:3px solid #F5C518}nav button:hover{background:transparent;color:#F5C518}.header-actions{display:flex;gap:8px;flex-shrink:0}.header-actions button{border-color:#526078;background:transparent;color:white;font-size:11px;padding:8px 11px}.header-actions .active{background:#F5C518;color:#001A35;border-color:#F5C518}.identity-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 27px}.subject{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.1px;color:#d7e1ef;font-weight:600}.subject svg{width:21px;height:21px;color:#F5C518}.subject span{opacity:.5}h1{font-size:36px;letter-spacing:-.8px;margin:7px 0 6px;line-height:1.2;font-weight:650}.identity-row p{font-size:15px;color:#dce4ef;margin:0}.insight{display:flex;align-items:center;gap:12px;background:#152a46;border:1px solid #35465e;padding:14px 18px;border-radius:14px;max-width:310px;font-size:12px;line-height:1.5}.insight svg{width:25px;height:25px;flex-shrink:0;color:#F5C518}main{padding-top:20px}.lab{display:grid;grid-template-columns:minmax(0,24fr) minmax(0,56fr) minmax(0,20fr);gap:16px;align-items:stretch}.panel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px rgba(10,28,63,.07);padding:17px;min-width:0;height:450px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;min-height:30px}h2{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.3px;margin:0;font-weight:650}h2 svg{height:23px;width:23px;color:var(--purple);flex-shrink:0}.live h2 svg{color:#287bc8}.text-button{border:0;min-height:30px;padding:2px;font-size:11px;color:#60708E}.parameter-list{display:flex;flex-direction:column;gap:11px;max-height:calc(100% - 42px);overflow:auto;padding:0 2px 3px}.control{display:block;font-size:12px;color:#233858;font-weight:600}.control>span{display:flex;align-items:center;gap:7px;margin-bottom:5px}.control svg{height:16px;width:16px;color:var(--purple)}select,input[type=date]{width:100%;min-height:44px;border:1px solid var(--border);border-radius:9px;background:#F7F9FD;color:#071B4D;padding:6px 10px;font-size:12px}.camera-control{display:grid;grid-template-columns:1fr 44px 44px;gap:5px}.camera-control button{font-size:19px;padding:0}.camera-control select{min-width:0}.layers{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;margin:0;padding:0;border:0}.layers legend{font-size:12px;font-weight:600;margin-bottom:2px}.check{display:flex;align-items:center;gap:5px;min-height:30px;font-size:11px;cursor:pointer}.check input{accent-color:var(--purple);width:15px;height:15px}.advanced{font-size:12px;margin-top:0}.advanced summary{cursor:pointer;color:#6547F5;min-height:28px}.advanced .control{margin-top:8px}.workspace{display:flex;flex-direction:column;padding:17px 14px 10px}.workspace .panel-heading{padding:0 3px}.workspace h2{font-size:16px}#modelTag{font-size:8px;letter-spacing:.8px;color:#60708E;text-align:right}.canvas-frame{flex:1;min-height:0;overflow:hidden;border-radius:14px;background:#030810}canvas{display:block;width:100%;height:100%;background:#030810}.workspace-caption{font-size:10px;color:#60708E;margin:8px 4px 0;line-height:1.4}.live #planetBadge{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;margin:4px 0 9px}#planetBadge i{width:9px;height:9px;border-radius:50%}dl{display:grid;gap:8px;margin:0}dl>div{border-radius:12px;background:#F7F9FD;border:1px solid #EDF0F7;padding:10px 12px}dt{font-size:10px;color:#60708E;margin-bottom:3px}dd{font-size:17px;color:#071B4D;margin:0;font-weight:600;font-variant-numeric:tabular-nums}dd small{font-size:10px;font-weight:400;color:#60708E}.body-details{font-size:10px;color:#60708E;margin-top:9px;line-height:1.5}.body-details summary{cursor:pointer;min-height:24px}.body-details p{margin:0}.live{overflow:auto}.playback{background:white;border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;gap:16px;padding:7px 14px;margin-top:14px;min-height:58px;box-shadow:0 4px 15px #0a1c3f05}.transport,.speed-pills,.export-actions{display:flex;align-items:center;gap:7px}.transport .primary{background:#39B64A;border-color:#39B64A;color:#05250a}.transport button{background:#F7F9FD}.speed-pills{font-size:11px;color:#60708E}.speed-pills button{min-width:44px;border:0;background:#F3F0FE}.speed-pills .active{background:var(--purple);color:white}#rateLabel{font-size:9px;max-width:85px}.playback time{font-size:11px;color:#60708E;flex:1;text-align:center;white-space:nowrap}.export-actions button{font-size:10px;padding:7px 9px}.learning{display:grid;grid-template-columns:49fr 51fr;gap:16px;margin-top:16px}.learning article{border-radius:18px;padding:18px 23px;border:1px solid #E8E4DA}.challenge{background:#FFF9E7}.explanation{background:#F4F0FF;border-color:#E5DFF5!important}.challenge h2 svg{color:#ae7910}.learning h2{font-size:18px}.learning h3{font-size:12px;font-weight:600;margin:10px 0 7px}.learning p{font-size:12px;line-height:1.6;margin:8px 0}.challenge-prompt{display:flex;gap:10px;align-items:center;background:#fffdf7;border:1px solid #F2ECD8;border-radius:12px;padding:4px 13px}.challenge-prompt span{font-size:24px;color:#a38139;margin-left:auto}.learning details{font-size:11px;margin-top:8px}.learning summary{cursor:pointer}.equations{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.equations span{background:#fff;border:1px solid #E5DFF5;padding:7px 12px;border-radius:8px;font-size:12px;color:#493588}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#60708E;padding:12px 0 16px}dialog{max-width:640px;max-height:85vh;overflow:auto;border:1px solid var(--border);border-radius:18px;padding:26px;color:#071B4D}dialog::backdrop{background:#001328bb}dialog p{font-size:13px;line-height:1.7}dialog h2{margin:12px 0}dialog>button{float:right}dialog a{color:#493588}.model-note{background:#F7F9FD;padding:14px;border-radius:12px}.lab-app:fullscreen{height:100vh;overflow:auto;background:#F4F7FB}@media(min-width:1280px) and (min-height:940px){.panel{height:calc(100vh - 430px);min-height:450px;max-height:630px}}@media(max-width:1400px){.navigation-row{gap:16px}.brand{font-size:22px}.brand img{width:60px;height:60px}nav{gap:13px}nav a,nav button{font-size:11px}.header-actions{gap:5px}.header-actions button{padding:7px 8px;font-size:10px}.playback{gap:10px}.transport button{padding:7px 10px}}@media(max-width:1279px){.navigation-row{flex-wrap:wrap;padding:15px 0;gap:12px}.brand{margin-right:auto}nav{order:3;width:100%;justify-content:center}.identity-row{padding-top:12px}.lab{grid-template-columns:1fr 1fr}.workspace{grid-column:1/-1;grid-row:1;height:480px}.parameters,.live{height:auto;min-height:390px}.parameter-list{max-height:none}.live dl{grid-template-columns:1fr 1fr}.playback{flex-wrap:wrap}.playback time{order:3;flex-basis:100%;text-align:left}.export-actions{margin-left:auto}}@media(max-width:767px){.header-inner,main{padding-left:16px;padding-right:16px}.navigation-row{gap:14px}.brand img{width:50px;height:50px}.brand{font-size:20px}.header-actions{width:100%;justify-content:space-between;order:2}.header-actions button{font-size:10px;flex:1}nav{gap:12px;justify-content:flex-start;flex-wrap:wrap}nav a,nav button{font-size:10px;min-height:32px;padding:5px 0}.identity-row{display:block;padding-bottom:22px}h1{font-size:30px}.identity-row p{font-size:13px;line-height:1.5}.insight{display:none}.lab{display:contents}.workspace{height:390px}.parameters,.live{margin-top:16px}.parameters{min-height:0}.live{min-height:0}.playback{margin-top:16px;gap:10px;padding:10px}.transport{width:100%}.transport button{flex:1;padding:8px 5px}.speed-pills{flex-wrap:wrap}.playback time{white-space:normal}.learning{grid-template-columns:1fr}.learning article{padding:18px}.export-actions{margin-left:0}.lab main{display:block}main{display:flex;flex-direction:column}.workspace{order:0}.playback{order:1}.parameters{order:2}.live{order:3}.learning{order:4}footer{order:5;flex-direction:column;align-items:flex-start}.panel-heading h2{font-size:16px}#modelTag{max-width:90px}}

/* Compact desktop rhythm from SIL-CORE-01 v1.1. */
@media(min-width:1280px){.navigation-row{min-height:82px}.identity-row{padding:3px 0 14px}.panel{height:410px}.learning article{padding:14px 23px}.learning h3{margin:7px 0 4px}.learning p{margin:6px 0}.learning{margin-top:12px}.playback{margin-top:12px}main{padding-top:16px}footer{padding:7px 0 10px}.live dl>div{padding:6px 12px}.live .body-details{margin-top:5px}}
@media(min-width:1280px) and (min-height:940px){.panel{height:calc(100vh - 510px);min-height:410px;max-height:630px}}
