@font-face{font-family:AtelierSerif;src:local('Songti SC')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;color:#292b27;background:#f2efe6;background-image:radial-gradient(ellipse at 66% 15%,#fffaf1 0,transparent 55%),repeating-linear-gradient(0deg,transparent 0 3px,#aca08b06 3px 4px);font-family:'Hiragino Sans GB','PingFang SC',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #a54829;outline-offset:4px}button:disabled{cursor:wait}.masthead{margin:0 4%;padding:27px 0 21px;border-bottom:1px solid #b5b0a366;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;font-family:AtelierSerif,'Songti SC',serif;font-weight:700;font-size:29px;letter-spacing:3px;display:flex;gap:22px;align-items:center}.brand span,.edition,.eyebrow,.section-label,.viewer-top,.design-footnote>span{font-family:'Courier New',monospace;font-size:11px;letter-spacing:1.5px}.brand span{font-size:10px;letter-spacing:1.8px;font-weight:400}.edition{font-family:'PingFang SC',sans-serif;letter-spacing:1px;color:#727268}.edition b{margin-left:18px;font-family:'Baskerville',serif;font-weight:400;font-size:25px;color:#a54829}main{margin:0 4%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:30px 0 28px}.eyebrow{color:#a54829;margin:0 0 12px;font-size:10px}.intro h1{font-family:AtelierSerif,'Songti SC','Baskerville',serif;font-weight:500;font-size:clamp(34px,3.9vw,60px);letter-spacing:-2px;margin:0;line-height:1.17}.intro h1 span{margin-left:16px;color:#a54829}.intro-copy{color:#737469;font-size:13px;line-height:1.9;margin:0 0 5px}.workbench{display:grid;grid-template-columns:205px minmax(0,1fr) 225px;min-height:680px;border-top:1px solid #b5b0a366;border-bottom:1px solid #b5b0a366}.choices{padding:28px 19px 25px 0;display:flex;flex-direction:column;border-right:1px solid #b5b0a366}.section-label{color:#7d7a6f;font-family:'PingFang SC',sans-serif;letter-spacing:2px;margin:0 0 26px;font-size:11px}.design-tabs{display:flex;flex-direction:column;gap:6px}.design{border:0;border-top:1px solid #b5b0a344;background:transparent;text-align:left;display:flex;padding:23px 9px 23px 0;gap:15px;position:relative;transition:background .18s}.design:hover{background:#a5482907}.design.selected{color:#a54829}.index{font-family:'Baskerville',serif;font-size:18px;margin-top:1px}.choice-text{display:flex;flex-direction:column;gap:8px}.choice-text strong{font-family:AtelierSerif,'Songti SC',serif;font-size:21px;font-weight:500;white-space:nowrap}.choice-text small{font-size:10px;color:#7b7b70;white-space:nowrap}.arrow{margin-left:auto;opacity:0;font-size:17px}.selected .arrow{opacity:1}.material-note{margin-top:auto;display:flex;gap:10px;align-items:center;padding-top:40px}.material-swatch{width:27px;height:27px;border-radius:50%;background:conic-gradient(#946134,#e3c694,#a87939,#f1d6a6,#946134);box-shadow:0 1px 5px #54341427;flex-shrink:0}.material-note p{font-size:10px;line-height:2;color:#65665e;margin:0}.material-note small{color:#818071;font-size:10px}.plan-link{display:block;font-size:10px;text-decoration:none;border-bottom:1px solid #aaa39066;padding:0 0 8px;width:fit-content;margin-top:26px}.viewer-panel{position:relative;background:radial-gradient(ellipse at 50% 25%,#fffdf8 0%,#eae6db 100%);display:flex;flex-direction:column;min-width:0}.viewer-top{display:flex;justify-content:space-between;position:absolute;left:24px;right:24px;top:25px;z-index:2;color:#6c6e63;font-size:10px;pointer-events:none}.live-indicator{font-family:'PingFang SC',sans-serif;letter-spacing:0;font-size:10px;display:flex;align-items:center;gap:7px}.live-indicator i{height:5px;width:5px;background:#6d8560;border-radius:50%}.viewport{height:550px;position:relative;min-width:0;touch-action:none}.viewport canvas{display:block;width:100%;height:100%}.viewport #loading{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;letter-spacing:2px;color:#767264}.viewport #loading:empty{display:none}.drag-hint{position:absolute;left:24px;bottom:2px;color:#8f8d80;font-size:10px;pointer-events:none;margin:0}.labels{position:absolute;inset:0;pointer-events:none}.part-label{position:absolute;transform:translate(-50%,-50%);font-size:10px;line-height:1.5;color:#494f48;background:#faf8efed;padding:5px 7px;border-left:2px solid #a54829;white-space:nowrap;box-shadow:0 2px 10px #3333330c}.camera-controls{display:flex;gap:4px;justify-content:center;padding:10px 13px 16px;flex-wrap:wrap}.camera-controls button{border:1px solid #aaa38f5c;font-size:10px;padding:8px 12px;background:#f7f4ec99;border-radius:2px}.camera-controls button[aria-pressed=true]{border-color:#8d7050;color:#8f4427;background:#e6dbca80}.playback{display:flex;gap:9px;align-items:center;padding:18px 22px;border-top:1px solid #b5b0a344;margin-top:auto}.playback button{padding:10px 17px;font-size:11px;border:1px solid #aaa38f80;border-radius:2px;background:transparent}.playback .play-button{background:#34443c;border-color:#34443c;color:#fffaf0;min-width:68px}.speed{display:flex;align-items:center;gap:10px;font-size:10px;margin-left:auto;color:#747567;white-space:nowrap}.speed input{width:85px;accent-color:#955235}.speed output{font-size:10px;font-family:'Courier New',monospace;width:40px}.design-info{padding:28px 0 20px 26px;border-left:1px solid #b5b0a366}.design-info h2{font-family:AtelierSerif,'Songti SC',serif;font-size:29px;font-weight:500;letter-spacing:1px;margin:8px 0 16px}.description{font-size:11px;line-height:2;color:#77796e;min-height:65px}.parts{list-style:none;padding:0;margin:25px 0 26px;counter-reset:parts}.parts li{padding:14px 0 14px 23px;border-bottom:1px solid #b5b0a344;font-size:11px;line-height:1.7;position:relative;counter-increment:parts}.parts li::before{content:counter(parts,decimal-leading-zero);position:absolute;left:0;top:16px;font-family:'Courier New',monospace;font-size:9px;color:#a54829}.parts li span{display:block;font-size:10px;color:#8d8c7d;margin-top:3px}.motion-note{border-left:2px solid #a54829;padding-left:13px;margin:26px 0 28px}.motion-note>span{display:block;font-size:10px;color:#787a6e;margin-bottom:8px}.motion-note strong{font-family:'Baskerville',AtelierSerif,serif;font-size:26px;font-weight:400;color:#a54829}.motion-note p{font-size:10px;line-height:1.8;color:#858475;margin-bottom:0}.concept-note{color:#969284;font-size:9px;line-height:1.8}.design-footnote{display:flex;justify-content:space-between;align-items:center;padding:22px 0 27px;color:#929083}.design-footnote span{font-size:9px}.design-footnote p{font-size:10px;margin:0}body{animation:paper-in .55s ease-out}@keyframes paper-in{from{opacity:0}to{opacity:1}}@media(min-width:1600px){main,.masthead{max-width:1530px;margin-left:auto;margin-right:auto}.workbench{grid-template-columns:235px minmax(0,1fr) 265px}.viewport{height:660px}.workbench{min-height:790px}.intro{padding:35px 0 35px}.choice-text strong{font-size:24px}.description,.parts li{font-size:12px}.viewer-top{left:35px;right:35px}}@media(max-width:1150px){.workbench{grid-template-columns:180px minmax(0,1fr) 185px}.design-info{padding-left:18px}.choices{padding-right:14px}.design{gap:10px}.choice-text strong{font-size:19px}.choice-text small{font-size:9px}.speed input{width:60px}.playback{flex-wrap:wrap;padding:15px}.speed{margin-left:0}.intro-copy{font-size:11px}.viewport{height:520px}}@media(max-width:900px){.workbench{grid-template-columns:155px minmax(0,1fr)}.design-info{grid-column:1/-1;border-left:0;border-top:1px solid #b5b0a366;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:25px 0}.design-info .section-label{grid-column:1/-1;margin-bottom:10px}.design-info h2{margin:0}.design-info .description{grid-column:1;margin:10px 0;min-height:0}.parts{grid-column:2;grid-row:2/5;margin:0}.motion-note{margin:14px 0}.concept-note{grid-column:1}.choices{padding-right:9px}.choice-text strong{font-size:18px}.design{gap:8px}.arrow{display:none}.intro-copy{max-width:230px}.intro h1 span{margin-left:10px}.brand span{font-size:8px;letter-spacing:1px}.design-footnote p{max-width:45%;line-height:1.8}}@media(max-width:620px){.masthead{padding:20px 0 17px}.brand{font-size:25px;gap:12px}.brand span{max-width:110px;line-height:1.5}.edition{font-size:9px}.edition b{margin-left:8px;font-size:21px}.intro{display:block;padding:25px 0 23px}.intro h1{font-size:38px;letter-spacing:-1px}.intro h1 span{display:block;margin:6px 0 0}.intro-copy{margin:17px 0 0;max-width:none;font-size:12px}.workbench{display:block;min-height:0}.choices{border-right:0;padding:0}.choices .section-label,.material-note,.plan-link{display:none}.design-tabs{flex-direction:row;gap:0}.design{flex:1;border-top:0;border-bottom:1px solid #b5b0a366;padding:17px 4px 16px;gap:7px}.design.selected{border-bottom:2px solid #a54829}.index{font-size:13px}.choice-text strong{font-size:17px}.choice-text small{font-size:8px;letter-spacing:0}.viewer-top{left:15px;right:15px;top:20px}.viewport{height:480px}.drag-hint{left:15px;font-size:9px}.camera-controls{padding-top:0;padding-bottom:12px;gap:5px}.camera-controls button{padding:10px 10px;font-size:11px}.playback{justify-content:center;gap:8px}.playback button{min-height:42px}.speed{font-size:11px;margin-left:0}.speed input{width:70px}.speed output{font-size:11px}.design-info{display:block;padding:25px 10px}.design-info h2{font-size:27px}.description{font-size:12px;max-width:95%;margin:10px 0}.parts{margin:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.parts li{font-size:11px}.motion-note{margin-top:23px}.concept-note{font-size:10px}.design-footnote{display:block;line-height:2}.design-footnote p{max-width:none;margin:7px 0}.design-footnote>span:last-child{display:none}.part-label{font-size:9px;padding:4px 5px}}@media(prefers-reduced-motion:reduce){body{animation:none}}

@media(max-width:620px){.camera-controls button{min-height:44px}}
