html,body{width:100%;height:100%}
.scheme-gallery-link{display:block;line-height:1.5;white-space:normal;overflow-wrap:anywhere;padding-bottom:3px}
#chapters button.selected:hover{background:#334a35;color:#fff}
#walk-pad{position:absolute;left:28px;bottom:173px;text-align:center}#walk-pad button{width:42px;height:38px;background:#f8f7efd9;color:#344d37;border:1px solid #ffffffb0;border-radius:3px;margin:2px;font-size:21px}#walk-pad button:hover{background:#fff}#walk-pad[hidden]{display:none}
:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#24372f;font-synthesis:none;--ink:#24372f;--paper:#f8f7f1;--line:rgba(53,65,51,.15);--accent:#476d55}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#e5eceb}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:2px solid #b8834e;outline-offset:4px}a{color:inherit;text-decoration:none}#viewport{position:fixed;inset:0}#viewport canvas{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;top:0;left:0;right:0;height:95px;display:flex;align-items:center;padding:0 34px;background:linear-gradient(180deg,rgba(250,249,241,.97),rgba(250,249,241,.82),transparent);gap:40px}.wordmark{font:500 30px Georgia,serif;letter-spacing:7px;white-space:nowrap}.wordmark span{font:14px Georgia,serif;letter-spacing:1px;color:#75816f}.project-title{font-size:10px;letter-spacing:2.5px;line-height:1.7;padding-left:30px;border-left:1px solid var(--line)}.project-title span{display:block;letter-spacing:2px;font-size:11px;color:#647364}.evidence-badge{margin-left:auto;background:rgba(251,250,244,.85);border:1px solid var(--line);border-radius:20px;padding:10px 14px;font-size:11px;color:#596550;letter-spacing:.3px}.evidence-badge i{display:inline-block;width:6px;height:6px;background:#ae824b;border-radius:50%;margin-right:6px}#story{position:absolute;left:34px;top:138px;width:267px;background:linear-gradient(110deg,rgba(250,249,243,.91),rgba(250,249,243,.69));padding:24px 22px;border:1px solid rgba(255,255,255,.55);border-radius:3px;backdrop-filter:blur(16px)}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#718067;font-weight:600}h1{font-family:Georgia,"Songti SC",SimSun,serif;font-weight:400;line-height:1.35;font-size:32px;letter-spacing:1px;margin:15px 0 17px}#story p{font-size:11px;line-height:1.95;color:#62705f;margin:0}.story-rule{height:1px;background:var(--line);margin:22px 0 13px}.scene-meta{display:flex;justify-content:space-between;font-size:9px;color:#71806c}.primary{margin-top:22px;width:100%;padding:13px 10px;background:var(--ink);color:white;display:flex;gap:9px;align-items:center;justify-content:center;font-size:11px;border-radius:2px}.primary:hover{background:#406048}.primary small{font-size:9px;opacity:.6;margin-left:auto}.primary span{font-size:9px}#tools{position:absolute;right:28px;top:133px;width:157px;padding:17px 15px;background:rgba(249,248,241,.86);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:3px}.tool-section{margin-bottom:17px}.tool-label{display:block;font-size:9px;letter-spacing:2px;color:#7d8578;margin:0 0 9px}.segmented{display:flex;background:#e9e9df;border-radius:3px;padding:3px}.segmented button{flex:1;padding:7px 0;background:transparent;color:#737e6c;font-size:10px;border-radius:2px}.segmented .active{background:#fffef8;box-shadow:0 1px 4px #0001;color:#33462c}.layers{display:flex;flex-direction:column;gap:4px}.layers button{text-align:left;font-size:10px;color:#798270;background:transparent;padding:6px 8px;border-left:2px solid transparent}.layers button.active{color:#2e4a34;border-left-color:#507253;background:#e4e7da}#swatches{display:flex;gap:12px;padding:3px}.swatch{width:21px;height:21px;border-radius:50%;background:var(--swatch);border:2px solid #f9f8f1;outline:1px solid #ccd0c1}.swatch.active{outline:2px solid #6d876b}.text-button{border-top:1px solid var(--line);font-size:10px;background:none;color:#52654c;width:100%;padding:12px 0 2px;margin-top:8px;text-align:left}.text-button small{font-size:8px;color:#939d88;margin-left:4px}.text-button:disabled{opacity:.4;cursor:wait}#chapters{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);display:flex;background:rgba(250,249,243,.94);border:1px solid #fff9;border-radius:4px;backdrop-filter:blur(20px);padding:7px;box-shadow:0 8px 32px #2c352113;max-width:calc(100vw - 68px);width:990px}#chapters button{flex:1;min-width:92px;position:relative;background:transparent;color:#66745c;text-align:left;padding:10px 12px;border-right:1px solid var(--line);border-radius:2px;transition:.2s}#chapters button:last-child{border:0}#chapters span{font-size:9px;opacity:.65;display:block;margin-bottom:6px}#chapters strong{font-size:11px;font-weight:500;display:block;white-space:nowrap}#chapters small{font-size:7px;letter-spacing:1px;display:block;margin-top:5px;opacity:.65}#chapters button:hover{background:#e6e9dc}#chapters .selected{background:#334a35;color:#fff}#compass{position:absolute;bottom:180px;right:78px;text-align:center;font-size:9px;color:#3f5542}#compass span{display:block;line-height:1}#compass svg{width:41px;height:41px;stroke:#61755a;stroke-width:.7;fill:none;display:block;margin:5px auto}#compass svg path{fill:#61755a}#compass small{font-size:8px;opacity:.7}#help{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.4px;color:#fff;text-shadow:0 1px 6px #000;display:flex;align-items:center;gap:8px;background:#23332560;border-radius:25px;padding:7px 13px}#help button{border:1px solid #ffffff65;color:white;background:transparent;border-radius:50%;width:17px;height:17px;font-size:10px;padding:0}footer{position:absolute;bottom:0;left:0;right:0;height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;font-size:8px;letter-spacing:1px;color:#6d7c68;background:rgba(249,248,241,.89)}footer span:nth-child(2){font-size:9px;letter-spacing:.6px}#toast{position:absolute;top:93px;left:50%;transform:translate(-50%,-10px);background:#263f2ce8;color:white;padding:10px 20px;border-radius:24px;font-size:12px;pointer-events:none;opacity:0;transition:.25s;max-width:85vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}#crosshair{position:absolute;left:50%;top:50%;color:#fff9;font-size:22px;transform:translate(-50%,-50%);pointer-events:none}#tour-progress{position:absolute;top:0;left:0;right:0;height:3px;background:#c9c4ad}#tour-progress div{height:100%;background:#607951;width:0}dialog{color:var(--ink);background:#f8f7ef;border:1px solid white;border-radius:7px;max-width:740px;width:calc(100% - 40px);padding:38px;box-shadow:0 24px 100px #182e304d}dialog::backdrop{background:#1c332a80;backdrop-filter:blur(8px)}dialog h2{font-weight:400;font-family:Georgia,"Songti SC",SimSun,serif;font-size:28px;margin:14px 0 25px}dialog h3{font-size:13px;font-weight:500}dialog p{font-size:12px;line-height:1.9;color:#6b7564}dialog .close{position:absolute;right:18px;top:12px;font-size:28px;background:none;color:#6d7d66;font-weight:200}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.evidence-grid a{font-size:11px;border-bottom:1px solid #8c9d7b}.note{font-size:10px!important;margin-top:25px}.source-links{display:flex;gap:25px;font-size:10px;color:#688059;margin-top:23px}#loading{position:fixed;inset:0;z-index:99;background:#efeee7;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s}#loading p{font-size:12px;letter-spacing:2px;color:#72806a;margin-top:24px}.loadline{width:160px;height:1px;background:#a7b79a;animation:pulse 1s infinite alternate}@keyframes pulse{to{width:40px;opacity:.3}}body.walking #story{opacity:0;pointer-events:none}body.walking #tools{opacity:.65}body.walking #tools:hover{opacity:1}#story{transition:opacity .3s}
@media(max-width:1000px){header{padding:0 22px;gap:20px}.project-title{display:none}#story{left:22px;width:222px;top:118px;padding:20px}h1{font-size:27px}#tools{right:20px;top:118px}#chapters{overflow-x:auto;max-width:calc(100vw - 40px)}#chapters button{min-width:105px}footer span:last-child{display:none}#compass{right:67px}}
@media(max-height:740px){#story{top:105px;padding:18px}#tools{top:105px}.tool-section{margin-bottom:10px}#compass{display:none}#story p{font-size:10px}.story-rule{margin:14px 0 10px}.primary{margin-top:15px}h1{font-size:27px;margin:12px 0}#help{bottom:147px}}
@media(max-width:650px){header{height:76px;padding:0 17px}.wordmark{font-size:24px;letter-spacing:4px}.wordmark span{font-size:11px}.evidence-badge{padding:8px;font-size:9px}#story{top:88px;left:17px;width:198px;padding:15px}#story h1{font-size:24px}#story p{font-size:10px}.scene-meta{font-size:8px}#tools{top:88px;right:14px;width:111px;padding:12px 9px}.tool-label{font-size:8px}.layers button{font-size:9px}.text-button{font-size:9px}.text-button small{display:none}#chapters{bottom:40px;max-width:calc(100% - 24px);padding:5px}#chapters button{min-width:94px;padding:8px 10px}#help{bottom:140px;white-space:nowrap;font-size:9px}footer{padding:0 14px;font-size:7px}footer span:first-child{display:none}footer span:nth-child(2){font-size:8px;letter-spacing:0}.evidence-grid{grid-template-columns:1fr;gap:0}dialog{padding:25px}.source-links{gap:15px}#compass{display:none}}

/* Localized concept viewer; keep text direction separate from spatial controls. */
body[data-model-page] header{gap:18px;height:90px}
.model-languages{display:flex;align-items:center;gap:3px;flex:none;padding:3px;border:1px solid var(--line);border-radius:18px;background:#faf9f1e6;font-size:10px;white-space:nowrap}
.model-languages a{padding:6px 8px;border-radius:13px;line-height:1.3}
.model-languages a.active{background:var(--ink);color:white}
#model-boundary{position:absolute;top:89px;left:50%;transform:translateX(-50%);margin:0;padding:6px 14px;background:#f8f7efe8;border:1px solid #ffffffb3;border-radius:4px;color:#65745d;font-size:10px;line-height:1.5;text-align:center;max-width:calc(100vw - 40px);width:max-content;pointer-events:none}
body[data-model-page] #tools,body[data-model-page] #smart-panel,body[data-model-page] #story{top:133px}
body[data-model-page] #tools{max-height:calc(100vh - 290px)}
body[data-model-page] #chapters{overflow-x:auto}
body[data-model-page] #chapters strong{white-space:normal}
body[data-model-page] .project-title{padding-left:18px;letter-spacing:1.5px}
body[data-model-page] .project-title span{letter-spacing:.5px}
body[data-model-page] #tools .segmented button{overflow-wrap:anywhere;padding-inline:3px}
body[data-model-page] .energy-detail{gap:8px;flex-wrap:wrap}
body[data-model-page] .power-flow strong,body[data-model-page] #soc-value,body[data-model-page] .energy-parameters input{direction:ltr;unicode-bidi:isolate}
body[data-model-page] #walk-pad,body[data-model-page] #compass{direction:ltr}
body[data-model-page] #compass{pointer-events:none}
@media(max-height:880px){body[data-model-page] #compass{display:none}}
html[dir=rtl] body[data-model-page]{font-family:"Segoe UI",Tahoma,Arial,sans-serif}
html[dir=rtl] body[data-model-page] .eyebrow,html[dir=rtl] body[data-model-page] .tool-label,html[dir=rtl] body[data-model-page] h1,html[dir=rtl] body[data-model-page] .smart-heading h2,html[dir=rtl] body[data-model-page] footer{letter-spacing:0}
html[dir=rtl] body[data-model-page] h1,html[dir=rtl] body[data-model-page] h2{font-family:"Segoe UI",Tahoma,Arial,sans-serif}
html[dir=rtl] body[data-model-page] .project-title{padding-left:0;padding-right:18px;border-left:0;border-right:1px solid var(--line)}
html[dir=rtl] body[data-model-page] .smart-toggle{margin-left:0;margin-right:auto}
html[dir=rtl] body[data-model-page] #story{left:auto;right:34px}
html[dir=rtl] body[data-model-page] #smart-panel{left:auto;right:28px}
html[dir=rtl] body[data-model-page] #tools{right:auto;left:28px}
html[dir=rtl] body[data-model-page] .layers button,html[dir=rtl] body[data-model-page] .text-button,html[dir=rtl] body[data-model-page] .device-control,html[dir=rtl] body[data-model-page] .smart-locations button,html[dir=rtl] body[data-model-page] #chapters button{text-align:right}
html[dir=rtl] body[data-model-page] .layers button{border-left:0;border-right:2px solid transparent}
html[dir=rtl] body[data-model-page] .layers button.active{border-right-color:#507253}
html[dir=rtl] body[data-model-page] .device-control em,html[dir=rtl] body[data-model-page] .energy-heading span,html[dir=rtl] body[data-model-page] .primary small{margin-left:0;margin-right:auto}
html[dir=rtl] body[data-model-page] #chapters button{border-right:0;border-left:1px solid var(--line)}
html[dir=rtl] body[data-model-page] #chapters button:last-child{border-left:0}
html[dir=rtl] body[data-model-page] dialog .close{right:auto;left:18px}
html[dir=rtl] body[data-model-page] .power-flow>span{transform:rotate(180deg)}
@media(max-width:1000px){body[data-model-page] header{gap:12px}html[dir=rtl] body[data-model-page] #story,html[dir=rtl] body[data-model-page] #smart-panel{right:20px}html[dir=rtl] body[data-model-page] #tools{left:20px}}
@media(max-width:650px){body[data-model-page] header{height:102px;align-content:center;flex-wrap:wrap;gap:8px 12px}body[data-model-page] header .wordmark{font-size:21px}body[data-model-page] .model-languages{margin-left:auto}body[data-model-page] .smart-toggle{margin-left:auto}body[data-model-page] .model-languages{font-size:10px;padding:2px}body[data-model-page] .model-languages a{padding:5px 7px}body[data-model-page] #model-boundary{top:104px;font-size:9px;max-width:calc(100vw - 24px);padding:5px 9px}body[data-model-page] #tools,body[data-model-page] #smart-panel,body[data-model-page] #story{top:148px}body[data-model-page] #tools{max-height:calc(100vh - 305px)}body[data-model-page] #help{max-width:calc(100vw - 24px);white-space:normal;text-align:center;font-size:9px}body[data-model-page] #chapters strong{font-size:10px}html[dir=rtl] body[data-model-page] #smart-panel{right:12px}html[dir=rtl] body[data-model-page] #story{right:17px}html[dir=rtl] body[data-model-page] #tools{left:12px}html[dir=rtl] body[data-model-page] .model-languages{margin-left:0;margin-right:auto}}
