:root{font-family:Inter,'PingFang SC','Microsoft YaHei',sans-serif;color:#e8e8e5;background:#111311;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}header{height:76px;border-bottom:1px solid #ffffff14;padding:0 36px;display:flex;align-items:center;justify-content:space-between}.brand{color:inherit;text-decoration:none;font-size:27px;font-weight:650;letter-spacing:-1px;display:flex;align-items:center;gap:12px}.logo{font-size:34px;color:#d5ed93}.lab{font-weight:400;font-size:14px;color:#9a9e94;letter-spacing:0;margin-left:15px}.badge{font-size:12px;color:#aeb4a6;border:1px solid #ffffff23;border-radius:30px;padding:8px 12px}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100svh - 76px)}.viewer{position:relative;min-height:620px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#293025 0%,#171b17 52%,#101310 100%)}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.scene-heading{position:absolute;top:36px;left:36px;pointer-events:none;z-index:1}.eyebrow{font-size:12px;letter-spacing:2px;color:#b8c49b}.scene-heading h1{font-size:clamp(28px,3.5vw,48px);font-weight:450;line-height:1.25;letter-spacing:-1px;margin:18px 0}.scene-heading p{font-size:14px;color:#9ba38f}.view-hint{position:absolute;bottom:64px;left:36px;font-size:12px;color:#abb3a0;pointer-events:none}.scene-credit{position:absolute;left:36px;bottom:28px;font-size:12px;letter-spacing:1.2px;color:#69735f}.reset{position:absolute;right:24px;bottom:28px;border:1px solid #ffffff25;background:#171d17bb;color:#c8cebd;padding:10px 14px;border-radius:6px;font-size:14px}aside{padding:36px 28px;display:flex;flex-direction:column;gap:35px;border-left:1px solid #ffffff14;background:#181b18}h2{font-size:24px;font-weight:500;letter-spacing:-.5px;margin:14px 0 18px}.brief{font-size:16px;line-height:1.9;color:#b9bdb2;margin:0}.note{font-size:12px;line-height:1.8;color:#858d7e;margin-top:18px;padding-left:12px;border-left:2px solid #566341}.section-label{display:flex;align-items:center;gap:12px;color:#727d62;font-size:12px;margin-bottom:18px}.section-label h3{font-size:14px;color:#d3d8ca;margin:0;font-weight:500}.swatches{display:flex;align-items:center;gap:14px;margin-bottom:32px}.swatch{background:var(--swatch);height:29px;width:29px;border:3px solid #181b18;border-radius:50%;outline:1px solid transparent}.swatch.active{outline-color:#d5ed93}#color-name{font-size:14px;color:#9fa98f;margin-left:2px}.toggle-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:14px;color:#bfc6b4}.switch{border:0;width:36px;height:22px;padding:3px;border-radius:20px;background:#48503f}.switch i{display:block;width:16px;height:16px;background:#181e14;border-radius:50%;transition:transform .15s}.switch.on{background:#d5ed93}.switch.on i{transform:translateX(14px)}.timeline-title{display:flex;justify-content:space-between;font-size:12px;color:#939e84;margin-top:30px}input[type=range]{width:100%;accent-color:#d5ed93;height:26px;margin:10px 0 18px;cursor:pointer}.play{border:0;border-radius:6px;background:#d5ed93;color:#20291b;padding:14px;width:100%;font-size:14px;font-weight:600}footer{font-size:12px;line-height:1.7;color:#77816b;margin-top:auto}#loading{position:absolute;top:55%;width:100%;text-align:center;color:#d5ed93;padding:24px;font-size:14px;pointer-events:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e5ffac;outline-offset:5px}button:hover{filter:brightness(1.1)}@media(min-width:1400px){aside{width:380px;padding:40px}main{grid-template-columns:minmax(0,1fr) 380px}}@media(max-width:760px){header{height:64px;padding:0 20px}.lab{margin-left:4px}.badge{display:none}main{display:block}.viewer{height:64svh;min-height:460px}.scene-heading{top:24px;left:22px}.scene-heading h1{font-size:28px}.scene-heading p{font-size:12px}.scene-credit{left:22px;bottom:22px;font-size:10px}.view-hint{left:22px;bottom:50px}.reset{right:16px;bottom:18px;font-size:12px}aside{border-left:0;border-top:1px solid #ffffff14;padding:28px 24px;gap:26px}.controls{max-width:520px}.brief{max-width:520px}h2{margin-bottom:12px}.swatches{margin-bottom:26px}footer{margin-top:0}}
