@charset "UTF-8";
:root{--bg:#f8f8f2;--paper:#fffef9;--ink:#293c35;--muted:#798078;--green:#3e5e4f;--line:#dfe3d9;--soft:#ecf0e7;--gold:#b29c70;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #b29c70;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #9cae99;outline-offset:2px}svg{display:block}button svg,a svg{flex-shrink:0}.icon{width:19px;height:19px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.wrap{max-width:1200px;margin:auto;padding:0 42px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-symbol{width:36px;height:38px;position:relative;display:inline-block;border:1.4px solid currentColor;border-radius:22px 22px 3px 3px}.brand-symbol:before{content:"";position:absolute;inset:7px 7px -1px;border:1px solid currentColor;border-radius:16px 16px 0 0}.brand-symbol:after{content:"";position:absolute;width:27px;height:11px;border-top:1px solid currentColor;transform:rotate(-22deg);left:4px;bottom:5px}.brand-name{font:25px/1.2 var(--serif);letter-spacing:5px}.brand small{display:block;font:9px/1.6 var(--sans);letter-spacing:3px}.site-header{height:94px;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.nav{display:flex;gap:35px;align-items:center;font-size:13px}.nav a{padding:8px 0;position:relative}.nav a.active:after{content:"";height:2px;background:var(--green);position:absolute;bottom:0;left:0;right:0}.nav .nav-cta{padding:10px 21px;border:1px solid #a9b7a6;border-radius:4px}.btn{display:inline-flex;gap:14px;justify-content:center;align-items:center;border:1px solid transparent;background:var(--green);color:#fffef7;padding:13px 25px;border-radius:4px;transition:background .2s,transform .2s;font-size:13px;line-height:1.7}.btn:hover{background:#2b493a;transform:translateY(-1px)}.btn.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.btn.secondary:hover{background:var(--soft)}.btn.small{padding:8px 15px;font-size:12px}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;border-bottom:1px solid #a9b7a6;padding-bottom:4px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:2px;color:#7a8876;text-transform:uppercase}.eyebrow:before{content:"";width:23px;height:1px;background:currentColor}.serif{font-family:var(--serif);font-weight:400}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;padding-top:61px;padding-bottom:58px}.hero h1{font:52px/1.55 var(--serif);letter-spacing:3px;margin:25px 0 22px}.hero h1 em{font-style:normal;color:#829176}.hero-copy>p{color:#778075;line-height:2.1;margin:0 0 28px;font-size:14px}.hero-actions{display:flex;gap:25px;align-items:center}.hero-foot{margin-top:27px;display:flex;gap:19px;font-size:11px;color:#92988c}.hero-foot span{display:flex;gap:5px;align-items:center}.hero-foot .icon{width:14px;height:14px}.hero-art{position:relative;padding:10px 0 26px 30px}.art-frame{position:relative;border:1px solid #d5dccb;padding:10px;border-radius:220px 220px 5px 5px;max-width:424px;margin:auto}.landscape{width:100%;height:auto;border-radius:205px 205px 1px 1px;background:#e7ebdb}.art-note{position:absolute;bottom:5px;left:-14px;display:flex;gap:15px;align-items:center;padding:18px 23px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px #3a4b3810}.art-note b{font:17px/1.7 var(--serif);font-weight:400}.art-note small{font-size:10px;color:#8b9484;letter-spacing:1px;display:block}.art-number{position:absolute;right:-18px;top:43%;writing-mode:vertical-rl;color:#8c967e;font-size:10px;letter-spacing:4px}.intro-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;align-items:center;color:#828b7b;font-size:12px}.intro-line span:first-child{font-family:var(--serif);font-size:16px;color:#607358}.dot{display:inline-block;width:5px;height:5px;background:#8d9d80;border-radius:50%;margin-right:9px;vertical-align:middle}.section{padding:68px 0}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-top h2{font:30px/1.6 var(--serif);margin:8px 0 0;letter-spacing:1px}.section-top p{font-size:12px;color:var(--muted);margin:0}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.insight-card{padding:27px 28px 24px;border:1px solid var(--line);background:#fbfcf7;position:relative;min-height:236px}.insight-card:nth-child(2){background:#eef1e8}.insight-card:nth-child(3){background:#f1eee5}.card-top{display:flex;align-items:center;justify-content:space-between;color:#7b8e70}.card-top .icon{width:31px;height:31px;stroke-width:1.1}.card-num{font:12px var(--serif);color:#9ba48e}.insight-card h3{font:21px/1.6 var(--serif);font-weight:400;margin:22px 0 9px}.insight-card p{font-size:12px;line-height:1.9;color:#7c8275;margin:0}.quiet-section{background:#edf0e7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:54px 0}.journey{display:grid;grid-template-columns:1fr 1.8fr;gap:55px}.journey h2{font:29px/1.7 var(--serif);margin:12px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:8px}.step-number{width:33px;height:33px;border:1px solid #bcc9b4;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#728467}.steps h3{font-weight:400;font-size:14px;margin:16px 0 8px}.steps p{font-size:11px;color:#838b7a;margin:0}.closing{display:flex;align-items:center;justify-content:space-between;padding:49px 0}.closing h2{font:26px/1.7 var(--serif);font-weight:400;margin:0}.closing p{font-size:12px;color:var(--muted);margin:5px 0 0}.site-footer{border-top:1px solid var(--line);padding:26px 0;color:#92988b;font-size:10px}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-links{display:flex;gap:22px}.preview-label{border:1px solid #d8dece;padding:2px 7px;border-radius:3px;white-space:nowrap}.page-head{padding:38px 0 24px}.breadcrumb{font-size:11px;color:#8b9384;margin-bottom:17px;display:flex;gap:10px;align-items:center}.page-head h1{font:34px/1.6 var(--serif);margin:6px 0 9px}.page-head p{font-size:13px;color:var(--muted);margin:0}.form-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding-bottom:55px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:29px}.panel-title{font-size:15px;display:flex;gap:10px;align-items:center;margin:0 0 25px;font-weight:500}.section-index{width:25px;height:25px;border-radius:50%;background:#edf1e6;display:grid;place-items:center;color:#7e8f71;font-size:11px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 22px}.field.full{grid-column:1/-1}.field>label,.field>span.label{display:block;font-size:12px;margin-bottom:8px}.field label small{color:#89917f;font-size:10px;margin-left:6px}input,select,textarea{width:100%;background:#fffef9;border:1px solid #dce1d5;border-radius:4px;padding:11px 12px;color:var(--ink);min-width:0;font-size:12px;line-height:1.6}textarea{resize:vertical;min-height:100px}input::placeholder,textarea::placeholder{color:#a1a598}.segmented{display:flex;gap:5px;background:#f0f2ea;padding:4px;border-radius:4px}.segmented button{background:none;border:0;color:#85907b;flex:1;padding:7px 14px;border-radius:3px;font-size:12px}.segmented button.selected{background:#fffef9;box-shadow:0 1px 4px #203b2010;color:#3e5e4f}.form-divider{height:1px;background:var(--line);margin:27px 0}.help{color:#8b9482;font-size:10px;margin:7px 0 0;line-height:1.8}.location-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-row{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#7b8573;cursor:pointer}.check-row input{width:14px;height:14px;accent-color:var(--green);margin:4px 0 0;flex-shrink:0}.check-row a{border-bottom:1px solid #b9c4af}.submit-row{margin-top:22px}.submit-row .btn{width:100%;justify-content:space-between}.form-aside{padding-top:5px}.aside-illustration{background:#eef1e6;border:1px solid #dfe5d5;border-radius:150px 150px 5px 5px;padding:38px 27px 25px;text-align:center;margin-bottom:25px}.aside-illustration h2{font:23px/1.8 var(--serif);margin:20px 0 10px}.aside-illustration p{color:#7d8871;font-size:12px;margin:0}.small-arch{width:88px;height:107px;border:1px solid #aebd9e;border-radius:55px 55px 0 0;margin:auto;position:relative;overflow:hidden}.small-arch:before{content:"";width:60px;height:60px;background:#d5d8b3;border-radius:50%;position:absolute;top:20px;left:34px}.small-arch:after{content:"";position:absolute;width:130px;height:75px;background:#bac6a3;transform:rotate(-17deg);left:-22px;bottom:-26px;border-radius:50%}.aside-list{padding:0 9px}.aside-list>div{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.aside-list .icon{color:#8e9e7e;width:17px;margin-top:2px}.aside-list b{font-size:12px;font-weight:400}.aside-list p{font-size:10px;color:#929988;margin:4px 0 0}.micro-note{font-size:10px;color:#959d8b;margin:20px 9px}.notice{background:#edf1e7;color:#72826a;padding:12px 15px;border-radius:4px;font-size:11px;margin-bottom:20px}.report-banner{background:#e9eee1;padding:30px;border-radius:5px;margin:13px 0 28px;display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #dce4d1}.report-banner h1{font:31px/1.6 var(--serif);margin:8px 0}.report-banner p{font-size:12px;color:#829073;margin:0}.report-seal{width:73px;height:73px;border:1px solid #acbb9d;border-radius:50%;display:grid;place-content:center;text-align:center;font:18px/1.6 var(--serif);color:#91a080;transform:rotate(9deg);flex-shrink:0}.report-layout{display:grid;grid-template-columns:190px 1fr;gap:30px;padding-bottom:60px}.report-nav{position:sticky;top:25px;align-self:start}.report-nav>a{display:block;padding:11px 15px;font-size:12px;color:#8a927f;border-left:1px solid #d5decb}.report-nav>a.active{background:#edf1e5;color:var(--green);border-left:2px solid var(--green)}.report-nav small{display:block;font-size:10px;color:#9aa18f;margin:23px 15px}.report-sheet{background:var(--paper);border:1px solid var(--line);padding:35px 42px}.report-section{padding-bottom:28px;margin-bottom:29px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.report-section:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.report-section h2{font:23px/1.6 var(--serif);margin:5px 0 17px}.report-section p{font-size:13px;color:#72816e;line-height:2.1}.report-section .section-label{color:#9ba68b;letter-spacing:2px;font-size:10px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.tag{font-size:10px;background:#edf1e5;color:#788c6c;border:1px solid #dde6d3;border-radius:3px;padding:3px 9px;display:inline-block;white-space:nowrap}.tag.warm{background:#f5efe1;color:#a18b61;border-color:#eae1cc}.tag.gray{background:#f1f2ed;color:#8c9383;border-color:#e4e7dc}.quote{font:19px/1.9 var(--serif);color:#5c7851;background:#f0f3e9;border-left:2px solid #a8bb94;padding:20px 24px;margin:21px 0}.timeline-item{position:relative;border-left:1px solid #dae3d0;padding:0 0 22px 24px;margin-left:5px}.timeline-item:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;background:#9aae88;border-radius:50%}.timeline-item b{font-size:12px;font-weight:500}.timeline-item p{margin:7px 0 0;font-size:12px}.report-action{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:15px}.chart-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px}.chart-cell{background:#f9fbf5;min-height:95px;padding:10px;font-size:10px;color:#9aa68d}.chart-cell b{display:block;color:#677f57;font-size:11px;font-weight:400}.chart-cell span{display:block;margin-top:12px;font-family:var(--serif)}
/* Administration */
.admin-body{background:#f4f6f0;color:#344137;font-size:12px}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;left:0;width:220px;background:#2c4538;color:#e8eee1;padding:31px 22px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{gap:11px;margin:0 6px 38px}.sidebar .brand-symbol{width:29px;height:33px;color:#c2d0b3}.sidebar .brand-name{font-size:22px}.sidebar .brand small{font-size:8px;letter-spacing:2px;color:#a1b397}.sidebar-label{font-size:9px;letter-spacing:2px;color:#8ca080;margin:18px 13px 11px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;margin:4px 0;border-radius:4px;color:#bbc9b1;font-size:12px}.sidebar nav a.active{background:#405c48;color:#f1f5eb}.sidebar nav a.active:after{content:"";width:5px;height:5px;background:#bed1a3;border-radius:50%;margin-left:auto}.sidebar nav a:hover{background:#3a5341}.sidebar .icon{width:17px;height:17px}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-bottom a{display:flex;gap:10px;align-items:center;font-size:11px;color:#b5c5a9;padding:10px 12px}.admin-user{display:flex;gap:10px;align-items:center;margin-top:15px;border-top:1px solid #4b6150;padding:22px 9px 0}.avatar{width:32px;height:32px;background:#5c7454;border:1px solid #7b9070;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#edf3e5}.admin-user b{display:block;font-size:11px;font-weight:400}.admin-user small{font-size:9px;color:#95a88a}.admin-main{grid-column:2}.admin-topbar{height:72px;padding:0 36px;background:#fcfdf8;border-bottom:1px solid #e1e6da;display:flex;align-items:center;justify-content:space-between}.admin-breadcrumb{display:flex;gap:12px;color:#8d9785;font-size:11px}.admin-breadcrumb b{color:#526348;font-weight:400}.topbar-right{display:flex;align-items:center;gap:18px;font-size:10px;color:#8b9782}.topbar-right a{display:flex;gap:6px;align-items:center}.topbar-right .icon{width:15px;height:15px}.admin-content{padding:31px 36px 45px;max-width:1600px;margin:auto}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.admin-heading h1{font:26px/1.5 var(--serif);font-weight:400;margin:0 0 5px}.admin-heading p{font-size:11px;color:#8b9583;margin:0}.admin-actions{display:flex;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.stat{background:#fcfdf8;border:1px solid #e0e6d9;border-radius:5px;padding:20px}.stat-label{font-size:11px;color:#8c9682;display:flex;align-items:center;justify-content:space-between}.stat-label .icon{color:#a2b18e;width:17px;height:17px}.stat-number{font-size:31px;line-height:1.2;margin:16px 0 10px;font-family:Georgia,serif;color:#435d38}.stat-number small{font:10px var(--sans);margin-left:6px;color:#939e87}.stat-note{font-size:10px;color:#97a08c}.stat-note .positive{color:#7b925f}.admin-two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:23px;margin-bottom:24px}.admin-panel{background:#fcfdf8;border:1px solid #e0e6d9;border-radius:5px;overflow:hidden;margin-bottom:23px}.admin-two-col .admin-panel{margin-bottom:0}.admin-panel-head{padding:19px 22px;border-bottom:1px solid #e9ece2;display:flex;align-items:center;justify-content:space-between}.admin-panel-head h2{font-size:13px;font-weight:500;margin:0}.admin-panel-head a{font-size:10px;color:#92a17f}.admin-panel-head small{font-size:10px;color:#9aa58d}.admin-panel-body{padding:20px 22px}.mini-bars{height:153px;display:flex;align-items:flex-end;gap:18px;padding:6px 4px 23px;border-bottom:1px solid var(--line);position:relative;background:repeating-linear-gradient(to top,transparent,transparent 39px,#edf0e5 39px,#edf0e5 40px)}.bar-group{flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative;height:100%;gap:5px}.bar{width:15px;background:#9eaf88;border-radius:3px 3px 0 0;min-height:5px}.bar.light{background:#dce4ce}.bar-group small{position:absolute;bottom:-24px;font-size:9px;color:#99a18e;white-space:nowrap}.chart-legend{display:flex;justify-content:space-between;margin:15px 0 21px;color:#8c9980;font-size:10px}.legend-dot{width:7px;height:7px;border-radius:2px;background:#a5b78c;display:inline-block;margin:0 6px 0 12px}.legend-dot.light{background:#dce4ce}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid #e7ebdf}.setting-item:first-child{padding-top:0}.setting-item:last-child{border:0;padding-bottom:0}.setting-item b{font-size:12px;font-weight:400;display:block}.setting-item p{font-size:10px;color:#9ba48f;margin:3px 0 0}.switch{padding:0;border:0;border-radius:20px;width:35px;height:20px;background:#dbe2d1;position:relative;flex-shrink:0;transition:background .2s}.switch:after{content:"";width:14px;height:14px;position:absolute;background:#fff;left:3px;top:3px;border-radius:50%;box-shadow:0 1px 2px #31412d20;transition:left .2s}.switch[aria-checked=true]{background:#789265}.switch[aria-checked=true]:after{left:18px}.status-line{display:flex;align-items:center;gap:7px;font-size:10px;color:#8c9b7f;padding-top:18px}.status-line:before{content:"";width:5px;height:5px;border-radius:50%;background:#8da379}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.table-scroll{overflow-x:auto}.data-table th{text-align:left;color:#95a087;font-size:10px;font-weight:400;background:#f7f9f2;padding:12px 21px;border-bottom:1px solid #e6ebdd}.data-table td{padding:15px 21px;border-bottom:1px solid #edf0e6;font-size:11px;color:#6e7e60}.data-table tr:last-child td{border-bottom:0}.data-table td strong{font-weight:400;color:#435b38}.data-table .table-action{color:#819a6b;background:none;border:0;font-size:11px;padding:0}.table-footer{padding:16px 22px;border-top:1px solid #e6ebdd;display:flex;justify-content:space-between;align-items:center;color:#98a18e;font-size:10px}.info-strip{display:flex;align-items:center;gap:10px;background:#ebf0e2;border:1px solid #dee7d2;color:#879774;border-radius:4px;padding:12px 17px;margin-bottom:23px;font-size:11px}.info-strip .icon{width:17px;height:17px}.admin-footer{display:flex;justify-content:space-between;font-size:9px;color:#a4ad99;padding-top:5px;gap:15px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.toolbar-left{display:flex;gap:10px;align-items:center}.search{position:relative}.search input{padding-left:34px;width:240px;background:#fcfdf8}.search>.icon{position:absolute;top:11px;left:11px;color:#a0ac94;width:15px;height:15px}.toolbar select{width:150px;background:#fcfdf8}.tabs{display:flex;gap:28px;border-bottom:1px solid #dfe5d6;margin-bottom:24px}.tabs button{border:0;background:none;padding:0 0 13px;color:#95a287;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:#49603d;border-color:#819b6b}.settings-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:23px;align-items:start}.setting-block{margin-bottom:23px}.setting-block .setting-item{padding:20px 0}.setting-block .setting-item:first-child{padding-top:0}.setting-block p{font-size:11px;line-height:1.8}.preview-window{border:1px solid #dce4d1;border-radius:5px;overflow:hidden;background:#f8faf2}.window-bar{background:#edf2e3;padding:9px 12px;display:flex;gap:4px}.window-bar i{width:5px;height:5px;border-radius:50%;background:#c0cdb1}.window-content{padding:25px}.window-content h3{font:19px var(--serif);margin:8px 0 17px}.window-line{height:5px;background:#e0e8d5;margin:9px 0;width:100%;border-radius:2px}.window-line.short{width:63%}.window-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:19px}.window-chart span{height:30px;background:#e4ecd9;border:1px solid #d5e0c7}.preview-caption{margin-top:17px;font-size:10px;color:#92a17f;text-align:center}.policy-note{font-size:10px;color:#9aa78b;padding:10px 0 0;line-height:1.9}.case-row-title{display:block;color:#48603b;font-size:12px;margin-bottom:3px}.case-sub{font-size:9px;color:#a0ac92}.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.case-detail-box{background:#f6f8f0;border:1px solid #e1e7d8;border-radius:4px;padding:17px}.case-detail-box h3{font-size:11px;font-weight:400;margin:0 0 10px}.case-detail-box p{font-size:11px;color:#8b9c7b;margin:0}.empty-eval{text-align:center;padding:35px 20px;color:#8f9e80}.empty-eval>.icon{width:37px;height:37px;margin-bottom:15px;color:#a5b495}.empty-eval h3{font:20px var(--serif);color:#607d4d;margin:12px 0}.empty-eval p{font-size:11px;max-width:420px;margin:0 auto 19px}.dialog{border:1px solid #dbe3d1;border-radius:7px;width:min(560px,calc(100% - 32px));max-height:85vh;padding:27px;background:#fffef9;color:var(--ink);box-shadow:0 20px 90px #24351c30}.dialog::backdrop{background:#263b2d66;backdrop-filter:blur(3px)}.dialog h2{font:24px/1.6 var(--serif);margin:0 0 7px}.dialog .dialog-description{font-size:11px;color:#8c9980;margin:0 0 22px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.dialog-close{float:right;background:transparent;border:0;color:#92a184;font-size:23px;padding:0 5px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:#2e4938;color:#f7faef;padding:12px 22px;border-radius:5px;box-shadow:0 6px 25px #263b2d20;font-size:12px;opacity:0;pointer-events:none;z-index:100;transition:.2s;max-width:90vw}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.feedback-buttons{display:flex;gap:10px;flex-wrap:wrap}.feedback-buttons button{border:1px solid #dce5d2;background:#fafcf5;border-radius:4px;padding:8px 15px;color:#849975;font-size:11px}.feedback-buttons button.selected{background:#e9f0dd;border-color:#a9bd97;color:#476239}.mobile-nav-btn{display:none}.hidden,[hidden]{display:none!important}.error-text{color:#a17759;font-size:11px;margin-top:12px}.date-triple{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}
.mini-bars{gap:clamp(5px,1vw,18px)}.bar{width:clamp(8px,1vw,15px)}.bar-group{min-width:0}
@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:80px}.hero h1{font-size:58px}.art-frame{max-width:450px}}
@media(max-width:1100px){.admin-shell{grid-template-columns:185px 1fr}.sidebar{width:185px;padding:28px 15px}.admin-content{padding:25px}.admin-topbar{padding:0 25px}.stats-grid{gap:12px}.stat{padding:16px}.admin-two-col{grid-template-columns:1.2fr 1fr;gap:16px}.hero h1{font-size:45px}.wrap{padding:0 30px}.nav{gap:25px}.hero{gap:20px}.form-layout{gap:24px}.settings-layout{grid-template-columns:1.3fr 1fr;gap:18px}.data-table td,.data-table th{padding-left:17px;padding-right:17px}}
@media(max-width:800px){.wrap{padding:0 23px}.site-header{height:80px}.nav{gap:20px}.nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr 1fr;padding:45px 0;gap:10px}.hero h1{font-size:34px;letter-spacing:1px}.hero-copy>p{font-size:12px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-art{padding-left:10px}.art-note{left:0;padding:12px}.art-note b{font-size:12px}.art-note small{font-size:8px}.hero-foot{gap:9px;font-size:9px}.intro-line{gap:20px}.intro-line span:first-child{font-size:13px}.intro-line>span:last-child{font-size:10px}.section{padding:45px 0}.insight-grid{gap:12px}.insight-card{padding:20px;min-height:220px}.insight-card h3{font-size:19px}.journey{grid-template-columns:1fr;gap:20px}.journey h2{margin:0}.section-top h2{font-size:26px}.form-layout{grid-template-columns:1fr}.form-aside{display:none}.report-layout{grid-template-columns:1fr}.report-nav{display:flex;position:static;overflow:auto}.report-nav a{white-space:nowrap;border-left:0;border-bottom:1px solid #d5decb}.report-nav>a.active{border-left:0;border-bottom:2px solid var(--green)}.report-nav small{display:none}.report-sheet{padding:25px}.sidebar{width:175px}.admin-shell{grid-template-columns:175px 1fr}.admin-content{padding:22px}.admin-topbar{padding:0 22px}.admin-two-col,.settings-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.admin-heading{align-items:start}.admin-heading h1{font-size:23px}.admin-actions{flex-wrap:wrap;justify-content:flex-end}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left{flex-wrap:wrap}.topbar-right>a{display:none}.admin-footer{flex-direction:column}.search input{width:220px}}
@media(max-width:540px){.hero{grid-template-columns:1fr;padding:35px 0 30px}.hero h1{font-size:39px;line-height:1.55;margin-top:20px}.hero-copy>p{font-size:12px}.hero-art{max-width:290px;width:100%;margin:23px auto 0;padding:0 0 25px}.art-frame{padding:8px}.art-number{right:-19px}.art-note{left:-20px;bottom:8px}.hero-foot{margin-top:20px;font-size:10px;gap:15px}.hero-actions{gap:23px}.hero-art .landscape{max-height:280px}.intro-line{align-items:start;flex-direction:column;gap:5px;padding:17px 0}.insight-grid{grid-template-columns:1fr}.insight-card{min-height:0;padding:23px}.insight-card h3{margin-top:15px}.section-top{align-items:start}.section-top>p{display:none}.steps{gap:17px}.steps h3{font-size:12px}.steps p{font-size:10px}.quiet-section{padding:35px 0}.journey h2{font-size:25px}.closing{gap:20px;align-items:start;flex-direction:column;padding:35px 0}.closing h2{font-size:23px}.footer-inner{flex-direction:column;align-items:start;gap:10px}.field-grid{gap:17px 14px}.panel{padding:23px}.page-head h1{font-size:28px}.page-head{padding-top:28px}.report-banner{padding:20px}.report-banner h1{font-size:25px}.report-seal{width:55px;height:55px;font-size:15px}.report-sheet{padding:23px}.report-action{align-items:start;flex-direction:column}.report-section h2{font-size:21px}.sidebar{position:sticky;top:0;width:auto;height:auto;padding:12px 15px;grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}.admin-shell{display:block}.sidebar .brand{margin:0 auto 0 0}.sidebar .brand-symbol{width:23px;height:27px}.sidebar .brand-name{font-size:19px}.sidebar .brand small{display:none}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:4px;overflow-x:auto;width:100%;order:2}.sidebar nav a{padding:7px 10px;white-space:nowrap;font-size:10px;gap:6px;margin:0}.sidebar nav a .icon{width:13px;height:13px}.sidebar nav a.active:after{display:none}.admin-topbar{height:49px;padding:0 18px}.admin-content{padding:23px 17px}.admin-heading{gap:10px}.admin-heading p{font-size:10px;max-width:210px}.admin-heading h1{font-size:23px}.admin-actions .btn{font-size:10px;padding:8px 10px;gap:5px}.admin-actions .icon{width:13px;height:13px}.stat{padding:15px}.stat-number{font-size:29px}.stat-label{font-size:10px}.stat-note{font-size:9px}.admin-panel-head{padding:16px}.admin-panel-body{padding:17px}.info-strip{font-size:10px;line-height:1.9;padding:10px 12px}.toolbar-left{gap:8px}.search{flex:1}.search input{width:100%}.toolbar select{width:115px}.topbar-right{font-size:9px}.tabs{gap:20px}.tabs button{font-size:11px}.table-footer{padding:13px 16px}.case-detail-grid{grid-template-columns:1fr}}
@media(max-width:540px){.header-inner{gap:12px}.site-header .brand{gap:8px}.site-header .brand-symbol{width:29px;height:33px;flex-shrink:0}.site-header .brand-name{font-size:22px;letter-spacing:4px}.site-header .brand small{font-size:7px;letter-spacing:1.3px;white-space:nowrap}.site-header .nav{gap:0;flex-shrink:0}.nav .nav-cta{display:inline-flex;align-items:center;gap:5px;padding:9px 11px;font-size:11px;white-space:nowrap}.nav .nav-cta .icon{width:14px;height:14px}}
.login-layout{max-width:450px;padding:65px 22px 35px;margin:auto}.login-layout>.brand{margin-bottom:35px}.login-panel h1{font-size:31px;margin:15px 0 8px}.login-panel>p{font-size:12px;margin-bottom:25px}.login-layout>.help{text-align:center;margin-top:20px}.logout{border:0;color:#6f8760;background:none;font:11px var(--sans);cursor:pointer}.json-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f5eb;border:1px solid #e0e7d4;border-radius:4px;font:11px/1.8 monospace;padding:17px;max-height:370px;overflow:auto}.preserve{white-space:pre-wrap}.wrap-actions{flex-wrap:wrap}.audit-list>div{font-size:10px;padding:12px 0;border-bottom:1px solid #e5ebdc;color:#839675}.audit-list small{display:block;color:#9ca88f;margin-top:5px}.evaluation-report{font-size:12px;color:#738866}.evaluation-report h4{font-weight:500;color:#46623c}.evaluation-report p{line-height:2}details{margin-top:20px;font-size:11px;color:#839675}summary{cursor:pointer}
@media print{.site-header,.site-footer,.report-nav,.report-action,.breadcrumb,.toast,.preview-label,.feedback-buttons{display:none!important}.wrap{max-width:none;padding:0}.report-layout{display:block}.report-sheet{border:0;padding:0}.report-banner{margin:0 0 20px}.report-section{break-inside:avoid}body{background:white}.report-seal{display:none}}

/* Standard palace coordinates are supplied by the reference grid; never reflow. */
/* Reference board: twelve fixed positions around the central two-by-two panel. */
.chart-scroll{overflow:auto;margin-top:18px;border:1px solid #bbd4ca;border-radius:5px;background:#e4f2eb}
.chart-compass{min-width:870px;padding:17px 16px;position:relative}
.chart-direction{position:absolute;font:11px/1 var(--serif);color:#263d31;white-space:nowrap}
.direction-left,.direction-right{top:calc(17px + (100% - 34px) * (var(--r) + .5) / 4);writing-mode:vertical-rl;transform:translateY(-50%)}
.direction-left{left:2px}.direction-right{right:2px}
.direction-top,.direction-bottom{left:calc(16px + (100% - 32px) * (var(--c) + .5) / 4);transform:translateX(-50%)}
.direction-top{top:3px}.direction-bottom{bottom:3px}
.chart-ring{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(178px,1fr));position:relative;margin:0;border:1px solid #a9c4b9;gap:1px;background:#aec9bf;color:#263531}
.chart-ring .chart-cell{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:5px;min-width:0;padding:6px 7px;background:#fff;color:#253630}
.chart-ring .palace-related{background:#f5faff;box-shadow:inset 0 0 0 1px #93bfe2}
.chart-ring .palace-body{background:#f9f4ff}
.chart-ring .palace-focus{background:#fffbee;box-shadow:inset 0 0 0 2px #d0a35b}
.chart-links{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.chart-links polygon,.chart-links polyline{fill:none;stroke:#526658;stroke-opacity:.28;stroke-width:1.5;vector-effect:non-scaling-stroke}
.chart-ring .chart-cell span{margin-top:0}
.palace-top,.chart-palace-meta,.palace-foot{position:relative;z-index:2}
.palace-top{display:flex;justify-content:space-between;align-items:flex-start;min-height:57px;gap:3px}
.chart-stars{display:flex;flex-wrap:wrap;align-content:flex-start}
.chart-stars.major-stars{gap:3px;flex:1}
.chart-ring .chart-star{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);line-height:1;white-space:nowrap}
.chart-ring .chart-star b{color:inherit;font-weight:600;writing-mode:vertical-rl;font-size:14px;letter-spacing:.03em}
.chart-star small{font-size:9px;line-height:1.2;color:#435b4b;margin:1px 0}
.chart-star em,.chart-sihua span{color:#fff;font:normal 700 10px/1.35 var(--sans);padding:1px 2px;border-radius:2px}
.chart-star.star-red{color:#a52123}.chart-star.star-blue{color:#174b89}
.chart-ring .adjective-stars{max-width:52%;justify-content:flex-end;gap:2px}
.chart-ring .star-tiny b,.chart-ring .star-column.star-small b{font-size:10px;color:#304038}
.mut-lu{background:#36833b}.mut-quan{background:#8045ac}.mut-ke{background:#166cb8}.mut-ji{background:#be252d}
.chart-ring .chart-palace-meta p{font-size:10px;line-height:1.25;margin:0;overflow-wrap:anywhere;color:#273a33}
.chart-ring .chart-palace-meta .palace-range{font:600 12px/1.2 var(--serif);text-align:center;margin-top:4px}
.palace-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:3px}
.palace-cycle,.palace-gz,.palace-badges{display:flex;flex-direction:column;align-items:flex-start;font:11px/1.15 var(--serif)}
.palace-gz{align-items:center;font-size:16px;font-weight:700}.palace-gz small{color:#3e5147;font-size:10px;font-weight:400}
.palace-foot .palace-name{font:700 14px/1.15 var(--serif);color:#a31e21;background:#fff9;border:0;border-radius:3px;padding:3px 5px;cursor:pointer}
.palace-foot .palace-name:hover,.palace-foot .palace-name[aria-pressed=true]{background:#ffefca}
.palace-badges{gap:2px;margin-left:auto}.body-mark,.dou-mark{font:700 10px/1.1 var(--sans);background:#ae3430;color:white;border-radius:2px;padding:2px}.dou-mark{background:#714396}
.chart-center{grid-row:2 / 4;grid-column:2 / 4;background:#fafbf9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:12px;color:#263531}
.chart-center>*{position:relative;z-index:2}
.chart-core-title{font:700 18px/1.2 var(--serif)}.chart-center p{font-size:11px;line-height:1.4;margin:0}.chart-center .chart-core-meta{font-size:13px}
.chart-pillars{display:flex;gap:18px;margin:4px 0;font:700 21px/1.15 var(--serif)}
.chart-pillars div{display:flex;flex-direction:column}.chart-pillars small{font:10px/1.4 var(--sans);color:#56675f;margin-bottom:2px}
.element-wood{color:#286b44}.element-fire{color:#ac302b}.element-earth{color:#80600f}.element-metal{color:#7d5d15}.element-water{color:#235785}
.chart-decade-list{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 8px}
.chart-dou{background:#eee3f4;color:#66348a;border-radius:4px;width:100%;padding:3px}
.chart-controls,.chart-sihua{display:flex;align-items:center;justify-content:center;gap:6px}
.chart-controls button{font:600 11px/1.4 var(--sans);color:#3a5144;background:#fff;border:1px solid #c5d5c8;border-radius:3px;padding:3px 8px;cursor:pointer}
.chart-controls button[aria-pressed=true]{background:#3b5949;color:white;border-color:#3b5949}
.chart-sihua small{font-size:10px}
@media print{.chart-scroll{overflow:visible}.chart-compass{min-width:0}.chart-section{break-inside:avoid}.chart-ring{print-color-adjust:exact}.chart-ring .chart-cell{padding:4px}}


.report-paragraph{white-space:pre-line}.report-section#personality h2{font-weight:600}.report-section#wealth h2,.report-section#career h2{line-height:1.65}

.profile-summary{border:1px solid var(--line);border-radius:5px;padding:20px 24px;margin:0 0 26px;background:#f8faf4}
.profile-summary-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}
.profile-summary .profile-summary-title h2{font:500 19px/1.5 var(--serif);margin:0}
.profile-summary-title>span{font-size:11px;color:#7b8776}
.profile-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin:0}
.profile-summary dl>div{min-width:0}.profile-summary dt{font-size:11px;color:#8a9484;margin-bottom:3px}
.profile-summary dd{margin:0;font-size:13px;line-height:1.7;color:#3d5545;overflow-wrap:anywhere}
.generation-status{border-bottom:1px solid var(--line);padding:5px 0 22px}
.generation-status h2{font:500 23px/1.6 var(--serif);margin:0 0 10px}
.generation-note{font-size:13px;line-height:1.9;color:#91998c}
.chapter-pending{min-height:120px}.chapter-pending h2{color:#8c9585}.chapter-preview{border-left:2px solid #dce4d4;padding-left:18px}
.reading-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a7b19e;margin:0 8px 1px 0;animation:reading-breathe 1.5s ease-in-out infinite}
@keyframes reading-breathe{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.reading-dot{animation:none}}
@media(max-width:640px){.profile-summary{padding:16px}.profile-summary-title{display:block}.profile-summary-title>span{display:block;margin-top:4px}.profile-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-summary dd{font-size:12px}}
@media print{.generation-status,.chapter-pending,#report-connection{display:none}.profile-summary{break-inside:avoid;print-color-adjust:exact}}
.report-delivery{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:19px 22px;margin-bottom:20px;background:#f0f3e9;border:1px solid var(--line);border-radius:5px}
.report-delivery h2{font:500 18px/1.6 var(--serif);margin:0 0 3px}.report-delivery p{font-size:11px;color:var(--muted);margin:0}.delivery-buttons{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.report-delivery .delivery-unavailable{flex-basis:100%;color:#8b9384}.delivery-buttons .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:540px){.report-delivery{padding:16px}.delivery-buttons{gap:8px}.delivery-buttons .btn{font-size:11px;padding:9px 12px}}
@media print{.report-delivery,.report-feedback,#client-dialog{display:none!important}.report-section{break-inside:auto}.report-section h2{break-after:avoid}.report-paragraph{orphans:3;widows:3}}
.birth-confirm-summary{margin:22px 0 16px}.birth-confirm-times p{margin:4px 0}.birth-confirm-lunar{border-top:1px solid var(--line);padding-top:13px;margin:13px 0}.birth-confirm-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.birth-confirm-pillars>div{padding:9px 5px;text-align:center;background:#fffef9;border:1px solid var(--line);border-radius:4px}.birth-confirm-pillars span{display:block;font-size:11px;color:var(--muted)}.birth-confirm-pillars strong{display:block;font:500 23px/1.7 var(--serif);color:var(--green);letter-spacing:3px}.birth-confirm-summary .help{margin-bottom:0}
