#oShell{position:fixed;inset:0;z-index:30;background:#d7d1c2;color:#303c37;font-family:system-ui,-apple-system,"Noto Sans CJK SC",sans-serif;overflow:auto}#oShell[hidden]{display:none}#oShell *{box-sizing:border-box}#oShell button{border:1px solid #b6b7a777;border-radius:18px;background:#f7f3e5ec;color:#29453e;padding:10px 17px;font:inherit;min-height:44px;cursor:pointer;box-shadow:none}#oShell button.active{background:#2e534b;color:#fff6df;border-color:#2e534b}#oShell button:focus-visible{outline:3px solid #aa6c25;outline-offset:3px}.o-top{position:relative;z-index:5;display:flex;gap:9px;align-items:center;padding:14px 22px}.o-brand{flex:1;text-align:center;letter-spacing:.18em;font-size:13px;color:#496052}.o-brand small{letter-spacing:0;display:block;font-size:10px;margin-top:3px}.o-heading{position:absolute;top:86px;left:5%;right:5%;z-index:3;pointer-events:none}.o-heading span{font-size:12px;letter-spacing:.15em;color:#6e775a}.o-heading h1{font-size:clamp(24px,2.3vw,39px);font-weight:600;line-height:1.3;margin:9px 0}.o-heading p{font-size:15px;max-width:700px;color:#5d6c60;margin:7px 0}#oWorld{position:absolute;inset:130px 0 206px}#oStage{width:100%;height:100%;min-height:240px}#oStage canvas{width:100%;height:100%;display:block;outline-offset:-5px}#oLabels{position:absolute;inset:0;pointer-events:none}#oLabels button{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);white-space:nowrap;font-size:14px;font-weight:550;padding:8px 13px;min-height:42px;background:#fff6e2e8;box-shadow:0 4px 22px #4a372118}#oShell.hub #oWorld{top:153px;bottom:90px}#oShell.hub .o-dock{padding:10px 18px}.o-dock{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:10px 4% 14px;background:linear-gradient(0deg,#eee8d9 10%,#eee8d9ed 92%,#eee8d977);text-align:center;box-shadow:0 -8px 28px #44311607}#oParts,#oViewTools,#oActionTools,.o-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:5px 0}.o-dock #oParts button{padding:6px 13px;min-height:36px;border:none;font-size:13px}.o-bottom button{font-size:12px!important;padding:5px 10px!important;min-height:34px!important;background:transparent!important}.o-dock #oActionTools button{font-size:13px;padding:5px 14px;min-height:38px}#oCaption{margin:7px auto;font-size:15px;line-height:1.6;max-width:950px}#oMore{font-size:12px;color:#627064}#oMore p{max-width:840px;margin:8px auto;line-height:1.7}#oFeedback{position:absolute;top:154px;right:32px;max-width:410px;z-index:7;background:#233f35ed;color:#fff0cd;border-radius:13px;padding:0;pointer-events:none;font-size:14px;line-height:1.5}#oFeedback:not(:empty){padding:13px 20px}#oEvidence{position:absolute;top:178px;right:3%;width:39%;bottom:226px;overflow:auto;background:#fffaf0f5;border:1px solid #bfb69c;border-radius:23px;padding:20px;z-index:4;box-shadow:0 8px 30px #68593915}#oEvidence[hidden]{display:none}#oShell.evidence #oWorld{right:43%}#oEvidence h2{font-size:23px;margin:8px 0 16px}#oEvidence p{font-size:13px;line-height:1.6}#oEvidence .o-kicker{font-size:11px;color:#6b7d63}#oPhotoWindow{height:220px;overflow:auto;background:#e1d8c8;border-radius:9px}#oPhotoWrap{position:relative;width:100%}#oPhoto{display:block;width:100%;height:auto}#oFeature{position:absolute;border:3px solid #efb148;box-shadow:0 0 0 1px #233d33;pointer-events:none}#oEvidenceParts button{font-size:11px;padding:5px 7px;margin:3px;min-height:34px}#oIdentity,#oMediaBoundary{border-left:3px solid #b8a572;padding-left:10px}#oPhotoStatus{color:#51764a}#oTimePanel{position:absolute;z-index:3;right:3%;top:190px;width:27%;padding:19px;border-radius:18px;background:#faf5e7eb}#oTimePanel h2{font-size:20px}#oTimePanel p{font-size:13px;line-height:1.7}#oDates{display:flex;flex-wrap:wrap;gap:8px}#oDates button{font-size:12px;padding:7px}#oYear{width:100%;accent-color:#9a6b30;min-height:44px}#oTimePanel label{font-size:12px}#oYearValue{display:block;font-size:22px}#oShell.time #oWorld{right:29%;top:166px}#oRecords{position:absolute;top:192px;right:3%;width:29%;z-index:3;background:#f8f3e3e8;border-radius:16px;padding:15px}#oRecords h2{font-size:18px}#oRecords p{font-size:13px;line-height:1.6}#oRecordItems{display:flex;gap:8px}#oRecordItems div{flex:1;padding:9px;background:#e4e6d5;border-radius:10px;font-size:13px}#oRecords[hidden]{display:none}#oPause,#oFailure{position:fixed;z-index:90;inset:25% 25%;background:#fcf8ee;border-radius:28px;padding:40px;box-shadow:0 0 0 100vmax #143d3455;line-height:1.8;text-align:center}#oPause button,#oFailure button{margin:8px}#oAccessItems button,#oLinkItems button{display:block;width:100%;margin:9px 0;text-align:left;font:inherit;padding:14px;border:1px solid #c2c8b6;border-radius:12px;background:#f5f1e7;color:#33564a}#oLinkItems small{display:block;font-size:12px;line-height:1.5;margin-top:6px}body.object-inquiry>header,body.object-inquiry>#stage,body.object-inquiry>#labels{visibility:hidden}#objectDesk{margin:0 6px}
@media(max-width:760px){.o-top{padding:9px;gap:5px;flex-wrap:wrap}.o-top button{padding:8px;font-size:12px;min-height:39px}.o-brand{min-width:70px;font-size:10px}.o-heading{top:103px;left:17px;right:17px}.o-heading h1{font-size:23px}.o-heading p{font-size:12px;line-height:1.5}.o-heading span{font-size:10px}#oWorld{top:202px;bottom:245px}#oShell.hub #oWorld{top:212px;bottom:98px}#oLabels button{font-size:12px;padding:5px 8px;min-height:40px}.o-dock{padding:9px 10px}.o-dock button{font-size:12px!important;padding:7px 9px!important}#oCaption{font-size:12px;line-height:1.6;margin:8px 0}#oMore{font-size:11px}.o-bottom{gap:2px}.o-bottom button{font-size:11px!important}#oShell.evidence,#oShell.time{overflow:auto}#oShell.evidence #oWorld,#oShell.time #oWorld{position:relative;inset:auto;margin-top:148px;height:255px}#oEvidence,#oTimePanel,#oRecords{position:relative;inset:auto;width:auto;margin:10px 14px;padding:15px;max-height:none}#oShell.evidence .o-dock,#oShell.time .o-dock{position:relative;margin-top:15px}#oPhotoWindow{height:245px}#oPause,#oFailure{inset:24% 7%;padding:22px}#oFeedback{top:176px;left:18px;right:18px;font-size:12px}#oRecords{position:absolute;top:188px;right:12px;left:12px;font-size:11px;padding:10px}#oRecords h2{font-size:14px;margin:4px 0}}
@media(prefers-reduced-motion:reduce){#oShell *{scroll-behavior:auto!important;transition:none!important}}

#oShell{color-scheme:light;overflow-x:hidden}#oShell .o-top{left:0;right:0;top:0;width:100%;pointer-events:auto}#oShell .o-dock{pointer-events:auto}#oLabels button:hover{transform:translate(-50%,-50%);background:#fff9e9}#oStage canvas{touch-action:none}#oShell #oRecords{pointer-events:none}#oAccess,#oLinks,#oSourceDialog{z-index:100}#oShell.hub #oDesk{display:none}

#oTimeGraphic{position:absolute;left:3%;right:32%;top:212px;height:330px;z-index:3}#oTimeGraphic svg{width:100%;height:100%}#oShell.time #oWorld{top:490px;bottom:215px;right:30%}#oShell.time #oLabels{display:none}@media(max-width:760px){#oTimeGraphic{position:relative;inset:auto;height:265px;margin:142px 8px 0;overflow-x:auto}#oTimeGraphic svg{min-width:650px}#oShell.time #oWorld{position:relative;inset:auto;height:150px;margin:0}#oShell.time #oTimePanel{position:relative;inset:auto;margin:0 14px}#oShell.time .o-dock{position:relative}#oTimeGraphic text{font-size:16px}}

#oPhotoWrap{margin:0 auto}#oCaption:empty{display:none}

/* Q3 interaction closeout: keep the object primary and disclose secondary tools. */
#oShell button{min-width:48px;min-height:48px}
#oParts{display:none!important}
#oViewTools{gap:3px;margin:4px 0}
#oViewTools button{border:0;border-radius:4px;background:transparent;box-shadow:inset 0 -2px 0 #8a927f;color:#3b584f;padding:8px 14px}
#oViewTools button.active{box-shadow:inset 0 -4px 0 #2e534b;background:transparent;color:#24443d}
#oActionTools{margin:4px 0}
.o-dock #oActionTools button{min-height:48px}
.o-bottom{align-items:center;gap:6px}
.o-bottom>button,.o-bottom>details>summary{font-size:12px!important;min-height:48px!important;padding:8px 13px!important}
#oTools{position:relative}
#oTools>summary{display:flex;align-items:center;justify-content:center;border:1px solid #b6b7a777;border-radius:18px;background:transparent;color:#29453e;cursor:pointer;list-style:none;white-space:nowrap}
#oTools>summary::-webkit-details-marker{display:none}
#oTools[open]>summary{background:#2e534b;color:#fff6df}
.o-tool-grid{position:absolute;right:0;bottom:56px;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:7px;width:238px;padding:10px;border:1px solid #b9b6a5;border-radius:16px;background:#fffaf1;box-shadow:0 8px 28px #273a2d2b}
#oTools:not([open]) .o-tool-grid{display:none}
.o-tool-grid button{min-height:48px!important;background:#f7f3e5!important}
#oShell.evidence #oLabels{display:none}
#oShell.records #oWorld{right:34%}
#oShell.records #oRecords{right:3%;width:28%;top:206px}
#oShell.time #oWorld{left:3%;right:67%;top:190px;bottom:215px}
#oTimeGraphic{left:35%;right:33%;top:190px;height:auto;bottom:215px}
#oTimeGraphic svg{width:100%;height:100%;min-width:0}
#oTimePanel{width:27%;top:190px;bottom:215px;overflow:auto}

@media(max-width:760px){
 #oShell button,.o-top button,#oLabels button,.o-dock button,#oEvidenceParts button,#oDates button{min-width:48px;min-height:48px}
 #oShell[data-view="whole"] #oLabels,#oShell[data-view="layers"] #oLabels{display:none}
 .o-dock{padding:8px 10px 12px}
 #oViewTools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
 #oViewTools button{padding:7px 4px!important;white-space:normal}
 #oActionTools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .o-bottom{gap:5px}
 .o-bottom>button,.o-bottom>details>summary{font-size:12px!important}
 .o-tool-grid{position:fixed;right:12px;bottom:70px;width:240px}
 #oShell.records{overflow:auto}
 #oShell.records #oWorld{position:relative;inset:auto;margin-top:148px;height:300px}
 #oShell.records #oRecords{position:relative;inset:auto;width:auto;margin:8px 14px;padding:15px}
 #oShell.records .o-dock{position:relative;margin-top:10px}
 #oShell.time #oWorld{position:relative;inset:auto;margin:142px 0 0;height:240px}
 #oTimeGraphic{position:relative;inset:auto;height:330px;margin:0 8px;overflow:hidden}
 #oTimeGraphic svg{min-width:0;width:100%;height:100%}
 #oShell.time #oTimePanel{position:relative;inset:auto;width:auto;margin:0 14px;padding:15px;max-height:none;overflow:visible}
 #oShell.time .o-dock{position:relative;margin-top:15px}
}
