:root{--ink:#262621;--muted:#77756c;--paper:#f7f4ee;--panel:#fffdf9;--line:#d9d1c4;--gold:#b89459;--blush:#e8d8ce;--sage:#c6cdb8;--cream:#eee4d6;--serif:'Noto Serif SC','Instrument Serif',serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}.report-header{height:68px;padding:0 clamp(20px,4vw,65px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(247,244,238,.94);backdrop-filter:blur(10px);z-index:10}.brand{font-size:19px;font-weight:700;letter-spacing:-1px}.brand span{font-size:8px;vertical-align:top}.report-header-label,.back-link{font:10px var(--mono);letter-spacing:.4px;color:var(--muted)}.back-link{text-decoration:none;color:var(--ink)}.report-page{max-width:1140px;margin:auto;padding:32px 25px 65px}.report-hero{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto;gap:0 20px;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:26px}.hero-title{padding:54px 44px 25px}.kicker,.block-head>p,.report-header-label,.hero-portrait span,.hero-summary span,.report-footer{font:10px var(--mono);letter-spacing:.5px;color:var(--muted)}.hero-title h1{font:clamp(47px,6vw,85px)/.96 var(--serif);font-weight:500;letter-spacing:-3px;margin:24px 0 18px}.hero-title h1 em{font-style:normal;color:var(--gold)}.hero-sub{font-size:14px;color:var(--muted);max-width:280px;line-height:1.7}.hero-portrait{grid-column:2;grid-row:1/3;position:relative;min-height:550px;background:#d8c4b4}.hero-portrait img{width:100%;height:100%;object-fit:cover;display:block}.hero-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.33),transparent 35%)}.hero-portrait span{position:absolute;left:20px;bottom:17px;color:#fff;z-index:2}.hero-summary{margin:0 44px 44px;border:1px solid var(--line);border-radius:14px;padding:10px 17px;background:#faf8f2}.summary-row{display:grid;grid-template-columns:1fr 1.4fr;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px}.summary-row:last-child{border-bottom:0}.summary-row span{font-family:var(--serif);font-size:15px;color:var(--ink)}.summary-row b{font-weight:500;line-height:1.45}.report-block{margin-bottom:26px;border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:30px 30px 34px}.block-head{display:flex;align-items:baseline;gap:11px;margin-bottom:22px}.block-head .index{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font:13px var(--mono);flex:0 0 auto}.block-head .index.muted{background:#c8bca9}.block-head h2{font:400 27px var(--serif);margin:0}.block-head p{margin:0 0 0 auto;max-width:290px;line-height:1.5;font-family:var(--sans);font-size:11px;text-align:right}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.style-grid article{min-width:0}.style-grid img{width:100%;height:248px;display:block;object-fit:cover;border-radius:12px;background:var(--blush)}.style-grid h3{font:500 15px var(--serif);margin:10px 0 3px}.style-grid p{font-size:11px;color:var(--muted);margin:0}.avoid-grid .style-grid img{filter:saturate(.65);opacity:.82}.avoid-grid .style-grid article{position:relative}.avoid-grid .style-grid article:before{content:"×";position:absolute;z-index:2;top:10px;right:10px;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--gold);display:grid;place-items:center;font-size:18px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.spec-grid .report-block{margin:0}.spec-card{border:1px solid var(--line);border-radius:18px;padding:25px;background:var(--panel)}.length-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.length-row div{position:relative;text-align:center}.length-row img{width:100%;height:185px;object-fit:cover;border-radius:10px;display:block}.length-row span{display:block;margin-top:8px;font:14px var(--serif)}.length-row b{font:9px var(--mono);display:block;color:var(--gold);margin-top:2px}.preferred img{outline:2px solid var(--gold);outline-offset:3px}.color-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:24px;align-items:center}.color-content{display:grid;grid-template-columns:.85fr 1.15fr;gap:15px}.palette-card{border:1px solid var(--line);background:#f3ede2;border-radius:14px;padding:23px 17px;text-align:center}.spark{color:var(--gold);font-size:21px;display:block;margin-bottom:7px}.palette-card b{display:block;font:15px var(--serif);margin-bottom:5px}.palette-card strong{font:14px var(--serif);font-weight:500}.swatches{display:flex;gap:7px;margin:26px auto 8px;justify-content:center}.swatches i{width:28px;height:28px;border-radius:50%;background:var(--sw);border:1px solid rgba(0,0,0,.06)}.swatch-labels{display:grid;grid-template-columns:repeat(5,1fr);font-size:8px;color:var(--muted);line-height:1.2}.color-looks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.color-looks article img{display:block;width:100%;height:200px;object-fit:cover;border-radius:11px}.color-looks article span{display:block;text-align:center;font:12px var(--serif);margin-top:7px}.identity-section{background:#f1ece2}.identity-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:12px}.identity-statement{padding:18px 10px 10px 0}.identity-statement .spark{margin-bottom:15px}.identity-statement h3{font:500 21px/1.3 var(--serif);margin:0 0 15px}.identity-statement p{font-size:12px;color:var(--muted);line-height:1.6;max-width:280px}.outfit-card{min-height:250px;border-radius:12px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.outfit-card span{font:9px var(--mono);z-index:2}.outfit-card b{font:16px/1.3 var(--serif);font-weight:500;z-index:2}.outfit-cream{background:#ded0bc}.outfit-sage{background:#c5ccb7}.outfit-ink{background:#4d504b;color:#fff}.outfit-shape{position:absolute;left:25%;top:14%;width:50%;height:70%;border-radius:48% 48% 13% 13%;background:#a8957c;opacity:.85}.outfit-cream .outfit-shape{background:#f8f1e6;box-shadow:0 45px 0 13px #8c624b}.outfit-sage .outfit-shape{background:#efebe1;box-shadow:0 45px 0 13px #7b876f}.outfit-ink .outfit-shape{background:#d2ab82;box-shadow:0 45px 0 13px #1d2521}.care-section{display:grid;grid-template-columns:.6fr 1.4fr;align-items:center;background:var(--ink);color:#fff;border:0}.care-title{display:flex;align-items:center;gap:12px}.care-title .index{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--gold);font:13px var(--mono)}.care-title h2{font:400 28px var(--serif);margin:0}.care-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.care-list div{border-left:1px solid rgba(255,255,255,.3);padding-left:14px}.care-list b{font:10px var(--mono);color:#dbc082}.care-list p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.72);margin:10px 0 0}.report-footer{max-width:1140px;margin:0 auto;padding:22px 25px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}
@media(max-width:800px){.report-page{padding:18px 14px 45px}.report-header{padding:0 16px}.report-header-label{display:none}.report-hero{display:flex;flex-direction:column}.hero-portrait{order:0;min-height:390px}.hero-title{order:1;padding:33px 23px 18px}.hero-summary{order:2;margin:0 23px 28px}.style-grid{gap:10px}.style-grid img{height:185px}.spec-grid,.color-section,.identity-grid,.care-section{display:block}.spec-card{margin-bottom:18px}.color-content{margin-top:25px}.identity-grid{display:grid;grid-template-columns:1fr 1fr}.identity-statement{grid-column:1/-1;padding:0 0 14px}.care-title{margin-bottom:25px}.care-list{grid-template-columns:1fr;gap:14px}.care-list div{border-left:0;border-top:1px solid rgba(255,255,255,.3);padding:13px 0 0}.report-footer{font-size:8px;padding:18px 14px;flex-wrap:wrap}.report-footer span:nth-child(2){order:3;width:100%}}
@media(max-width:480px){.report-block{padding:22px 16px 24px}.block-head{display:grid;grid-template-columns:29px 1fr;gap:8px}.block-head p{grid-column:2;text-align:left;margin:0}.style-grid img{height:150px}.style-grid h3{font-size:13px}.length-row img{height:145px}.color-content{display:block}.color-looks{margin-top:13px}.color-looks article img{height:160px}.identity-grid{gap:8px}.outfit-card{min-height:190px;padding:10px}.outfit-card b{font-size:14px}}

/* Chinese copy should breathe inside the report cards and multi-line hero. */
html[lang="zh-CN"] body{font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC","DM Sans",Arial,sans-serif;letter-spacing:0}
html[lang="zh-CN"] .hero-title h1{letter-spacing:0;line-height:1.16}
html[lang="zh-CN"] .hero-title h1 em,html[lang="zh-CN"] .block-head h2,html[lang="zh-CN"] .style-grid h3,html[lang="zh-CN"] .length-row span,html[lang="zh-CN"] .palette-card b,html[lang="zh-CN"] .palette-card strong,html[lang="zh-CN"] .color-looks article span,html[lang="zh-CN"] .identity-statement h3,html[lang="zh-CN"] .care-title h2,html[lang="zh-CN"] .outfit-card b{font-family:"Noto Serif SC","Songti SC","STSong",serif;letter-spacing:0;line-height:1.28}
html[lang="zh-CN"] .hero-sub,html[lang="zh-CN"] .summary-row,html[lang="zh-CN"] .block-head p,html[lang="zh-CN"] .style-grid p,html[lang="zh-CN"] .identity-statement p,html[lang="zh-CN"] .care-list p{line-height:1.75}
.outfit-board{grid-column:2/-1;position:relative;border-radius:12px;overflow:hidden;background:#e5dccd;min-height:250px}.outfit-board img{display:block;width:100%;height:100%;min-height:250px;object-fit:cover}.outfit-board span{position:absolute;left:14px;bottom:12px;color:#fff;font:9px var(--mono);text-shadow:0 1px 4px rgba(0,0,0,.45)}
.wardrobe-board{height:100%;min-height:250px;display:flex;align-items:center;justify-content:center;gap:14px;padding:28px;position:relative;background:linear-gradient(135deg,#e6d7c2,#c5ccb7 52%,#4b504b)}.wardrobe-board i{display:grid;place-items:center;width:74px;height:145px;border-radius:38px 38px 16px 16px;background:#f8f0e3;color:#6e5b46;font:11px var(--mono);font-style:normal;box-shadow:0 15px 0 rgba(86,62,46,.4)}.wardrobe-board i:nth-child(2){background:#e7e4d9;color:#65705e;box-shadow:0 15px 0 #74806b}.wardrobe-board i:nth-child(3){background:#c7a47d;color:#fff;box-shadow:0 15px 0 #232823}.wardrobe-board b{position:absolute;left:15px;bottom:40px;color:#fff;font:11px var(--serif);text-shadow:0 1px 4px rgba(0,0,0,.45)}
@media(max-width:800px){.outfit-board{grid-column:1/-1;margin-bottom:2px}}
