:root{color-scheme:light;--bg:#f8f2e8;--panel:#fffdf8;--line:#e4d6c7;--accent:#a83232;--text:#392a28;--muted:#78655e;--orange:#9e522d;font-family:'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button,a,select,input{touch-action:manipulation}button,a{color:inherit}button{background:#fffaf2;border:1px solid #cbb9a6;border-radius:6px;padding:9px 12px;min-height:38px}button:hover{background:#e5d7c6;border-color:#78655e}button:disabled{opacity:.5;cursor:default}a{text-decoration:none}a:hover{color:var(--accent)}button.active{background:#f3ddd5;color:var(--accent);border-color:#cbb9a6}button.primary{background:var(--accent);color:#fffaf2;border-color:var(--accent);font-weight:650}button.primary:hover{background:#862525}input,select,textarea{color:var(--text);background:#fffdf8;border:1px solid #cbb9a6;border-radius:5px;padding:9px;max-width:100%}select{min-height:40px}input[type=range]{padding:0;accent-color:var(--accent);cursor:pointer}input[type=checkbox]{accent-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 26px;gap:32px;position:relative;z-index:10;background:#fcf7ee}.brand{display:flex;gap:11px;align-items:center;font-size:23px;font-weight:750;white-space:nowrap;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#59453b;margin-top:9px;font-weight:400}.seal{border:1px solid #59453b;color:var(--accent);font-family:serif;font-size:26px;padding:7px 5px;transform:rotate(-5deg)}.top-title{font-size:12px;color:#78655e;letter-spacing:1px}.top-actions{margin-left:auto;display:flex;gap:12px;align-items:center;font-size:12px}.top-actions a{margin-left:10px;color:#59453b}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:2100px;margin:auto}.library{border-right:1px solid var(--line);height:calc(100dvh - 80px);position:sticky;top:0;padding:25px 16px 12px;display:flex;flex-direction:column;min-height:460px}.eyebrow{color:#78655e;font:10px monospace;letter-spacing:1px;line-height:1.8}.library-heading{display:flex;justify-content:space-between;align-items:center}.library-heading .eyebrow{font-size:8px}.library-heading button{display:none}.library h1{font-size:21px;margin:12px 0 20px}.search{display:flex;align-items:center;background:#fffdf8;border:1px solid #cbb9a6;border-radius:6px;padding-left:12px;gap:6px}.search span{font-size:23px;color:var(--accent)}.search input{width:100%;min-width:0;border:0;background:transparent;font-size:12px;outline:none;padding:12px 7px}.categories{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.categories button{font-size:11px;min-height:29px;padding:5px 9px;border-color:transparent;background:transparent;color:#59453b}.categories button.active{background:#f3ddd5;color:var(--accent)}.library-meta{display:flex;justify-content:space-between;align-items:center;padding:14px 0 10px;font-size:10px;color:#78655e}.library-meta button{border:0;background:transparent;min-height:26px;padding:2px 4px;font-size:11px}.model-list{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#cbb9a6 transparent;min-height:80px}.model-item{display:block;text-align:left;width:100%;border:1px solid transparent;background:transparent;padding:11px 10px;margin-bottom:4px;line-height:1.5;border-radius:5px;font-size:12px}.model-item small{display:block;font-size:9px;color:#78655e;margin-top:3px}.model-item.active{background:#f3ddd5;border-color:#cbb9a6;color:var(--accent)}.model-item.active small{color:#78655e}.library-note{font-size:9px;line-height:1.8;color:#78655e;border-top:1px solid var(--line);padding-top:12px;margin-bottom:0}#workspace{min-width:0;padding:28px 28px 0}.model-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:22px}.model-heading h2{font-size:28px;letter-spacing:.5px;margin:7px 0 9px;line-height:1.3}.model-heading p{color:#59453b;font-size:12px;line-height:1.85;margin:0;max-width:800px}.icon-btn{font-size:23px;border:0;background:transparent;min-width:42px;color:var(--accent)}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.lab-main{min-width:0}.scene-toolbar{background:#f0e5d8;border:1px solid #cbb9a6;border-bottom:0;border-radius:9px 9px 0 0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:10px}.scene-toolbar>div{display:flex;gap:5px;flex-wrap:wrap}.scene-toolbar button{font-size:10px;padding:5px 8px;min-height:29px;background:transparent}.scene-label{font-size:10px;color:#59453b;white-space:nowrap}.scene-label i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:8px}#stage-wrap{position:relative;border:1px solid #cbb9a6;border-top:0;background:#fffaf2;height:410px;overflow:hidden;border-radius:0 0 8px 8px}canvas{display:block;width:100%}#stage{height:100%;touch-action:pan-y}#annotation{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:none}#annotation.enabled{pointer-events:auto;cursor:crosshair}.stage-watermark{position:absolute;bottom:12px;right:15px;font:9px monospace;color:#cbb9a6;letter-spacing:1px;pointer-events:none}.playbar{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.playbar button{font-size:12px;padding:8px 11px}.playbar #play{min-width:94px}.playbar select{font-size:11px;min-height:36px;padding:5px}.loop{font-size:11px;color:#59453b;display:flex;align-items:center;gap:4px;margin-left:3px}#time-label{font:13px monospace;margin-left:auto;color:var(--accent)}.timeline{width:100%;height:20px;margin:12px 0 0}.scene-status{font-size:11px;color:var(--orange);min-height:18px;margin:4px 0 12px;line-height:1.7}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.metric{border:1px solid var(--line);border-radius:6px;background:#fffdf8;padding:12px 13px;min-width:0}.metric span{display:block;font-size:10px;color:#59453b}.metric b{font-size:18px;font-weight:550;display:block;margin-top:7px;line-height:1.4;overflow-wrap:anywhere;color:#59453b}.metric b.small-value{font-size:12px}.metric small{font-size:10px;color:#78655e;margin-left:5px}.plot-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:23px 0 12px}.plot-heading h3{font-size:14px;margin:0}.plot-heading span{font-size:9px;color:#78655e}.plots{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.plot-card{border:1px solid var(--line);border-radius:7px;background:#fffdf8;overflow:hidden}.plot-card p{font-size:10px;color:#59453b;margin:12px 12px 0}.plot-card canvas{height:160px}.no-plot{font-size:11px;color:#78655e;padding:20px;border:1px dashed var(--line);border-radius:6px}.controls-panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;align-self:start;overflow:hidden;position:sticky;top:16px;max-height:calc(100dvh - 25px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbb9a6 transparent}.tabbar{display:flex;border-bottom:1px solid var(--line);padding:7px;gap:3px}.tabbar button{flex:1;border:0;background:transparent;font-size:12px;padding:8px}.tabbar button.active{background:#f3ddd5;color:var(--accent)}.tab-content{padding:18px}.preset-label{font-size:10px;color:#78655e;display:block;margin-bottom:7px}#preset{width:100%;font-size:12px}#controls{padding-top:12px}.control{border-bottom:1px solid #e5d7c6;padding:13px 0}.control-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.control label{font-size:12px;color:#59453b;flex:1}.control small{font-size:9px;color:#78655e}.control input[type=number]{width:88px;font-size:12px;text-align:right;padding:6px 7px;min-width:0}.control input[type=range]{width:100%;display:block;min-height:23px}.control select{width:100%;font-size:12px}.control-limits{display:flex;justify-content:space-between;font:9px monospace;color:#78655e;margin-top:4px}.wide{width:100%;margin-top:12px;font-size:11px}.control-note{font-size:10px;line-height:1.8;color:#78655e;margin:12px 0 0}.tab-content h3{font-size:12px;margin:6px 0 12px}.tab-content p,.tab-content ol{font-size:12px;color:#59453b;line-height:1.9}.tab-content ol{padding-left:18px}.tab-content li{margin-bottom:10px}.formula{white-space:pre-wrap;line-height:1.9;font-size:13px;border:1px solid #cbb9a6;background:#f7ecdf;padding:13px;border-radius:5px;color:#59453b;margin-bottom:20px;overflow-wrap:anywhere}.share-actions{padding:16px 18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-actions button{font-size:10px;padding:8px 6px}.share-actions .primary{grid-column:1/-1;font-size:12px}textarea{resize:vertical;width:100%;font-size:12px;line-height:1.7}.tab-content>label{font-size:11px;display:block;margin-bottom:8px}.data-section{border:1px solid var(--line);border-radius:7px;padding:15px;margin-top:20px}.data-section summary{cursor:pointer;color:#59453b;font-size:12px}.data-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.data-actions button{font-size:10px}.table-scroll{overflow:auto;max-height:260px;font-size:11px}.table-scroll p{color:#78655e}table{border-collapse:collapse;width:100%;font-size:11px}td,th{padding:8px 12px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#59453b}#fit-result{font-size:11px;line-height:1.8;color:#59453b;margin-top:12px}#compare-stage{height:300px;border:1px solid #78655e;border-radius:7px;margin-bottom:10px}#compare-description{font-size:11px;line-height:1.8;color:#59453b}.workspace-footer{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding:20px 0;font-size:9px;color:#78655e}dialog{background:#fffaf2;color:var(--text);border:1px solid #cbb9a6;border-radius:10px;width:min(580px,calc(100% - 32px));max-height:80dvh;overflow:auto;padding:25px;box-shadow:0 25px 90px #392a2824}dialog::backdrop{background:#392a287a;backdrop-filter:blur(5px)}dialog h2{font-size:22px;margin-top:0}dialog p{font-size:12px;color:#78655e;line-height:1.8}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-head button{border:0;background:transparent;font-size:23px;padding:0 7px}.saved-item{border-top:1px solid var(--line);padding:15px 0;display:flex;gap:10px;align-items:center}.saved-item div{flex:1;font-size:13px}.saved-item small{display:block;font-size:10px;color:#78655e;margin-top:5px}.saved-item button{font-size:10px}#share-url{width:100%;margin:10px 0 18px;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 20px;background:#a83232;color:#fffaf2;border:1px solid #78655e;border-radius:7px;z-index:100;opacity:0;pointer-events:none;font-size:12px;text-align:center;transition:opacity .2s}#toast.visible{opacity:1}.noscript{padding:40px;color:var(--orange)}.empty-state{font-size:12px;line-height:1.8;color:#78655e;padding:20px 8px}.clean .library,.clean .controls-panel,.clean .topbar,.clean .workspace-footer,.clean .data-section,.clean .model-description{display:none}.clean .app-shell{display:block}.clean .lab-grid{grid-template-columns:1fr;max-width:1300px;margin:auto}.clean #stage-wrap{height:55vh;min-height:300px}.clean .model-heading{max-width:1300px;margin-inline:auto}.clean #workspace{padding-top:20px}.fullscreen-stage{background:#f8f2e8;padding:15px;overflow:auto}#workspace:fullscreen{background:#f8f2e8;overflow:auto}body.modal-library:after{content:'';position:fixed;inset:80px 0 0;background:#392a2873;z-index:19}.intro-page{max-width:920px;margin:auto;padding:40px 24px;line-height:1.9}.intro-page h1{font-size:30px}.intro-page h2{font-size:21px;margin-top:30px}.intro-page p,.intro-page li{color:#59453b;font-size:14px}.intro-page a{color:var(--accent)}.intro-page code{overflow-wrap:anywhere}
@media(min-width:1750px){#stage-wrap{height:500px}.lab-grid{grid-template-columns:minmax(0,1fr) 310px}.controls-panel{font-size:15px}}
@media(max-width:1250px){.app-shell{grid-template-columns:215px minmax(0,1fr)}.library{padding-inline:12px}#workspace{padding:24px 18px 0}.lab-grid{grid-template-columns:minmax(0,1fr) 245px;gap:14px}.tab-content{padding:14px}.scene-label{display:none}.scene-toolbar{justify-content:flex-end}#stage-wrap{height:360px}.top-title{display:none}.control input[type=number]{width:77px}.playbar{gap:6px}.playbar button{font-size:11px;padding:8px}.loop{font-size:10px}}
@media(max-width:1000px){.app-shell{display:block}.library{display:none;position:fixed;top:80px;left:0;width:290px;background:#fcf7ee;z-index:20;max-height:calc(100dvh - 80px)}.library.open{display:flex}.library-heading button{display:block;font-size:22px;padding:0 8px;background:transparent;border:0}.lab-grid{grid-template-columns:minmax(0,1fr) 260px}.controls-panel{position:static;max-height:none}.scene-label{display:inline}#stage-wrap{height:390px}.model-heading h2{font-size:26px}}
@media(max-width:720px){.topbar{height:70px;padding-inline:16px;gap:10px}.brand{font-size:18px;gap:8px}.brand small{font-size:8px;letter-spacing:1px}.seal{font-size:23px;padding:5px 4px}.top-actions{gap:6px}.top-actions button{font-size:10px;padding:7px 8px;min-height:34px}.top-actions a{display:none}.top-actions #model-count{display:none}.library{top:70px;height:calc(100dvh - 70px);max-height:none}.app-shell{display:block}#workspace{padding:22px 14px 0}.model-heading{margin-bottom:18px;gap:10px}.model-heading h2{font-size:24px;margin-top:7px}.model-heading p{font-size:11px}.lab-grid{grid-template-columns:1fr;gap:20px}.scene-toolbar{padding:8px 9px}.scene-label{display:none}.scene-toolbar button{font-size:10px;padding:4px 7px;min-height:31px}.scene-toolbar>div{width:100%;justify-content:space-between;gap:4px}#stage-wrap{height:300px}.playbar{gap:6px}.playbar button{font-size:11px;min-height:39px}.playbar #play{min-width:83px}.playbar select{max-width:87px;font-size:10px}.loop{margin-left:0;font-size:10px}#time-label{font-size:11px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:11px}.metric b{font-size:18px}.plots{grid-template-columns:1fr 1fr;gap:8px}.plot-card canvas{height:155px}.plot-heading span{max-width:150px;text-align:right;line-height:1.5}.controls-panel{position:static;order:0}.tab-content{padding:18px}.control input[type=number]{width:105px}.control{padding-block:15px}.control input[type=range]{min-height:32px}.control label{font-size:14px}.control select{font-size:13px}.share-actions{grid-template-columns:repeat(2,1fr)}.share-actions button{font-size:12px;min-height:41px}.share-actions .primary{font-size:13px}.tabbar button{font-size:13px}.control-note{font-size:11px}.workspace-footer{flex-wrap:wrap;font-size:9px;gap:10px}.workspace-footer #version-label{margin-left:auto}.plot-card p{font-size:9px;margin-left:8px}.clean #stage-wrap{height:48vh}.clean .lab-grid{display:block}.clean #workspace{padding-inline:12px}.clean .scene-toolbar #clean-mode{background:#f3ddd5;color:var(--accent)}body.modal-library:after{inset:70px 0 0}.data-actions{gap:5px}.data-actions button{font-size:10px;padding-inline:7px}.intro-page h1{font-size:26px}}
@media(max-width:380px){#workspace{padding-inline:10px}.playbar .loop{order:2}#time-label{order:3}.plots{grid-template-columns:1fr}#stage-wrap{height:280px}.model-heading h2{font-size:22px}.scene-toolbar button{font-size:9px;padding-inline:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.mobile-dock{display:none}.data-actions label{display:flex;align-items:center;gap:8px;font-size:12px;color:#59453b}.data-actions select{max-width:180px}#stage-wrap{scroll-margin-top:85px}
@media(max-width:720px){body{padding-bottom:78px}.mobile-dock{display:flex;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;z-index:70;padding:6px;gap:6px;background:#fffaf2f5;border:1px solid #cbb9a6;border-radius:12px;box-shadow:0 8px 40px #392a2824;backdrop-filter:blur(12px)}.mobile-dock button{flex:1;min-height:42px}.mobile-dock button:first-child{background:#a83232;color:#fffaf2;font-weight:700}.controls-panel{display:none!important;position:fixed;bottom:82px;left:12px;right:12px;max-height:43vh;overflow:auto;z-index:55;box-shadow:0 -15px 50px #392a2824}.mobile-panel-open .controls-panel{display:block!important}.mobile-panel-open #stage{height:30vh;min-height:180px}.controls-panel .tabbar{position:sticky;top:0;background:#fcf7ee;z-index:2}.plots{grid-template-columns:1fr!important}.plot-card canvas{height:160px!important}.clean .mobile-dock{display:none}.clean .controls-panel{display:none!important}#toast{bottom:84px}.scene-toolbar{position:sticky;top:0;z-index:3}.data-actions{align-items:stretch}.data-actions label{width:100%}}
@media(max-width:720px){.controls-panel{top:auto}.mobile-panel-open #stage-wrap{height:30vh;min-height:180px}.mobile-panel-open #stage{height:100%;min-height:0}.modal-library .mobile-dock,.modal-library .controls-panel{display:none!important}}
.fit-tools{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.fit-tools label{display:flex;gap:6px;align-items:center;font-size:11px;color:#59453b;min-width:0;max-width:100%}.fit-tools select{font-size:11px;min-width:0;max-width:180px}.fit-tools select:last-child{max-width:100px}
.filter-heading{font-size:9px;letter-spacing:1px;color:#78655e;margin:0 0 7px}.filter-segments{display:flex;gap:5px;margin-bottom:14px}.filter-segments button{flex:1;min-width:0;font-size:12px;padding:7px 4px;min-height:34px;background:#fffaf2;border-color:#cbb9a6}.filter-segments button.active{background:#a83232;color:#fffaf2;border-color:#a83232;font-weight:700}.filter-segments.dimensions button{font-size:10px;background:transparent}.filter-segments.dimensions button.active{color:#a83232;background:#f3ddd5;border-color:#78655e}.library h1{margin-bottom:16px}.library .search{flex-shrink:0}.library .categories{margin-top:10px;gap:3px}.library-meta{padding-top:9px}.spatial-item:before{content:'3D';float:right;font:9px monospace;color:#a83232;background:#f3ddd5;padding:2px 4px;margin-left:6px;border-radius:3px}.model-item small{line-height:1.5}#view3d-tools{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f6eee3;border:1px solid #cbb9a6;border-top:0;overflow:auto}#view3d-tools>span{font:10px monospace;color:#59453b;white-space:nowrap;margin-right:auto}#view3d-tools button{font-size:10px;min-height:29px;padding:5px 8px;white-space:nowrap}#spatial-hint{position:absolute;left:12px;top:10px;font-size:10px;letter-spacing:.3px;color:#59453b;background:#f5ead9e8;padding:5px 8px;border-radius:5px;pointer-events:none}.spatial-stage #stage{cursor:grab}.spatial-stage #stage.rotating{cursor:grabbing}.library .filter-segments{flex-shrink:0}
@media(max-width:720px){.library{width:min(330px,92vw);padding-top:14px}.library h1{font-size:20px;margin-block:8px 13px}.filter-segments{margin-bottom:11px}.filter-segments button{min-height:35px}.filter-segments.dimensions button{font-size:11px}.library .categories button{font-size:11px}.library .model-item{font-size:13px}.library .model-item small{font-size:10px}.library-note{display:none}#view3d-tools{gap:4px;padding-inline:7px}#view3d-tools>span{display:none}#view3d-tools button{flex:1;min-height:31px;padding:5px 6px}#spatial-hint{font-size:9px;top:7px;left:8px}.mobile-panel-open .spatial-stage#stage-wrap{height:27vh;min-height:160px}.mobile-panel-open .spatial-stage #stage{min-height:0}}

/* 物理谢 · 米白纸感与朱红印记 */
body{background-color:var(--bg);background-image:radial-gradient(rgba(117,83,51,.045) .6px,transparent .8px);background-size:6px 6px}
.topbar{box-shadow:0 2px 15px #563b2610;border-bottom-color:#dfcdb8}
.brand{color:#6b2626}.brand small{color:#8a7666;font-weight:500}.seal{background:#a83232;color:#fff7e7;border:1px solid #8d2828;box-shadow:inset 0 0 0 3px #f5d9ad;font-family:'KaiTi','STKaiti',serif;border-radius:4px;padding:8px 7px;transform:rotate(-4deg)}
.top-title{color:#8b6454}.top-actions a{color:#8b4d3b}.library{background:#fcf7ef;border-right-color:#e4d6c7}
.library h1,.model-heading h2{font-family:'Noto Serif SC','STSong','SimSun',serif;color:#432e28;font-weight:700}.model-heading h2{letter-spacing:.4px}.eyebrow{color:#a05943}.library-heading .eyebrow{letter-spacing:1.5px}.model-heading p{color:#78655e}
button{transition:background-color .15s,border-color .15s,box-shadow .15s}button:hover{background:#f4e5d8;border-color:#b98970}button.primary{background:#a83232;color:#fffaf2;box-shadow:0 3px 8px #8b25251a}button.primary:hover{background:#862525}button.active{border-color:#cda38d;color:#922b2d;background:#f3ddd5}
.filter-segments button.active{color:#fffaf2;background:#a83232;border-color:#a83232}.filter-segments.dimensions button.active{background:#f4e1d7;color:#922b2d;border-color:#c9957f}.categories button.active{background:#f4e1d7;color:#922b2d}.categories button{color:#78655e}.model-item.active{background:#f6e6db;border-color:#d9ac95;color:#922b2d;box-shadow:inset 3px 0 #a83232}.model-item.active small{color:#936455}.model-item small{color:#877363}.spatial-item:before{color:#9a3331;background:#ecd1bb}.library-note{color:#887465}
.scene-toolbar{border-color:#dbc8b2;background:#f1e5d6}.scene-label{color:#7b5b45}.scene-label i{background:#a83232}#stage-wrap{border-color:#dbc8b2;box-shadow:0 5px 20px #79543107}.stage-watermark{color:#a78a70;font-weight:600}.controls-panel{box-shadow:0 5px 24px #7954310b;border-color:#e3d2be}.control label{color:#59453b}.control{border-color:#eadfce}.tabbar button.active{background:#f3ddd5;color:#922b2d}.formula{background:#f8eddf;border-color:#ddc8ad;color:#703d30}
.metric{border-color:#e5d7c6;background:#fffdf8}.metric b{color:#6d3930}.metric span,.metric small{color:#806b59}.plot-card{background:#fffdf8}.plot-card p{color:#7a5340}.share-actions{background:#faf3e9}.playbar #play{letter-spacing:1px}.scene-status{color:#97512c}
#view3d-tools{background:#f7ede0;border-color:#dbc8b2}#view3d-tools>span{color:#9b5942}#spatial-hint{background:#f2e7d8df;color:#896448}.filter-heading{color:#9c6550}.workspace-footer{color:#997b65}
dialog{border-color:#d3b597;box-shadow:0 25px 90px #392a2829}#toast{background:#a83232;color:#fffaf2;border-color:#b95f4e}.tab-content p,.tab-content ol{color:#78655e}.controls-panel,.model-list{scrollbar-color:#c7aa91 transparent}
@media(max-width:720px){.mobile-dock{background:#fff9f0f5;border-color:#d7b99c;box-shadow:0 8px 40px #5e3b2926}.mobile-dock button:first-child{background:#a83232;color:#fffaf2}.controls-panel .tabbar{background:#fcf7ee}.controls-panel{box-shadow:0 -10px 40px #5e3b291c}.seal{padding:6px 5px}}

.top-actions .workbench-link{display:inline-flex;align-items:center;white-space:nowrap;color:#a83232;background:#f5e5dd;border:1px solid #d7b7a4;border-radius:6px;padding:8px 10px;margin:0;font-size:11px}@media(max-width:720px){.top-actions .workbench-link{display:inline-flex;font-size:9px;padding:7px}.top-actions #my-scenes{display:none}}

/* Classroom tools retain the established ivory and red palette. */
.lesson-title{display:flex;flex-direction:column;gap:6px;grid-column:1/-1;font-size:11px;color:#78655e}.lesson-title input{width:100%;min-width:0}.lesson-save-note{grid-column:1/-1;font-size:10px;line-height:1.8;color:#78655e}.answer-note{padding:10px 14px;border:1px dashed #b78c65;border-radius:7px;background:#f5e9d7;color:#784d35;font-size:12px;line-height:1.8}
.answers-hidden #metrics,.answers-hidden #compare-metrics,.answers-hidden #plots,.answers-hidden .plot-heading,.answers-hidden .data-section,.answers-hidden #formula,.answers-hidden #fit-result{display:none!important}.answers-hidden #scene-status{visibility:hidden}.large-controls .scene-toolbar button,.large-controls .playbar button,.large-controls .playbar select{font-size:16px;min-height:48px}.large-controls .scene-toolbar{flex-wrap:wrap}.large-controls .scene-toolbar>div{flex-wrap:wrap}.large-controls .playbar{flex-wrap:wrap}.large-controls .tabbar button{min-height:48px;font-size:15px}.large-controls .control input[type=range]{min-height:36px}
@media(max-width:720px){.scene-toolbar>div{flex-wrap:wrap;justify-content:flex-end}.scene-toolbar{gap:5px}.large-controls .scene-toolbar button{font-size:12px;min-height:44px}.lesson-title input{font-size:16px}.answer-note{font-size:11px}}

#handle-layer{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.physics-handle{position:absolute;width:44px;height:44px;min-height:44px;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;color:#922b2d;font-size:19px;pointer-events:auto;touch-action:none;cursor:grab;display:grid;place-items:center;text-shadow:0 1px #fff}.physics-handle:before{content:'';position:absolute;width:27px;height:27px;border:2px solid #a83232;border-radius:50%;background:#fff5e9dd;box-shadow:0 0 0 3px #fffaf285;z-index:-1}.physics-handle:hover,.physics-handle:focus-visible{background:#a8323215;border-radius:50%}.physics-handle:active{cursor:grabbing}.interaction-note{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f4e7d5;padding:8px 12px;font-size:11px;line-height:1.7;color:#78533a}.interaction-note button{min-height:34px;font-size:11px;white-space:nowrap}

.clock-explanation{margin:6px 0;color:#80674c;font-size:11px;line-height:1.7}.playbar{flex-wrap:wrap}.playbar #time-label{font-size:12px;max-width:100%;margin-left:auto;overflow-wrap:anywhere}#static-hint{color:#9a3d30;background:#f4e5d7;padding:7px 10px;border-radius:5px}
