:root{--green:#143a2b;--gold:#c6a875;--paper:#f6f3eb}button,select{font-family:inherit}button{min-height:44px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b68c42;outline-offset:3px}[hidden]{display:none!important}
.topbar{height:72px;padding:0 30px;gap:20px}.brand{gap:20px}.brand img{width:172px;height:auto;background:#fff;padding:5px 8px;border-radius:3px}.brand-caption{font-size:13px;letter-spacing:2px;border-left:1px solid #ffffff30;padding-left:20px}.brand-caption small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:5px;color:#bdc9be}.header-actions{margin-left:auto;display:flex;gap:5px}.header-actions button{background:transparent;color:#d9dfd2;font-size:12px;padding:0 13px;border-radius:4px}.header-actions button:hover{background:#ffffff10}.header-actions #toolsToggle{border-left:1px solid #ffffff20;border-radius:0;color:#acbcac;font-size:11px;margin-left:10px}
.review-layout{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 72px)}.inspector{display:none}.tools-open .review-layout{grid-template-columns:minmax(0,1fr) 306px}.tools-open .inspector{display:block}.view-heading{top:27px;left:32px;padding:15px 19px;background:linear-gradient(110deg,#faf8f0e6,#faf8f060);border:1px solid #ffffff40;border-radius:5px;max-width:calc(100% - 300px)}.view-heading h1{font-size:24px;font-weight:500;letter-spacing:1px}.view-heading p{font-size:11px;color:#566452}.view-heading .eyebrow{font-size:9px;color:#83714c}.mode-bar{top:35px;right:32px}.mode-bar button{font-size:12px}.guide-panel{bottom:53px;left:32px;width:440px;padding:14px 17px;border-radius:6px;background:#153c2df5}.guide-caption{font-size:12px}.guide-buttons button,.guide-buttons select{min-height:44px;font-size:12px}.guide-buttons .guide-primary{min-width:136px}.guide-buttons label{font-size:11px}.guide-buttons{gap:8px}.guide-progress{margin:10px 0}.guide-caption>span{color:#d6c39b;font-size:11px}.bottom-strip{font-size:10px;background:#173d2de8}.bottom-strip span:last-child{opacity:.75}.visit-actions{position:absolute;right:32px;bottom:58px;display:flex;gap:9px}.visit-actions button{background:#f8f4e9f2;border:1px solid #b7ad8e60;color:#2d4838;padding:0 18px;font-size:12px;border-radius:4px;box-shadow:0 5px 20px #22352214}.visit-actions #infoOpen{background:#173d2def;color:#f0eadb}.walk-controls{right:32px;bottom:125px;opacity:.75}.walk-controls .move{min-width:44px;min-height:44px}.joystick{display:none}.surface-card{bottom:210px}#crosshair{opacity:.45}#interactionHint{position:absolute;left:50%;top:58%;transform:translateX(-50%);background:#163c2cef;color:#f1e5c9;border:1px solid #c7aa7566;padding:12px 18px;border-radius:30px;font-size:12px;box-shadow:0 5px 25px #152c2320;max-width:90%}
#caption{position:absolute;left:50%;bottom:202px;transform:translateX(-50%);width:min(650px,calc(100% - 64px));padding:12px 18px;border-radius:5px;background:#14291fe8;color:#f4eddd;pointer-events:none}#caption span{font-size:10px;color:#d8bd87}#caption p{font-size:13px;line-height:1.8;margin:5px 0 0}.toast{bottom:auto;top:145px;z-index:15;background:#153c2df2;font-size:12px;max-width:80%}
dialog{width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #ddd6c3;border-radius:12px;background:var(--paper);color:#294234;padding:36px;box-shadow:0 25px 100px #00180f40}dialog::backdrop{background:#0a221b88;backdrop-filter:blur(5px)}dialog h2{font-weight:500;font-size:26px;letter-spacing:.5px;line-height:1.45;margin:12px 38px 12px 0}.dialog-intro{font-size:13px;line-height:1.9;color:#647360;margin:0 0 22px}.dialog-close{position:absolute;right:15px;top:12px;background:transparent;color:#69806a;font-size:27px;width:44px;border-radius:50%}.dialog-close:hover{background:#e6e8db}.primary-button,.secondary-button{padding:12px 20px;border-radius:4px;background:#184430;color:#f3e9d6;font-size:13px;margin:12px 8px 0 0}.secondary-button{background:#e8e9df;color:#426046}.pause-note{font-size:11px;color:#6d7d67;margin:20px 0 0}#fullGuideMap{width:100%;max-height:280px;background:#eaeadd;border-radius:5px;margin-bottom:20px}.point-list{grid-template-columns:repeat(4,1fr);gap:8px}.point-list button{padding:10px;font-size:12px;min-height:48px}.point-list button[aria-current=step]{background:#1d4936;color:#f0e5c9;border-color:#b59c69}.point-list button[data-visited=true]:after{content:'✓';margin-left:auto;color:#9e8856;font-size:10px}
#contentTabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;border-bottom:1px solid #d7dccd;padding-bottom:10px}#contentTabs button{background:transparent;padding:10px 17px;color:#66795d;font-size:13px;border-radius:4px}#contentTabs button[aria-selected=true]{background:#e2e7d9;color:#244c32}#contentArticle{font-size:14px;line-height:2;color:#51664c;min-height:100px;padding:20px 0}#deviceList{display:grid;gap:9px}#deviceList button{display:flex;align-items:center;justify-content:space-between;background:#e6eadd;border:1px solid #d4ddc8;border-radius:5px;color:#3e5a40;padding:12px 16px;text-align:left;font-size:13px}#deviceList button small{color:#69825e;font-size:11px}#deviceList button[aria-pressed=true]{background:#1e4834;border-color:#1e4834;color:#f2ead6}#deviceList button[aria-pressed=true] small{color:#c5d6b2}.reference-dialog{width:min(1100px,calc(100vw - 32px))}.reference-dialog img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#deded0;border-radius:5px}.reference-dialog .dialog-intro{margin:14px 0 0;font-size:11px}
.preference{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;padding:10px 0;border-bottom:1px solid #d8ddcf;font-size:14px}.preference select{max-width:60%;min-height:44px;border:1px solid #c7d0b9;border-radius:4px;padding:6px 10px;background:#f7f7ee;color:#3f5a39}.preference input{accent-color:#265238}.preference input[type=checkbox]{width:20px;height:20px}.preference input[type=range]{width:150px}.setting-note{font-size:11px;line-height:1.8;color:#6a7e61}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.help-grid p{font-size:13px;line-height:1.9;color:#64745b;margin:0;padding:16px;background:#ebeee1;border-radius:5px}.help-grid b{display:block;font-size:14px;color:#314d36;margin-bottom:6px}#summaryPoints{display:flex;flex-wrap:wrap;gap:8px}#summaryPoints span{padding:8px 12px;background:#e3e8d8;border-radius:4px;font-size:12px;color:#557148}.performance{font:10px/1.8 Consolas,monospace;color:#6c7d63;margin:12px 0}.inspector .downloads{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.inspector .downloads a{font-size:11px;border:1px solid #ccd3bf}
.minimal .topbar,.minimal .view-heading,.minimal .mode-bar,.minimal .bottom-strip,.minimal .visit-actions{display:none}.minimal .review-layout{height:100dvh;grid-template-columns:1fr}.minimal .inspector{display:none}.minimal .guide-panel{opacity:.7;bottom:20px}.minimal .guide-panel:hover,.minimal .guide-panel:focus-within{opacity:1}#exitMinimal{position:absolute;right:20px;top:20px;background:#153c2dcc;color:#f2ead6;padding:8px 15px;border-radius:4px;font-size:11px}.minimal #caption{bottom:174px}
@media(max-width:900px){.brand-caption{display:none}.header-actions button{padding:0 9px}.view-heading{max-width:calc(100% - 240px)}.tools-open .review-layout{grid-template-columns:1fr}.tools-open .inspector{position:absolute;right:0;top:72px;bottom:0;z-index:7;width:306px;box-shadow:-15px 0 35px #12352130}.guide-panel{width:420px}.visit-actions{right:20px;gap:6px}.visit-actions button{padding:0 12px}}
@media(max-width:760px){body{height:100dvh;overflow:hidden}.topbar{height:58px;padding:0 12px;gap:5px}.brand img{width:120px;padding:3px 5px}.header-actions{gap:0}.header-actions button{font-size:11px;padding:0 8px}.header-actions #toolsToggle,.header-actions #fullscreen{display:none}.review-layout{display:block;height:calc(100dvh - 58px)}.viewport{height:100%;min-height:0}.view-heading{top:15px;left:12px;padding:10px 12px;max-width:calc(100% - 24px);background:#f9f5e9cc}.view-heading h1{font-size:19px;margin:6px 0}.view-heading p{font-size:9px}.mode-bar{top:119px;left:12px;right:auto;padding:3px}.mode-bar button{font-size:11px;padding:8px 13px;min-height:38px}.guide-panel{left:12px;right:12px;bottom:39px;width:auto;padding:11px 12px}.guide-buttons{gap:6px}.guide-buttons button{padding:7px 10px}.guide-buttons .guide-primary{min-width:123px}.guide-buttons label{font-size:10px}.guide-buttons select{max-width:65px;padding:4px}.guide-caption{font-size:11px}.visit-actions{bottom:180px;right:12px;flex-direction:column;gap:5px}.visit-actions button{font-size:11px;padding:0 12px;min-height:40px}.bottom-strip{height:28px;padding:0 12px}.bottom-strip span{font-size:8px}.bottom-strip span:last-child{display:none}.walk-controls{display:none!important}.joystick{display:block;position:absolute;left:20px;bottom:180px;width:96px;height:96px;border-radius:50%;background:#e6ebda77;border:1px solid #36594040;touch-action:none}.joystick>span{position:absolute;left:30px;top:30px;width:36px;height:36px;border-radius:50%;background:#214934bd;box-shadow:0 3px 12px #263c2330;pointer-events:none}.joystick small{position:absolute;bottom:-17px;width:100%;text-align:center;font-size:9px;color:#4c6248;pointer-events:none}body[data-guiding=true] .joystick,body[data-mode=orbit] .joystick{display:none}#caption{width:calc(100% - 24px);bottom:300px;padding:10px 12px}#caption p{font-size:11px;line-height:1.75}.toast{top:180px;font-size:11px}#interactionHint{top:48%;font-size:11px}dialog{padding:28px 22px;max-height:calc(100dvh - 24px)}dialog h2{font-size:22px}.point-list{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr}.preference{font-size:13px}#guideMap{max-height:150px}.guide-panel:has(#guideMapWrap:not([hidden]))~.visit-actions,.viewport:has(#guideMapWrap:not([hidden])) #caption,.viewport:has(#guideMapWrap:not([hidden])) .joystick{display:none}.tools-open .inspector{top:58px}.minimal .guide-panel{bottom:12px}.minimal #caption{bottom:275px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.wall-reader-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 24px}.wall-reader-list button{min-height:44px;padding:9px 14px;border:1px solid #b9c4ac;border-radius:4px;background:#eef0e6;color:#244831;font:inherit;text-align:left;cursor:pointer}#wallReaderSection h3{font-size:17px;font-weight:500}#wallServiceDetails{text-align:left;border-top:1px solid #cbd3be;margin-top:24px;padding-top:10px}

/* v4.2: readable service and project content, independent of texture size. */
#wallContentBody{margin:20px 0;color:#284332;font-size:16px;line-height:1.8}
#wallContentBody h3{font-size:20px;margin:8px 0}#wallContentBody h4{margin:18px 0 5px}
.content-deck{font-size:18px;color:#667460}.wall-content-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.wall-content-cards section{background:#edf0e5;padding:22px;border:1px solid #d5dccd}.wall-content-cards p{margin:12px 0 0}.content-number{color:#8b7348;font-size:14px}
.content-source-note{font-size:13px;color:#687363;border-top:1px solid #d1d8c9;padding-top:14px}
.service-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-directory button{display:block;width:100%;text-align:left;padding:14px;background:#edf0e5;color:#244332;border:1px solid #d1d9ca;margin:8px 0;line-height:1.6;cursor:pointer}.service-directory small{display:block;white-space:normal}.service-directory [aria-pressed=true]{background:#244d39;color:#fff6e3}
.service-selection{background:#f3efe3;border-left:3px solid #a48c5b;padding:20px;margin-top:22px}.related-walls,.wall-device-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.wall-device-controls h3{flex-basis:100%}.wall-device-controls button{padding:12px;border:1px solid #aab99f;background:#edf0e5;color:#244332;border-radius:4px;cursor:pointer}.wall-device-controls button[aria-pressed=true]{background:#244d39;color:#f4efdf}
#wallImageDetails{padding:16px 0;border-top:1px solid #d1d9ca}#wallImageDetails summary{cursor:pointer;color:#28513b}#wallImageDetails img{margin-top:16px}
.cooperation-brief label{display:block;margin:16px 0;font-size:15px;font-weight:600}.cooperation-brief textarea{display:block;box-sizing:border-box;width:100%;padding:12px;margin-top:8px;border:1px solid #b8c4af;background:#faf8f1;color:#244332;font:400 16px/1.6 "Microsoft YaHei",sans-serif;resize:vertical}.brief-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf0e5;padding:18px;font:inherit;max-width:100%}
#wallContentBody button:focus-visible,#wallImageDetails summary:focus-visible{outline:3px solid #ad8c4e;outline-offset:3px}
@media(max-width:650px){.service-directory{grid-template-columns:1fr}.wall-content-cards{grid-template-columns:1fr}.wall-content-cards section{padding:16px}.related-walls button,.wall-device-controls button{width:100%}}
.wall-support{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;background:#f1eee1;padding:20px;margin:20px 0}.wall-support dt{font-weight:600}.wall-support dd{margin:0}@media(max-width:500px){.wall-support{grid-template-columns:1fr;gap:6px}.wall-support dd{margin-bottom:10px}}
#displayDialog>.dialog-close,#mapDialog>.dialog-close{position:sticky;top:0;right:0;float:right;z-index:5;background:#f3efe4;box-shadow:0 2px 10px #173f301a}

.visit-actions .proposal-entry{display:flex;align-items:center;justify-content:center;min-height:44px;background:#f8f4e9f2;border:1px solid #b7ad8e60;color:#2d4838;padding:0 18px;font-size:12px;border-radius:4px;box-shadow:0 5px 20px #22352214;text-decoration:none}.visit-actions .proposal-entry:focus-visible{outline:3px solid #ac8c48;outline-offset:3px}@media(max-width:760px){.visit-actions .proposal-entry{min-height:40px;padding:0 12px;font-size:11px}}
