@import"https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700;800&display=swap";:root{font-family:Raleway,system-ui,sans-serif;color:#202b2d;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}#app{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh}body{min-width:320px;margin:0;overflow:hidden;background:#fff;font-family:Raleway,system-ui,sans-serif}button,a{font:inherit}[hidden]{display:none!important}.topbar{flex:0 0 82px;min-height:82px;padding:0 28px;display:flex;align-items:center;border-bottom:1px solid #dce4df;background:#fff}.brand{color:#172326;text-decoration:none;font-size:27px;font-weight:700;letter-spacing:-.055em}.page{flex:1 1 auto;width:100%;min-width:0;min-height:0;padding:0;margin:0}.matrix-section{width:100%;height:100%;min-width:0}.matrix-viewport{width:100%;height:100%;overflow:auto;border:0;border-top:1px solid #e3e5e3;border-radius:0;background:#fff;scrollbar-color:#c5c9c6 #fff;scrollbar-width:thin}.matrix-grid{width:100%;min-width:var(--matrix-min-width, 3080px)}.matrix-row{display:grid;grid-template-columns:280px repeat(var(--model-columns, 7),minmax(400px,1fr));width:100%}.matrix-header{position:sticky;top:0;z-index:4;min-height:88px;color:#5e6661;background:#fff;border-bottom:1px solid #d7d9d7}.matrix-horizontal-scrollbar{position:sticky;top:88px;left:0;z-index:6;height:18px;overflow-x:auto;overflow-y:hidden;background:#f0f3f1;border-bottom:1px solid #d7d9d7;scrollbar-color:#87958e #e3e8e5;scrollbar-width:auto}.matrix-horizontal-scrollbar::-webkit-scrollbar{height:14px}.matrix-horizontal-scrollbar::-webkit-scrollbar-track{background:#e3e8e5}.matrix-horizontal-scrollbar::-webkit-scrollbar-thumb{background:#87958e;border:2px solid #e3e8e5;border-radius:8px}.matrix-horizontal-scrollbar-content{height:1px}.reference-heading,.model-heading{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:14px 18px}.reference-heading{position:sticky;left:0;z-index:5;border-right:1px solid #e1e3e1;background:#fff;font-size:14px;font-weight:700;letter-spacing:.11em}.model-heading{gap:7px;border-right:1px solid #e1e3e1}.model-heading:last-child{border-right:0}.model-heading strong{color:#263733;font-size:18px;font-weight:700;line-height:1.3}.model-heading code{overflow-wrap:anywhere;color:#71817a;font:13px/1.4 Raleway,system-ui,sans-serif;font-weight:500}.target-row{min-height:384px;border-bottom:1px solid #e1e3e1}.target-row:last-child{border-bottom:0}.reference-cell{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0;padding:14px;border-right:1px solid #e1e3e1;background:#fff}.reference-cell img{display:block;width:100%;height:190px;padding:4px;border-radius:5px;background:#fff;object-fit:contain}.reference-caption{display:grid;gap:4px}.reference-caption strong{color:#24332f;font-size:18px;font-weight:700;line-height:1.3}.reference-caption span{color:#75837e;font-size:14px;font-weight:500}.model-cell{min-width:0;padding:14px;border-right:1px solid #eceeec;background:#fff}.model-cell:last-child{border-right:0}.model-preview{position:relative;width:100%;height:350px;overflow:hidden;border:1px solid #dedfdd;border-radius:6px;background:#fff}.structure-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.structure-canvas:active{cursor:grabbing}.preview-state{position:absolute;inset:0;display:grid;place-items:center;padding:18px;text-align:center;color:#71817b;font-size:14px;font-weight:500;line-height:1.55;letter-spacing:.005em}.preview-empty{background:#fff}.preview-pending,.preview-loading{color:#5d6661;background:#fffffff0}.preview-error{color:#9a5147;background:#fff}.error{padding:30px;color:#994b40;font-size:16px}@media(max-width:700px){.topbar{flex-basis:72px;min-height:72px;padding:0 4vw}.brand{font-size:25px}.page{padding:0}.matrix-grid{min-width:var(--mobile-matrix-min-width, 2670px)}.matrix-row{grid-template-columns:150px repeat(var(--model-columns, 7),minmax(360px,1fr))}.reference-heading,.model-heading{padding:12px 10px}.reference-heading{font-size:11px;letter-spacing:.08em}.reference-cell{gap:8px;padding:10px 8px}.reference-caption strong{font-size:16px}.reference-caption span{font-size:12px}.target-row{min-height:356px}.reference-cell img{height:168px}.model-preview{height:322px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
