:root{font-family:Inter,"Segoe UI","Microsoft YaHei UI",system-ui,sans-serif;color:#202033;background:#f8f8fd;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer}
.page-header,main{width:min(1320px,100%);margin:auto;padding:24px clamp(16px,3vw,36px)}
.page-header{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;border-bottom:1px solid #e1ddea}
.back-link{color:#51458d;text-decoration:none;font-size:14px;font-weight:700}
.back-link:focus-visible,button:focus-visible{outline:3px solid #725bcc;outline-offset:3px}
.eyebrow{margin:0 0 4px;color:#7666a0;font-size:11px;letter-spacing:.16em;font-weight:800}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(22px,3vw,32px);margin-bottom:0}h2{font-size:17px;margin-bottom:8px}h3{font-size:14px;margin-bottom:0;overflow-wrap:anywhere}
.warning{flex-basis:100%;margin:0;color:#873c44;background:#fff0ef;border:1px solid #edcfcd;border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.55}
main{padding-top:22px}.toolbar,.scene-panel,.meta-panel,.data-panel{background:#fff;border:1px solid #e3deed;border-radius:18px;box-shadow:0 8px 30px #3d2e7010}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px}.toolbar p{margin:0;color:#716a83;font-size:13px}.scene-buttons,.camera-controls{display:flex;flex-wrap:wrap;gap:8px}
.scene-buttons button,.camera-controls button{border:1px solid #cfc8e2;background:#fff;border-radius:10px;color:#51458d;padding:9px 12px;font-weight:700;font-size:13px}
.toolbar select{max-width:min(100%,260px);margin-left:8px;padding:8px 10px;border:1px solid #cfc8e2;border-radius:10px;background:#fff;color:#51458d;font:inherit}.toolbar select:focus-visible{outline:3px solid #725bcc;outline-offset:3px}
.world-actions{display:flex;flex-wrap:wrap;gap:8px}.world-actions button{border:1px solid #d9d5e3;border-radius:9px;padding:8px 10px;background:#f2f0f5;color:#777084;cursor:not-allowed}
.scene-buttons button[aria-pressed="true"],.camera-controls button[aria-pressed="true"]{background:#6f5fa9;border-color:#6f5fa9;color:#fff}
.status{margin:12px 0;padding:10px 15px;border-radius:11px;background:#f0edf9;color:#554b77;font-size:13px;font-weight:700}.status[data-state="error"]{background:#fff0ef;color:#943a42}
.scene-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:16px}.scene-panel{min-width:0;padding:16px}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.panel-title span{font-size:12px;color:#9a5a64;font-weight:700}.canvas-wrap{position:relative;height:380px;overflow:hidden;border-radius:14px;background:linear-gradient(145deg,#f9f4fb,#eeeaf5)}
#v4Canvas{display:block;width:100%;height:100%;touch-action:none}.webgl-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;background:#f7f4fb;color:#664d67}.webgl-fallback[hidden]{display:none}
.camera-controls{align-items:center;margin-top:12px}.camera-controls span{color:#777084;font-size:12px}.meta-panel{padding:20px;line-height:1.65}.meta-panel p{color:#625a73;font-size:13px;margin-bottom:14px;overflow-wrap:anywhere}
.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.data-panel{padding:18px;min-width:0}.data-panel h2{margin-bottom:14px}.data-card{border:1px solid #eeeaf3;border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fcfbfe;min-width:0}.data-card:last-child{margin-bottom:0}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{border-radius:99px;padding:4px 8px;background:#ebe7f5;color:#574c74;font-size:11px;font-weight:800;white-space:nowrap}.tone-assumed,.tone-schematic{background:#fff0dc;color:#854c0d}.tone-unknown,.tone-candidate,.tone-conflict{background:#fff0ef;color:#9c4650}.tone-given,.tone-verified{background:#e3f4ec;color:#19724b}.tone-derived,.tone-metric{background:#e7effd;color:#355f9d}.tone-structure{background:#ecebf2;color:#55546b}
dl{display:grid;grid-template-columns:minmax(88px,125px) minmax(0,1fr);gap:7px 10px;margin:10px 0 0;font-size:12px;line-height:1.55}dt{color:#797184}dd{margin:0;overflow-wrap:anywhere;color:#353047}
.plot-panel{margin-top:18px}.plot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plot-card{min-width:0;border:1px solid #eeeaf3;border-radius:12px;padding:12px;background:#fcfbfe}.plot-card p{font-size:12px;color:#625a73;margin:8px 0}.plot-card svg{display:block;width:100%;height:auto;max-height:260px}.plot-card table{border-collapse:collapse;width:100%;font-size:12px}.plot-card td{border:1px solid #ded8e9;padding:6px;overflow-wrap:anywhere}.plot-warning{color:#9c4650!important}
.selection-status{font-size:12px;color:#625a73}.entity-select{border:1px solid transparent;border-radius:6px;background:transparent;color:#51458d;padding:3px 5px;text-align:left;font-weight:700}.entity-select:hover,.entity-select[aria-pressed="true"]{background:#e9e3f6;border-color:#8b75b8}.entity-select:focus-visible{outline:3px solid #725bcc;outline-offset:2px}
.mode-banner{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:10px 16px;color:#873c44;background:#fff0ef;border-bottom:1px solid #edcfcd;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.mode-banner span{font-size:12px}
.experience-brand{display:flex;align-items:center;gap:14px;min-width:0}.experience-brand img{flex:0 0 48px;object-fit:contain;border-radius:10px}.experience-brand .eyebrow{color:#7379c2}.return-note{flex-basis:100%;margin:0;font-size:12px;line-height:1.6;color:#66677b}
.experience-intro{margin-bottom:18px}.experience-intro h2{color:#202033}.experience-intro p{margin-bottom:0;color:#66677b;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.experience-details{margin-top:18px;padding:16px;border:1px solid #e5e5f3;border-radius:18px;background:#fff}.experience-details summary{cursor:pointer;font-size:14px;font-weight:700;color:#6066ae;line-height:1.6}.experience-details summary:focus-visible{outline:3px solid #777dcc;outline-offset:3px}.experience-details .toolbar{margin-top:14px;box-shadow:none}.experience-details .panel-grid{margin-top:14px}
@media(max-width:850px){.scene-layout,.panel-grid,.plot-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.canvas-wrap{height:330px}}
@media(max-width:480px){.page-header,main{padding-left:14px;padding-right:14px}.toolbar,.scene-panel,.meta-panel,.data-panel{padding:14px}.scene-buttons button{flex:1 1 auto}.canvas-wrap{height:290px}.panel-title{align-items:flex-start;flex-direction:column}.card-heading{align-items:flex-start;flex-direction:column}dl{grid-template-columns:90px minmax(0,1fr)}}
@media(max-width:480px){.mode-banner{justify-content:flex-start;padding:9px 14px}.experience-brand{gap:10px}.experience-brand .eyebrow{letter-spacing:.06em;font-size:10px}.experience-details{padding:12px}.toolbar select{display:block;margin:8px 0 0;max-width:100%}.back-link{display:inline-flex;padding:6px 0}.plot-card table{table-layout:fixed}}
