:root, :root[data-theme="light"] {--paper:#eee8d9;--paper-2:#e8e1d1;--panel:#f0eadc;--ink:#23263a;--ink-2:#5b5b61;--ink-3:#77746c;--rule:#aaa291;--gold:#c49b43;--gold-soft:#e3c785;--gold-pale:#f2e3b7;--water:#3b8c9b;--water-soft:#aed6d4;--co2:#ad7089;--alert:#b35640;--focus:#376f84;--sky-top:#f5f0e5;--sky-bottom:#f5f0e5;--serif:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color-scheme:light;}
body {background:#eee8d9;font:14px/1.65 var(--sans);}
.site {width:min(1100px,100% - 32px);padding:0;margin:22px auto 0;}
.site .home{font-size:13px;}
.top {display:block;background:transparent;max-width:1100px;margin:18px auto 15px;padding:0;border:0;}
.tabs{margin:0;gap:7px;}
.tab{padding:5px 14px;border:1px solid #a49c8b;border-radius:999px;font-size:12px;background:#f6f0e5;}
.tab[aria-selected="true"]{border-color:var(--ink);background:var(--ink);color:#fffaf0;}
.tab:hover{background:#e6ddca;color:var(--ink);}
.view {max-width:1100px;margin:auto;}
body:not(.trav-adapted) .lab{visibility:hidden;}
.trav-card {display:grid;grid-template-columns:202px minmax(0,1fr);background:#f5f0e5;border:1.3px solid var(--ink);border-radius:8px;box-shadow:4px 4px 0 var(--ink);overflow:hidden;}
.tour-side{display:flex;flex-direction:column;padding:20px 16px;border-right:1.3px solid var(--ink);background:#eee8d9;}
.tour-fig{font:600 10px/1.5 ui-monospace,"PingFang SC",monospace;letter-spacing:.08em;color:#777365;margin:0 0 12px;}
.tour-side h1{font:700 21px/1.45 var(--sans);margin:0 0 20px;letter-spacing:.01em;}
.tour-modes{display:flex;border:1.3px solid var(--ink);border-radius:999px;padding:2px;background:#fffaf0;margin:0 0 18px;box-shadow:2px 2px 0 var(--ink);}
.tour-modes button{flex:1;border:0;background:transparent;border-radius:999px;font:600 11px var(--sans);padding:5px 3px;cursor:pointer;}
.tour-modes button[aria-checked="true"]{background:var(--ink);color:#fffaf0;}
.tour-steps{display:flex;flex-direction:column;gap:8px;}
.tour-step{display:flex;align-items:center;gap:9px;width:100%;border:1.3px solid var(--ink);border-radius:999px;text-align:left;padding:7px 9px;background:#fffaf0;font:600 12px var(--sans);box-shadow:2px 2px 0 var(--ink);cursor:pointer;}
.tour-step b{display:grid;place-items:center;flex:none;width:18px;height:18px;background:var(--ink);color:#fffaf0;border-radius:50%;font:600 10px var(--sans);}
.tour-step:disabled{opacity:.36;cursor:default;box-shadow:none;}
.tour-step[data-on]{background:#e6ca7d;opacity:1;}
.tour-step[data-done]{opacity:.6;}
.tour-step:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);}
.tour-restart{font:500 11px var(--sans);border:0;padding:0;background:none;color:#6d695c;text-align:left;text-decoration:underline;text-underline-offset:3px;margin-top:25px;cursor:pointer;}
.tour-side-note{font-size:11px;color:#817b6a;margin:16px 0 0;line-height:1.7;}
.tour-main{min-width:0;position:relative;}
.tour-hint{padding:17px 19px 0;min-height:58px;font-size:13px;line-height:1.65;}
.tour-scene{position:relative;}
#viewport.viewport{height:480px;min-height:0;background:#f5f0e5;border:0;margin:0;isolation:isolate;}
#viewport canvas{touch-action:none;}
.clock{top:12px;left:18px;color:#5e5a50;text-shadow:none;}
.clock .yr{font:600 24px/1.2 var(--sans);color:var(--ink);}
.clock .yr span{font-size:13px;}
.clock .sub{font-size:10px;margin-top:3px;}
.views{top:12px;right:18px;gap:4px;}
.views button{font-size:10px;padding:3px 8px;border:1px solid #9f9888;background:#fffaf0;border-radius:999px;}
.springTag{font:11px/1.5 var(--sans)!important;background:#fffaf0!important;color:var(--ink)!important;border:1px solid #8f8a7a!important;border-radius:4px!important;}
#hint.hint{position:static;max-width:none;margin:0 18px 10px;background:transparent;padding:0;color:#827b6d;font-size:10px;line-height:1.6;}
.legend{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:3px 13px;padding:0 15px 8px;background:transparent;font-size:10px;}
.legend i{width:9px;height:9px;border:1px solid #a4a08e;}
.probe{top:58px;left:14px;width:240px;max-width:calc(100% - 28px);font-size:11px;border:1px solid var(--ink);border-radius:6px;background:rgba(255,250,240,.96);box-shadow:2px 2px 0 var(--ink);z-index:5;}
.probe h3{font-size:12px;}
.probe .state{font-size:10px;}
.tour-instruments{padding:2px 18px 12px;}
.readout{display:flex;flex-wrap:wrap;gap:7px;border:0;}
.readout>div{display:flex;align-items:baseline;gap:5px;padding:4px 7px;border:1px solid #777568!important;border-radius:4px;background:#fffaf0;}
.readout b{font:600 11px/1.5 ui-monospace,"PingFang SC",monospace;color:var(--ink)!important;white-space:nowrap;}
.readout b small{font-size:9px;margin-left:3px;}
.readout span{order:-1;font-size:9px;color:#777367;}
.mechanism{border-top:1px solid #c4bdac;padding:12px 18px 15px;background:#f0eadc;min-height:112px;}
.mechanism-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;color:#706b5f;}
.mechanism-heading>span:first-child{font-weight:600;letter-spacing:.08em;}
.mechanism-tag{font-size:9px;}
.cause-line{display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:500;flex-wrap:wrap;}
.cause-arrow{font-size:11px;font-weight:400;color:#918266;}
.live-note{font-size:10px;color:#797364;margin:8px 0 0;line-height:1.8;}
.live-note b{color:#514e46;font-weight:600;}
.chem-pair,.growth-pair{display:flex;align-items:center;gap:16px;justify-content:center;}
.chem-pair>div,.growth-pair>div{display:flex;flex-direction:column;min-width:110px;}
.chem-pair small,.growth-pair small{font-size:10px;color:#7f7764;}
.chem-pair b,.growth-pair b{font:600 22px/1.5 ui-monospace,"PingFang SC",monospace;}
.chem-pair em,.growth-pair em{font:10px var(--sans);color:#88806c;}
.chem-pair>div>span{font-size:10px;color:#797362;}
.free-message{margin:0;font-size:12px;}
.tour-foot{grid-column:1/-1;border-top:1.3px solid var(--ink);padding:12px 18px;background:#eee8d9;font-size:12px;line-height:1.75;}
.tour-progress{margin:8px 18px 0;padding:8px 10px;background:#e9dfc8;border:1px solid #b4a888;border-radius:5px;position:relative;}
.tour-progress[hidden]{display:none;}
.progress-label{font-size:11px;padding-right:74px;}
.tour-progress progress{height:6px;width:100%;display:block;margin-top:7px;accent-color:#ac8c40;}
.pause-tour{position:absolute;right:8px;top:6px;background:#fffaf0;border:1px solid #9e947a;border-radius:999px;font:10px var(--sans);padding:3px 7px;cursor:pointer;}
.cross-panel,.advanced-panel{margin:22px 0 0;border:1px solid #a59e8d;border-radius:7px;background:#f4eee2;overflow:hidden;}
.cross-panel>summary,.advanced-panel>summary{padding:12px 17px;font-size:13px;font-weight:600;cursor:pointer;list-style-position:inside;}
.advanced-panel>summary span{font-size:10px;font-weight:400;color:#827968;margin-left:10px;}
.cross-panel .sec{padding:6px 16px 17px;}
.sec-head h2{font-size:16px;}
.sec-head p{font-size:11px;}
.sec-head .check,.sec-legend{font-size:10px;}
.sec canvas{height:500px;}
.experiment-note{font-size:11px;padding:0 17px;color:#797263;}
.ctrl{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 26px;border:0;padding:0 18px 17px;background:transparent;}
.ctrl section{padding:10px 0;border-bottom:1px solid #cbc1ad;min-width:0;}
.ctrl h2{font-size:14px;}
.ctrl .field label,.ctrl .row{font-size:12px;}
.ctrl .field small,.ctrl .ticks,.ctrl .case-note{font-size:10px;}
.ctrl .chip,.ctrl .btn,.ctrl .seg button,.ctrl .check{font-size:11px;}
.ctrl .chip{border-radius:999px;}
.model-boundary{font-size:10px;color:#867d6b;line-height:1.75;margin:14px 2px 34px;}
.page{padding:24px 16px 45px;}
.page>header h2{font-size:26px;}
.page p,.page td,.page th,.page li{font-size:14px;}
.page .lead{font-size:15px;}
.toast{font-size:12px;border-radius:7px;max-width:90vw;}
@media(max-width:1160px){.top,.view{margin-left:18px;margin-right:18px;}}
@media(max-width:760px){.site{width:calc(100% - 24px);padding:0;margin-top:14px;gap:6px;}.top,.view{margin-left:12px;margin-right:12px;}.top{margin-top:15px;margin-bottom:12px;}.tabs{gap:5px;}.tab{font-size:10px;padding:4px 10px;}.trav-card{grid-template-columns:1fr;}.tour-side{padding:14px 12px;border-right:0;border-bottom:1.3px solid var(--ink);}.tour-fig{margin-bottom:5px;font-size:9px;}.tour-side h1{font-size:18px;margin:0 0 10px;}.tour-side h1 br{display:none;}.tour-modes{width:200px;margin-bottom:14px;}.tour-steps{flex-direction:row;flex-wrap:wrap;gap:7px;}.tour-step{width:auto;padding:5px 9px 5px 6px;font-size:11px;gap:5px;}.tour-step b{width:16px;height:16px;font-size:9px;}.tour-restart{font-size:10px;margin-top:14px;}.tour-side-note{display:none;}.tour-hint{font-size:12px;padding:14px 12px 0;min-height:63px;}#viewport.viewport{height:380px;}.clock{left:12px;top:9px;}.clock .yr{font-size:20px;}.clock .sub{font-size:9px;}.views{right:11px;top:10px;}.views button{font-size:9px;padding:3px 6px;}.legend{font-size:9px;gap:3px 9px;}#hint.hint{font-size:9px;margin:0 12px 8px;}.tour-instruments{padding:2px 12px 12px;}.readout{gap:6px;}.readout>div{padding:3px 6px;}.readout span{font-size:9px;}.readout b{font-size:10px;}.mechanism{padding:11px 12px 13px;}.mechanism-tag{display:none;}.cause-line{gap:6px;font-size:10px;}.cause-arrow{font-size:9px;}.chem-pair,.growth-pair{gap:9px;}.chem-pair>div,.growth-pair>div{min-width:86px;}.chem-pair b,.growth-pair b{font-size:18px;}.chem-pair>div>span{font-size:9px;}.live-note{font-size:9px;}.tour-foot{font-size:11px;padding:11px 12px;}.tour-progress{margin-left:12px;margin-right:12px;}.progress-label{font-size:10px;}.cross-panel,.advanced-panel{margin-top:17px;}.cross-panel>summary,.advanced-panel>summary{font-size:12px;padding:11px 12px;}.advanced-panel>summary span{display:block;margin:3px 0 0 13px;font-size:10px;}.ctrl{grid-template-columns:1fr;gap:0;padding:0 14px 14px;}.ctrl .field label,.ctrl .row{font-size:14px;}.ctrl .field small,.ctrl .ticks,.ctrl .case-note{font-size:12px;}.ctrl h2{font-size:16px;}.ctrl .chip,.ctrl .btn,.ctrl .seg button,.ctrl .check{font-size:13px;}.sec canvas{height:550px;}.sec-head p{min-width:0;width:100%;flex-basis:100%;}.sec-head h2{font-size:14px;}.model-boundary{font-size:9px;}.page{padding:20px 4px 40px;}.page>header h2{font-size:23px;}.equation{font-size:20px;}.steps{grid-template-columns:1fr;}.solu{grid-template-columns:1fr;}table.grid{display:block;overflow:auto;}.story-grid{grid-template-columns:1fr!important;}.page figure{overflow:auto;}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;}.tour-step{animation:none!important;}}
@media(max-width:760px){.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-wrap:wrap;overflow:visible;white-space:normal;}.tab{width:100%;}}
