:root{--ink:#18322e;--muted:#707b78;--red:#a83d32;--line:#dde2de;--paper:#f4f5f1;--green:#24604d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "Microsoft YaHei","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc8d53;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#142e29;color:#e4ebe6;padding:34px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:13px;font:24px/1.3 serif;letter-spacing:2px}.brand small{display:block;font:12px/2.2 sans-serif;color:#9bafa6;letter-spacing:3px}.seal{background:var(--red);width:46px;height:46px;display:grid;place-items:center;border:1px solid #d18a7d;border-radius:3px;font-size:30px}.nav-label{color:#7f998f;font-size:12px;letter-spacing:2px;margin:45px 15px 15px}nav{display:grid;gap:8px}nav a{padding:12px 15px;border-radius:5px;color:#b8c8bf;display:flex;gap:14px;align-items:center}nav a:hover{background:#203e35}nav a.active{background:#2a4a3f;color:#fff;border-left:3px solid #bf6251;padding-left:12px}.sidebar-bottom{margin-top:auto;padding:24px 12px 0;border-top:1px solid #335047}.sidebar-bottom strong{font:18px serif}.sidebar-bottom small{display:block;color:#96aea2;font-size:12px;margin:10px 0}.sidebar-bottom p{font:14px/1.9 serif;color:#9aada3}.small-seal{display:inline-grid;place-items:center;border:1px solid #a78656;color:#dfbd8d;width:28px;height:28px;margin-right:10px}.shell{margin-left:230px}.topbar{height:74px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:14px;background:#fff}.topbar>span:first-child{color:var(--muted)}.top-note{color:#6d7b72}.top-note b{font-weight:normal;margin-left:14px;border-left:1px solid var(--line);padding-left:14px}main{max-width:1460px;margin:auto;padding:34px 42px 24px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--red);font-weight:600}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}h1{font:34px/1.3 "SimSun",serif;letter-spacing:2px;margin:9px 0 11px}h2{font:22px/1.4 "SimSun",serif;margin:0 0 12px}h3{font-size:17px;margin:0 0 10px}.intro{color:var(--muted);margin:0;font-size:14px}.btn{border:1px solid var(--ink);background:var(--ink);color:white;border-radius:4px;padding:9px 17px;white-space:nowrap;display:inline-block;font-size:14px}.btn:hover{background:#294c42}.btn.secondary{color:var(--ink);background:white;border:1px solid #cdd6cf}.btn.secondary:hover{background:#eff3ee}.steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:26px;font-size:14px;color:#708078}.steps span{display:flex;align-items:center;gap:8px}.steps b{font:20px serif;color:#adb8b0}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.card-head h2{margin:0}.tag{font-size:12px;padding:3px 9px;background:#edf3ef;color:#456b57;border-radius:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:block;font-size:14px;margin-bottom:14px;color:#4e6159}.field input,.field select{margin-top:7px;width:100%;min-width:0;background:#fcfdfb;border:1px solid #d5ded6;border-radius:4px;padding:9px 11px;color:var(--ink)}.field small{display:block;color:#819087;font-size:12px;margin-top:6px}.form-divider{border-top:1px solid var(--line);padding-top:20px;margin-top:6px}.full{width:100%}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{border:0;background:none;color:#748278;padding:0 2px 12px;font-size:14px}.tabs button.selected{color:var(--ink);border-bottom:2px solid var(--red);font-weight:600}.result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.result-head h2{margin:0}.result-head p{margin:3px 0;color:var(--muted);font-size:13px}.nine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:580px;margin:0 auto}.palace{min-height:126px;background:#f7f8f5;border:1px solid #e0e6e0;border-radius:5px;padding:11px 15px;text-align:left;color:var(--ink);position:relative}.palace:hover,.palace.chosen{border-color:#758f7e;box-shadow:inset 0 0 0 1px #758f7e}.palace .dir{font-size:12px;color:#728177;display:flex;justify-content:space-between;align-items:center}.palace .symbol{font-size:23px;line-height:1}.palace strong{display:block;font:25px/1.3 serif;margin:9px 0 6px}.star{font-size:14px;color:#317557}.bad .star{color:#a3574d}.bad{background:#fcf7f5;border-color:#eadfd9}.palace .rank{font-size:11px;color:#97a299;margin-left:6px}.palace.center{display:flex;align-items:center;justify-content:center;text-align:center;background:#173c31;color:#fff;border-color:#173c31;cursor:default}.center span{display:block;color:#afc3b6;font-size:12px;letter-spacing:3px}.center strong{font:28px serif;margin:10px 0}.center small{font-size:13px;color:#d0dccf}.legend{display:flex;justify-content:center;gap:22px;font-size:12px;color:#819086;margin:15px 0}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:#47745b;margin-right:6px}.legend .red{background:#bd7562}.results-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.results-meta div{border-right:1px solid var(--line);padding-right:10px}.results-meta div:last-child{border:0}.results-meta small{font-size:12px;color:var(--muted);display:block}.results-meta strong{display:block;font-size:17px;margin:4px 0}.results-meta p{font-size:12px;color:#849087;margin:0}.detail-box{background:#f2f5f0;padding:12px 16px;margin-top:14px;border-left:2px solid #9aaa8e;font-size:14px}.detail-box strong{margin-right:12px}.detail-box p{margin:4px 0}.below{margin-top:24px;display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.analysis-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid #edf0ec}.analysis-row:last-child{border:0}.row-icon{height:36px;width:36px;display:grid;place-items:center;background:#eff3eb;font:21px serif}.analysis-row strong{font-size:15px}.analysis-row p{font-size:14px;color:#728077;margin:4px 0}.analysis-row .good-text{color:#3e7557}.analysis-row .bad-text{color:#aa5546}.layout-list{display:grid;gap:14px}.layout-item{padding:14px 15px;background:#f6f7f3;border-left:2px solid #b0ba9b}.layout-item b{font-size:14px}.layout-item strong{display:block;font:21px serif;margin:4px 0}.layout-item p{margin:4px 0;color:#6d7d70;font-size:13px}.subtle{font-size:12px;color:#869084}.alert{border:1px solid #e5d6c4;background:#fbf8f1;padding:12px 16px;color:#79634c;font-size:13px;border-radius:4px;margin:16px 0}.error{color:#a53b30;font-size:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.compass{display:block;width:min(100%,390px);margin:20px auto}.compass text{font-family:serif}.big-number{font:46px/1.2 serif;margin:12px 0}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;gap:9px;align-items:flex-start;margin:10px 0;font-size:14px}.check input{margin-top:6px;accent-color:var(--ink)}.tip{padding:15px;background:#f0f4ed;font-size:14px;margin-top:16px}.tip p{margin:5px 0}.lesson-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.lesson-tile{border:1px solid var(--line);background:white;padding:17px;text-align:left;border-radius:5px;color:var(--ink)}.lesson-tile.active{border-color:var(--ink);background:#edf2ea}.lesson-tile small{font:24px serif;color:#a1ad9b;display:block;margin-bottom:14px}.lesson-tile strong{font-size:15px;display:block}.lesson-tile span{font-size:12px;color:#7c887d}.course-layout{display:block}.article{max-width:none;overflow-wrap:anywhere}.article h1{font-size:28px}.article h2{font-size:22px;margin-top:28px}.article h3{margin-top:24px}.article h4{font-size:16px}.article p,.article li{color:#495e51;line-height:1.9}.article img{max-width:100%;height:auto;border:1px solid var(--line);cursor:zoom-in;margin:12px auto;display:block}.article table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.table-wrap{overflow-x:auto}.article th,.article td{padding:9px 10px;border:1px solid #dde4da;text-align:left;min-width:60px}.article th{background:#edf2e9}.article blockquote{margin:15px 0;padding:10px 16px;background:#f1f4ec;border-left:3px solid #9baf8c}.article blockquote p{margin:0}.article hr{border:0;border-top:1px solid var(--line);margin:25px 0}.resources .btn{width:100%;text-align:center;margin-bottom:10px}.mind-thumb{width:100%;max-height:240px;object-fit:contain;cursor:zoom-in;border:1px solid var(--line);margin:8px 0}.resources{align-self:start;position:sticky;top:20px}.resources p{font-size:13px;color:var(--muted)}.lookup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gua-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:22px;text-align:left;color:var(--ink)}.gua-card.active{border-color:var(--red);background:#fcf8f4}.gua-card .glyph{font-size:36px}.gua-card h2{margin:10px 0 6px;font-size:27px}.gua-card p{font-size:14px;margin:5px 0;color:#768579}.gua-card .tag{float:right}.wide-card{margin-top:22px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-grid .card{padding:28px}.case-num{font:42px serif;color:#c3b395}.case-grid p{color:#6b7c70;font-size:14px}.case-steps{padding-left:22px}.case-steps li{padding:7px 0;font-size:14px}.case-steps b{display:block;color:var(--ink)}dialog{border:0;border-radius:8px;width:min(96vw,1200px);max-height:95vh;background:#fff;padding:18px}dialog::backdrop{background:#10271ecc}dialog img{width:100%;margin-top:15px}dialog button{position:sticky;top:0}footer{padding:20px 42px 30px;color:#8a958a;font-size:12px;line-height:1.9;max-width:1460px;margin:auto}@media(min-width:1500px){.workspace{grid-template-columns:330px 1fr}.palace{min-height:145px}.palace strong{font-size:28px}}@media(max-width:1150px){.sidebar{width:200px;padding:30px 16px}.shell{margin-left:200px}main{padding:28px 24px}.topbar{padding:0 24px}.workspace{grid-template-columns:270px minmax(0,1fr);gap:16px}.card{padding:18px}.palace{padding:9px;min-height:114px}.below{gap:16px}.steps{font-size:12px}.steps b{font-size:16px}.course-layout{display:block}}@media(max-width:860px){.sidebar{position:static;width:100%;padding:17px 20px;display:block}.brand{font-size:22px}.brand small{font-size:11px}.sidebar nav{display:flex;overflow-x:auto;margin-top:15px;gap:5px}.sidebar nav a{white-space:nowrap;font-size:14px;padding:9px 12px}.sidebar nav a.active{border-left:0;border-bottom:2px solid #c87763}.nav-label,.sidebar-bottom{display:none}.shell{margin-left:0}.topbar{height:50px;padding:0 20px}.top-note b{display:none}main{padding:24px 20px}.workspace{grid-template-columns:1fr}.parameters .form-grid{grid-template-columns:repeat(4,1fr)}.parameters .form-divider{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.parameters .form-divider h3{grid-column:1/-1}.below,.two-col,.case-grid{grid-template-columns:1fr}.lesson-grid{grid-template-columns:repeat(3,1fr)}.course-layout{display:block}.resources{position:static;display:block}.lookup-grid{grid-template-columns:repeat(4,1fr)}footer{padding:20px}.page-head h1{font-size:29px}.steps{overflow-x:auto;gap:16px;display:flex}.steps span{white-space:nowrap}}@media(max-width:520px){main{padding:22px 14px}.topbar{padding:0 14px;font-size:12px}.top-note{font-size:12px}.page-head{align-items:flex-start}.page-head h1{font-size:27px}.page-head .btn{padding:8px 12px;font-size:12px}.intro{font-size:13px}.parameters .form-grid{grid-template-columns:1fr 1fr}.card{padding:17px}.palace{min-height:119px;padding:9px 8px}.palace strong{font-size:23px}.palace .symbol{font-size:20px}.palace .rank{display:block;margin-left:0}.results-meta strong{font-size:15px}.tabs{gap:16px}.lesson-grid{grid-template-columns:1fr 1fr}.lookup-grid{grid-template-columns:1fr 1fr}.inline-fields{grid-template-columns:1fr}.card-head h2{font-size:20px}.center strong{font-size:23px}.result-head h2{font-size:19px}.legend{gap:10px}.nine{gap:5px}}
.floorplan-section{margin-top:24px}.floor-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px}.floor-controls{min-width:0}.floor-upload{display:block;padding:18px 14px;border:1px dashed #8ba18d;border-radius:5px;background:#f5f8f1;cursor:pointer}.floor-upload span{font-size:17px;font-weight:600;display:block;margin-bottom:8px}.floor-upload input{font-size:13px;width:100%;color:#5d7562}.floor-upload small{display:block;font-size:12px;color:#7b8e7c;margin-top:10px}.floor-upload.dragging{background:#dcebdd;border-color:#24604d}.floor-controls .floor-range{padding:0!important;width:100%;accent-color:#24604d;margin:9px 0 13px}.floor-controls .field{margin-bottom:12px}.floor-actions{display:flex;gap:8px;flex-wrap:wrap}.floor-actions .btn{padding:8px 11px}.btn:disabled{opacity:0.45;cursor:default}.floor-preview{min-width:0;align-self:start}.floor-preview canvas{display:block;width:100%;height:auto;border:1px solid #d8e1d5;border-radius:5px;cursor:crosshair;touch-action:manipulation}.floor-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#7b8b7e;margin:12px 0}.floor-legend i{width:9px;height:9px;display:inline-block;border-radius:2px;background:#367c4e;margin-right:5px}.floor-legend i.red{background:#b44133}.floor-preview .tip{font-size:13px}.floor-controls .subtle{overflow-wrap:anywhere}@media(max-width:1100px){.floor-workspace{grid-template-columns:230px minmax(0,1fr);gap:16px}}@media(max-width:860px){.floor-workspace{grid-template-columns:1fr}.floor-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.floor-controls .floor-upload,.floor-controls #floor-status,.floor-controls>input,.floor-controls .floor-actions,.floor-controls>p{grid-column:1/-1}.floor-controls>input{margin-top:0}.floor-preview{grid-row:2}}@media(max-width:520px){.floor-controls{display:block}.floorplan-section .card-head{align-items:flex-start}.floorplan-section .tag{font-size:11px}.floor-preview canvas{min-height:0}}
@media print{.sidebar,.topbar,.parameters,.page-head .btn,.tabs,footer,.floor-controls{display:none}.shell{margin:0}main{padding:0}.workspace,.below,.floor-workspace{display:block}.card{break-inside:avoid;margin-bottom:15px}.palace{-webkit-print-color-adjust:exact;print-color-adjust:exact}.steps{display:flex}.floor-preview canvas{max-height:180mm;width:100%;object-fit:contain}}
