:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#263d42;background:#f5f5ee;font-synthesis:none;--teal:#176c6c;--line:#d6ddd3;--muted:#61726d}*{box-sizing:border-box}body{margin:0}main{max-width:1500px;margin:auto;padding:28px 34px 42px}header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}h1{font-size:clamp(27px,3vw,42px);font-weight:650;letter-spacing:-1.1px;margin:8px 0 9px}h2{font-size:24px;letter-spacing:-.3px;line-height:1.3;margin:7px 0 12px}h3{margin:6px 0;font-size:17px}.eyebrow,.overline{font-size:11px;letter-spacing:1.6px;font-weight:650;color:var(--teal);margin:0}.lead{font-size:14px;color:var(--muted);margin:0;line-height:1.65}a{color:#176c6c}.back{font-size:13px;text-decoration:none;white-space:nowrap}button,select{font:inherit;font-size:13px;border:1px solid #c9d2c8;background:#fffef8;color:#314e4c;border-radius:7px;min-height:35px;padding:7px 11px;cursor:pointer}button:hover,select:hover{border-color:#568a7a;background:#f4f8f2}button[aria-pressed=true]{background:#1e6664;color:#fff;border-color:#1e6664}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d49749;outline-offset:2px}button:disabled{opacity:.45;cursor:default}.types{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:15px}.types button{text-align:left;border-radius:10px;padding:12px 13px;line-height:1.5;background:#eef1e9}.types b{display:block;font-size:14px}.types small{display:block;opacity:.78;margin-top:4px;font-size:11px}.types button[aria-pressed=true]{background:#235f60}.viewer-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fffef8;box-shadow:0 8px 30px #2e48340a}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line);gap:12px}.segmented{display:flex;gap:5px}.viewer-top>span{font-size:12px;color:var(--muted)}#scene{height:520px;position:relative;overflow:hidden;background:#e6ece4;touch-action:none}#scene canvas{display:block;width:100%;height:100%;outline:none}#labels{position:absolute;inset:0;pointer-events:none;z-index:2}.model-label{position:absolute;transform:translate(-50%,-50%);font-size:12px;line-height:1.5;background:#fffff4ed;border:1px solid #c8d3c5;border-radius:4px;padding:3px 7px;box-shadow:0 2px 8px #30473913;white-space:nowrap;color:#244745}.model-label.dimension{background:#f9fcf4db;border:0;font-size:11px;padding:2px 5px;color:#476356}.model-label.title{background:#1c5655eb;color:white;border:0;font-size:12px;font-weight:600}.model-label.force{color:#975245;background:#fff3eaf2;border-color:#e4b5a7}#scene-status{position:absolute;left:17px;top:15px;font-size:12px;padding:7px 10px;background:#fafdf5db;border-radius:6px;max-width:calc(100% - 34px);pointer-events:none;z-index:2}.scene-key{position:absolute;right:17px;top:15px;display:flex;gap:13px;background:#fbfff5ce;padding:7px 10px;border-radius:6px;font-size:11px;z-index:2}.scene-key span{display:flex;align-items:center;gap:5px}.scene-key i{width:9px;height:9px;border-radius:2px}.concrete{background:#b9c4b8}.steel{background:#426d7d}.joint{background:#d9b473}.bearing{background:#394b55}#scene-caption{position:absolute;bottom:12px;left:17px;font-size:11px;color:#496052;background:#f9fcf4cf;border-radius:5px;padding:6px 8px;pointer-events:none;z-index:2}.toolbar{display:flex;justify-content:space-between;gap:12px;padding:13px 17px;flex-wrap:wrap;border-top:1px solid var(--line)}.toolgroup{display:flex;flex-wrap:wrap;gap:6px}#compare-tools{padding:0 17px 13px;font-size:12px;color:var(--muted)}#compare-tools button{font-size:12px;margin:4px 0 0 6px}.selection{display:flex;align-items:center;gap:18px;justify-content:space-between;background:#f0f4e9;border-top:1px solid var(--line);padding:16px 20px;min-height:111px}.selection p{font-size:12px;line-height:1.7;max-width:780px;color:#5b6f63;margin:4px 0 0}.select-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}#part-select{max-width:190px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.detail-grid article{padding:23px;background:#fffef8;border:1px solid var(--line);border-radius:14px}.detail-grid p{font-size:13px;line-height:1.8;color:#526961}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 0;margin:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics .value{display:block;font-size:22px;color:#2b5351;font-weight:650}.metrics .label{font-size:11px;color:#63786d;display:block;margin-bottom:8px}.metrics small{font-size:10px;color:#738277}.construction b{display:block;font-size:11px;color:#255e56;margin-bottom:4px}.prompt{background:#eef2e7;border-left:3px solid #9ba974;padding:10px 12px}.force-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{background:#e7efe6;color:#3e7055;font-size:10px;padding:5px 7px;border-radius:5px;white-space:nowrap}#force-chart svg{width:100%;height:auto;max-height:220px;display:block}#force-chart{margin:7px 0}#force-control label{font-size:12px;display:flex;justify-content:space-between}#force-control input{width:100%;accent-color:#216b69;margin:12px 0}#force-values{font-size:13px;line-height:1.8;color:#345c58;min-height:26px}.fine{font-size:11px!important;line-height:1.7!important;color:#728277!important}.assumptions{margin-top:18px;border:1px solid var(--line);border-radius:10px;padding:15px 19px;background:#eef2e8;font-size:12px;line-height:1.85}.assumptions summary{cursor:pointer;font-weight:600}.assumptions p{margin:9px 0}.assumptions a{word-break:break-word}.comparison-table{margin-top:27px}.comparison-table h2{font-size:20px}.comparison-table>p{font-size:12px;color:var(--muted)}.table-scroll{max-width:100%;overflow:auto}table{border-collapse:collapse;min-width:840px;width:100%;font-size:12px;background:#fffef8}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);line-height:1.7}th{font-weight:600;color:#54715f;background:#eaf0e5}td:first-child{font-weight:600;color:#28615b}body[data-thumbnail] main{padding:0;max-width:none}body[data-thumbnail] header,body[data-thumbnail] nav,body[data-thumbnail] .viewer-top,body[data-thumbnail] .toolbar,body[data-thumbnail] .selection,body[data-thumbnail] .detail-grid,body[data-thumbnail] .assumptions,body[data-thumbnail] .comparison-table,body[data-thumbnail] .scene-key,body[data-thumbnail] #scene-caption,body[data-thumbnail] #scene-status,body[data-thumbnail] #labels{display:none}body[data-thumbnail] .viewer-card{border:0;border-radius:0}body[data-thumbnail] #scene{height:100vh}body[data-thumbnail] #compare-tools{display:none!important}[hidden]{display:none!important}@media(max-width:900px){main{padding:18px}.types{grid-template-columns:repeat(3,1fr)}.selection{align-items:flex-start;flex-direction:column;gap:12px}.detail-grid{gap:12px}.detail-grid article{padding:18px}.scene-key{top:auto;bottom:15px}#scene-caption{bottom:48px}}@media(max-width:620px){main{padding:13px}header{display:block;margin-bottom:18px}.back{display:inline-block;margin-top:10px}h1{font-size:29px}.eyebrow{font-size:10px}.lead{font-size:12px}.types{gap:5px}.types button{padding:9px 8px;min-height:70px}.types b{font-size:12px}.types small{font-size:10px}.viewer-top{padding:10px;display:block}.viewer-top>span{display:block;margin:9px 0 0;font-size:10px}#scene{height:365px}.scene-key{left:9px;right:auto;font-size:9px;gap:9px;padding:6px 7px}#scene-status{left:9px;top:9px;font-size:10px;padding:5px 7px;max-width:calc(100% - 18px)}#scene-caption{left:9px;font-size:9px}button{font-size:11px;min-height:34px;padding:7px 8px}.toolbar{padding:10px;gap:8px}.toolgroup{gap:5px}.selection{padding:13px}.selection p{font-size:11px}.selection h3{font-size:15px}.select-tools{width:100%}#part-select{max-width:calc(100% - 83px);flex:1;font-size:11px}.detail-grid{grid-template-columns:1fr;margin-top:15px}.detail-grid article{padding:17px}.detail-grid h2{font-size:22px}.metrics{gap:8px}.metrics .value{font-size:19px}.metrics .label{font-size:10px}.force-title{align-items:flex-start}.model-label{font-size:10px;padding:2px 4px}.model-label.dimension{font-size:9px}.model-label.title{font-size:9px}.assumptions{padding:12px;font-size:11px}.comparison-table h2{font-size:18px}.comparison-table>p{line-height:1.8}.comparison-table{margin-top:20px}}

.formation{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;align-items:center;background:#e8eee2;border:1px solid #d2dbcb;border-radius:12px;padding:18px 20px;margin-top:20px}.formation h2{font-size:20px;margin-bottom:6px}.formation p:not(.eyebrow){font-size:11px;line-height:1.75;color:#617561;margin:5px 0 0}#stages{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}#stages button{font-size:11px;line-height:1.6;text-align:left}#stages span{display:block;font-size:20px;font-weight:650;opacity:.7;margin-bottom:5px}body[data-thumbnail] .formation{display:none}@media(max-width:780px){.formation{grid-template-columns:1fr;padding:15px;gap:13px}#stages{gap:5px}#stages button{font-size:10px;padding:7px}}

#poster-note{display:none}body[data-poster] main{padding:0;max-width:none}body[data-poster] header,body[data-poster] nav,body[data-poster] .viewer-top,body[data-poster] .toolbar,body[data-poster] .selection,body[data-poster] .detail-grid,body[data-poster] .assumptions,body[data-poster] .comparison-table,body[data-poster] .scene-key,body[data-poster] #scene-caption,body[data-poster] #scene-status,body[data-poster] .formation,body[data-poster] #compare-tools{display:none!important}body[data-poster] .viewer-card{border:0;border-radius:0}body[data-poster] #scene{height:100vh}body[data-poster] #poster-note{display:block;position:absolute;top:19px;left:28px;font-size:14px;color:#416457;z-index:4;letter-spacing:.3px}body[data-poster] .model-label.title{font-size:14px;background:#f9fcf3ed;color:#24504c;box-shadow:none;font-weight:500;border:1px solid #cbd7c5;padding:5px 8px}body[data-poster] .model-label.dimension{font-size:12px;background:#f4f8edc7}

body:not([data-thumbnail]):not([data-poster]) .types{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}@media(max-width:620px){body:not([data-thumbnail]):not([data-poster]) .types{grid-template-columns:repeat(3,1fr)}}

.metrics{grid-template-columns:repeat(2,1fr)}.metrics .value.ratio{font-size:19px}body[data-poster] .model-label.title{font-size:12px;padding:4px 7px}
