:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#1c2228;background:#f7f8f9;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1220px;margin:auto;padding-left:30px;padding-right:30px}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid #e4e7ea;background:rgba(255,255,255,.86);backdrop-filter:blur(18px)}.nav{min-height:66px;display:flex;align-items:center;gap:42px}.brand{font-weight:800;font-size:19px;letter-spacing:-.05em;white-space:nowrap}.nav nav,.nav-end{display:flex;align-items:center;gap:24px}.nav nav a,.nav-end a,.nav-end span,.nav-end button{font-size:13px;color:#505963}.nav nav a:hover,.nav-end a:hover{color:#111}.nav-end{margin-left:auto;gap:16px}.nav-end form{margin:0}.nav-end button{border:0;background:none;padding:0}.footer{border-top:1px solid #e3e6e9;color:#8b9299;font-size:12px;padding-top:28px;padding-bottom:36px;margin-top:90px}main{min-height:calc(100vh - 180px)}.eyebrow{font-size:11px;font-weight:800;color:#858d96;letter-spacing:.14em}.hero{min-height:420px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e5e9;overflow:hidden}.hero h1{font-size:48px;letter-spacing:-.07em;line-height:1.18;margin:20px 0 18px}.hero p,.page-heading p{color:#69717a;line-height:1.8}.hero p{max-width:530px}.hero-actions,.detail-actions{display:flex;gap:10px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:0 16px;border:1px solid #d7dce1;background:#fff;color:#2d343b;font-size:13px;font-weight:700;white-space:nowrap}.button:hover{border-color:#8f9aa5}.button.primary{background:#20262d;border-color:#20262d;color:#fff}.button.primary:hover{background:#3a444e}.hero-grid{display:grid;grid-template-columns:repeat(2,100px);gap:13px;transform:rotate(-15deg);margin:30px 90px 0 20px}.hero-grid span{display:grid;place-items:center;height:100px;background:#e5e8ea;border:1px solid #d6dade;font-size:64px;color:#6a737b}.hero-grid span:nth-child(2){background:#c5cbd0}.hero-grid span:nth-child(3){background:#d5d9dd}.hero-grid span:nth-child(4){background:#9ea7ad}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;margin-top:56px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-title h2{font-size:24px;letter-spacing:-.04em;margin:7px 0 0}.section-title>a,.side-note a{font-size:13px;color:#434d57;font-weight:700}.side-note{border-top:2px solid #242c33;background:#eceff1;padding:24px;height:max-content}.side-note h3{font-size:20px;letter-spacing:-.04em;margin:15px 0}.side-note p{font-size:13px;line-height:1.9;color:#626c75}.side-note a{display:inline-block;margin-top:18px}.post-list{border-top:1px solid #dce1e5}.post-row{display:flex;align-items:center;gap:15px;min-height:74px;border-bottom:1px solid #e1e5e8}.post-row:hover{background:#f0f2f4}.post-dot{color:#64727e;font-size:18px}.post-main{display:flex;flex-direction:column;gap:8px;min-width:0}.post-main strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-main small,.post-row time{font-size:12px;color:#89919a}.post-row time{margin-left:auto;white-space:nowrap}.home-buildings{margin-top:70px}.building-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.building-card{background:#fff;border:1px solid #e2e6e9;min-width:0}.building-card:hover{border-color:#aab3bb;box-shadow:0 8px 24px #17212b0a}.building-art,.model-cover{position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#e8ebed,#cdd3d6);overflow:hidden}.building-art{height:185px}.building-art>span{position:absolute;bottom:12px;left:13px;background:#ffffffd9;padding:5px 7px;color:#52616c;font-size:11px}.voxel-figure{position:relative;width:135px;height:100px;transform:skewY(-12deg)}.voxel-figure i{position:absolute;display:block;background:#879a8d;border:1px solid #6d8175;width:42px;height:42px;box-shadow:8px 8px 0 #667e70}.voxel-figure i:nth-child(1){left:14px;top:50px}.voxel-figure i:nth-child(2){left:56px;top:50px}.voxel-figure i:nth-child(3){left:98px;top:50px}.voxel-figure i:nth-child(4){left:35px;top:10px;background:#b0a58f}.voxel-figure i:nth-child(5){left:77px;top:10px;background:#b0a58f}.voxel-figure i:nth-child(6){left:56px;top:-30px;background:#858a82}.voxel-figure.large{transform:scale(2.4) skewY(-12deg)}.building-card-body{padding:17px}.building-card-body strong{display:block;font-size:15px}.building-card-body p{color:#7d8790;font-size:12px;min-height:36px;line-height:1.5;margin:8px 0 18px}.card-meta{display:flex;justify-content:space-between;gap:8px;color:#929ba3;font-size:11px}.page-heading{padding:48px 0 34px}.page-heading h1{font-size:36px;letter-spacing:-.06em;margin:10px 0}.page-heading p{margin:0}.page-heading.split{display:flex;align-items:end;justify-content:space-between}.filters{display:flex;gap:10px;margin:4px 0 28px}.filters input{flex:1}.filters input,.filters select,input,textarea,select{border:1px solid #d8dde1;background:#fff;padding:11px 12px;outline:none;color:#242b32}.filters input:focus,.filters select:focus,input:focus,textarea:focus,select:focus{border-color:#778893}.forum-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px}.board-list{display:flex;flex-direction:column;border-top:1px solid #dce1e5}.board-list a{padding:13px 10px;border-bottom:1px solid #e5e8eb;color:#65717b;font-size:13px}.board-list a.active{color:#1b2229;background:#e9edef;font-weight:700}.empty{border:1px dashed #cbd2d8;padding:48px;text-align:center;color:#89929b;background:#fff}.panel{padding:28px;border:1px solid #e0e5e9;background:#fff;margin-bottom:25px}.panel h2,.panel h3{margin:0 0 20px;letter-spacing:-.04em}.narrow{max-width:520px;margin:auto}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack label,.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#4e5963}.form-stack input,.form-stack textarea,.form-stack select,.form-grid input,.form-grid select{width:100%;font-weight:400}.form-stack textarea{resize:vertical;line-height:1.7}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-stack button{align-self:flex-start}.captcha-row{display:flex;align-items:end;gap:12px}.captcha-row label{flex:1}.captcha-row img{width:150px;height:48px;border:1px solid #d8dde1;cursor:pointer}.muted{color:#8d969f;font-size:12px}.muted a{color:#242b32;text-decoration:underline}.breadcrumbs{padding:26px 0 0;color:#8b949d;font-size:12px}.breadcrumbs a{color:#4c5863}.post-article{max-width:840px;border-bottom:1px solid #dce1e5;padding-bottom:40px}.post-article .page-heading{padding-bottom:18px}.prose{line-height:1.9;color:#333d45}.prose p{margin:14px 0}.prose pre{background:#20262d;color:#e7ecef;padding:16px;overflow:auto}.prose code{background:#e9edef;padding:2px 4px}.prose pre code{background:none}.prose blockquote{margin-left:0;padding-left:18px;border-left:3px solid #9faab3;color:#67717a}.comments{max-width:840px;margin-top:40px}.comment{padding:20px 0;border-top:1px solid #e1e5e8}.comment strong{font-size:13px}.comment small{margin-left:12px;color:#9aa3aa}.comment p{line-height:1.7}.upload-zone{border:1px dashed #b8c1c8;background:#f6f8f9;padding:28px;align-items:center}.upload-zone span{color:#8a949e;font-weight:400}.upload-zone input{max-width:320px}.building-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;margin-top:24px}.model-cover{height:420px;margin-bottom:25px}.building-detail .page-heading{padding:0 0 10px}.building-detail .page-heading h1{font-size:29px}.detail-actions{flex-wrap:wrap;margin:13px 0 25px}.fact-list{border-top:1px solid #e1e5e8}.fact-list>div,.materials>div,.check-list>div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e1e5e8;font-size:13px}.fact-list span,.materials span,.check-list span{color:#7e8993}.fact-list strong,.materials strong{font-weight:700;text-align:right;overflow-wrap:anywhere}.materials{margin-top:30px}.materials h3{font-size:16px}.viewer-heading{display:flex;justify-content:space-between;align-items:end;padding:28px 0 18px}.viewer-heading h1{font-size:26px;letter-spacing:-.04em;margin:8px 0 0}.viewer-heading>span{font-size:12px;color:#85909a}#viewer{height:min(70vh,700px);min-height:440px;background:#e9edef;position:relative;border:1px solid #d9e0e4}#viewer-canvas{display:block;width:100%;height:100%}#viewer-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 20px;background:#ffffffdf;color:#56616c;z-index:1;font-size:13px}.viewer-controls{display:flex;align-items:center;gap:20px;padding:17px 0}.viewer-controls label{display:flex;align-items:center;gap:10px;font-size:13px}.viewer-controls input{width:220px}.viewer-controls>span{margin-left:auto;color:#9aa4ac;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-grid>div{background:#fff;border:1px solid #e1e5e8;padding:22px;display:flex;flex-direction:column;gap:12px}.stat-grid span{font-size:12px;color:#8b959e}.stat-grid strong{font-size:30px;letter-spacing:-.05em}.review-row{padding:20px 0;border-bottom:1px solid #e1e5e8;display:flex;justify-content:space-between;align-items:center;gap:20px}.review-row p{font-size:12px;color:#8c969e}.review-actions{display:flex;gap:8px}.ok{color:#477c5a}.bad{color:#c25757}@media(max-width:950px){.building-grid{grid-template-columns:repeat(2,1fr)}.home-layout,.building-detail{grid-template-columns:1fr}.side-note{display:none}.hero-grid{margin-right:20px}.nav{gap:20px}.nav nav,.nav-end{gap:12px}}@media(max-width:640px){.shell{padding-left:18px;padding-right:18px}.nav{flex-wrap:wrap;padding-top:14px;padding-bottom:12px;gap:12px}.nav nav{order:3;width:100%;justify-content:space-between}.nav-end{margin-left:auto}.nav-end a[href="/post/create"],.nav-end a[href="/buildings/create"]{display:none}.hero{min-height:360px}.hero h1{font-size:34px}.hero-grid{display:none}.page-heading.split{align-items:start;gap:15px}.page-heading h1{font-size:30px}.forum-layout{grid-template-columns:1fr}.board-list{flex-direction:row;overflow:auto;white-space:nowrap}.building-grid{gap:10px}.building-art{height:135px}.building-card-body{padding:12px}.building-card-body p{display:none}.card-meta{margin-top:10px;display:block}.card-meta span{display:block;margin-top:4px}.form-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.post-row time{display:none}.viewer-heading{display:block}.viewer-heading>span{display:block;margin-top:10px}.viewer-controls{flex-wrap:wrap}.viewer-controls>span{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.review-row{display:block}.review-actions{flex-wrap:wrap}.model-cover{height:300px}}
.badge-subtle{display:inline-block;vertical-align:middle;padding:.16rem .42rem;border:1px solid var(--line,#d4d9dd);border-radius:999px;color:var(--muted,#66727c);font-size:.7rem;font-weight:600;white-space:nowrap}
.system-log{max-height:18rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem;line-height:1.6}
