/* Original owner-portal styles. Type and geometry tokens live in owner-ui-tokens.css. */
/* Original style block 1; ordering preserved. */

    :root { --ink:#171714; --paper:#f2f0ea; --paper-deep:#e7e2d8; --tobacco:#5d493a; --brass:#b08c56; --mist:#aaa59b; --line:rgba(23,23,20,.12); --ui:var(--font-native-kai,system-ui); --display:var(--ui); --sans:var(--ui); --mono:var(--ui); }
    *{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--type-subhead);-webkit-font-smoothing:antialiased} button,input{font:inherit} button{cursor:pointer}.screen{min-height:100vh}.login{display:grid;grid-template-columns:1.15fr .85fr;min-height:100vh;background:#1a1916;color:#f5f1e7}.login-art{position:relative;overflow:hidden;padding:48px 58px;background:linear-gradient(135deg,#25221d 0%,#514333 100%)}.login-art:before{content:'';position:absolute;inset:11% 8%;border:1px solid rgba(255,255,255,.21);border-radius:44% 56% 39% 61% / 45% 41% 59% 55%;transform:rotate(-15deg)}.login-art:after{content:'';position:absolute;width:350px;height:350px;right:12%;bottom:-10%;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(211,183,127,.85),rgba(94,68,43,.15) 47%,transparent 70%)}.brand{font-family:var(--display);font-size:1.47059rem;letter-spacing:.11em;position:relative;z-index:1}.brand small{display:block;font:var(--type-caption) var(--mono);letter-spacing:.25em;color:#c7af88;margin-top:7px}.art-copy{position:absolute;z-index:1;bottom:62px;left:58px;max-width:500px}.art-copy h1{font:500 2.76471rem/1.22 var(--display);letter-spacing:-.06em;margin:0 0 19px}.art-copy p{max-width:340px;font-size:var(--type-subhead);line-height:1.75;color:#d3cec3;margin:0}.login-form{display:flex;align-items:flex-start;overflow-y:auto;justify-content:center;background:#f4f1e9;color:var(--ink);padding:36px}.form-card{width:min(360px,100%);margin-block:auto;flex-shrink:0}.eyebrow{font:var(--type-caption) var(--mono);letter-spacing:.14em;color:var(--tobacco);text-transform:uppercase}.form-card h2{font:500 1.88235rem/1.35 var(--display);margin:17px 0 9px;letter-spacing:-.04em}.form-card p{line-height:1.75;color:#666157;margin:0 0 31px}.field{margin:15px 0}.field label{display:block;font-size:var(--type-caption);margin-bottom:8px;color:#514c44}.field input{width:100%;border:0;border-bottom:1px solid #aaa39a;background:transparent;padding:11px 0;color:var(--ink);outline:0}.field input:focus{border-color:var(--tobacco)}.code-row{display:flex;gap:12px;align-items:end}.code-row .field{flex:1}.text-button{border:0;background:transparent;color:var(--tobacco);font-size:var(--type-caption);padding:10px 0;white-space:nowrap}.primary{width:100%;border:0;background:var(--ink);color:#f8f4e9;padding:14px 18px;margin-top:18px;letter-spacing:.05em;transition:.25s}.primary:hover{background:var(--tobacco);transform:translateY(-1px)}.form-foot{font-size:var(--type-caption);color:#817b70;line-height:1.7;margin-top:22px}.notice{display:none;margin-top:14px;color:#7b5030;font-size:var(--type-caption)}.app{display:none;min-height:100vh}.topbar{height:66px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar .brand{color:var(--ink);font-size:1.05882rem}.topbar .brand small{display:inline;margin:0 0 0 10px;color:#8d8171}.user{display:flex;align-items:center;gap:11px;font-size:var(--type-caption)}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#23211e;color:#fff;font:var(--type-caption) var(--mono)}.layout{display:grid;grid-template-columns:214px 1fr;min-height:calc(100vh - 66px)}.sidebar{padding:34px 24px;border-right:1px solid var(--line)}.project-select{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px}.project-select b{font:500 var(--type-body) var(--display);display:block}.project-select span{display:block;color:#817b70;font:var(--type-caption) var(--mono);letter-spacing:.06em;margin-top:8px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;text-align:left;color:#777166;padding:9px 10px;font-size:var(--type-subhead);transition:.2s}.nav button:hover,.nav button.active{color:var(--ink);background:#e8e4da}.nav button.active{font-weight:600}.sidebar-foot{font-size:var(--type-caption);color:#8d877c;line-height:1.7;position:absolute;bottom:28px}.content{padding:39px 50px 58px;max-width:1440px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.page-head h1{font:500 2.35294rem/1.1 var(--display);letter-spacing:-.065em;margin:6px 0}.page-head p{margin:0;color:#706a60}.date{font:var(--type-caption) var(--mono);letter-spacing:.08em;color:#8f877b}.hero{min-height:330px;position:relative;padding:36px;background:linear-gradient(90deg,rgba(23,23,20,.82),rgba(23,23,20,.1)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=85') center/cover;border-radius:2px;color:#f7f2e7;display:flex;align-items:flex-end;overflow:hidden}.hero:after{content:'WEEK 29';position:absolute;right:31px;top:26px;font:var(--type-caption) var(--mono);letter-spacing:.18em;color:#ded5c6}.hero-copy{position:relative;z-index:1;max-width:460px}.hero-copy span{font:var(--type-caption) var(--mono);letter-spacing:.15em;color:#d8b879}.hero-copy h2{font:500 1.82353rem/1.28 var(--display);margin:10px 0 11px;letter-spacing:-.04em}.hero-copy p{margin:0;line-height:1.6;color:#e5e0d8}.grid{display:grid;grid-template-columns:1.25fr .75fr;gap:25px;margin-top:28px}.section-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:13px}.section-title h3{font:500 1.23529rem var(--display);margin:0;letter-spacing:-.04em}.section-title button{border:0;background:transparent;padding:0;color:var(--tobacco);font-size:var(--type-caption)}.journal{border-top:1px solid var(--ink)}.journal-item{display:grid;grid-template-columns:85px 1fr auto;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.journal-date{font:var(--type-caption) var(--mono);color:#857e74}.journal-item b{display:block;font-size:var(--type-subhead);font-weight:500}.journal-item p{margin:4px 0 0;color:#7a746a;font-size:var(--type-caption)}.journal-dot{width:8px;height:8px;border-radius:50%;background:var(--brass)}.choice-card{background:var(--ink);padding:26px;color:#f4efe5;min-height:222px}.choice-card .eyebrow{color:#c9a66d}.choice-card h3{font:500 1.41176rem/1.35 var(--display);letter-spacing:-.04em;margin:15px 0 8px}.choice-card p{margin:0;color:#d0c8bc;line-height:1.6;font-size:var(--type-subhead)}.choice-card button{margin-top:21px;border:1px solid rgba(255,255,255,.48);background:transparent;color:#fff;padding:9px 13px;font-size:var(--type-caption);transition:.2s}.choice-card button:hover{background:#f6f0e4;color:var(--ink)}.team-card{margin-top:25px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;align-items:center}.team-card b{display:block;font-weight:500}.team-card span{display:block;font-size:var(--type-caption);color:#7a746a;margin-top:3px}.team-card .contact{color:var(--tobacco);font-size:var(--type-caption)}.modal{position:fixed;inset:0;background:rgba(13,13,11,.52);display:none;align-items:center;justify-content:center;padding:20px;z-index:5}.modal.open{display:flex}.modal-card{width:min(720px,100%);background:var(--paper);padding:30px;position:relative}.close{position:absolute;right:22px;top:18px;border:0;background:transparent;font-size:1.29412rem}.modal-card h2{font:500 1.70588rem var(--display);margin:9px 0}.modal-card>p{color:#706a60;margin:0 0 25px}.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sample{border:1px solid transparent;background:#e4ded2;padding:10px;text-align:left}.sample:hover,.sample.selected{border-color:var(--tobacco)}.sample img{width:100%;height:115px;object-fit:cover;display:block;margin-bottom:10px;filter:saturate(.68)}.sample b{font-size:var(--type-caption)}.sample span{font-size:var(--type-caption);color:#716b62;display:block;margin-top:3px}.modal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.modal-foot small{color:#7a746a}.modal-foot .confirm{border:0;background:var(--ink);color:#fff;padding:11px 17px}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:13px 17px;font-size:var(--type-caption);opacity:0;transform:translateY(12px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:800px){.login{grid-template-columns:1fr}.login-art{min-height:38vh;padding:28px}.art-copy{left:28px;bottom:34px}.art-copy h1{font-size:1.88235rem}.layout{grid-template-columns:1fr}.sidebar{display:none}.content{padding:28px 20px}.topbar{padding:0 20px}.grid{grid-template-columns:1fr}.page-head h1{font-size:1.88235rem}.hero{min-height:280px;padding:24px}.samples{grid-template-columns:1fr}.sample img{height:150px}}
    /* 导航盘阶段带保持在视口内：流程需同时可见，不能把手机页面撑出横向滚动。 */
    @media(max-width:599px){.project-radar .radar-flow{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin-right:0;padding-right:0}.project-radar .radar-phase{min-width:0;padding-left:7px;padding-right:7px}.project-radar .radar-phase:first-child{padding-left:0}.project-radar .radar-phase.current,.project-radar .radar-phase.next{padding-left:7px}.project-radar .radar-phase b{font-size:var(--type-caption);letter-spacing:-.04em;line-height:1.35}}
    @media(min-width:1024px) and (max-width:1120px){.project-radar .owner-load{grid-template-columns:1fr;gap:12px}}
  

/* Original style block 2; ordering preserved. */

    .glance{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 26px}.glance button{border:0;border-right:1px solid var(--line);background:transparent;padding:15px 18px;text-align:left;transition:background .2s,color .2s}.glance button:first-child{padding-left:0}.glance button:last-child{border-right:0}.glance button:hover{background:rgba(93,73,58,.06)}.glance b{display:block;font-size:var(--type-caption);font-weight:500;color:#7a746a;margin-bottom:5px}.glance span{font:500 var(--type-body) var(--display);letter-spacing:-.03em}.glance em{font:var(--type-caption) var(--mono);font-style:normal;color:var(--brass);margin-left:7px}.archive-page{display:none}.archive-lead{display:flex;justify-content:space-between;gap:28px;align-items:end;border-top:1px solid var(--ink);padding-top:25px;margin-top:3px}.archive-lead h2{font:500 1.70588rem/1.3 var(--display);letter-spacing:-.05em;margin:0}.archive-lead p{max-width:365px;color:#706a60;line-height:1.7;margin:0;font-size:var(--type-subhead)}.archive-tools{display:flex;gap:10px;margin:25px 0 17px}.archive-search{flex:1;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;outline:0}.archive-search:focus{border-color:var(--tobacco)}.archive-filter{display:flex;gap:6px;overflow:auto;margin-bottom:23px}.archive-filter button{white-space:nowrap;border:1px solid var(--line);background:transparent;padding:8px 11px;font-size:var(--type-caption);color:#635d54}.archive-filter button.active,.archive-filter button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.asset-card{border:1px solid var(--line);background:rgba(255,255,255,.18);padding:12px;text-align:left;transition:transform .2s,box-shadow .2s,background .2s}.asset-card:hover{transform:translateY(-2px);background:#f8f5ed;box-shadow:0 8px 22px rgba(23,23,20,.08)}.asset-cover{height:128px;background:#ddd7cc center/cover;margin-bottom:12px;display:flex;align-items:flex-end;padding:9px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.45);font:var(--type-caption) var(--mono);letter-spacing:.08em}.asset-card b{font:500 var(--type-body) var(--display);letter-spacing:-.03em}.asset-card span{display:block;color:#756f65;font-size:var(--type-caption);margin-top:5px;line-height:1.5}.asset-card .asset-type{color:var(--tobacco);font:var(--type-caption) var(--mono);letter-spacing:.1em;margin-top:13px}.asset-note{border-top:1px solid var(--line);margin-top:27px;padding-top:17px;font-size:var(--type-caption);color:#706a60;line-height:1.7}.asset-note b{color:var(--ink)}@media(max-width:800px){.glance{grid-template-columns:1fr}.glance button{padding:13px 0;border-right:0;border-bottom:1px solid var(--line)}.glance button:last-child{border-bottom:0}.archive-lead{display:block}.archive-lead p{margin-top:10px}.asset-grid{grid-template-columns:1fr}.archive-tools{display:block}.archive-search{width:100%;margin-bottom:12px}}
  

/* Original style block 3; ordering preserved. */

    .brand{position:relative;z-index:1;line-height:0}.brand-logo{display:block;width:280px;height:auto}.login-art .brand-logo{width:420px;filter:invert(1)}.topbar .brand-logo{width:280px}@media(max-width:800px){.login-art .brand-logo{width:min(78vw,340px)}.topbar .brand-logo{width:210px}}
  

/* Original style block 4; ordering preserved. */

    /* 参考时装官网的编辑式开场：整屏主视觉、居中品牌、极少控件；项目内容仍独立保留。 */
    .login{display:block;position:relative;min-height:100svh;overflow:hidden;background:#181613}.login-art{position:absolute;inset:0;padding:0;background:#171714}.login-art:before{inset:0;border:0;border-radius:0;transform:none;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 23%,rgba(0,0,0,.28) 100%)}.login-art:after{display:none}.login-art .brand{position:absolute;left:50%;top:34px;transform:translateX(-50%);z-index:3}.login-art .brand-logo{width:min(39vw,490px);filter:invert(1)}.art-copy{left:5vw;bottom:13vh;max-width:min(730px,56vw);z-index:2}.manifesto-label{margin:0 0 17px;font:var(--type-caption) var(--mono);letter-spacing:.22em;color:rgba(255,255,255,.72)}.manifesto-frame{height:170px;overflow:hidden}.manifesto-title{margin:0;color:#fff;font:500 clamp(2.29412rem,4.35vw,3.94118rem)/1.12 var(--display);letter-spacing:-.075em;text-wrap:balance;transition:opacity .22s cubic-bezier(.23,1,.32,1),transform .22s cubic-bezier(.23,1,.32,1)}.manifesto-title.is-changing{opacity:0;transform:translateY(-16px)}.manifesto-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:baseline;max-width:575px;margin-top:1rem;color:rgba(255,255,255,.95);font:var(--type-brand-tagline)/1.6 var(--sans);text-shadow:0 1px 6px rgba(0,0,0,.6)}.manifesto-meta>span:first-child{min-width:0;overflow-wrap:anywhere}.manifesto-index{font-size:var(--type-subhead);white-space:nowrap}.manifesto-index{font:var(--type-caption) var(--mono);letter-spacing:.16em;color:#d7b174}.moving-words{position:absolute;z-index:2;bottom:0;left:0;right:0;overflow:hidden;height:42px;border-top:1px solid rgba(255,255,255,.22);background:rgba(8,7,6,.27);white-space:nowrap}.moving-track{display:inline-flex;align-items:center;gap:28px;min-width:max-content;height:100%;padding-left:28px;color:rgba(255,255,255,.72);font:var(--type-caption) var(--mono);letter-spacing:.08em;animation:manifestoMarquee 92s linear infinite}.moving-track i{font-style:normal;color:#d7b174}@keyframes manifestoMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.login-form{position:absolute;right:0;top:0;bottom:0;width:min(34.5vw,470px);min-width:405px;padding:0 62px;display:flex;align-items:center;background:rgba(247,245,239,.94);backdrop-filter:blur(12px);z-index:2}.form-card{width:100%}.form-card h2{font-size:1.82353rem;line-height:1.25;margin-top:15px}.form-card p{margin-bottom:36px}.primary{margin-top:24px;padding:15px 18px;background:#12110f}.primary:hover{background:#3d342a}.form-foot{margin-top:23px}.login-form .eyebrow{color:#766354}@media(max-width:900px){.login-art{inset:0 0 42% 0;background-position:center}.login-form{top:auto;width:100%;min-width:0;height:42%;padding:29px 8vw;background:rgba(247,245,239,.97);align-items:flex-start}.form-card h2{font-size:1.47059rem}.form-card p{margin-bottom:18px}.field{margin:9px 0}.primary{margin-top:12px}.form-foot{display:none}.art-copy{left:7vw;bottom:47%;max-width:78vw}.manifesto-frame{height:112px}.manifesto-title{font-size:clamp(1.88235rem,8.5vw,2.82353rem)}.manifesto-meta{margin-top:13px}.moving-words{bottom:42%}.login-art .brand{top:23px}.login-art .brand-logo{width:min(78vw,340px)}}@media(prefers-reduced-motion:reduce){.moving-track{animation:none}.manifesto-title{transition:none}}
  

/* Original style block 5; ordering preserved. */

    .login-art .brand{left:0;right:min(34.5vw,470px);transform:none;display:flex;justify-content:center}.login-art .brand-logo{max-width:calc(100% - 112px)}@media(max-width:900px){.login-art .brand{left:50%;right:auto;display:block;transform:translateX(-50%)}.login-art .brand-logo{max-width:none}}
  

/* Original style block 6; ordering preserved. */

    /* 项目内页延续时装官网的目录感：品牌居中、细线分区、图像先行、文字退后。 */
    .app{background:#f6f5f1}.topbar{position:relative;height:78px;padding:0 38px;border-color:rgba(23,23,20,.22);justify-content:flex-end}.topbar:before{content:'目录';position:absolute;left:38px;top:50%;transform:translateY(-50%);font:var(--type-caption) var(--mono);letter-spacing:.17em;color:#39362f}.topbar .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}.topbar .brand-logo{width:230px}.user{font:var(--type-caption) var(--mono);letter-spacing:.08em;gap:10px}.avatar{width:30px;height:30px;background:transparent;color:var(--ink);border:1px solid var(--ink)}.layout{grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{position:relative;padding:39px 29px 28px;border-color:rgba(23,23,20,.16);background:#f6f5f1}.project-select{padding:0 0 29px;margin:0 0 27px;border-color:rgba(23,23,20,.5)}.project-select b{font-size:1.29412rem;line-height:1.15;letter-spacing:-.05em}.project-select span{margin-top:10px;font-size:var(--type-caption);letter-spacing:.12em}.nav{counter-reset:projectNav;gap:0}.nav button{counter-increment:projectNav;display:flex;align-items:baseline;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(23,23,20,.11);color:#5a554c;font-size:var(--type-caption);transition:color .16s,letter-spacing .16s}.nav button:after{content:counter(projectNav,decimal-leading-zero);font:var(--type-caption) var(--mono);color:#a39c90}.nav button:hover,.nav button.active{background:transparent;color:var(--ink);font-weight:500;letter-spacing:.02em}.nav button.active:before{content:'—';position:absolute;left:12px;color:var(--ink)}.nav button em{display:none}.sidebar-foot{position:static;margin-top:34px;padding-top:17px;border-top:1px solid rgba(23,23,20,.16);font:var(--type-caption)/1.8 var(--mono);letter-spacing:.02em}.content{max-width:none;padding:55px 64px 105px}.page-head{align-items:flex-end;margin:0 0 34px}.page-head .eyebrow{font-size:var(--type-caption);letter-spacing:.19em;color:#756754}.page-head h1{max-width:850px;font-size:3.17647rem;line-height:1.03;letter-spacing:-.078em;text-wrap:balance}.page-head p{max-width:480px;font-size:var(--type-subhead);line-height:1.7}.date{padding-bottom:7px;font-size:var(--type-caption)}.glance{margin:0 0 31px;border-color:rgba(23,23,20,.48)}.glance button{padding:17px 0 17px 21px;border-color:rgba(23,23,20,.18)}.glance button:first-child{padding-left:0}.glance button:hover{background:transparent;color:var(--tobacco)}.glance b{font:var(--type-caption) var(--mono);letter-spacing:.1em;text-transform:uppercase}.glance span{font-size:1.11765rem;letter-spacing:-.045em}.hero{min-height:520px;border-radius:0;padding:44px;background:linear-gradient(90deg,rgba(10,9,8,.70),rgba(10,9,8,.08) 70%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90') center/cover}.hero:after{content:'本周记录';top:29px;right:32px}.hero-copy{max-width:590px}.hero-copy span{font-size:var(--type-caption);color:#e2c18a}.hero-copy h2{font-size:2.52941rem;line-height:1.14;letter-spacing:-.075em;margin:14px 0 15px}.hero-copy p{max-width:465px;font-size:var(--type-subhead);line-height:1.7}.grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:38px;margin-top:38px}.section-title{padding-bottom:12px;border-bottom:1px solid var(--ink);margin-bottom:0}.section-title h3{font-size:1.58824rem;letter-spacing:-.06em}.section-title button{font:var(--type-caption) var(--mono);letter-spacing:.08em;text-transform:uppercase}.journal{border-top:0}.journal-item{grid-template-columns:86px 1fr auto;padding:21px 0;border-color:rgba(23,23,20,.17)}.journal-date{font-size:var(--type-caption)}.journal-item b{font-size:var(--type-subhead)}.journal-item p{font-size:var(--type-caption);line-height:1.55}.journal-dot{width:6px;height:6px;background:#9f7b42}.choice-card{min-height:0;padding:31px 29px 34px;background:#171614}.choice-card h3{font-size:1.76471rem;line-height:1.2;letter-spacing:-.07em;margin-top:17px}.choice-card p{font-size:var(--type-subhead);line-height:1.7}.choice-card button{margin-top:29px;padding:11px 0;border-width:0 0 1px;color:#fff;font:var(--type-caption) var(--mono);letter-spacing:.1em}.choice-card button:hover{background:transparent;color:#d8b879}.team-card{margin-top:27px;padding-top:19px}.team-card b{font:500 1.05882rem var(--display);letter-spacing:-.04em}.team-card .contact{font:var(--type-caption) var(--mono);letter-spacing:.08em}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-left:1px solid rgba(23,23,20,.16)}.asset-card{padding:13px;border-width:0 1px 1px 0;border-color:rgba(23,23,20,.16);background:transparent}.asset-card:hover{transform:none;background:#eeece5;box-shadow:none}.asset-cover{height:182px;margin-bottom:15px}.asset-card b{font-size:1.05882rem}.archive-lead{border-color:var(--ink);padding-top:28px}.modal-card{border-radius:0;box-shadow:0 24px 60px rgba(0,0,0,.2)}@media(max-width:900px){.topbar{height:64px;padding:0 18px}.topbar:before{left:18px;font-size:var(--type-caption)}.topbar .brand-logo{width:184px}.user span:first-child{display:none}.avatar{width:28px;height:28px}.layout{grid-template-columns:1fr;min-height:calc(100vh - 64px)}.sidebar{display:none}.content{padding:34px 18px 70px}.page-head{display:block;margin-bottom:25px}.page-head h1{font-size:2.29412rem;margin:8px 0 12px}.page-head p{font-size:var(--type-subhead)}.date{display:none}.glance{grid-template-columns:1fr;margin-bottom:23px}.glance button,.glance button:first-child{padding:14px 0;border-right:0;border-bottom:1px solid rgba(23,23,20,.16)}.glance button:last-child{border-bottom:0}.hero{min-height:66vh;padding:26px 20px;background-position:58% center}.hero:after{top:18px;right:20px}.hero-copy h2{font-size:2.00000rem}.hero-copy p{font-size:var(--type-subhead)}.grid{grid-template-columns:1fr;gap:31px;margin-top:31px}.section-title h3{font-size:1.47059rem}.journal-item{grid-template-columns:70px 1fr auto;padding:18px 0}.choice-card{padding:28px 24px}.asset-grid{grid-template-columns:1fr}.asset-cover{height:200px}.archive-lead h2{font-size:1.58824rem}}
  

/* Original style block 7; ordering preserved. */

    /* 响应式构图规范：各区间重新编排信息层级，不以压缩桌面画面替代适配。 */
    @media(min-width:1440px){.content{padding:64px 7.1vw 116px}.sidebar{padding-left:34px;padding-right:34px}.hero{min-height:580px}.page-head h1{font-size:3.52941rem}.grid{gap:46px}}
    @media(min-width:1024px) and (max-width:1439px){.topbar{padding:0 30px}.topbar:before{left:30px}.content{padding:48px 46px 88px}.sidebar{padding-left:25px;padding-right:25px}.layout{grid-template-columns:230px minmax(0,1fr)}.page-head h1{font-size:2.88235rem}.hero{min-height:490px}.hero-copy h2{font-size:2.23529rem}.grid{gap:29px}.login-form{width:380px;min-width:380px;padding:0 42px}.login-art .brand-logo{width:min(39vw,390px)}.art-copy{max-width:min(600px,53vw)}}
    @media(min-width:768px) and (max-width:1023px){.login-art{inset:0 0 43% 0;background-position:center}.login-form{top:auto;width:100%;min-width:0;height:43%;padding:27px 11vw;background:rgba(247,245,239,.975);align-items:flex-start}.login-art .brand{left:50%;right:auto;display:block;transform:translateX(-50%)}.login-art .brand-logo{width:min(58vw,410px);max-width:none}.art-copy{left:9vw;bottom:48%;max-width:70vw}.manifesto-frame{height:132px}.manifesto-title{font-size:clamp(2.17647rem,6vw,3.23529rem)}.moving-words{bottom:43%}.form-card h2{font-size:1.64706rem}.form-card p{margin-bottom:19px}.field{margin:9px 0}.primary{margin-top:12px}.form-foot{display:none}.topbar{height:70px;padding:0 32px}.topbar:before{left:32px}.topbar .brand-logo{width:205px}.layout{grid-template-columns:1fr;min-height:calc(100vh - 70px)}.sidebar{display:none}.content{padding:43px 46px 82px}.page-head{margin-bottom:29px}.page-head h1{font-size:2.82353rem;max-width:720px}.page-head p{max-width:570px}.glance{grid-template-columns:repeat(3,1fr)}.glance button{padding:16px 13px}.glance button:first-child{padding-left:0}.hero{min-height:500px;padding:38px;background-position:center}.hero-copy h2{font-size:2.35294rem}.grid{grid-template-columns:1fr;gap:34px}.choice-card{max-width:440px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(min-width:600px) and (max-width:767px){.login-art{inset:0 0 46% 0}.login-form{top:auto;width:100%;min-width:0;height:46%;padding:25px 9vw;background:rgba(247,245,239,.98);align-items:flex-start}.login-art .brand{left:50%;right:auto;display:block;transform:translateX(-50%)}.login-art .brand-logo{width:min(68vw,380px);max-width:none}.art-copy{left:8vw;bottom:51%;max-width:78vw}.manifesto-frame{height:115px}.manifesto-title{font-size:clamp(1.88235rem,7vw,2.70588rem)}.manifesto-meta{margin-top:11px}.moving-words{bottom:46%}.form-card h2{font-size:1.47059rem}.form-card p{margin-bottom:15px}.field{margin:7px 0}.primary{margin-top:10px}.form-foot{display:none}.topbar{height:66px;padding:0 26px}.topbar:before{left:26px}.topbar .brand-logo{width:190px}.layout{grid-template-columns:1fr;min-height:calc(100vh - 66px)}.sidebar{display:none}.content{padding:34px 30px 72px}.page-head{margin-bottom:24px}.page-head h1{font-size:2.52941rem}.date{display:none}.glance{grid-template-columns:repeat(3,1fr);margin-bottom:25px}.glance button,.glance button:first-child{padding:14px 10px;border-right:1px solid rgba(23,23,20,.16);border-bottom:0}.glance button:last-child{border-right:0}.glance b{font-size:var(--type-caption)}.glance span{font-size:var(--type-body)}.hero{min-height:440px;padding:29px;background-position:60% center}.hero-copy{max-width:450px}.hero-copy h2{font-size:2.00000rem}.grid{grid-template-columns:1fr;gap:30px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:599px){.topbar{height:62px}.topbar .brand-logo{width:168px}.content{padding:31px 18px 68px}.page-head h1{font-size:2.23529rem;line-height:1.02}.hero{min-height:65svh}.hero-copy h2{font-size:1.94118rem}.asset-grid{grid-template-columns:1fr}.modal-card{padding:24px 20px}}
    @media(max-width:389px){.login-art{inset:0 0 51% 0}.login-form{height:51%;padding:21px 7vw}.login-art .brand{top:18px}.login-art .brand-logo{width:min(78vw,278px)}.art-copy{left:7vw;bottom:56%;max-width:84vw}.manifesto-label{margin-bottom:10px;font-size:var(--type-caption)}.manifesto-frame{height:101px}.manifesto-title{font-size:1.82353rem}.moving-words{bottom:51%;height:36px}.form-card h2{font-size:1.35294rem}.form-card p{font-size:var(--type-caption)}.field label{font-size:var(--type-caption)}.primary{padding:12px}.topbar:before{font-size:var(--type-caption)}.topbar .brand-logo{width:152px}.content{padding-left:16px;padding-right:16px}.page-head h1{font-size:2.05882rem}.hero{min-height:61svh;padding:22px 17px}.hero-copy h2{font-size:1.76471rem}.hero-copy p{font-size:var(--type-caption)}.journal-item{grid-template-columns:57px 1fr auto}.journal-item b{font-size:var(--type-subhead)}}
  

/* Original style block 8; ordering preserved. */

    .mobile-menu{display:none}@media(max-width:1023px){.topbar{z-index:30;background:#f6f5f1}.topbar:before{display:none}.mobile-menu{display:block;position:absolute;left:18px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ink);padding:12px 0;font:var(--type-caption) var(--mono);letter-spacing:.16em;z-index:2}.mobile-menu:focus-visible{outline:1px solid var(--ink);outline-offset:4px}body.mobile-nav-open{overflow:hidden}body.mobile-nav-open .sidebar{display:block;position:fixed;z-index:25;inset:62px 0 0;overflow-y:auto;padding:31px 24px 52px;background:#f6f5f1;border:0}body.mobile-nav-open .project-select{max-width:none}body.mobile-nav-open .nav button{font-size:var(--type-subhead);padding:15px 0}body.mobile-nav-open .sidebar-foot{margin-top:38px}.mobile-menu[aria-expanded="true"]{letter-spacing:.1em}@media(min-width:600px){.mobile-menu{left:26px}body.mobile-nav-open .sidebar{inset:66px 0 0;padding:38px 42px 58px}}}
  

/* Original style block 9; ordering preserved. */

    /* 登录首屏采用固定的纵向秩序，避免不同高度下文字带相互压叠。 */
    .moving-track{animation-duration:145s}
    .manifesto-title{line-break:strict;word-break:normal;overflow-wrap:normal}
    @media(min-width:1024px) and (max-width:1439px){.form-card h2{font-size:1.58824rem;letter-spacing:-.04em;white-space:nowrap}}
    @media(min-width:768px) and (max-width:1023px){.art-copy{top:clamp(120px,18svh,172px);bottom:auto}.moving-words{bottom:0}}
    @media(min-width:600px) and (max-width:767px){.art-copy{top:112px;bottom:auto}.moving-words{bottom:0}}
    @media(min-width:390px) and (max-width:599px){.art-copy{top:105px;bottom:auto;left:8vw}.moving-words{bottom:0}}
    @media(max-width:389px){.art-copy{top:91px;bottom:auto;left:7vw}.moving-words{bottom:0}}
    .login-art{--feature-left:5vw}
    .login-art .brand,.login-art .art-copy{left:var(--feature-left)}
    .login-art .brand{right:auto;display:block;transform:none;width:min(39vw,490px)}
    .login-art .brand-logo{width:100%;max-width:none}
    @media(min-width:768px) and (max-width:1023px){.login-art{--feature-left:9vw}.login-art .brand{width:min(58vw,410px)}}
    @media(min-width:600px) and (max-width:767px){.login-art{--feature-left:8vw}.login-art .brand{width:min(68vw,380px)}}
    @media(min-width:390px) and (max-width:599px){.login-art{--feature-left:8vw}.login-art .brand{width:min(78vw,340px)}}
    @media(max-width:389px){.login-art{--feature-left:7vw}.login-art .brand{width:min(78vw,278px)}}
    /* 当前项目以文字层级区分，不以额外短横线挤压首项的左轴。 */
    .nav button.active:before{display:none}
  

/* Original style block 10; ordering preserved. */

    /* 连续响应：断点只改变阅读结构，尺寸与留白在每个结构内随视窗连续变化。 */
    @media(min-width:1024px){
      .login{--login-gutter:clamp(52px,5vw,72px)}
      .login-art{--feature-left:var(--login-gutter)}
      .login-art .brand{top:clamp(28px,3.4svh,40px);width:clamp(390px,39vw,490px)}
      .art-copy{bottom:clamp(96px,13svh,130px);max-width:min(730px,56vw)}
      .manifesto-frame{height:clamp(150px,17svh,170px)}
      .login-form{width:clamp(380px,34.5vw,470px);min-width:0;padding-inline:clamp(42px,4.3vw,62px)}
      .topbar{height:clamp(70px,5.4vw,78px);padding-inline:clamp(30px,3vw,38px)}
      .topbar:before{left:clamp(30px,3vw,38px)}
      .layout{grid-template-columns:clamp(230px,18vw,255px) minmax(0,1fr);min-height:calc(100vh - clamp(70px,5.4vw,78px))}
      .sidebar{padding-inline:clamp(25px,2.4vw,34px)}
      .content{padding:clamp(48px,4.4vw,64px) clamp(46px,calc(13.5vw - 92px),102px) clamp(88px,8vw,116px)}
      .page-head h1{font-size:clamp(2.88235rem,4.2vw,3.52941rem)}
      .hero{min-height:clamp(490px,40vw,580px);padding:clamp(36px,3.1vw,44px)}
      .hero-copy h2{font-size:clamp(2.23529rem,3.2vw,2.52941rem)}
      .grid{gap:clamp(29px,3.2vw,46px)}
    }
    @media(max-width:1023px){
      .login{--login-gutter:clamp(26px,8vw,68px);display:grid;height:100svh;min-height:100svh;grid-template-rows:minmax(0,58fr) minmax(0,42fr)}
      .login-art{position:relative;inset:auto;grid-row:1;--feature-left:var(--login-gutter)}
      .login-form{position:relative;inset:auto;grid-row:2;width:100%;height:auto;min-width:0;padding:clamp(25px,3.2svh,30px) var(--login-gutter);align-items:flex-start}
      .login-art .brand{top:clamp(18px,2.8svh,28px);width:clamp(278px,55vw,410px)}
      .art-copy{top:clamp(92px,17svh,172px);bottom:auto;max-width:min(78vw,650px)}
      .manifesto-frame{height:clamp(101px,13vw,132px)}
      .manifesto-title{font-size:clamp(1.82353rem,6vw,3.23529rem)}
      .moving-words{bottom:0}
      .topbar{height:clamp(62px,calc(4.7vw + 34px),70px);padding-inline:clamp(18px,calc(7.6vw - 14px),46px)}
      .topbar .brand-logo{width:clamp(168px,25vw,205px)}
      .layout{min-height:calc(100vh - clamp(62px,calc(4.7vw + 34px),70px))}
      .content{padding:clamp(31px,4.2vw,43px) clamp(18px,calc(7.6vw - 14px),46px) clamp(68px,8vw,82px)}
      .page-head h1{font-size:clamp(2.05882rem,6.25vw,2.82353rem)}
      .page-head p{font-size:clamp(var(--type-caption),1.7vw,var(--type-subhead))}
      .hero{min-height:clamp(440px,62svh,530px);padding:clamp(22px,3.8vw,38px)}
      .hero-copy h2{font-size:clamp(1.76471rem,5.2vw,2.35294rem)}
      .grid{gap:clamp(30px,4.4vw,34px)}
    }
    @media(max-width:1023px) and (max-aspect-ratio:3/4){
      .login{grid-template-rows:minmax(0,49fr) minmax(0,51fr)}
      .login-art .brand{top:clamp(18px,2.7svh,24px);width:clamp(278px,74vw,340px)}
      .art-copy{top:clamp(88px,13svh,105px);max-width:84vw}
      .manifesto-frame{height:clamp(101px,26vw,112px)}
      .manifesto-title{font-size:clamp(1.70588rem,8.2vw,2.11765rem)}
    }
    @media(max-width:389px) and (max-height:700px){
      .login{grid-template-rows:minmax(0,47fr) minmax(0,53fr)}
      .login-form{padding-block:clamp(14px,2.3svh,18px)}
    }

    /* 项目导航盘：先回答业主此刻最关心的六个问题，资料细节留给对应页面。 */
    .next-meta button,.radar-footnote button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.next-meta button{font:500 var(--type-caption) var(--display);letter-spacing:-.02em}
    .radar-flow{min-width:0;width:100%}.next-focus h3 span{white-space:nowrap}
    @media(min-width:1024px) and (max-width:1120px){.owner-load{grid-template-columns:1fr;gap:12px}.radar-glance>section{padding-right:18px}.radar-glance>section+section{padding-left:18px}}
    @media(max-width:599px){.radar-flow{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;margin-right:0;padding-right:0}.radar-phase{min-width:0;padding-left:7px;padding-right:7px}.radar-phase:first-child{padding-left:0}.radar-phase.current,.radar-phase.next{padding-left:7px}}
    .project-radar{--radar-line:rgba(23,23,20,.17);border-top:1px solid var(--ink);margin-top:2px}.radar-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:20px 0 16px}.radar-kicker{font:var(--type-caption) var(--mono);letter-spacing:.17em;color:#756754}.radar-head h2{font:500 clamp(1.70588rem,2.45vw,2.29412rem)/1 var(--display);letter-spacing:-.065em;margin:8px 0 0}.radar-stamp{font:var(--type-caption)/1.5 var(--mono);letter-spacing:.08em;color:#756f65;text-align:right}.radar-stage{display:grid;grid-template-columns:minmax(250px,.88fr) minmax(320px,1.22fr);border-top:1px solid var(--radar-line);border-bottom:1px solid var(--radar-line)}.radar-now{padding:clamp(25px,3.2vw,44px) clamp(22px,3vw,42px) clamp(27px,3.4vw,48px) 0}.radar-now .eyebrow{font:var(--type-caption) var(--mono);letter-spacing:.15em;color:#756754}.radar-now h3{max-width:400px;margin:15px 0 14px;font:500 clamp(2.00000rem,3.35vw,3.05882rem)/.98 var(--display);letter-spacing:-.085em}.radar-now p{max-width:340px;margin:0;color:#665f56;font-size:var(--type-subhead);line-height:1.7}.radar-now .radar-action{display:inline-flex;align-items:center;gap:9px;margin-top:24px;padding-bottom:4px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font:var(--type-caption) var(--mono);letter-spacing:.1em;cursor:pointer}.radar-action:before{content:'02';color:#9f7b42}.radar-visual{position:relative;min-height:clamp(295px,29vw,420px);isolation:isolate;background:linear-gradient(90deg,rgba(10,9,8,.64),rgba(10,9,8,.03) 72%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=88') center/cover;color:#fff}.radar-visual:after{content:'';position:absolute;inset:0;border-left:1px solid rgba(255,255,255,.2);z-index:-1}.visual-label{position:absolute;left:clamp(20px,2.4vw,34px);top:22px;font:var(--type-caption) var(--mono);letter-spacing:.14em;color:#f1ddbc}.visual-copy{position:absolute;left:clamp(20px,2.4vw,34px);right:25px;bottom:25px}.visual-copy b{display:block;max-width:380px;font:500 clamp(1.29412rem,2.15vw,1.88235rem)/1.1 var(--display);letter-spacing:-.055em}.visual-copy span{display:block;margin-top:9px;font-size:var(--type-caption);line-height:1.55;color:rgba(255,255,255,.78)}.visual-switch{position:absolute;right:23px;top:22px;border:0;background:rgba(20,19,17,.54);color:#fff;padding:7px 9px;font:var(--type-caption) var(--mono);letter-spacing:.09em;cursor:pointer}.radar-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--radar-line)}.radar-phase{position:relative;min-height:104px;padding:18px 15px 18px 0;border-right:1px solid var(--radar-line);color:#827b70}.radar-phase:last-child{border-right:0;padding-right:0}.radar-phase .phase-index{display:block;font:var(--type-caption) var(--mono);letter-spacing:.1em}.radar-phase b{display:block;margin-top:12px;font-size:var(--type-subhead);font-weight:500;line-height:1.35}.radar-phase.done{color:#514b43}.radar-phase.done:after{content:'已完成';position:absolute;right:11px;top:18px;font:var(--type-caption) var(--mono);letter-spacing:.06em;color:#8f887e}.radar-phase.current{padding-left:14px;background:#171614;color:#fff}.radar-phase.current:before{content:'现在';display:inline-flex;align-items:center;justify-content:center;width:29px;height:16px;background:#d3ae72;color:#171614;font:var(--type-caption) var(--mono);letter-spacing:.06em}.radar-phase.current .phase-index{display:none}.radar-phase.current b{margin-top:11px}.radar-phase.next{padding-left:14px}.radar-phase.next:before{content:'下一步';display:block;font:var(--type-caption) var(--mono);letter-spacing:.08em;color:#9f7b42}.radar-phase.next .phase-index{display:none}.radar-phase.next b{margin-top:11px}.radar-glance{display:grid;grid-template-columns:1.14fr .86fr 1fr;border-bottom:1px solid var(--radar-line)}.radar-glance>section{min-height:190px;padding:25px 26px 25px 0;border-right:1px solid var(--radar-line)}.radar-glance>section+section{padding-left:25px}.radar-glance>section:last-child{border-right:0}.radar-glance h3{margin:0 0 19px;font:var(--type-caption) var(--mono);letter-spacing:.14em;color:#756754}.cost-figure{display:flex;align-items:baseline;gap:11px}.cost-figure strong{font:500 clamp(1.76471rem,2.8vw,2.52941rem)/1 var(--display);letter-spacing:-.065em}.cost-figure span{font-size:var(--type-caption);color:#6a6359}.cost-bar{height:3px;margin:21px 0 10px;background:#ded9ce}.cost-bar i{display:block;width:64%;height:100%;background:#9f7b42}.cost-notes{display:flex;gap:18px;font-size:var(--type-caption);color:#756f65}.cost-notes b{display:block;margin-bottom:4px;color:var(--ink);font-size:var(--type-subhead);font-weight:500}.cost-notes span{white-space:nowrap}.owner-load{display:grid;grid-template-columns:1fr 1fr;gap:16px}.load-item{border-left:2px solid #cbb793;padding-left:11px}.load-item b{display:block;font:500 1.35294rem/1 var(--display);letter-spacing:-.05em}.load-item span{display:block;margin-top:7px;color:#756f65;font-size:var(--type-caption);line-height:1.45}.confirm-list{display:grid;gap:8px}.confirm-row{display:flex;gap:9px;align-items:flex-start;font-size:var(--type-caption);line-height:1.4}.confirm-row i{display:inline-flex;flex:0 0 16px;height:16px;align-items:center;justify-content:center;border:1px solid #8b8377;color:#71685d;font-style:normal;font-size:var(--type-caption)}.confirm-row.done{color:#756f65}.confirm-row.done i{background:#171614;border-color:#171614;color:#fff}.confirm-row b{font-weight:500}.radar-next{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);margin-top:34px;border-top:1px solid var(--ink);border-bottom:1px solid var(--radar-line)}.next-focus{padding:25px 32px 29px 0}.next-focus .eyebrow{font:var(--type-caption) var(--mono);letter-spacing:.14em;color:#9f7b42}.next-focus h3{max-width:550px;margin:13px 0 11px;font:500 clamp(1.47059rem,2.35vw,2.05882rem)/1.13 var(--display);letter-spacing:-.065em}.next-focus p{max-width:550px;margin:0;color:#706a60;font-size:var(--type-subhead);line-height:1.65}.next-focus button{margin-top:22px;border:0;background:var(--ink);color:#fff;padding:12px 16px;font:var(--type-caption) var(--mono);letter-spacing:.1em;cursor:pointer}.next-meta{display:grid;align-content:center;gap:13px;padding:25px 0 25px 32px;border-left:1px solid var(--radar-line)}.next-meta div{display:flex;justify-content:space-between;gap:13px;border-bottom:1px solid rgba(23,23,20,.1);padding-bottom:10px;font-size:var(--type-caption);color:#756f65}.next-meta div:last-child{border-bottom:0;padding-bottom:0}.next-meta b{color:var(--ink);font-weight:500;text-align:right}.radar-footnote{margin:13px 0 0;color:#7a7368;font-size:var(--type-caption);line-height:1.65}.radar-footnote b{color:#5d554b;font-weight:500}
    @media(max-width:1023px){.radar-head{padding-top:18px}.radar-stage{grid-template-columns:1fr}.radar-now{padding:28px 0 29px}.radar-now h3{max-width:620px}.radar-visual{min-height:clamp(285px,53svh,440px)}.radar-visual:after{border-left:0;border-top:1px solid rgba(255,255,255,.2)}.radar-flow{grid-template-columns:repeat(5,minmax(115px,1fr));overflow-x:auto}.radar-phase{padding:17px 13px;min-height:100px}.radar-phase:first-child{padding-left:0}.radar-phase.current,.radar-phase.next{padding-left:13px}.radar-glance{grid-template-columns:1.14fr .86fr 1fr}.radar-glance>section{padding:22px 17px 23px 0}.radar-glance>section+section{padding-left:17px}.owner-load{gap:11px}.radar-next{margin-top:29px}.next-focus{padding-right:23px}.next-meta{padding-left:23px}}
    @media(max-width:599px){.radar-head{display:block;padding-bottom:15px}.radar-stamp{text-align:left;margin-top:10px}.radar-now h3{font-size:2.29412rem}.radar-visual{min-height:53svh;background-position:56% center}.visual-copy b{font-size:1.70588rem}.radar-flow{margin-right:calc(var(--login-gutter) * -1);padding-right:var(--login-gutter)}.radar-phase{min-width:124px}.radar-glance{grid-template-columns:1fr}.radar-glance>section,.radar-glance>section+section{min-height:auto;padding:21px 0;border-right:0;border-bottom:1px solid var(--radar-line)}.radar-glance>section:last-child{border-bottom:0}.radar-next{grid-template-columns:1fr;margin-top:27px}.next-focus{padding:23px 0 25px}.next-meta{padding:20px 0;border-left:0;border-top:1px solid var(--radar-line)}.next-focus h3{font-size:1.76471rem}.radar-footnote{font-size:var(--type-caption)}.cost-figure strong{font-size:2.29412rem}}
  

/* Original style block 11; ordering preserved. */

    .poster-entry{margin-right:17px;border:0;border-bottom:1px solid rgba(23,23,20,.52);padding:4px 0;background:transparent;color:var(--ink);font:var(--type-caption) var(--mono);letter-spacing:.1em}.poster-entry:hover{color:var(--tobacco);border-color:var(--tobacco)}.poster-entry span{color:#9f7b42}.poster-modal{position:fixed;inset:0;z-index:20;display:none;overflow:auto;background:rgba(14,13,11,.65);padding:clamp(18px,4vw,54px)}.poster-modal.open{display:block}.poster-sheet{width:min(1120px,100%);margin:auto;background:#f6f5f1;box-shadow:0 28px 90px rgba(0,0,0,.3)}.poster-sheet-head{display:flex;align-items:start;justify-content:space-between;gap:22px;padding:clamp(25px,3.5vw,45px) clamp(22px,4.4vw,58px) 22px;border-bottom:1px solid rgba(23,23,20,.18)}.poster-sheet-head .eyebrow{font:var(--type-caption) var(--mono);letter-spacing:.16em}.poster-sheet-head h2{margin:10px 0 0;font:500 clamp(1.82353rem,4vw,3.11765rem)/.98 var(--display);letter-spacing:-.08em}.poster-close{flex:0 0 auto;border:1px solid rgba(23,23,20,.35);width:34px;height:34px;border-radius:50%;background:transparent;font:1.17647rem/1 var(--sans);color:var(--ink)}.poster-close:hover{background:#171614;color:#fff}.poster-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.36fr);gap:clamp(24px,4vw,54px);padding:clamp(25px,4.4vw,58px)}.poster-mode{display:flex;gap:8px;margin-bottom:18px}.poster-mode button{border:1px solid rgba(23,23,20,.25);background:transparent;padding:9px 11px;color:#665f56;font:var(--type-caption) var(--mono);letter-spacing:.06em}.poster-mode button.active{background:#171614;border-color:#171614;color:#fff}.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.poster-tile{position:relative;aspect-ratio:1;overflow:hidden;background:#8d7964 center/cover}.poster-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.54))}.poster-tile span{position:absolute;z-index:1;left:9px;right:8px;bottom:8px;color:#fff;font:500 clamp(var(--type-caption),1.4vw,1.05882rem)/1.08 var(--display);letter-spacing:-.045em;text-shadow:0 1px 8px rgba(0,0,0,.45)}.poster-tile em{position:absolute;z-index:1;left:9px;top:8px;color:#f0d09a;font:var(--type-caption) var(--mono);letter-spacing:.08em;font-style:normal}.poster-grid.is-cut .poster-tile{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=88')!important;background-size:300% 300%}.poster-grid.is-cut .poster-tile span{display:none}.poster-grid.is-cut .poster-tile:nth-child(1){background-position:0 0}.poster-grid.is-cut .poster-tile:nth-child(2){background-position:50% 0}.poster-grid.is-cut .poster-tile:nth-child(3){background-position:100% 0}.poster-grid.is-cut .poster-tile:nth-child(4){background-position:0 50%}.poster-grid.is-cut .poster-tile:nth-child(5){background-position:50% 50%}.poster-grid.is-cut .poster-tile:nth-child(6){background-position:100% 50%}.poster-grid.is-cut .poster-tile:nth-child(7){background-position:0 100%}.poster-grid.is-cut .poster-tile:nth-child(8){background-position:50% 100%}.poster-grid.is-cut .poster-tile:nth-child(9){background-position:100% 100%}.poster-grid.is-cut .poster-tile:after{background:rgba(13,12,10,.08)}.poster-side{border-left:1px solid rgba(23,23,20,.18);padding-left:clamp(20px,3.5vw,44px)}.poster-side h3{margin:0 0 12px;font:500 1.35294rem/1.15 var(--display);letter-spacing:-.055em}.poster-side p{margin:0;color:#706a60;font-size:var(--type-caption);line-height:1.7}.poster-source{margin:24px 0;padding:17px 0;border-top:1px solid rgba(23,23,20,.2);border-bottom:1px solid rgba(23,23,20,.2)}.poster-source b{display:block;font:var(--type-caption) var(--mono);letter-spacing:.12em;color:#756754}.poster-source span{display:block;margin-top:9px;color:#514b43;font-size:var(--type-caption);line-height:1.65}.poster-copy{padding:17px;background:#e9e5db;font-size:var(--type-caption);line-height:1.75;color:#37332e;white-space:pre-line}.poster-actions{display:grid;gap:9px;margin-top:15px}.poster-actions button{border:0;background:#171614;color:#fff;padding:12px;font:var(--type-caption) var(--mono);letter-spacing:.1em}.poster-actions button.secondary{background:transparent;color:#544c43;border:1px solid rgba(23,23,20,.28)}.poster-disclaimer{margin-top:16px;color:#7a7368;font-size:var(--type-caption);line-height:1.65}.poster-toast{position:fixed;z-index:25;right:24px;bottom:24px;padding:12px 16px;background:#171614;color:#fff;font-size:var(--type-caption);opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}.poster-toast.show{opacity:1;transform:none}@media(max-width:700px){.poster-entry{margin-right:11px;font-size:var(--type-caption)}.poster-entry span{display:none}.poster-modal{padding:0}.poster-sheet{min-height:100svh}.poster-sheet-head{padding:25px 18px 20px}.poster-body{grid-template-columns:1fr;gap:25px;padding:22px 18px 34px}.poster-side{border-left:0;border-top:1px solid rgba(23,23,20,.18);padding:22px 0 0}.poster-grid{gap:4px}.poster-tile span{left:6px;bottom:6px;font-size:var(--type-caption)}.poster-tile em{left:6px;top:6px;font-size:var(--type-caption)}}
  

/* Original style block 12; ordering preserved. */
.poster-modal{z-index:40}

/* Original style block 13; ordering preserved. */

    /* 我的新家先呈现可分享的居住叙事，再进入项目判断信息。 */
    .home-story{margin:0 0 clamp(38px,5vw,68px);border-top:1px solid var(--ink);border-bottom:1px solid rgba(23,23,20,.18);padding:clamp(20px,2.6vw,34px) 0}.home-story-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:clamp(17px,2.4vw,28px)}.home-story-head .eyebrow{font:var(--type-caption) var(--mono);letter-spacing:.16em;color:#756754}.home-story-head h2{margin:8px 0 0;font:500 clamp(1.76471rem,3.4vw,2.88235rem)/.98 var(--display);letter-spacing:-.075em}.home-story-head p{max-width:260px;margin:0;color:#706a60;font-size:var(--type-caption);line-height:1.65;text-align:right}.home-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-story-card{position:relative;display:flex;align-items:flex-end;min-height:clamp(132px,14.3vw,214px);overflow:hidden;padding:clamp(12px,1.45vw,20px);background:var(--story-image) center/cover;color:#fff;text-align:left}.home-story-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,8,7,.03) 28%,rgba(9,8,7,.72) 100%);transition:opacity 180ms cubic-bezier(.23,1,.32,1)}.home-story-card:hover:before{opacity:.78}.home-story-card>*{position:relative;z-index:1}.home-story-card em{position:absolute;top:clamp(10px,1.2vw,16px);left:clamp(12px,1.45vw,20px);font:var(--type-caption) var(--mono);letter-spacing:.12em;color:#f2d5a4;font-style:normal}.home-story-card span{display:block;font:500 clamp(var(--type-body),1.85vw,1.58824rem)/1.05 var(--display);letter-spacing:-.06em;text-shadow:0 1px 9px rgba(0,0,0,.34)}.home-story-card small{display:block;max-width:19em;margin-top:7px;font-size:var(--type-caption);line-height:1.48;color:rgba(255,255,255,.86)}.home-story-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;color:#756f65;font-size:var(--type-caption);line-height:1.55}.home-story-foot button{border:0;border-bottom:1px solid var(--ink);padding:0 0 4px;background:transparent;color:var(--ink);font:var(--type-caption) var(--mono);letter-spacing:.1em;cursor:pointer}.home-story-foot button:hover{color:#9f7b42;border-color:#9f7b42}
    .radar-glance.is-orbit-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.radar-glance.is-orbit-board>section{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(13px,1.8vw,22px);min-height:218px;padding:24px 22px 24px 0}.radar-glance.is-orbit-board>section+section{padding-left:22px}.orbit{--arc:50%;position:relative;display:grid;place-items:center;flex:0 0 auto;width:clamp(88px,8.5vw,128px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from -90deg,#a7854f var(--arc),#dfd9cd 0)}.orbit:after{content:'';position:absolute;inset:9px;border-radius:inherit;background:#f6f5f1}.orbit strong,.orbit span{position:relative;z-index:1;text-align:center}.orbit strong{font:500 clamp(1.11765rem,1.8vw,1.58824rem)/1 var(--display);letter-spacing:-.065em}.orbit span{display:block;margin-top:5px;color:#746d62;font-size:var(--type-caption);line-height:1.2}.orbit-detail h3{margin:0 0 10px}.orbit-detail b{display:block;font:500 clamp(1.05882rem,1.9vw,1.64706rem)/1 var(--display);letter-spacing:-.06em}.orbit-detail p{margin:7px 0 0;color:#706a60;font-size:var(--type-caption);line-height:1.55}.orbit-detail small{display:block;margin-top:9px;color:#9f7b42;font:var(--type-caption) var(--mono);letter-spacing:.09em}.payment-cadence{grid-column:1/-1!important;display:block!important;min-height:0!important;border-top:1px solid rgba(23,23,20,.17);border-right:0!important;padding:20px 0 0!important}.payment-cadence-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:16px}.payment-cadence-head h3{margin:0!important}.payment-cadence-head span{color:#9f7b42;font:var(--type-caption) var(--mono);letter-spacing:.1em}.payment-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(23,23,20,.16)}.payment-step{min-height:105px;padding:13px 13px 13px 0;border-right:1px solid rgba(23,23,20,.15);color:#756f65}.payment-step+.payment-step{padding-left:13px}.payment-step:last-child{border-right:0}.payment-step i{display:block;margin-bottom:13px;color:#9f7b42;font:var(--type-caption) var(--mono);font-style:normal;letter-spacing:.09em}.payment-step b{display:block;color:var(--ink);font-size:var(--type-caption);font-weight:500;line-height:1.35}.payment-step span{display:block;margin-top:6px;font-size:var(--type-caption)}.payment-step em{display:inline-block;margin-top:8px;padding:3px 5px;background:#171614;color:#fff;font:var(--type-caption) var(--mono);letter-spacing:.05em;font-style:normal}.payment-step.next em{background:#e6d1a8;color:#403321}.payment-step.future em{background:transparent;color:#8b8377;border:1px solid rgba(23,23,20,.22)}
    .poster-tile-copy{position:absolute;z-index:1;left:9px;right:9px;bottom:29px;margin:0;color:rgba(255,255,255,.92);font-size:clamp(var(--type-caption),1vw,var(--type-subhead));line-height:1.35;text-shadow:0 1px 8px rgba(0,0,0,.5)}.poster-tile span{font-size:var(--type-caption);letter-spacing:.08em}.poster-grid.is-cut .poster-tile-copy{display:none}.poster-save-note{margin:10px 0 0;color:#7a7368;font-size:var(--type-caption);line-height:1.6}
    @media(max-width:700px){.home-story{margin-bottom:38px}.home-story-head{display:block}.home-story-head p{text-align:left;margin-top:13px;max-width:320px}.home-story-grid{gap:4px}.home-story-card{min-height:126px;padding:10px}.home-story-card em{top:9px;left:10px;font-size:var(--type-caption)}.home-story-card span{font-size:var(--type-body)}.home-story-card small{margin-top:5px;font-size:var(--type-caption);line-height:1.4}.home-story-foot{display:block}.home-story-foot button{margin-top:12px}.radar-glance.is-orbit-board{grid-template-columns:1fr}.radar-glance.is-orbit-board>section,.radar-glance.is-orbit-board>section+section{min-height:0;padding:20px 0;border-right:0;border-bottom:1px solid rgba(23,23,20,.17)}.payment-cadence{padding-top:20px!important}.payment-steps{grid-template-columns:1fr}.payment-step,.payment-step+.payment-step{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:0;padding:11px 0;border-right:0;border-bottom:1px solid rgba(23,23,20,.13)}.payment-step i{margin:0}.payment-step span{margin:0;text-align:right}.payment-step em{grid-column:2/4;justify-self:start;margin-top:-3px}.poster-tile-copy{left:6px;right:6px;bottom:23px;font-size:var(--type-caption)}.poster-tile span{left:6px;bottom:6px;font-size:var(--type-caption)}}
    @media(prefers-reduced-motion:reduce){.home-story-card:before{transition:none}}
  

/* Original style block 14; ordering preserved. */

    /* 项目导航盘：在每种屏幕宽度只保留业主当前要判断的事实。 */
    .project-radar{--owner-body:clamp(15px,.32vw + 13.5px,17px);--owner-meta:clamp(14px,.18vw + 12.8px,15px);--owner-value:clamp(25px,1.4vw + 19px,35px);--owner-title:clamp(30px,2.1vw + 21px,40px);--owner-line:rgba(23,23,20,.16);margin-top:0;border-top:1px solid var(--ink)}
    .project-radar .radar-head{display:block;padding:clamp(24px,2.7vw,36px) 0 clamp(22px,2.5vw,32px)}.project-radar .radar-head h2{margin:0;font:500 var(--owner-title)/1 var(--display);letter-spacing:-.07em;text-wrap:balance}.project-radar .radar-glance.owner-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--owner-line);border-bottom:1px solid var(--owner-line)}
    .owner-overview .contract-summary{grid-column:1/-1;display:flex!important;align-items:end;justify-content:space-between;gap:24px;min-height:0!important;padding:clamp(20px,2.25vw,30px) 0!important;border:0!important;border-bottom:1px solid var(--owner-line)!important}.contract-summary h3,.overview-orbit h3,.owner-commitment h3{margin:0 0 9px!important;color:#756754;font:500 var(--owner-meta)/1.2 var(--sans)!important;letter-spacing:0!important}.contract-summary strong{display:block;font:500 var(--owner-value)/1 var(--display);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.contract-facts{display:flex;justify-content:flex-end;gap:clamp(18px,3vw,42px);color:#706a60;font-size:var(--owner-meta);line-height:1.5;text-align:right}.contract-facts b{display:block;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
    .owner-overview .overview-orbit{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(16px,2.2vw,28px);min-height:clamp(166px,15vw,214px)!important;padding:clamp(20px,2.4vw,31px) 0!important;border:0!important;border-bottom:1px solid var(--owner-line)!important}.owner-overview .overview-orbit.construct{padding-left:clamp(20px,3vw,40px)!important;border-left:1px solid var(--owner-line)!important}.overview-orbit .orbit{width:clamp(102px,9.5vw,138px);background:conic-gradient(from -90deg,#a7854f var(--arc),#dfd9cd 0)}.overview-orbit .orbit:after{background:#f6f5f1}.overview-orbit .orbit strong{font-size:clamp(1.29412rem,1.6vw,1.76471rem)}.overview-orbit .orbit span{margin-top:6px;font-size:var(--owner-meta)}.overview-orbit b{display:block;max-width:16em;font:500 clamp(1.17647rem,1.7vw,1.64706rem)/1.08 var(--display);letter-spacing:-.055em;text-wrap:balance}.overview-orbit p{max-width:29em;margin:9px 0 0;color:#706a60;font-size:var(--owner-body);line-height:1.55;text-wrap:pretty}.overview-orbit small{display:block;margin-top:8px;color:#9f7b42;font-size:var(--owner-meta);line-height:1.4}
    .owner-overview .owner-commitment{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(145px,.75fr) 1.25fr 1.25fr;align-items:center;gap:clamp(18px,3vw,42px);min-height:0!important;padding:clamp(20px,2.25vw,28px) 0!important;border:0!important;border-bottom:1px solid var(--owner-line)!important}.owner-commitment h3{margin:0!important;color:var(--ink);font:500 clamp(1.11765rem,1.5vw,1.47059rem)/1.1 var(--display)!important;letter-spacing:-.05em!important}.owner-commitment div{border-left:1px solid var(--owner-line);padding-left:clamp(15px,2vw,26px)}.owner-commitment b{display:block;font:500 clamp(1.17647rem,1.65vw,1.64706rem)/1 var(--display);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.owner-commitment span{display:block;margin-top:7px;color:#706a60;font-size:var(--owner-meta);line-height:1.45}
    .owner-overview .payment-cadence{margin:0;padding:clamp(21px,2.4vw,30px) 0 0!important;border-top:0!important}.owner-overview .payment-cadence-head h3{margin:0!important;font:500 clamp(1.11765rem,1.5vw,1.47059rem)/1.1 var(--display)!important;letter-spacing:-.05em!important;color:var(--ink)}.owner-overview .payment-cadence-head span{font-size:var(--owner-meta);letter-spacing:0}.owner-overview .payment-step i,.owner-overview .payment-step em{font-size:var(--owner-meta)}.owner-overview .payment-step b{font-size:var(--owner-body)}.owner-overview .payment-step span{font-size:var(--owner-meta);font-variant-numeric:tabular-nums}
    .project-radar .radar-next{margin-top:clamp(28px,3.2vw,45px)}.project-radar .next-focus h3{font-size:clamp(1.52941rem,2.25vw,2.11765rem);text-wrap:balance}.project-radar .next-focus p,.project-radar .next-meta div{font-size:var(--owner-body)}.project-radar .next-focus .eyebrow,.project-radar .next-focus button,.project-radar .radar-footnote{font-size:var(--owner-meta)}
    @media(max-width:720px){.project-radar{--owner-body:16px;--owner-meta:14px;--owner-value:30px;--owner-title:34px}.project-radar .radar-glance.owner-overview{grid-template-columns:1fr}.owner-overview .contract-summary{display:block!important;padding:22px 0!important}.contract-facts{justify-content:flex-start;text-align:left;margin-top:17px}.owner-overview .overview-orbit,.owner-overview .overview-orbit.construct{min-height:0!important;padding:22px 0!important;border-left:0!important}.overview-orbit .orbit{width:112px}.owner-overview .owner-commitment{grid-template-columns:1fr 1fr;gap:18px;padding:22px 0!important}.owner-commitment h3{grid-column:1/-1}.owner-commitment div{padding-left:15px}.owner-overview .payment-cadence-head{display:block}.owner-overview .payment-cadence-head span{display:block;margin-top:8px}.project-radar .next-focus p,.project-radar .next-meta div{font-size:var(--type-body)}.project-radar .radar-footnote{font-size:var(--type-subhead)}.project-radar .next-focus button{min-height:44px;font-size:var(--type-subhead)}}
    @media(max-width:374px){.contract-facts{gap:14px}.overview-orbit .orbit{width:102px}.owner-overview .overview-orbit{gap:14px}.overview-orbit b{font-size:1.17647rem}}
  

/* Original style block 15; ordering preserved. */

    .home-story-card{border:0;cursor:zoom-in;font:inherit;appearance:none}.home-story-card:focus-visible,.poster-tile:focus-visible{outline:2px solid #a7854f;outline-offset:3px}.poster-tile{cursor:zoom-in}.auto-project-tag{display:inline-block;margin-top:10px;color:#9f7b42;font-size:var(--type-caption);letter-spacing:.03em}.poster-lightbox{position:fixed;z-index:60;inset:0;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,54px);background:rgba(10,9,8,.84)}.poster-lightbox.open{display:flex}.poster-lightbox-panel{display:grid;grid-template-rows:auto auto auto;align-content:center;width:min(760px,100%);max-height:100%;background:#f6f5f1;box-shadow:0 28px 90px rgba(0,0,0,.38)}.poster-lightbox-head{display:flex;justify-content:space-between;gap:18px;align-items:start;padding:clamp(18px,2.7vw,28px);border-bottom:1px solid rgba(23,23,20,.17)}.poster-lightbox-head .eyebrow{font:var(--type-caption) var(--mono);letter-spacing:.1em;color:#756754}.poster-lightbox-head b{display:block;margin-top:7px;font:500 clamp(1.23529rem,2.1vw,1.76471rem)/1.08 var(--display);letter-spacing:-.055em}.poster-lightbox-image{display:block;width:min(100%,690px);height:min(100vw,690px);margin:auto;object-fit:cover;background:#ded9ce}.poster-lightbox-foot{display:flex;gap:10px;padding:clamp(16px,2.4vw,25px);border-top:1px solid rgba(23,23,20,.17)}.poster-lightbox-foot button{min-height:44px;flex:1;border:1px solid #171614;background:#171614;color:#fff;font:var(--type-caption) var(--sans);cursor:pointer}.poster-lightbox-foot button.secondary{background:transparent;color:#171614}.poster-lightbox-foot button:active{transform:scale(.98)}@media(max-width:700px){.auto-project-tag{font-size:var(--type-caption)}.poster-lightbox{padding:0}.poster-lightbox-panel{width:100%;min-height:100svh;align-content:start}.poster-lightbox-image{height:100vw}}@media(prefers-reduced-motion:reduce){.poster-lightbox-foot button:active{transform:none}}
  

/* Original style block 16; ordering preserved. */

    /* 首页先让业主处理与当前工序联动的确认，再回看生活画面与全局节奏。 */
    .topbar:before{content:'目录'}.hero:after{content:'本周项目'}
    .owner-notices{margin:0 0 clamp(34px,4.4vw,58px);border-top:1px solid var(--ink);border-bottom:1px solid rgba(23,23,20,.18)}
    .owner-notices-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:clamp(19px,2.35vw,30px) 0}
    .owner-notices-head h2,.integrated-budget-head h2{margin:7px 0 0;font:500 clamp(1.64706rem,3vw,2.47059rem)/1 var(--display);letter-spacing:-.07em;text-wrap:balance}
    .owner-notices-head p{max-width:320px;margin:0;color:#706a60;font-size:var(--type-subhead);line-height:1.6;text-wrap:pretty}
    .owner-notice-list{display:grid;grid-template-columns:1.28fr 1fr 1fr;border-top:1px solid rgba(23,23,20,.16)}
    .owner-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;min-height:112px;padding:20px 0;border:0;background:transparent;text-align:left;color:var(--ink);font:inherit}
    .owner-notice+.owner-notice{padding-left:24px;border-left:1px solid rgba(23,23,20,.16)}
    .owner-notice-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(23,23,20,.34);font:var(--type-caption) var(--mono);letter-spacing:.08em;color:#756754}
    .owner-notice.is-action .owner-notice-mark{background:var(--ink);border-color:var(--ink);color:#f6f5f1}
    .owner-notice b{display:block;font:500 clamp(1.05882rem,1.55vw,1.35294rem)/1.15 var(--display);letter-spacing:-.05em}
    .owner-notice span{display:block;margin-top:7px;color:#706a60;font-size:var(--type-caption);line-height:1.5;text-wrap:pretty}
    .owner-notice small{color:#9f7b42;font:var(--type-caption) var(--mono);letter-spacing:.08em;white-space:nowrap}
    .owner-notice:hover b,.owner-notice:focus-visible b{color:var(--tobacco)}.owner-notice:focus-visible{outline:2px solid #a7854f;outline-offset:-2px}
    .notice-confirm-dialog{width:min(520px,calc(100vw - 28px));margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 20px 58px rgba(0,0,0,.18)}.notice-confirm-dialog::backdrop{background:rgba(0,0,0,.44)}.notice-confirm-dialog-inner{padding:clamp(22px,3.5vw,32px)}.notice-confirm-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.notice-confirm-dialog h3{margin:7px 0 0;font:500 clamp(1.47059rem,4vw,1.94118rem)/1.08 var(--display);letter-spacing:-.06em}.notice-confirm-dialog .close{position:static;display:grid;place-items:center;width:44px;height:44px;margin:-8px -8px 0 0;padding:0;color:var(--ink);font:300 1.64706rem/1 var(--sans)}.notice-confirm-dialog p{margin:18px 0 0;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.65;text-wrap:pretty}.notice-confirm-points{margin:19px 0 0;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--type-subhead);line-height:1.55}.notice-confirm-points span{display:block}.notice-confirm-points span+span{margin-top:8px;color:var(--mono-secondary)}.notice-confirm-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.notice-confirm-dialog footer button{min-height:44px;padding:0 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:500 var(--type-subhead)/1 var(--sans)}.notice-confirm-dialog footer .secondary{background:transparent;color:var(--ink)}.notice-confirm-dialog footer button:active{transform:scale(.97)}.notice-confirm-dialog button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
    .project-radar .radar-glance.owner-overview{display:block;border-top:1px solid var(--owner-line);border-bottom:1px solid var(--owner-line)}
    .owner-overview .stage-journey{padding:clamp(22px,2.6vw,35px) 0!important;border:0!important;border-bottom:1px solid var(--owner-line)!important}
    .stage-journey-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.stage-journey h3{margin:0;font:500 clamp(1.17647rem,1.55vw,1.52941rem)/1 var(--display);letter-spacing:-.05em}.stage-journey-head p{margin:0;color:#756754;font-size:var(--owner-meta);line-height:1.5;text-align:right}
    .stage-journey-flow{display:grid;grid-template-columns:1fr 1.25fr 1fr;margin-top:22px;border-top:1px solid var(--owner-line);border-bottom:1px solid var(--owner-line)}
    .stage-journey-step{min-height:116px;padding:18px 17px 18px 0;color:#756f65}.stage-journey-step+.stage-journey-step{padding-left:18px;border-left:1px solid var(--owner-line)}.stage-journey-step i{display:block;font:var(--type-caption) var(--mono);font-style:normal;letter-spacing:.1em}.stage-journey-step b{display:block;margin-top:10px;font:500 var(--owner-body)/1.3 var(--sans)}.stage-journey-step span{display:block;margin-top:5px;font-size:var(--owner-meta);line-height:1.45}.stage-journey-step.current{padding-top:18px;background:var(--ink);color:#f6f5f1}.stage-journey-step.current i{color:#d9b67d}.stage-journey-step.current b{font:500 clamp(1.11765rem,1.65vw,1.47059rem)/1.08 var(--display);letter-spacing:-.05em}.stage-journey-step.current span{color:rgba(246,245,241,.74)}
    .owner-overview .owner-commitment{grid-template-columns:minmax(150px,.8fr) 1fr 1fr 1fr!important;border-bottom:0!important}.owner-commitment div:last-child{padding-left:clamp(15px,2vw,26px);border-left:1px solid var(--owner-line)}
    .integrated-budget{margin-top:clamp(44px,5.4vw,76px);padding-top:clamp(25px,3vw,40px);border-top:1px solid var(--ink);border-bottom:1px solid rgba(23,23,20,.18)}
    .integrated-budget-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:clamp(22px,2.7vw,34px)}.integrated-budget-head p{max-width:330px;margin:0;color:#706a60;font-size:var(--type-subhead);line-height:1.6;text-align:right;text-wrap:pretty}.integrated-budget-head b{color:var(--ink);font-weight:500}
    .budget-total{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:20px 0;border-top:1px solid rgba(23,23,20,.16);border-bottom:1px solid rgba(23,23,20,.16)}.budget-total span{display:block;color:#756754;font-size:var(--type-subhead)}.budget-total strong{display:block;margin-top:7px;font:500 clamp(1.88235rem,3.6vw,3.05882rem)/1 var(--display);letter-spacing:-.075em;font-variant-numeric:tabular-nums}.budget-total p{margin:0;color:#706a60;font-size:var(--type-subhead);line-height:1.6;text-align:left}.budget-total p b{color:var(--ink);font-weight:500}
    .budget-phase-grid{display:grid;grid-template-columns:1fr 1fr}.budget-phase{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,2.6vw,34px);align-items:center;padding:clamp(24px,3vw,40px) 0}.budget-phase+.budget-phase{padding-left:clamp(24px,3.5vw,48px);border-left:1px solid rgba(23,23,20,.16)}.budget-ring{--arc:0%;width:clamp(112px,10vw,148px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from -90deg,#a7854f var(--arc),#dfd9cd 0);position:relative}.budget-ring:after{content:'';position:absolute;inset:10px;border-radius:50%;background:#f6f5f1}.budget-ring div{position:relative;z-index:1;text-align:center}.budget-ring strong{display:block;font:500 clamp(1.35294rem,2vw,1.82353rem)/1 var(--display);letter-spacing:-.06em}.budget-ring span{display:block;margin-top:6px;color:#706a60;font-size:var(--type-caption)}.budget-phase-kicker{font:var(--type-caption) var(--mono);letter-spacing:.12em;color:#9f7b42}.budget-phase h3{margin:10px 0 7px;font:500 clamp(1.29412rem,1.9vw,1.76471rem)/1.04 var(--display);letter-spacing:-.06em}.budget-phase p{margin:0;color:#706a60;font-size:var(--owner-body);line-height:1.55;text-wrap:pretty}.budget-phase small{display:block;margin-top:10px;color:#756754;font-size:var(--owner-meta);line-height:1.5}.budget-phase small b{color:var(--ink);font-weight:500}.budget-link{display:inline-flex;margin:0 0 clamp(20px,2.5vw,32px);padding:0 0 4px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font:var(--type-caption) var(--mono);letter-spacing:.1em}.budget-link:hover{color:#9f7b42;border-color:#9f7b42}
    @media(max-width:720px){.owner-notices-head,.integrated-budget-head{display:block}.owner-notices-head p,.integrated-budget-head p{max-width:340px;margin-top:13px;text-align:left}.owner-notice-list{grid-template-columns:1fr}.owner-notice+.owner-notice{padding-left:0;border-left:0;border-top:1px solid rgba(23,23,20,.16)}.owner-notice{grid-template-columns:auto minmax(0,1fr);min-height:0}.owner-notice small{grid-column:2}.notice-confirm-dialog-inner{padding:22px 18px}.notice-confirm-dialog p{font-size:var(--type-subhead)}.notice-confirm-dialog footer{display:grid;grid-template-columns:1fr 1fr}.notice-confirm-dialog footer button{font-size:var(--type-subhead)}.stage-journey-head{display:block}.stage-journey-head p{text-align:left;margin-top:10px}.stage-journey-flow{grid-template-columns:1fr}.stage-journey-step,.stage-journey-step+.stage-journey-step{min-height:0;padding:16px 0;border-left:0;border-bottom:1px solid var(--owner-line)}.stage-journey-step.current{margin:0 -20px;padding:18px 20px}.stage-journey-step:last-child{border-bottom:0}.owner-overview .owner-commitment{grid-template-columns:1fr 1fr!important}.owner-commitment div:last-child{border-left:1px solid var(--owner-line)}.budget-total{display:block}.budget-total p{text-align:left;margin-top:14px}.budget-phase-grid{grid-template-columns:1fr}.budget-phase+.budget-phase{padding-left:0;border-left:0;border-top:1px solid rgba(23,23,20,.16)}.budget-phase{grid-template-columns:112px minmax(0,1fr);gap:18px}.budget-ring{width:112px}}
  

/* Original style block 17; ordering preserved. */

    /* 数字统一使用信息环：剩余量、完成量与总量在同一视觉语法中阅读。 */
    .owner-overview .owner-commitment.ring-commitment{grid-template-columns:minmax(140px,.75fr) repeat(3,minmax(0,1fr))!important;gap:clamp(16px,2.4vw,32px)}
    .ring-commitment .ring-metric{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(12px,1.4vw,18px);min-width:0;padding-left:clamp(14px,1.7vw,24px)!important;border-left:1px solid var(--owner-line)!important}
    .mini-info-ring{--arc:0%;width:clamp(68px,5.8vw,88px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -90deg,#a7854f var(--arc),#ded9ce 0);position:relative;flex:none}.mini-info-ring:after{content:'';position:absolute;inset:8px;border-radius:50%;background:#f6f5f1}.mini-info-ring div{position:relative;z-index:1;border:0!important;padding:0!important;text-align:center}.mini-info-ring strong{display:block;font:500 clamp(1.05882rem,1.45vw,1.41176rem)/1 var(--display);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.mini-info-ring span{display:block!important;margin:4px 0 0!important;color:#756754;font-size:var(--type-caption)!important;line-height:1!important}
    .ring-metric-copy{min-width:0}.ring-metric-copy b{display:block;font:500 var(--owner-body)/1.25 var(--sans)!important;letter-spacing:0!important}.ring-metric-copy span{display:block!important;margin-top:6px!important;color:#706a60;font-size:var(--owner-meta)!important;line-height:1.4!important}
    .stage-journey-step.current{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}.stage-journey-step.current>div:last-child{min-width:0}.stage-journey-step.current b{margin-top:7px}.stage-progress-ring{width:58px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -90deg,#d9b67d 68%,rgba(255,255,255,.19) 0);position:relative}.stage-progress-ring:after{content:'';position:absolute;inset:6px;border-radius:50%;background:#171614}.stage-progress-ring span{position:relative;z-index:1;margin:0!important;color:#fff!important;font:500 var(--type-subhead)/1 var(--display)!important}
    .budget-total.ring-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.budget-total-main{min-width:0}.budget-total.ring-total p{grid-column:1/-1;max-width:620px;margin-top:15px}.budget-money-rings{display:flex;gap:12px}.payment-info-ring,.spent-info-ring{width:clamp(82px,7vw,104px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -90deg,#a7854f var(--arc,60%),#ded9ce 0);position:relative}.payment-info-ring:after,.spent-info-ring:after{content:'';position:absolute;inset:9px;border-radius:50%;background:#f6f5f1}.payment-info-ring div,.spent-info-ring div{position:relative;z-index:1;text-align:center}.payment-info-ring strong,.spent-info-ring strong{display:block;font:500 clamp(1.11765rem,1.6vw,1.52941rem)/1 var(--display);letter-spacing:-.06em}.payment-info-ring span,.spent-info-ring span{display:block;margin-top:5px;color:#706a60;font-size:var(--type-caption);line-height:1.1}
    @media(max-width:720px){.owner-overview .owner-commitment.ring-commitment{grid-template-columns:1fr!important;gap:0}.ring-commitment h3{padding-bottom:15px}.ring-commitment .ring-metric{padding:14px 0!important;border-left:0!important;border-top:1px solid var(--owner-line)!important}.mini-info-ring{width:76px}.budget-total.ring-total{grid-template-columns:minmax(0,1fr) auto;gap:14px}.budget-total.ring-total p{grid-column:1/-1;margin-top:0}.payment-info-ring,.spent-info-ring{width:70px}.budget-money-rings{gap:8px}}
  

/* Original style block 18; ordering preserved. */

    /* 业主端数据视觉：黑字白底，黑色表示当前事实，灰色表示未完成部分。 */
    :root{--ui:var(--font-native-kai,system-ui);--display:var(--ui);--sans:var(--ui);--mono:var(--ui)}
    .mini-info-ring,.budget-ring,.payment-info-ring,.spent-info-ring{background:conic-gradient(from -90deg,#171714 var(--arc,60%),#d8d7d2 0)!important}.mini-info-ring:after,.budget-ring:after,.payment-info-ring:after,.spent-info-ring:after{background:#fff!important}.mini-info-ring span,.payment-info-ring span,.spent-info-ring span,.budget-ring span{color:#5f5e59!important}
    .stage-journey-step.current{background:#fff!important;color:#171714!important;box-shadow:inset 3px 0 0 #171714}.stage-journey-step.current i{color:#5f5e59!important}.stage-journey-step.current span{color:#5f5e59!important}.stage-progress-ring{background:conic-gradient(from -90deg,#171714 68%,#d8d7d2 0)!important}.stage-progress-ring:after{background:#fff!important}.stage-progress-ring span{color:#171714!important}
    .budget-phase-kicker,.owner-notice small,.stage-journey-step.current i,.project-radar .next-focus .eyebrow{color:#5f5e59!important}.owner-notice.is-action .owner-notice-mark{background:#171714!important;border-color:#171714!important}.owner-notice small{font-weight:500}
    /* iOS/iPadOS：正文以 17 为基准，说明 15，标签不低于 14；宽度变化只重组布局，不把文字缩小。 */
    @media(max-width:720px){body{font-size:var(--type-body)}.eyebrow,.page-head .eyebrow,.home-story-head .eyebrow,.budget-phase-kicker,.owner-notice small,.budget-link{font-size:var(--type-subhead)!important;letter-spacing:.04em}.page-head p,.owner-notices-head p,.integrated-budget-head p,.overview-orbit p,.budget-phase p,.next-focus p{font-size:var(--type-subhead)!important;line-height:1.6}.owner-notice b,.ring-metric-copy b,.stage-journey-step b,.next-meta div,.budget-phase h3{font-size:var(--type-body)!important;line-height:1.4}.owner-notice span,.ring-metric-copy span,.stage-journey-step span,.budget-phase small,.budget-total p,.home-story-head p,.home-story-foot,.radar-footnote,.date{font-size:var(--type-subhead)!important;line-height:1.55}.mini-info-ring strong,.payment-info-ring strong,.spent-info-ring strong{font-size:1.29412rem!important}.mini-info-ring span,.payment-info-ring span,.spent-info-ring span,.budget-ring span{font-size:var(--type-subhead)!important;line-height:1.15!important}.stage-progress-ring span{font-size:var(--type-subhead)!important}.budget-total strong{font-size:2.11765rem!important}.owner-notice{min-height:112px}.next-focus button,.poster-lightbox-foot button{font-size:var(--type-subhead)!important}.integrated-budget{margin-top:0!important}.integrated-budget-head{padding-top:28px}.budget-total span{font-size:var(--type-subhead)!important}.budget-phase{grid-template-columns:116px minmax(0,1fr)}.budget-ring{width:116px}.topbar:before{font-size:var(--type-subhead)!important}.theme-trigger{font-size:var(--type-subhead)!important}}
  

/* Original style block 19; ordering preserved. */

    /* 我的新家：保持在当前阅读位置完成保存或分享，不把业主带离九宫格。 */
    .home-story-card{cursor:pointer}
    .home-story-card:focus-visible{outline:2px solid #171714;outline-offset:4px}
    .photo-action-popover{position:fixed;z-index:90;display:none;width:min(286px,calc(100vw - 28px));padding:16px;background:#fff;color:#171714;border:1px solid rgba(23,23,20,.2);box-shadow:0 16px 36px rgba(23,23,20,.14);font-family:var(--sans);-webkit-font-smoothing:antialiased}
    .photo-action-popover.open{display:block;animation:photo-action-in 180ms cubic-bezier(.23,1,.32,1) both}
    .photo-action-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .photo-action-head b{font:600 var(--type-body)/1.25 var(--sans);letter-spacing:-.02em}
    .photo-action-close{display:grid;place-items:center;width:44px;height:44px;margin:-10px -10px -10px 0;padding:0;color:#171714;background:transparent;border:0;font:300 1.64706rem/1 var(--sans);cursor:pointer}
    .photo-action-close:hover{background:#f2f2ef}.photo-action-close:active{transform:scale(.97)}.photo-action-close:focus-visible,.photo-action-buttons button:focus-visible{outline:2px solid #171714;outline-offset:2px}
    .photo-action-meta{margin:12px 0 0;color:#5f5e59;font-size:var(--type-subhead);line-height:1.5}
    .photo-action-copy{margin:5px 0 0;font-size:var(--type-subhead);line-height:1.5;text-wrap:pretty}
    .photo-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
    .photo-action-buttons button{min-height:44px;padding:10px 12px;border:1px solid #171714;background:#171714;color:#fff;font:500 var(--type-subhead)/1.2 var(--sans);cursor:pointer;transition:transform 120ms ease,background 120ms ease,color 120ms ease}
    .photo-action-buttons button:hover{background:#33332f}.photo-action-buttons button:active{transform:scale(.97)}
    .photo-action-buttons button.secondary{background:#fff;color:#171714}.photo-action-buttons button.secondary:hover{background:#f2f2ef}
    .photo-action-hint{display:block;min-height:18px;margin-top:10px;color:#5f5e59;font-size:var(--type-caption);line-height:1.5}
    @keyframes photo-action-in{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
    @media(max-width:720px){.photo-action-popover{padding:16px}.photo-action-copy{font-size:var(--type-subhead)}.photo-action-buttons button{font-size:var(--type-subhead)}}
    @media(prefers-reduced-motion:reduce){.photo-action-popover.open{animation:none}.photo-action-buttons button{transition:none}}
  

/* Original style block 20; ordering preserved. */

    /* 全站外观系统：只使用纸白、墨黑与不同明度的灰；暗色模式沿用同一层级，不使用反差刺眼的纯黑纯白。 */
    :root{color-scheme:light dark;--mono-paper:#fff;--mono-paper-raised:#f5f5f3;--mono-ink:#171714;--mono-secondary:#5f5e59;--mono-muted:#8b8a85;--mono-line:rgba(23,23,20,.16)}
    html[data-theme="light"]{--ink:var(--mono-ink);--paper:var(--mono-paper);--paper-deep:#f1f1ef;--tobacco:#494944;--brass:#686861;--mist:#bdbdb8;--line:var(--mono-line)}
    html[data-theme="dark"]{--ink:#f4f4f1;--paper:#11110f;--paper-deep:#1a1a18;--tobacco:#c5c5c0;--brass:#a9a9a4;--mist:#777773;--line:rgba(255,255,255,.15)}
    body{background:var(--paper);color:var(--ink);transition:background-color 180ms ease,color 180ms ease}
    .app,.sidebar,.topbar,.content,.modal-card,.poster-sheet,.poster-lightbox-panel,.photo-action-popover{background:var(--paper)!important;color:var(--ink)}
    .asset-card,.sample,.poster-copy{background:var(--paper-raised,var(--paper-deep))!important;color:var(--ink)}
    .hero,.home-story-card,.asset-cover,.poster-tile,.sample img,.poster-lightbox-image{filter:none}
    .eyebrow,.page-head .eyebrow,.project-select span,.journal-date,.date,.budget-phase-kicker,.payment-step i,.owner-notice small,.poster-tile em,.manifesto-index{color:var(--mono-secondary)!important}
    .hero-copy span,.choice-card .eyebrow,.moving-track i{color:#deded9!important}
    .nav button em{color:var(--ink)!important}
    .next-focus button,.budget-link,.home-story-foot button,.poster-entry{color:var(--ink)!important;border-color:var(--ink)!important}.poster-entry span{color:var(--mono-secondary)!important}
    .next-focus button:hover,.budget-link:hover,.home-story-foot button:hover,.poster-entry:hover{color:var(--mono-secondary)!important;border-color:var(--mono-secondary)!important}
    .stage-progress-ring{background:conic-gradient(from -90deg,var(--ink) 68%,#d7d7d2 0)!important}.stage-progress-ring:after{background:var(--paper)!important}.stage-progress-ring span{color:var(--ink)!important}
    .theme-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid currentColor;background:transparent;color:var(--ink);padding:0 11px;font:500 var(--type-caption)/1 var(--sans);letter-spacing:.04em;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
    .theme-trigger:before{content:'';width:11px;height:11px;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
    .theme-trigger:hover{background:var(--ink);color:var(--paper)}.theme-trigger:active{transform:scale(.97)}.theme-trigger:focus-visible,.theme-menu button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
    .login-theme{position:absolute;z-index:5;right:clamp(18px,2.8vw,42px);top:clamp(78px,9svh,104px);color:#fff;border-color:rgba(255,255,255,.72)}body.app-active .login-theme{display:none}.login-theme:hover{background:#fff;color:#171714}
    @media(min-width:1024px){html[data-theme="light"] .login-theme{color:var(--ink);border-color:rgba(23,23,20,.5)}html[data-theme="light"] .login-theme:hover{background:var(--ink);color:var(--paper)}}
    .topbar .user{position:relative;z-index:2}.topbar .theme-trigger{margin-right:2px}
    .theme-menu{position:fixed;z-index:120;display:none;width:220px;padding:7px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 42px rgba(0,0,0,.16)}.theme-menu.open{display:block;animation:theme-menu-in 160ms cubic-bezier(.23,1,.32,1) both}
    .theme-menu p{margin:8px 10px 6px;color:var(--mono-secondary);font:var(--type-caption) var(--sans);letter-spacing:.06em}.theme-menu button{display:grid;width:100%;grid-template-columns:1fr auto;gap:10px;align-items:center;border:0;background:transparent;color:var(--ink);padding:11px 10px;text-align:left;font:500 var(--type-subhead)/1.25 var(--sans)}.theme-menu button small{color:var(--mono-secondary);font:var(--type-caption)/1.25 var(--sans);white-space:nowrap}.theme-menu button:hover,.theme-menu button[aria-checked="true"]{background:var(--paper-deep)}.theme-menu button[aria-checked="true"]:after{content:'已选';color:var(--mono-secondary);font-size:var(--type-caption)}
    @keyframes theme-menu-in{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
    html[data-theme="dark"] body{background:#11110f}html[data-theme="dark"] .app,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .topbar,html[data-theme="dark"] .content,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .poster-sheet,html[data-theme="dark"] .poster-lightbox-panel,html[data-theme="dark"] .photo-action-popover{background:#11110f!important;color:#f4f4f1!important}
    html[data-theme="dark"] .topbar,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .asset-card,html[data-theme="dark"] .sample,html[data-theme="dark"] .poster-copy,html[data-theme="dark"] .theme-menu{border-color:rgba(255,255,255,.16)!important}html[data-theme="dark"] .asset-card,html[data-theme="dark"] .sample,html[data-theme="dark"] .poster-copy{background:#1a1a18!important}
    html[data-theme="dark"] .topbar .brand-logo{filter:invert(1)}html[data-theme="dark"] .topbar:before,html[data-theme="dark"] .page-head p,html[data-theme="dark"] .archive-lead p,html[data-theme="dark"] .asset-card span,html[data-theme="dark"] .asset-note,html[data-theme="dark"] .owner-notice span,html[data-theme="dark"] .stage-journey-head p,html[data-theme="dark"] .stage-journey-step,html[data-theme="dark"] .budget-phase p,html[data-theme="dark"] .budget-total p,html[data-theme="dark"] .ring-metric-copy span,html[data-theme="dark"] .poster-side p,html[data-theme="dark"] .poster-source span,html[data-theme="dark"] .poster-disclaimer,html[data-theme="dark"] .photo-action-meta,html[data-theme="dark"] .photo-action-hint{color:#bdbdb8!important}
    html[data-theme="dark"] .stage-journey-step.current{background:#f4f4f1!important;color:#171714!important;box-shadow:inset 3px 0 0 #f4f4f1}html[data-theme="dark"] .stage-journey-step.current span,html[data-theme="dark"] .stage-journey-step.current i{color:#5f5e59!important}
    html[data-theme="dark"] .mini-info-ring,html[data-theme="dark"] .budget-ring,html[data-theme="dark"] .payment-info-ring,html[data-theme="dark"] .spent-info-ring{background:conic-gradient(from -90deg,#f4f4f1 var(--arc,60%),#454541 0)!important}html[data-theme="dark"] .mini-info-ring:after,html[data-theme="dark"] .budget-ring:after,html[data-theme="dark"] .payment-info-ring:after,html[data-theme="dark"] .spent-info-ring:after,html[data-theme="dark"] .stage-progress-ring:after{background:#11110f!important}html[data-theme="dark"] .mini-info-ring span,html[data-theme="dark"] .budget-ring span,html[data-theme="dark"] .payment-info-ring span,html[data-theme="dark"] .spent-info-ring span{color:#bdbdb8!important}
    html[data-theme="dark"] .primary,html[data-theme="dark"] .modal-foot .confirm,html[data-theme="dark"] .photo-action-buttons button,html[data-theme="dark"] .poster-actions button{background:#f4f4f1!important;color:#171714!important;border-color:#f4f4f1!important}html[data-theme="dark"] .photo-action-buttons button.secondary,html[data-theme="dark"] .poster-actions button.secondary{background:transparent!important;color:#f4f4f1!important;border-color:rgba(255,255,255,.35)!important}
    html[data-theme="dark"] .theme-menu button:hover,html[data-theme="dark"] .theme-menu button[aria-checked="true"]{background:#242421}html[data-theme="dark"] .login-form{background:#11110f!important;color:#f4f4f1}html[data-theme="dark"] .field input{border-color:#777773;color:#f4f4f1}html[data-theme="dark"] .form-card p,html[data-theme="dark"] .field label,html[data-theme="dark"] .form-foot{color:#bdbdb8!important}
    @media(max-width:720px){.theme-trigger{min-height:36px;padding:0 10px;font-size:var(--type-subhead)}.login-theme{right:clamp(16px,4vw,24px);top:clamp(70px,9svh,84px)}.topbar .user>span:first-of-type,.poster-entry{display:none}.topbar .user{gap:8px}.topbar .theme-trigger{min-width:auto;padding:0 10px;font-size:var(--type-subhead)}.topbar .theme-trigger:before{margin:0}.theme-menu{width:min(220px,calc(100vw - 28px))}}
    @media(prefers-reduced-motion:reduce){body,.theme-trigger{transition:none}.theme-menu.open{animation:none}}
  

/* Original style block 21; ordering preserved. */

    /* 我的新家素材：九宫格始终是主角，设置只在需要时展开。 */
    .home-story-actions{display:grid;justify-items:end;gap:10px;max-width:280px}.home-story-actions p{margin:0!important;text-align:right}.home-story-material-trigger{min-height:40px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 13px;font:500 var(--type-caption)/1 var(--sans);letter-spacing:.02em;transition:background-color 160ms ease,color 160ms ease,transform 120ms ease}.home-story-material-trigger:hover{background:var(--ink);color:var(--paper)}.home-story-material-trigger:active{transform:scale(.97)}.home-story-material-trigger:focus-visible,.home-source-dialog button:focus-visible,.home-source-dialog input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
    .home-story-location{position:absolute;top:clamp(10px,1.2vw,16px);right:clamp(12px,1.45vw,20px);max-width:calc(100% - 84px);overflow:hidden;color:rgba(255,255,255,.94);font:500 var(--type-caption)/1.2 var(--sans);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 7px rgba(0,0,0,.45)}.home-story:not(.show-location) .home-story-location{display:none}
    .home-source-dialog{width:min(430px,calc(100vw - 28px));margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 20px 58px rgba(0,0,0,.18)}.home-source-dialog::backdrop{background:rgba(0,0,0,.44)}.home-source-dialog[open]{animation:home-source-in 180ms cubic-bezier(.23,1,.32,1) both}.home-source-inner{padding:clamp(20px,4vw,28px)}.home-source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.home-source-head h3{margin:7px 0 0;font:500 clamp(1.41176rem,5vw,1.76471rem)/1.08 var(--display);letter-spacing:-.055em}.home-source-head .eyebrow{font-size:var(--type-caption)}.home-source-close{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;margin:-8px -8px 0 0;padding:0;border:0;background:transparent;color:var(--ink);font:300 1.64706rem/1 var(--sans)}.home-source-close:hover{background:var(--paper-deep)}.home-source-lead{margin:17px 0 0;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.6;text-wrap:pretty}.home-source-choices{display:grid;gap:8px;margin-top:20px}.home-source-choice{display:grid;width:100%;grid-template-columns:1fr auto;gap:12px;align-items:center;min-height:64px;padding:13px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.home-source-choice:hover{border-color:var(--ink);background:var(--paper-deep)}.home-source-choice strong{display:block;font:600 var(--type-subhead)/1.35 var(--sans)}.home-source-choice span{display:block;margin-top:3px;color:var(--mono-secondary);font-size:var(--type-caption);line-height:1.45}.home-source-choice em{font:var(--type-caption)/1 var(--sans);font-style:normal;color:var(--mono-secondary);white-space:nowrap}.home-source-state{margin:14px 0 0;color:var(--mono-secondary);font-size:var(--type-caption);line-height:1.5}.home-location-choice{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink);font-size:var(--type-subhead);line-height:1.45;cursor:pointer}.home-location-choice input{width:18px;height:18px;margin:0;accent-color:var(--ink)}.home-location-choice span{color:var(--mono-secondary);font-size:var(--type-caption)}.home-source-foot{margin:16px 0 0;color:var(--mono-muted);font-size:var(--type-caption);line-height:1.55;text-wrap:pretty}
    @keyframes home-source-in{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
    html[data-theme="dark"] .home-source-dialog{background:var(--paper);color:var(--ink);border-color:rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.03)}html[data-theme="dark"] .home-source-choice:hover,html[data-theme="dark"] .home-source-close:hover{background:var(--paper-deep)}html[data-theme="dark"] .home-source-lead,html[data-theme="dark"] .home-source-choice span,html[data-theme="dark"] .home-source-choice em,html[data-theme="dark"] .home-source-state,html[data-theme="dark"] .home-location-choice span,html[data-theme="dark"] .home-source-foot{color:#bdbdb8}
    @media(max-width:700px){.home-story-actions{justify-items:start;max-width:320px;margin-top:13px}.home-story-actions p{text-align:left!important}.home-story-material-trigger{min-height:44px;font-size:var(--type-subhead);padding:0 15px}.home-story-location{top:9px;right:10px;font-size:var(--type-caption)}.home-source-dialog{width:min(430px,calc(100vw - 24px))}.home-source-inner{padding:22px 18px}.home-source-lead{font-size:var(--type-subhead)}.home-source-choice strong{font-size:var(--type-body)}.home-source-choice span,.home-source-state{font-size:var(--type-subhead)}.home-location-choice{font-size:var(--type-subhead)}.home-location-choice span{font-size:var(--type-caption)}}
    @media(prefers-reduced-motion:reduce){.home-source-dialog[open]{animation:none}.home-story-material-trigger{transition:none}}
  

/* Original style block 22; ordering preserved. */

    /* 照片墙与海报预览分层：墙面不叠字，打开单张后才生成可保存的海报。 */
    .home-story-card{display:block;min-height:0!important;aspect-ratio:1;padding:0!important;background:var(--story-image) center/cover!important;border:0;color:transparent}.home-story-card:before,.home-story-card>*{display:none!important}.home-story-card:hover{box-shadow:inset 0 0 0 2px var(--ink)}.home-story-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.home-story-foot{display:none!important}.home-location-choice,.home-story-location{display:none!important}.poster-entry{display:none!important}
    /* 双语界面：保留原始矢量标识，中文是主语言，英文是统一的品牌辅助层。 */
    .brand{width:auto;height:auto;overflow:visible}.brand-logo{width:min(300px,31vw)!important;max-width:none!important}.login-art .brand{left:var(--feature-left)!important;right:auto!important;width:min(39vw,460px);height:auto;transform:none!important;display:block!important}.login-art .brand-logo{width:100%!important;max-width:none!important}.topbar .brand{width:min(300px,31vw);height:auto}.topbar .brand-logo{width:100%!important}.hero:after{content:'本周记录'!important}@media(max-width:900px){.login-art .brand{left:var(--feature-left)!important;width:min(70vw,350px);height:auto}.login-art .brand-logo{width:100%!important}.topbar .brand{width:min(232px,48vw)}}
    .home-poster-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100svh - 28px);margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 24px 74px rgba(0,0,0,.26);overflow:auto}.home-poster-dialog::backdrop{background:rgba(0,0,0,.58)}.home-poster-dialog[open]{animation:home-poster-in 180ms cubic-bezier(.23,1,.32,1) both}.home-poster-inner{padding:clamp(18px,3.2vw,26px)}.home-poster-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px}.home-poster-head .eyebrow{font-size:var(--type-caption)}.home-poster-head h3{margin:7px 0 0;font:500 clamp(1.47059rem,4.4vw,2.00000rem)/1 var(--display);letter-spacing:-.06em}.home-poster-close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;margin:-8px -8px 0 0;padding:0;border:0;background:transparent;color:var(--ink);font:300 1.64706rem/1 var(--sans)}.home-poster-close:hover{background:var(--paper-deep)}.home-poster-preview{display:grid;position:relative;min-height:260px;place-items:center;background:var(--paper-deep);border:1px solid var(--line);overflow:hidden}.home-poster-preview>#homePosterImage{display:block;width:min(100%,390px);max-height:calc(100svh - 290px);aspect-ratio:4/5;object-fit:contain}.home-poster-composite{position:relative;width:min(100%,390px);max-height:calc(100svh - 290px);aspect-ratio:4/5;overflow:hidden;background:#171714;color:#fff}.home-poster-composite[hidden]{display:none!important}.home-poster-composite-photo{display:block;width:100%;height:100%;object-fit:cover}.home-poster-composite:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 34%,rgba(0,0,0,.7) 100%);pointer-events:none}.home-poster-composite-copy{position:absolute;z-index:1;inset:0;padding:7.2% 7%;display:flex;flex-direction:column;justify-content:space-between}.home-poster-composite-logo{display:block;width:51%;height:auto;filter:invert(1);mix-blend-mode:screen}.home-poster-composite-main{margin-top:auto}.home-poster-composite-meta{display:block;margin-bottom:4%;font-size:clamp(var(--type-caption),2.4vw,var(--type-subhead));font-weight:600}.home-poster-composite-title{display:block;font:600 clamp(1.82353rem,8.4vw,2.88235rem)/.98 var(--sans);letter-spacing:-.065em;text-wrap:balance}.home-poster-composite-footer{margin-top:6%;font-size:clamp(var(--type-caption),2.2vw,var(--type-caption));line-height:1.5}.home-poster-status{min-height:18px;margin:12px 0 0;color:var(--mono-secondary);font-size:var(--type-caption);line-height:1.5}.home-poster-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.home-poster-actions button{min-height:46px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:0 12px;font:500 var(--type-subhead)/1 var(--sans)}.home-poster-actions button.secondary{background:transparent;color:var(--ink)}.home-poster-actions button:hover{opacity:.78}.home-poster-actions button:focus-visible,.home-poster-close:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@keyframes home-poster-in{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
    .home-poster-preview>#homePosterImage[hidden]{display:none!important}.home-poster-composite-title{white-space:pre-line}
    .section-overline{margin-bottom:8px;color:var(--mono-secondary);font:500 var(--type-caption)/1 var(--sans);letter-spacing:.12em}.home-story-head .eyebrow,.owner-notices .eyebrow,.integrated-budget .eyebrow{font:500 var(--type-caption)/1 var(--sans);letter-spacing:.12em}
    html[data-theme="dark"] .home-poster-dialog{border-color:rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.03)}html[data-theme="dark"] .home-poster-preview{background:var(--paper-deep)}html[data-theme="dark"] .home-poster-close:hover{background:var(--paper-deep)}html[data-theme="dark"] .home-poster-status{color:#bdbdb8}html[data-theme="dark"] .home-poster-actions button{background:#f4f4f1;color:#171714;border-color:#f4f4f1}html[data-theme="dark"] .home-poster-actions button.secondary{background:transparent;color:#f4f4f1;border-color:rgba(255,255,255,.35)}
    @media(max-width:700px){.home-story-card{aspect-ratio:1}.home-poster-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.home-poster-inner{padding:18px}.home-poster-preview img{max-height:calc(100svh - 264px)}.home-poster-actions{grid-template-columns:1fr}.home-poster-actions button{min-height:44px;font-size:var(--type-subhead)}}
    @media(prefers-reduced-motion:reduce){.home-poster-dialog[open]{animation:none}.home-poster-actions button{transition:none}}
  

/* Original style block 23; ordering preserved. */

    /* 通知与确认：只呈现业主需要处理的事项，不添加流程解释。 */
    .confirmation-page{display:none;border-top:1px solid var(--ink);padding-top:clamp(22px,3vw,34px)}.confirmation-page h1{margin:0 0 clamp(20px,2.8vw,30px);font:500 clamp(2.00000rem,4.2vw,3.29412rem)/1 var(--display);letter-spacing:-.07em}.confirmation-list{border-top:1px solid var(--line)}.confirmation-item{display:grid;width:100%;grid-template-columns:68px minmax(0,1fr) auto;gap:clamp(14px,2vw,26px);align-items:center;padding:clamp(17px,2.1vw,23px) 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.confirmation-item .confirmation-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ink);font:500 var(--type-caption)/1 var(--sans)}.confirmation-item b{display:block;font:500 clamp(1.05882rem,2vw,1.58824rem)/1.15 var(--display);letter-spacing:-.05em}.confirmation-item small{display:block;margin-top:7px;color:var(--mono-secondary);font-size:var(--type-caption)}.confirmation-item em{font:500 var(--type-caption)/1 var(--sans);font-style:normal;white-space:nowrap}.confirmation-item.is-action em{border-bottom:1px solid currentColor;padding-bottom:4px}@media(max-width:700px){.confirmation-page{padding-top:24px}.confirmation-item{grid-template-columns:48px minmax(0,1fr);gap:12px}.confirmation-item .confirmation-mark{width:40px;height:40px}.confirmation-item em{grid-column:2;font-size:var(--type-subhead)}.confirmation-item b{font-size:1.23529rem}}
    /* 我的新家：业主可按照片内容切换画面框比例，默认横幅以减少占屏。 */
    .home-story.layout-wide .home-story-card{aspect-ratio:4/3}.home-story.layout-square .home-story-card{aspect-ratio:1}.home-story.layout-tall .home-story-card{aspect-ratio:3/4}.home-layout-chooser{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line)}.home-layout-chooser b{display:block;margin-bottom:10px;font:500 var(--type-subhead)/1.3 var(--sans)}.home-layout-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.home-layout-options button{min-height:42px;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 var(--type-subhead)/1 var(--sans)}.home-layout-options button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}@media(max-width:700px){.home-layout-options button{min-height:44px;font-size:var(--type-subhead)}.home-story.layout-wide .home-story-card{aspect-ratio:4/3}}
  

/* Original style block 24; ordering preserved. */

    .communication-page{display:none;border-top:1px solid var(--ink);padding-top:clamp(25px,3vw,40px)}
    .communication-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:clamp(24px,3vw,36px)}
    .communication-head h1{margin:0;font:500 clamp(2.00000rem,4vw,3.17647rem)/1 var(--display);letter-spacing:-.07em;text-wrap:balance}
    .communication-head p{max-width:380px;margin:0;color:#706a60;font-size:clamp(var(--type-subhead),.35vw + var(--type-subhead),var(--type-body));line-height:1.65;text-align:right}
    .communication-shell{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:clamp(28px,4vw,52px)}
    .message-panel,.meeting-panel{border-top:1px solid rgba(23,23,20,.46);padding-top:20px}
    .message-thread{display:grid;gap:16px;max-height:min(54vh,560px);overflow:auto;padding-right:6px;scrollbar-width:thin}
    .message-row{display:grid;gap:7px;max-width:76%}
    .message-row.owner{justify-self:end;text-align:right}
    .message-row strong{font-size:var(--type-subhead);font-weight:600}
    .message-row p{margin:0;padding:14px 16px;border:1px solid rgba(23,23,20,.16);background:rgba(255,255,255,.22);font-size:var(--type-body);line-height:1.65}
    .message-row.owner p{background:#171714;color:#fff;border-color:#171714}
    .message-row time{font-size:var(--type-subhead);color:#766f64}
    .message-row.owner time{color:#625b52}
    .message-form{margin-top:22px;border-top:1px solid rgba(23,23,20,.16);padding-top:18px}
    .message-form textarea{width:100%;min-height:118px;resize:vertical;border:1px solid rgba(23,23,20,.2);background:transparent;color:var(--ink);padding:14px 15px;font:var(--type-body)/1.65 var(--sans);outline:0}
    .message-form textarea:focus{border-color:var(--ink)}
    .message-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:12px}
    .message-state{min-height:20px;margin:0;color:#6d655b;font-size:var(--type-subhead);line-height:1.45}
    .message-actions button{border:0;background:#171714;color:#fff;min-height:44px;padding:0 18px;font:var(--type-subhead) var(--sans)}
    .meeting-panel{display:grid;align-content:start;gap:18px}
    .meeting-card{border-bottom:1px solid rgba(23,23,20,.15);padding-bottom:17px}
    .meeting-card:last-child{border-bottom:0}
    .meeting-card span{display:block;color:#756f65;font-size:var(--type-subhead);margin-bottom:8px}
    .meeting-card b{display:block;font:500 1.29412rem/1.25 var(--display);letter-spacing:-.04em}
    .meeting-card p{margin:8px 0 0;color:#706a60;font-size:var(--type-subhead);line-height:1.65}
    @media(max-width:900px){.communication-head{display:block}.communication-head p{max-width:none;margin-top:12px;text-align:left}.communication-shell{grid-template-columns:1fr}.message-row{max-width:88%}}
    @media(max-width:520px){.message-row{max-width:100%}.message-actions{display:block}.message-actions button{width:100%;margin-top:12px}.message-form textarea{min-height:132px}}
  

/* Original style block 25; ordering preserved. */

    /* iOS/iPadOS Dynamic Type 对照：正文 17、标题 20/22/28、展示标题 34。
       本项目为单一宋体风格字体，因此将所有可读辅助信息抬至 13px 以上。 */
    :root{}
    html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
    @media(max-width:720px){
      body{font-size:var(--type-body)}
      .eyebrow,.page-head .eyebrow,.home-story-head .eyebrow,.budget-phase-kicker,.owner-notice small,.budget-link,.home-poster-head .eyebrow,.home-source-head .eyebrow{font-size:var(--type-footnote)!important;letter-spacing:.04em}
      .page-head p,.owner-notices-head p,.integrated-budget-head p,.overview-orbit p,.budget-phase p,.next-focus p,.stage-journey-head p{font-size:var(--type-subhead)!important;line-height:1.6}
      .owner-notice b,.ring-metric-copy b,.stage-journey-step b,.next-meta div,.budget-phase h3,.home-source-choice strong{font-size:var(--type-body)!important;line-height:1.4}
      .owner-notice span,.ring-metric-copy span,.stage-journey-step span,.budget-phase small,.budget-total p,.home-story-head p,.home-story-foot,.radar-footnote,.date,.home-source-choice span,.home-source-state,.home-location-choice span{font-size:var(--type-footnote)!important;line-height:1.55}
      .mini-info-ring span,.payment-info-ring span,.spent-info-ring span,.budget-ring span,.stage-progress-ring span{font-size:var(--type-footnote)!important;line-height:1.15!important}
      .home-story-card em,.home-story-location,.home-story-card small,.home-story-foot button,.home-poster-status,.photo-action-meta,.photo-action-hint,.theme-menu p,.theme-menu button small,.home-source-choice em{font-size:var(--type-caption)!important}
      .theme-trigger,.home-story-material-trigger,.home-poster-actions button,.next-focus button,.photo-action-buttons button{font-size:var(--type-subhead)!important}
      .project-radar{--owner-body:var(--type-body);--owner-meta:var(--type-footnote);--owner-title:var(--type-large-title)}
      .owner-notices-head h2,.integrated-budget-head h2,.project-radar .radar-head h2{font-size:var(--type-title-1)!important}
      .stage-journey h3,.owner-commitment h3,.home-source-head h3,.home-poster-head h3{font-size:var(--type-title-2)!important}
    }
    /* 通知是业主需要作出判断的主信息，不以极小的“标签字”换取三栏排版。 */
    .owner-notice-mark{width:46px;height:46px;font-size:var(--type-subhead);letter-spacing:0}
    .owner-notice b{font-size:clamp(1.17647rem,1.7vw,1.47059rem);line-height:1.2}
    .owner-notice span{font-size:var(--type-subhead);line-height:1.6}
    .owner-notice small{font:500 var(--type-subhead)/1.35 var(--sans);letter-spacing:0}
    .home-story-head .eyebrow,.home-story-foot{font-size:var(--type-subhead)}
    @media(min-width:721px) and (max-width:1180px){
      .owner-notice-list{grid-template-columns:1fr}
      .owner-notice{min-height:104px;padding:22px 0}
      .owner-notice+.owner-notice{padding-left:0;border-left:0;border-top:1px solid rgba(23,23,20,.16)}
    }
    .new-home-diary{padding:clamp(28px,3.2vw,42px) 0;border-bottom:1px solid var(--owner-line)}
    .new-home-diary-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
    .new-home-diary-head h3{margin:0;font:500 clamp(1.29412rem,2vw,1.76471rem)/1 var(--display);letter-spacing:-.06em}
    .new-home-diary-head p{margin:9px 0 0;color:#706a60;font-size:var(--type-subhead);line-height:1.6}
    .new-home-diary-list{border-top:1px solid var(--owner-line)}
    .new-home-diary-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--owner-line)}
    .new-home-diary-item time{color:#756754;font:500 var(--type-subhead)/1.45 var(--sans);font-variant-numeric:tabular-nums}
    .new-home-diary-item b{display:block;font:600 var(--type-body)/1.3 var(--sans)}
    .new-home-diary-item p{margin:6px 0 0;color:#706a60;font-size:var(--type-body);line-height:1.6;text-wrap:pretty}
    .new-home-diary-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--owner-line)}
    .new-home-diary-form label{display:block;margin-bottom:10px;font:500 var(--type-body)/1.4 var(--sans)}
    .new-home-diary-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
    .new-home-diary-form textarea{width:100%;min-height:84px;resize:vertical;border:1px solid var(--line);background:transparent;color:var(--ink);padding:13px 14px;font:var(--type-body)/1.6 var(--sans);outline:0}
    .new-home-diary-form textarea:focus{border-color:var(--ink)}
    .new-home-diary-form button{min-height:46px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:0 18px;font:500 var(--type-subhead)/1 var(--sans)}
    .new-home-diary-form button:active{transform:scale(.97)}
    .project-stage{padding:clamp(28px,3.2vw,42px) 0;border-bottom:1px solid var(--owner-line)}
    .home-story{padding:clamp(28px,3.2vw,42px) clamp(20px,5vw,80px)!important}
    .home-story-head{align-items:flex-start;gap:clamp(24px,4vw,54px);margin-bottom:clamp(24px,3vw,34px)}
    .home-location-panel{max-width:620px;margin-top:22px}
    .home-location-panel label{display:block;margin-bottom:9px;font:500 var(--type-subhead)/1.35 var(--sans)}
    .home-location-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px}
    .home-location-controls input{min-width:0;min-height:48px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 14px;font:var(--type-body)/1.3 var(--sans);outline:0}
    .home-location-controls input:focus{box-shadow:0 0 0 2px rgba(23,23,20,.18)}
    .home-location-controls button{min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:0 15px;font:500 var(--type-subhead)/1 var(--sans)}
    .home-location-controls button.secondary{background:transparent;color:var(--ink)}
    .home-location-controls button:active{transform:scale(.97)}
    .home-location-panel p{min-height:22px;margin:9px 0 0;color:#706a60;font-size:var(--type-subhead);line-height:1.55}
    /* 所有“信息环”使用同一量尺：数字只放在环内，含义与金额放在环外阅读。 */
    :root{--information-ring-diameter:clamp(112px,10vw,148px);--information-ring-track:10px}
    .mini-info-ring,.payment-info-ring,.spent-info-ring,.budget-ring,.stage-progress-ring{width:var(--information-ring-diameter)!important}
    .mini-info-ring:after,.payment-info-ring:after,.spent-info-ring:after,.budget-ring:after,.stage-progress-ring:after{inset:var(--information-ring-track)!important}
    .mini-info-ring strong,.payment-info-ring strong,.spent-info-ring strong,.budget-ring strong,.stage-progress-ring span{font-size:clamp(1.41176rem,2.2vw,1.76471rem)!important;line-height:1!important}
    .mini-info-ring span,.budget-ring span{font-size:var(--type-subhead)!important;line-height:1.15!important}
    .budget-total.ring-total{display:grid;grid-template-columns:minmax(0,1fr)!important;align-items:start;gap:0}
    .budget-money-rings{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin-top:clamp(20px,2.4vw,30px);border-top:1px solid rgba(23,23,20,.16)}
    .budget-money-row{display:grid;grid-template-columns:var(--information-ring-diameter) minmax(0,1fr);align-items:center;gap:clamp(18px,2.6vw,34px);min-width:0;padding:clamp(18px,2.5vw,28px) 0;border-bottom:1px solid rgba(23,23,20,.16)}
    .budget-money-copy{min-width:0}.budget-money-copy b{display:block;font:500 clamp(1.17647rem,1.75vw,1.52941rem)/1.25 var(--sans);letter-spacing:-.035em}.budget-money-copy span{display:block;margin-top:8px;color:#5f5e59;font-size:var(--type-body);line-height:1.5}
    .budget-total.ring-total p{grid-column:auto!important;max-width:none!important;margin:0!important;padding:clamp(18px,2.4vw,28px) 0;font-size:var(--type-body)!important;line-height:1.6!important}
    /* 手机与平板的项目栏分为身份层和工具层：字标不与外观控制争抢同一行。 */
    @media(max-width:900px){
      .topbar{height:68px!important;padding:0 clamp(16px,4vw,28px)!important}
      .topbar:before{left:clamp(16px,4vw,28px)!important;font-size:var(--type-subhead)!important;letter-spacing:.08em!important}
      .topbar .brand{width:min(190px,42vw)!important}
      .topbar .brand-logo{width:100%!important}
      .topbar .user{gap:0!important}
      .topbar .user>span:first-of-type{display:none!important}
      .topbar .avatar{width:36px!important;height:36px!important;font-size:var(--type-subhead)!important}
      .topbar .theme-trigger{position:absolute;top:calc(100% + 12px);right:clamp(18px,4vw,28px);z-index:10;min-width:86px;min-height:42px;background:var(--paper);color:var(--ink);border-color:var(--ink);padding:0 13px;margin:0!important;white-space:nowrap}
      .topbar .theme-trigger:hover{background:var(--ink);color:var(--paper)}
      .content{padding-top:clamp(78px,10vw,92px)!important}
    }
    @media(max-width:599px){.topbar .brand{width:min(196px,45vw)!important}}
    @media(max-width:720px){
      .new-home-diary-head{display:block}.new-home-diary-head p{font-size:var(--type-subhead)}
      .new-home-diary-item{grid-template-columns:64px minmax(0,1fr);gap:12px}.new-home-diary-item b{font-size:var(--type-body)}.new-home-diary-item p{font-size:var(--type-body)}
      .new-home-diary-form>div{grid-template-columns:1fr}.new-home-diary-form button{width:100%;min-height:44px;font-size:var(--type-subhead)}
      .home-story-head{display:block}.home-story-actions{margin-top:18px}.home-location-panel{margin-top:19px}.home-location-controls{grid-template-columns:1fr 1fr}.home-location-controls input{grid-column:1/-1}.home-location-controls button{min-height:46px}
      .budget-money-row{gap:18px}.budget-money-copy b{font-size:1.17647rem}.budget-money-copy span{font-size:var(--type-body)}.budget-total.ring-total p{font-size:var(--type-body)!important}
    }
  

/* Original style block 26; ordering preserved. */

    /* 付款路径：说明、渠道选择与第三方支付跳转分层，任一步都可返回。 */
    .payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px}.payment-actions .payment-back{min-height:46px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 17px;font:500 var(--type-subhead)/1 var(--sans);white-space:nowrap}.payment-actions .confirm{margin-left:auto;min-height:46px;white-space:nowrap}.payment-channel-list{display:grid;gap:10px;margin-top:22px}.payment-channel{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;width:100%;min-height:74px;padding:13px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.payment-channel:hover{border-color:var(--ink);background:var(--paper-deep)}.payment-channel-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 var(--type-subhead)/1 var(--sans)}.payment-channel b{display:block;font:600 var(--type-subhead)/1.3 var(--sans)}.payment-channel span{display:block;margin-top:4px;color:var(--mono-secondary);font-size:var(--type-caption);line-height:1.4}.payment-channel em{font:500 var(--type-caption)/1 var(--sans);font-style:normal;white-space:nowrap}.payment-channel-note{margin:16px 0 0;color:var(--mono-secondary);font-size:var(--type-caption);line-height:1.55}.payment-gateway-actions{display:flex;justify-content:flex-start;margin-top:20px}.payment-gateway-actions button{min-height:44px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 15px;font:500 var(--type-subhead)/1 var(--sans);white-space:nowrap}@media(max-width:520px){.payment-actions{justify-content:space-between}.payment-actions .confirm{margin-left:0}.payment-channel{grid-template-columns:38px minmax(0,1fr)}.payment-channel em{grid-column:2;justify-self:start}.payment-channel b{font-size:var(--type-body)}.payment-channel span,.payment-channel-note{font-size:var(--type-subhead)}}
    .payment-channel .payment-channel-mark{display:grid;margin-top:0}
  

/* Original style block 27; ordering preserved. */
.hero:after{content:'本周记录'}

/* Original style block 28; ordering preserved. */

    /* 手机与平板统一为单行顶栏：目录、字标、外观、业主。 */
    @media(max-width:1023px){
      .mobile-menu{min-height:44px!important;padding:0!important;font:500 var(--type-subhead)/1 var(--sans)!important;letter-spacing:.1em!important}
      .topbar .brand,body.mobile-nav-open .topbar .brand{width:min(184px,42.5vw)!important}
      .topbar .theme-trigger,body.mobile-nav-open .topbar .theme-trigger{position:absolute;top:50%;right:calc(clamp(16px,4vw,28px) + 44px);z-index:4;width:auto!important;height:32px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0 0 4px!important;transform:translateY(-50%);border:none!important;border-bottom:1px solid currentColor!important;box-shadow:none!important;background:transparent!important;color:var(--ink)!important;font-size:var(--type-subhead)!important;letter-spacing:0;line-height:1!important;white-space:nowrap}
      .topbar .theme-trigger:before,body.mobile-nav-open .topbar .theme-trigger:before{display:none}
      .topbar .theme-trigger:hover,body.mobile-nav-open .topbar .theme-trigger:hover{color:var(--mono-secondary)!important}
      .content{padding-top:clamp(31px,4.2vw,43px)!important}
    }
    @media(max-width:389px){
      .mobile-menu{font-size:var(--type-subhead)!important}
      .topbar .theme-trigger,body.mobile-nav-open .topbar .theme-trigger{font-size:var(--type-subhead)!important}
    }
  

/* Original style block 29; ordering preserved. */

    /* 小区选择留在当前页面完成，确认后回到照片墙，不把业主抛到外部地图。 */
    .home-location-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100svh - 28px);margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 26px 82px rgba(0,0,0,.28);overflow:auto}
    .home-location-dialog::backdrop{background:rgba(0,0,0,.56)}
    .home-location-inner{padding:clamp(20px,3.4vw,34px)}
    .home-location-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
    .home-location-head h3{margin:7px 0 0;font:500 clamp(1.47059rem,3.4vw,2.00000rem)/1 var(--display);letter-spacing:-.06em}
    .home-location-close{display:grid;place-items:center;width:42px;height:42px;margin:-8px -8px 0 0;border:0;background:transparent;color:var(--ink);font:300 1.64706rem/1 var(--sans)}
    .home-location-lead{margin:17px 0;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.6}
    .home-location-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
    .home-location-search input{min-width:0;min-height:48px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:0 14px;font:var(--type-body)/1.3 var(--sans);outline:0}
    .home-location-search input:focus{box-shadow:0 0 0 2px rgba(23,23,20,.15)}
    .home-location-search button,.home-location-current,.home-location-footer button{min-height:48px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:0 16px;font:500 var(--type-subhead)/1 var(--sans)}
    .home-location-current{width:100%;margin-top:9px;background:transparent;color:var(--ink)}
    .home-location-map-frame{position:relative;min-height:230px;margin-top:18px;overflow:hidden;border:1px solid var(--line);background:#e5e5e0}
    /* 地图是定位信息，不纳入界面的黑白视觉滤镜；保留原始彩色图层以便辨认道路、水系与地标。 */
    .home-location-map-frame iframe{display:block;width:100%;height:230px;border:0;filter:none}
    .home-location-map-label{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:8px 10px;background:var(--paper);color:var(--ink);box-shadow:0 5px 18px rgba(0,0,0,.12);font-size:var(--type-subhead);line-height:1.35}
    .home-location-results{display:grid;gap:0;margin-top:17px;border-top:1px solid var(--line)}
    .home-location-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;min-height:58px;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:inherit}
    .home-location-result b{display:block;font:500 var(--type-body)/1.3 var(--sans)}
    .home-location-result span{display:block;margin-top:3px;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.4}
    .home-location-result em{padding-bottom:3px;border-bottom:1px solid currentColor;font:var(--type-subhead)/1 var(--sans);font-style:normal;white-space:nowrap}
    .home-location-result[aria-pressed="true"]{color:var(--ink)}.home-location-result[aria-pressed="true"] em{font-weight:600}
    .home-location-footer{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.home-location-footer button.secondary{background:transparent;color:var(--ink)}
    @media(max-width:600px){.home-location-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.home-location-inner{padding:18px}.home-location-search{grid-template-columns:1fr}.home-location-search button{min-height:44px}.home-location-map-frame,.home-location-map-frame iframe{min-height:195px;height:195px}.home-location-footer button{min-height:46px;font-size:var(--type-subhead)}}
  

/* Original style block 30; ordering preserved. */

    /* 首页以“通知、预算、投入、日志”四个瞬时判断为序；所有黑白信息环共用一个尺度。 */
    .project-radar .radar-next,.project-radar .radar-footnote,.project-stage{display:none!important}
    .owner-notices{margin:0 0 clamp(36px,4.6vw,62px);padding-top:clamp(22px,3vw,34px);border-top:1px solid var(--ink)}
    .owner-notices-head{display:block!important;margin:0!important;padding:0 0 13px!important}.owner-notices-head h2{margin:0!important;font:500 clamp(1.64706rem,3vw,2.35294rem)/1.08 var(--display)!important;letter-spacing:-.065em}.owner-notices-head .eyebrow,.owner-notices-head p{display:none!important}
    .owner-notice-list{display:grid!important;grid-template-columns:1fr!important;border-top:1px solid var(--mono-line)!important}
    .owner-notice{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;gap:clamp(16px,2.2vw,28px)!important;align-items:center!important;min-height:104px!important;padding:18px 0!important;border:0!important;border-bottom:1px solid var(--mono-line)!important;background:transparent!important;color:var(--ink)!important;text-align:left!important}
    .owner-notice+.owner-notice{border-left:0!important}.owner-notice:hover{background:transparent!important}.owner-notice-mark{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;padding:0!important;border:1px solid var(--ink)!important;background:transparent!important;color:var(--ink)!important;font:500 var(--type-subhead)/1 var(--sans)!important;letter-spacing:0!important}
    .owner-notice.is-action .owner-notice-mark{background:var(--ink)!important;color:var(--paper)!important}.owner-notice-copy{display:block!important;min-width:0}.owner-notice b{display:block!important;font:500 clamp(1.05882rem,1.65vw,1.41176rem)/1.22 var(--display)!important;letter-spacing:-.04em!important}.owner-notice-copy span{display:block!important;margin-top:6px!important;color:var(--mono-secondary)!important;font-size:var(--type-subhead)!important;line-height:1.45!important}.budget-total-main small{display:block;margin-top:10px;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.45}
    .owner-notice .notice-action{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px!important;padding:0 15px!important;border:1px solid var(--ink)!important;background:transparent!important;color:var(--ink)!important;font:500 var(--type-subhead)/1 var(--sans)!important;letter-spacing:0!important;white-space:nowrap!important}.owner-notice.is-action .notice-action{background:var(--ink)!important;color:var(--paper)!important}
    :root{--project-ring-d:clamp(92px,8vw,112px)}.mini-info-ring,.payment-info-ring,.spent-info-ring,.budget-ring{width:var(--project-ring-d)!important;height:var(--project-ring-d)!important}.mini-info-ring:after{inset:9px!important}.payment-info-ring:after,.spent-info-ring:after,.budget-ring:after{inset:10px!important}.budget-money-rings{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;justify-items:start}.budget-total.ring-total{grid-template-columns:minmax(0,1fr) var(--project-ring-d)!important;align-items:start!important;gap:clamp(20px,3vw,38px)!important}.budget-total.ring-total p{margin-top:18px!important}.budget-phase{grid-template-columns:var(--project-ring-d) minmax(0,1fr)!important}.budget-phase-grid{gap:0!important}
    .new-home-diary{margin-top:clamp(36px,5vw,66px)!important;padding:clamp(24px,3vw,38px) 0!important;border-top:1px solid var(--ink)!important;border-bottom:0!important}.new-home-diary-head{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:24px!important;margin-bottom:22px!important}.new-home-diary-head h3{margin:0!important;font:500 clamp(1.70588rem,3vw,2.35294rem)/1 var(--display)!important;letter-spacing:-.065em}.new-home-diary-head p{margin:8px 0 0!important;color:var(--mono-secondary)!important;font-size:var(--type-subhead)!important}
    .site-diary-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);border-top:1px solid var(--mono-line);border-bottom:1px solid var(--mono-line)}.site-diary-latest{padding:clamp(22px,3vw,34px) clamp(26px,4vw,54px) clamp(24px,3.2vw,38px) 0}.site-diary-latest time{display:block;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.4}.site-diary-latest b{display:block;margin-top:17px;font:500 clamp(1.35294rem,2.25vw,1.82353rem)/1.15 var(--display);letter-spacing:-.055em}.site-diary-latest p{max-width:620px;margin:12px 0 0;color:var(--mono-secondary);font-size:var(--type-body);line-height:1.65;text-wrap:pretty}.site-diary-latest span{display:block;margin-top:13px;font-size:var(--type-subhead);line-height:1.4}.site-diary-calendar{padding:clamp(22px,3vw,34px) 0 clamp(24px,3.2vw,38px) clamp(26px,4vw,48px);border-left:1px solid var(--mono-line)}.site-diary-calendar header{display:flex;align-items:center;justify-content:space-between;gap:15px}.site-diary-calendar h4{margin:0;font:500 1.11765rem/1 var(--display);letter-spacing:-.03em}.site-diary-calendar header span{color:var(--mono-secondary);font-size:var(--type-subhead)}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:16px}.calendar-week span{display:grid;place-items:center;height:24px;color:var(--mono-secondary);font-size:var(--type-caption)}.calendar-day{display:grid;place-items:center;width:36px;height:36px;justify-self:center;border:0;border-radius:50%;background:transparent;color:var(--ink);font:var(--type-subhead)/1 var(--sans)}.calendar-day.has-entry{background:var(--ink);color:var(--paper)}.calendar-day.selected{outline:2px solid var(--ink);outline-offset:3px}.calendar-day:not(:disabled):hover{transform:scale(.97)}.calendar-day:disabled{visibility:hidden}.site-diary-form{margin-top:18px}.site-diary-form label{display:block;margin-bottom:9px;font-size:var(--type-subhead)}.site-diary-form div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.site-diary-form textarea{min-height:52px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:13px 14px;resize:vertical;font:var(--type-body)/1.45 var(--sans)}.site-diary-form button{min-width:112px;min-height:52px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:500 var(--type-subhead)/1 var(--sans)}
    .diary-assets{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1px solid var(--mono-line);border-left:1px solid var(--mono-line)}.diary-assets button{display:grid;gap:8px;min-height:116px;padding:18px;border:0;border-right:1px solid var(--mono-line);border-bottom:1px solid var(--mono-line);background:transparent;color:var(--ink);text-align:left}.diary-assets button:hover{background:var(--paper-deep)}.diary-assets b{font:500 1.11765rem/1.15 var(--display);letter-spacing:-.035em}.diary-assets span{color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.45}
    .service-page{display:none;max-width:930px;padding-top:clamp(20px,3vw,36px)}.service-page h1{margin:0;font:500 clamp(2.00000rem,4vw,3.17647rem)/1 var(--display);letter-spacing:-.075em}.service-page>p{max-width:650px;margin:16px 0 30px;color:var(--mono-secondary);font-size:var(--type-body);line-height:1.65}.service-links{border-top:1px solid var(--ink)}.service-links a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;min-height:84px;padding:16px 0;border-bottom:1px solid var(--mono-line);color:var(--ink);text-decoration:none}.service-links a:hover{color:var(--mono-secondary)}.service-links b{display:block;font:500 1.17647rem/1.25 var(--display);letter-spacing:-.035em}.service-links span{display:block;margin-top:5px;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.45}.service-links em{padding-bottom:3px;border-bottom:1px solid currentColor;font:var(--type-subhead)/1 var(--sans);font-style:normal;white-space:nowrap}
    @media(max-width:720px){.owner-notices{margin-bottom:35px}.owner-notice{grid-template-columns:46px minmax(0,1fr)!important;gap:14px!important;min-height:0!important;padding:18px 0!important}.owner-notice .notice-action{grid-column:2;justify-self:start;margin-top:-3px}.owner-notice b{font-size:1.11765rem!important}.owner-notice-copy span{font-size:var(--type-subhead)!important}.budget-total.ring-total{grid-template-columns:1fr!important;gap:18px!important}.budget-money-rings{grid-template-columns:1fr!important;justify-items:start}.budget-total.ring-total p{margin-top:0!important}.budget-phase{grid-template-columns:var(--project-ring-d) minmax(0,1fr)!important}.site-diary-shell{grid-template-columns:1fr}.site-diary-latest{padding:24px 0}.site-diary-calendar{padding:24px 0;border-top:1px solid var(--mono-line);border-left:0}.site-diary-form div{grid-template-columns:1fr}.site-diary-form button{width:100%}.diary-assets{grid-template-columns:1fr}.diary-assets button{min-height:88px}.service-links a{min-height:94px}.service-links b{font-size:1.11765rem}}
  

/* Original style block 31; ordering preserved. */

    /* 项目名称仅用于识别；完成地图选点后，坐标才成为项目位置。 */
    .home-location-map-frame iframe{pointer-events:none}
    .home-location-map-label{z-index:4}
    .home-location-map-selector{position:absolute;inset:0;z-index:2;border:0;background:transparent;color:var(--ink);cursor:crosshair}
    .home-location-map-selector::before{content:'';position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border:2px solid var(--ink);border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.86)}
    .home-location-map-selector::after{content:'';position:absolute;left:50%;top:50%;width:1px;height:42px;transform:translate(-50%,-50%);background:var(--ink)}
    .home-location-map-selector span{position:absolute;top:12px;left:50%;transform:translateX(-50%);padding:7px 10px;background:var(--paper);border:1px solid rgba(20,20,18,.18);font-size:var(--type-subhead);line-height:1;white-space:nowrap;box-shadow:0 1px 8px rgba(20,20,18,.08)}
    .project-location-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(20,20,18,.16)}
    .project-location-status small{display:block;min-width:0;color:var(--muted);font-size:var(--type-subhead);line-height:1.45}
    .project-location-trigger{flex:none;padding:0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;font-size:var(--type-subhead);line-height:1.45;white-space:nowrap;cursor:pointer}
    .home-location-panel input[readonly]{cursor:pointer}
    .home-location-panel [data-home-location-save]{display:none!important}
    @media(max-width:620px){
      .home-location-map-selector span{font-size:var(--type-subhead)}
      .project-location-status{align-items:flex-start;flex-direction:column;gap:8px}
      .project-location-trigger{font-size:var(--type-body)}
      .project-location-status small{font-size:var(--type-subhead)}
    }
  

/* Original style block 32; ordering preserved. */

    /* 顶栏只有三个稳定锚点：目录、居中字标、工具区。任何宽度不允许互相挤占。 */
    body.app-active .login-theme,
    body:has(#loginScreen[style*="display: none"]) .login-theme{display:none!important}
    .project-select .project-location-status{display:none!important}
    .owner-notice .notice-action{min-width:112px!important;padding-inline:14px!important;text-align:center}
    @media(max-width:1023px){
      .topbar{position:relative!important;display:block!important;height:68px!important;padding:0!important}
      .topbar .brand,
      body.mobile-nav-open .topbar .brand{position:absolute!important;z-index:1;left:50%!important;top:50%!important;width:clamp(142px,39vw,184px)!important;height:auto!important;margin:0!important;transform:translate(-50%,-50%)!important}
      .topbar .user{position:absolute!important;z-index:3;right:clamp(16px,4vw,28px)!important;top:50%!important;display:flex!important;align-items:center!important;gap:14px!important;margin:0!important;transform:translateY(-50%)!important}
      .topbar .user>span:first-of-type{display:none!important}
      .topbar .theme-trigger,
      body.mobile-nav-open .topbar .theme-trigger{position:static!important;display:inline-flex!important;width:auto!important;height:auto!important;min-width:0!important;min-height:32px!important;margin:0!important;padding:0 0 4px!important;transform:none!important;border:0!important;border-bottom:1px solid currentColor!important;background:transparent!important;color:var(--ink)!important;font-size:var(--type-subhead)!important;line-height:1!important;white-space:nowrap!important}
      .topbar .avatar{flex:0 0 36px!important;margin:0!important}
      .mobile-menu{position:absolute!important;z-index:3;left:clamp(16px,4vw,28px)!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important}
    }
    @media(max-width:480px){
      .topbar .brand,
      body.mobile-nav-open .topbar .brand{width:clamp(142px,39vw,160px)!important}
      .topbar .user{gap:12px!important}
      .topbar .theme-trigger,
      body.mobile-nav-open .topbar .theme-trigger{font-size:var(--type-subhead)!important}
    }
    @media(min-width:1024px){
      .owner-notice .notice-action{justify-self:end!important}
    }
    @media(max-width:720px){
      .owner-notice .notice-action{min-width:120px!important;min-height:44px!important}
    }
  

/* Original style block 33; ordering preserved. */

    /* 同一套内容，不同可用宽度下重新组织；不按设备型号强制套版。 */
    .stage-progress-ring{--arc:68%;background:conic-gradient(from -90deg,var(--ink) var(--arc),var(--ring-track) 0)!important}
    .budget-total.ring-total{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
    .budget-money-rings{display:grid!important;grid-template-columns:1fr!important;gap:0!important;justify-items:stretch!important;border-top:1px solid var(--mono-line)!important}
    .budget-money-row{display:grid!important;grid-template-columns:var(--project-ring-d) minmax(0,1fr)!important;align-items:center!important;gap:clamp(18px,2.3vw,30px)!important;min-width:0!important;padding:clamp(20px,2.8vw,30px) 0!important;border-bottom:1px solid var(--mono-line)!important}
    .budget-money-copy{min-width:0}.budget-money-copy b{display:block;font:500 clamp(1.17647rem,1.7vw,1.52941rem)/1.25 var(--display)!important;letter-spacing:-.045em}.budget-money-copy span{display:block;margin-top:8px;color:var(--mono-secondary);font-size:var(--type-body);line-height:1.5}
    .budget-total.ring-total>p{grid-column:1/-1!important;margin:0!important;padding:clamp(18px,2.4vw,28px) 0!important}
    @media(min-width:721px){
      .budget-money-rings{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:clamp(28px,4vw,64px)!important}
      .budget-money-row{grid-template-columns:var(--project-ring-d) minmax(0,1fr)!important;border-bottom:0!important;padding:clamp(28px,3vw,40px) 0!important}
      .budget-money-row+.budget-money-row{border-left:1px solid var(--mono-line)!important;padding-left:clamp(28px,4vw,64px)!important}
      .budget-phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    }
    @media(max-width:720px){
      .budget-money-row{min-height:var(--project-ring-d)!important}
      .budget-phase-grid{grid-template-columns:1fr!important}
    }
  

/* Original style block 34; ordering preserved. */

    /* 首屏只保留画面内的广告语；字随主视觉可用宽度重排，而不是在底部重复滚动。 */
    .login-art{container-type:inline-size}
    .login .moving-words{display:none!important}
    .manifesto-frame{display:flex!important;align-items:flex-end!important;height:auto!important;min-height:clamp(96px,17svh,170px)!important;overflow:visible!important}
    .manifesto-title{max-width:100%!important;margin:0!important;font-size:clamp(1.29412rem,5.5cqi,3.52941rem)!important;line-height:1.13!important;letter-spacing:-.07em!important;text-wrap:balance!important;word-break:normal!important;overflow-wrap:normal!important;line-break:strict!important}
    /* Let enlarged brand text grow the image region instead of clipping into the form. */
    @media(max-width:1023px){
      .login{height:auto;grid-template-rows:auto auto}
      .login .login-art{min-height:58svh;padding:0}
      .login .art-copy{position:relative;top:auto;bottom:auto;left:auto!important;max-width:none;width:auto;margin:clamp(92px,17svh,172px) var(--feature-left) 3rem}
    }
    @media(max-width:599px){
      .login .login-art{min-height:49svh}
      .login .art-copy{margin-top:clamp(88px,13svh,105px)}
    }
    .manifesto-title:not(.is-changing){animation:manifestoBreathe 4.6s ease-in-out infinite alternate}
    .manifesto-title.is-changing{animation:none!important}
    @keyframes manifestoBreathe{from{transform:translateY(0)}to{transform:translateY(-4px)}}
    @media(min-width:1024px){.art-copy{max-width:min(1220px,calc(65.5vw - clamp(72px,7vw,140px)))!important}}
    @media(prefers-reduced-motion:reduce){.manifesto-title:not(.is-changing){animation:none}}
  

/* Original style block 35; ordering preserved. */

    /* 首屏广告语：整句能放下就保持一行，放不下才把标点后的完整语义单元另起一行。 */
    .manifesto-title.has-punctuation-breaks{text-wrap:initial!important}
    .manifesto-title .manifesto-line{display:block}
    .manifesto-title .manifesto-line.is-complete{white-space:nowrap}
  

/* Original style block 36; ordering preserved. */

    /* 邀请制入口：号码核验是主路径，首次访问只提交实名申请，不构成自由注册。 */
    .login-request-view[hidden]{display:none!important}
    .login-request-link{display:block;margin:15px auto 0;padding:0 0 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font:var(--type-subhead)/1 var(--sans)}
    .login-request-link:hover{color:var(--mono-secondary)}
    .login-request-view .field{margin:17px 0}
    .login-request-view .primary{margin-top:8px}
    .login.request-mode .form-card{max-width:390px}
    .login.request-mode .notice{margin-top:16px}
    .login-request-view .primary:disabled{cursor:default;opacity:.52;transform:none!important}
    @media(max-width:1023px){
      .login.request-mode .login-form{align-items:flex-start!important;overflow-y:auto}
      .login.request-mode .form-card{padding-block:4px}
      .login-request-link{font-size:var(--type-subhead)}
    }
  

/* Original style block 37; ordering preserved. */

    /* 通知类别是同级信息；动作按钮用同一黑白反馈语法。 */
    .owner-notice .owner-notice-mark,
    .owner-notice.is-action .owner-notice-mark{background:transparent!important;color:var(--ink)!important}
    .owner-notice .notice-action,
    .owner-notice.is-action .notice-action{background:var(--ink)!important;color:var(--paper)!important;transition:background-color .16s ease,color .16s ease!important}
    .owner-notice .notice-action.is-flashing{animation:noticeActionFlash .3s ease-in-out}
    @keyframes noticeActionFlash{0%,100%{background:var(--ink);color:var(--paper)}48%{background:var(--paper);color:var(--ink)}}
  

/* Original style block 38; ordering preserved. */

    /* 首屏内容不再额外加顶部分隔线；业主身份与外观入口保留在顶栏。 */
    .owner-notices{border-top:0!important;padding-top:0!important}
    .login-theme{display:none!important}
    body.app-active .topbar .theme-trigger,
    body.mobile-nav-open .topbar .theme-trigger{display:inline-flex!important}
    .topbar .user>span.avatar{display:grid!important}
  

/* Original style block 39; ordering preserved. */

    /* 宽屏把两项付款判断并列放在预算右侧；手机保持逐项纵向阅读。 */
    @media(min-width:721px){
      .budget-total.ring-total{grid-template-columns:minmax(240px,1fr) minmax(430px,1.18fr)!important;align-items:start!important;column-gap:clamp(34px,4vw,72px)!important}
      .budget-money-rings{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;margin-top:0!important;border-top:0!important}
      .budget-money-row{min-width:0!important;grid-template-columns:var(--project-ring-d) minmax(0,1fr)!important;padding:0!important}
      .budget-money-row+.budget-money-row{padding-left:clamp(22px,3vw,48px)!important}
      .budget-total.ring-total>p{grid-column:1/-1!important;margin-top:clamp(24px,3vw,38px)!important}
    }
  

/* Original style block 40; ordering preserved. */

    /* 月历先完整呈现当月；仅存在日志的日期使用黑底白字圆形。 */
    .calendar-day:disabled{visibility:visible!important;cursor:default!important;opacity:1!important}
    .calendar-day.selected{outline:0!important}
  

/* Original style block 41; ordering preserved. */

    /* 平板仍以单列内容阅读，但内容盒必须包含两侧留白，不能撑出视口。 */
    @media(min-width:721px) and (max-width:1023px){
      .layout,.content{min-width:0!important;max-width:100%!important}
      .content{width:auto!important;box-sizing:border-box!important}
    }
  

/* Original style block 42; ordering preserved. */

    /* 项目阶段与精力投入共用一套信息环：同直径、同内圈、同一条左侧基线。 */
    :root{--project-ring-d:clamp(92px,8vw,112px);--project-ring-track:10px}
    .budget-ring,.mini-info-ring{width:var(--project-ring-d)!important;height:var(--project-ring-d)!important;justify-self:start!important}
    .budget-ring:after,.mini-info-ring:after{inset:var(--project-ring-track)!important}
    /* 分子／分母与单位锁定在同一个全尺寸内层，避免数字长度影响圆心。 */
    .ring-commitment .mini-info-ring>div{position:absolute!important;inset:0!important;display:grid!important;grid-template-rows:auto auto!important;place-content:center!important;justify-items:center!important;width:100%!important;height:100%!important;transform:none!important;text-align:center!important}
    .ring-commitment .mini-info-ring strong,.ring-commitment .mini-info-ring span{width:100%!important;margin-left:0!important;margin-right:0!important;text-align:center!important}
    .ring-commitment .mini-info-ring strong{letter-spacing:0!important}
    @media(max-width:720px){
      .ring-commitment .ring-metric{grid-template-columns:var(--project-ring-d) minmax(0,1fr)!important;justify-items:start!important;padding-left:0!important}
    }
  

/* Original style block 43; ordering preserved. */

    /* 预算先说明总额，再并列对照支付与发生；精力投入紧随其后，按内容盒宽度重组。 */
    .integrated-budget{container-type:inline-size;container-name:project-budget}
    .budget-money-copy b{display:block;font:500 clamp(var(--type-body),1.35vw,1.17647rem)/1.15 var(--display)!important;letter-spacing:-.04em}
    .budget-money-copy strong{display:block;margin-top:5px;font:500 clamp(1.23529rem,1.7vw,1.58824rem)/1.05 var(--display);letter-spacing:-.06em;font-variant-numeric:tabular-nums}
    .budget-money-copy span{margin-top:7px!important;white-space:normal;word-break:keep-all}
    .integrated-budget + .owner-commitment.ring-commitment{margin-top:0!important;padding-top:clamp(27px,3.2vw,42px)!important;border-top:0!important}
    @media(min-width:721px){
      .budget-total.ring-total{grid-template-columns:1fr!important;gap:0!important}
      .budget-money-rings{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:clamp(22px,2.6vw,34px)!important;padding-top:clamp(22px,2.6vw,34px)!important;border-top:1px solid var(--mono-line)!important}
      .budget-money-row{padding:0!important;min-height:var(--project-ring-d)!important}
    }
    @container project-budget (min-width:1040px){
      .budget-total.ring-total{grid-template-columns:minmax(278px,.86fr) minmax(540px,1.44fr)!important;align-items:start!important;column-gap:clamp(34px,4vw,72px)!important}
      .budget-money-rings{margin-top:0!important;padding-top:0!important;border-top:0!important}
      .budget-total.ring-total>p{margin-top:clamp(24px,3vw,38px)!important}
    }
    @media(max-width:720px){
      .budget-money-copy strong{font-size:1.41176rem}
      .integrated-budget + .owner-commitment.ring-commitment{padding-top:28px!important}
    }
  

/* Original style block 44; ordering preserved. */

    /* 分隔线语法：黑线只标记主模块开始；灰线只分隔模块内部的标题、条目与数据。 */
    :root{--group-rule:var(--ink);--item-rule:var(--mono-line)}
    /* 首个模块从正文开始，不再额外加一条黑线。 */
    .owner-notices{border-top:0!important;padding-top:0!important;border-bottom:0!important}
    .owner-notice-list{border-top:1px solid var(--item-rule)!important}
    .owner-notice{border-bottom:1px solid var(--item-rule)!important}
    /* “我的新家”是独立内容组：一条黑线开始，不在末尾重复封边。 */
    .home-story{border-top:1px solid var(--group-rule)!important;border-bottom:0!important}
    /* 项目概览只在模块起点使用黑线；预算是其内部首个信息组，改用灰线。 */
    .project-radar{border-top:1px solid var(--group-rule)!important}
    .project-radar .radar-head{border-bottom:1px solid var(--item-rule)!important}
    .integrated-budget{margin-top:0!important;padding-top:clamp(26px,3vw,40px)!important;border-top:0!important;border-bottom:1px solid var(--item-rule)!important}
    .integrated-budget-head{padding-bottom:clamp(20px,2.5vw,30px)!important}
    .integrated-budget + .owner-commitment.ring-commitment{border-bottom:1px solid var(--item-rule)!important}
    /* 现场日志作为下一主模块，以单条黑线开始；内部资料与月历继续使用灰线。 */
    .new-home-diary{margin-top:clamp(38px,5vw,66px)!important;padding-top:clamp(25px,3vw,38px)!important;border-top:1px solid var(--group-rule)!important;border-bottom:0!important}
    .site-diary-shell,.diary-assets{border-color:var(--item-rule)!important}
  

/* Original style block 45; ordering preserved. */

    /* 登录先核验是否已绑定；验证码仅在已绑定后出现。开发者模式只服务原型调试。 */
    .login-code-step[hidden]{display:none!important}
    .login-code-step{margin-top:18px}
    .login-code-step .code-row{margin-top:0}
    .login-code-step .primary{margin-top:10px}
    .login-developer-toggle{display:block;margin:18px auto 0;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--mono-secondary);font:var(--type-subhead)/1.4 var(--sans);cursor:pointer}
    .login-developer-toggle:hover{color:var(--ink)}
    .login-developer-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
  

/* Original style block 46; ordering preserved. */

    /* 项目实拍在登录页作为一个完整画面淡入淡出；文字与表单不随照片移动。 */
    .login-art{background:#171714!important;isolation:isolate}
    .login-image-carousel{position:absolute;inset:0;z-index:0;overflow:hidden;background:#171714}
    .login-image-carousel::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,8,7,.72) 0%,rgba(9,8,7,.39) 47%,rgba(9,8,7,.14) 100%),linear-gradient(180deg,rgba(0,0,0,.16),transparent 30%,rgba(0,0,0,.30) 100%);pointer-events:none}
    .login-image-slide{position:absolute;inset:-2%;background:center/cover no-repeat;opacity:0;transform:scale(1.035);transition:opacity 1.2s ease-in-out,transform 6.8s linear;will-change:opacity,transform}
    .login-image-slide.is-active{opacity:1;transform:scale(1)}
    .login-art::before{z-index:1;pointer-events:none}
    .login-art .brand,.login-art .art-copy{z-index:2!important}
    /* 九宫格以错峰淡出后替换图片：阅读时保持安静，不让九格同时闪烁。 */
    .home-story-card{transition:opacity .72s ease-in-out!important;will-change:opacity}
    .home-story-card.is-image-switching{opacity:.06!important}
    @media(prefers-reduced-motion:reduce){.login-image-slide,.home-story-card{transition:none!important}.home-story-card.is-image-switching{opacity:1!important}}
  

/* Original style block 47; ordering preserved. */

    /* 项目照片先按发生日期收束，再按资料用途与施工阶段筛选。 */
    .project-photo-picker{width:min(960px,calc(100vw - 32px));max-height:calc(100svh - 32px);margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 24px 74px rgba(0,0,0,.26);overflow:auto}.project-photo-picker::backdrop{background:rgba(0,0,0,.58)}.project-photo-picker-inner{padding:clamp(20px,3.3vw,34px)}.project-photo-picker-head,.project-photo-picker-foot,.project-photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-photo-picker-head{align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.project-photo-picker-head h3{margin:7px 0 0;font:500 clamp(1.52941rem,3vw,2.11765rem)/1 var(--display);letter-spacing:-.06em}.project-photo-picker-close{width:44px;height:44px;margin:-8px -8px 0 0;padding:0;border:0;background:transparent;color:var(--ink);font:300 1.76471rem/1 var(--sans)}.project-photo-picker-layout{display:grid;grid-template-columns:minmax(190px,.58fr) minmax(0,1.42fr);gap:clamp(24px,3vw,42px);padding:24px 0}.project-photo-calendar{padding-right:clamp(20px,2.6vw,34px);border-right:1px solid var(--line)}.project-photo-calendar h4,.project-photo-filter h4{margin:0;font:500 var(--type-body)/1.2 var(--sans)}.project-photo-calendar-head{display:flex;justify-content:space-between;gap:8px}.project-photo-calendar-head span,.project-photo-calendar-note,.project-photo-filter p,.project-photo-toolbar span{color:var(--mono-secondary);font-size:var(--type-subhead)}.project-photo-weekdays,.project-photo-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:14px}.project-photo-weekdays span{display:grid;place-items:center;height:26px;color:var(--mono-muted);font-size:var(--type-caption)}.project-photo-day{display:grid;place-items:center;width:32px;height:32px;justify-self:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:var(--type-subhead)}.project-photo-day:disabled{opacity:.32}.project-photo-day.has-photos{background:var(--ink);color:var(--paper);font-weight:600}.project-photo-day.has-photos:hover{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}.project-photo-day.has-photos[aria-pressed="true"]{outline:1px solid var(--ink);outline-offset:3px}.project-photo-calendar-note{margin:18px 0 0;line-height:1.55}.project-photo-filter+.project-photo-filter{margin-top:22px}.project-photo-filter h4{margin-bottom:10px}.project-photo-filter p{margin:0 0 10px;line-height:1.5}.project-filter-options{display:flex;flex-wrap:wrap;gap:7px}.project-filter-options button{min-height:34px;padding:0 11px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:var(--type-subhead)}.project-filter-options button[aria-pressed="true"],.project-filter-options button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.project-photo-toolbar{margin:25px 0 13px;padding-top:20px;border-top:1px solid var(--line)}.project-photo-toolbar b{font-size:var(--type-subhead);font-weight:500}.project-photo-toolbar button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font-size:var(--type-subhead)}.project-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.project-photo-card{position:relative;min-width:0;padding:0;border:1px solid transparent;background:var(--paper-deep);text-align:left;overflow:hidden}.project-photo-card[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.project-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.project-photo-card span{display:block;padding:9px;font-size:var(--type-subhead);line-height:1.4}.project-photo-card small{display:block;margin-top:3px;color:var(--mono-secondary);font-size:var(--type-caption)}.project-photo-card i{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:transparent;font-style:normal}.project-photo-card[aria-pressed="true"] i{background:var(--ink);color:var(--paper)}.project-photo-empty{grid-column:1/-1;margin:0;padding:26px 0;color:var(--mono-secondary);font-size:var(--type-subhead);line-height:1.6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-photo-picker-foot{padding-top:19px;border-top:1px solid var(--line)}.project-photo-picker-foot button{min-height:44px;padding:0 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:500 var(--type-subhead)/1 var(--sans)}.project-photo-picker-foot button.secondary{background:transparent;color:var(--ink)}.project-photo-picker-foot button:disabled{opacity:.4;cursor:default}@media(max-width:700px){.project-photo-picker{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.project-photo-picker-inner{padding:20px 16px}.project-photo-picker-layout{grid-template-columns:1fr;gap:22px;padding:20px 0}.project-photo-calendar{padding:0 0 20px;border-right:0;border-bottom:1px solid var(--line)}.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo-picker-foot{position:sticky;bottom:-20px;margin:0 -16px;padding:14px 16px;background:var(--paper)}}
  

/* Original style block 48; ordering preserved. */

    /* 操作控件不靠压缩文字腾位置：正文可以换行，动作始终作为一枚完整按钮同行阅读。 */
    :root{--action-height:46px;--action-gap:12px}
    .owner-notice{min-width:0}
    .owner-notice-copy{min-width:0}
    .owner-notice .notice-action,
    .modal-foot .confirm,
    .notice-confirm-dialog footer button,
    .project-photo-picker-foot button,
    .home-location-footer button,
    .home-poster-actions button,
    .photo-action-buttons button{display:inline-grid;place-items:center;min-height:var(--action-height);white-space:nowrap;line-height:1!important}
    .owner-notice .notice-action{flex:0 0 auto}
    .modal-foot{gap:var(--action-gap)}
    .modal-foot small{min-width:0;flex:1;line-height:1.6;overflow-wrap:anywhere}
    .modal-foot .confirm{flex:0 0 auto;padding-inline:18px}
    .notice-confirm-dialog footer,.project-photo-picker-foot{gap:var(--action-gap)}
    .notice-confirm-dialog footer button,.project-photo-picker-foot button,.home-location-footer button{min-width:0;padding-inline:16px}
    .home-location-footer,.home-poster-actions,.photo-action-buttons{gap:var(--action-gap)}
    @media(max-width:720px){
      /* 通知的动作列始终在右侧；长标题向下展开，但按钮绝不掉到标题下一行。 */
      .owner-notice{grid-template-columns:46px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:18px 0!important}
      .owner-notice .notice-action{grid-column:auto!important;justify-self:end!important;align-self:center!important;margin:0!important;min-width:112px!important;padding-inline:12px!important;font-size:var(--type-subhead)!important}
      .modal{padding:12px}
      .modal-card{width:100%;padding:20px}
      .modal-foot{align-items:center;margin-top:20px}
      .modal-foot .confirm{min-width:max-content;padding-inline:16px}
      .notice-confirm-dialog footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
      .notice-confirm-dialog footer button{padding-inline:10px;font-size:var(--type-subhead)!important}
      .project-photo-picker-foot{display:grid;grid-template-columns:auto minmax(0,1fr)}
      .project-photo-picker-foot button:last-child{justify-self:end}
    }
    @media(max-width:374px){
      .owner-notice{gap:9px!important}
      .owner-notice .notice-action{min-width:104px!important;padding-inline:9px!important;font-size:var(--type-subhead)!important}
      .modal-card{padding:18px}
      .modal-foot{gap:9px}
      .modal-foot small{font-size:var(--type-subhead)}
      .modal-foot .confirm{padding-inline:13px;font-size:var(--type-subhead)}
    }
  

/* Original style block 49; ordering preserved. */

    /* 八项目录是项目资料的长期入口：列表负责寻找，详情负责判断，首页只负责当下。 */
    :root{
      --portal-space-1:8px;
      --portal-space-2:12px;
      --portal-space-3:18px;
      --portal-space-4:28px;
      --portal-space-5:42px;
      --portal-rule:var(--item-rule,var(--line));
      --portal-rule-strong:var(--group-rule,var(--ink));
      --portal-surface:var(--paper);
      --portal-ink:var(--ink);
      --portal-muted:var(--mono-secondary);
      --portal-motion:180ms cubic-bezier(.23,1,.32,1);
    }
    .topbar .brand{cursor:pointer}
    .topbar .brand:focus-visible{outline:2px solid var(--portal-ink);outline-offset:6px}
    .topbar .avatar{font-family:var(--sans)!important;font-style:normal}
    .nav button[data-page]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:49px;padding:0;border:0!important;border-bottom:1px solid var(--portal-rule)!important;background:transparent!important;color:var(--portal-ink)!important;text-align:left;transition:color var(--portal-motion),padding-inline var(--portal-motion)}
    .nav button[data-page]::after{content:attr(data-index);color:var(--portal-muted);font:var(--type-caption)/1 var(--sans);font-variant-numeric:tabular-nums}
    .nav button[data-page]:hover{padding-inline:5px;color:var(--portal-muted)!important}
    .nav button[data-page].active{font-weight:650!important}
    .nav button[data-page].active::after{color:var(--portal-ink)}
    .portal-page{display:none;min-width:0;max-width:1260px;margin:0 auto;padding:clamp(32px,5vw,72px) 0 96px;color:var(--portal-ink)}
    .portal-page.is-visible{display:block;animation:portalPageIn var(--portal-motion) both}
    @keyframes portalPageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
    .portal-page-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,31%);gap:var(--portal-space-5);align-items:end;padding:0 0 var(--portal-space-4);border-bottom:1px solid var(--portal-rule-strong)}
    .portal-page-head .eyebrow{margin-bottom:var(--portal-space-2)}
    .portal-page-head h1{max-width:14ch;margin:0;font:500 clamp(2.05882rem,4.2vw,3.64706rem)/1.06 var(--display);letter-spacing:-.065em}
    .portal-page-head p{max-width:38ch;margin:0;color:var(--portal-muted);font:var(--type-subhead,var(--type-subhead))/1.7 var(--sans)}
    .portal-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:var(--portal-space-4) 0 0}
    .portal-subnav button{min-height:38px;padding:0 12px;border:1px solid var(--portal-rule);background:transparent;color:var(--portal-ink);font:500 var(--type-subhead)/1 var(--sans);transition:background-color var(--portal-motion),color var(--portal-motion),transform var(--portal-motion)}
    .portal-subnav button[aria-pressed="true"],.portal-subnav button:hover{background:var(--portal-ink);border-color:var(--portal-ink);color:var(--portal-surface)}
    .portal-subnav button:active,.portal-record-action:active,.portal-open-picker:active{transform:scale(.98)}
    .portal-page-body{margin-top:var(--portal-space-4)}
    .portal-index{border-top:1px solid var(--portal-rule)}
    .portal-record{display:grid;grid-template-columns:78px minmax(0,1fr) max-content;gap:var(--portal-space-3);align-items:center;width:100%;min-height:108px;padding:var(--portal-space-3) 0;border:0;border-bottom:1px solid var(--portal-rule);background:transparent;color:var(--portal-ink);text-align:left}
    .portal-record:hover .portal-record-title{text-decoration:underline;text-underline-offset:5px}
    .portal-record:focus-visible,.portal-record-action:focus-visible,.portal-open-picker:focus-visible,.portal-log-day:focus-visible{outline:2px solid var(--portal-ink);outline-offset:3px}
    .portal-status{display:inline-grid;place-items:center;justify-self:start;min-width:52px;min-height:36px;padding:0 8px;border:1px solid var(--portal-ink);font:var(--type-caption)/1 var(--sans);white-space:nowrap}
    .portal-status.pending{background:var(--portal-ink);color:var(--portal-surface)}
    .portal-status.done{border-color:var(--portal-rule);color:var(--portal-muted)}
    .portal-record-copy{min-width:0}
    .portal-record-title{display:block;font:500 clamp(var(--type-body),1.65vw,1.35294rem)/1.25 var(--display)}
    .portal-record-meta{display:block;margin-top:6px;color:var(--portal-muted);font:var(--type-subhead)/1.5 var(--sans)}
    .portal-record-action{display:inline-grid;place-items:center;min-height:42px;padding:0 14px;border:1px solid var(--portal-ink);background:var(--portal-ink);color:var(--portal-surface);font:500 var(--type-subhead)/1 var(--sans);white-space:nowrap}
    .portal-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--portal-space-4);align-items:end;margin-top:var(--portal-space-4);padding:var(--portal-space-4);border:1px solid var(--portal-rule);background:var(--portal-surface)}
    .portal-detail[hidden]{display:none}
    .portal-detail h2{margin:0;font:500 clamp(1.35294rem,2.6vw,2.00000rem)/1.16 var(--display);letter-spacing:-.05em}
    .portal-detail p{max-width:60ch;margin:10px 0 0;color:var(--portal-muted);font:var(--type-subhead)/1.7 var(--sans)}
    .portal-detail ul{display:grid;gap:7px;margin:18px 0 0;padding:0;list-style:none;color:var(--portal-ink);font:var(--type-subhead)/1.55 var(--sans)}
    .portal-detail li{display:flex;gap:8px}.portal-detail li::before{content:'·';font-weight:700}
    .portal-detail button{min-height:44px;padding:0 15px;border:1px solid var(--portal-ink);background:var(--portal-ink);color:var(--portal-surface);font:500 var(--type-subhead)/1 var(--sans);white-space:nowrap}
    .portal-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:var(--portal-space-5);align-items:start}
    .portal-section-title{margin:0 0 var(--portal-space-3);font:500 clamp(1.41176rem,2.4vw,1.94118rem)/1.18 var(--display);letter-spacing:-.05em}
    .portal-section-copy{margin:-6px 0 var(--portal-space-3);color:var(--portal-muted);font:var(--type-subhead)/1.6 var(--sans)}
    .portal-card-stack{border-top:1px solid var(--portal-rule)}
    .portal-card{padding:var(--portal-space-3) 0;border-bottom:1px solid var(--portal-rule)}
    .portal-card b{display:block;font:500 var(--type-body)/1.35 var(--display)}
    .portal-card span{display:block;margin-top:6px;color:var(--portal-muted);font:var(--type-subhead)/1.55 var(--sans)}
    .portal-open-picker{display:inline-grid;place-items:center;min-height:44px;margin-top:var(--portal-space-3);padding:0 16px;border:1px solid var(--portal-ink);background:var(--portal-ink);color:var(--portal-surface);font:500 var(--type-subhead)/1 var(--sans)}
    .portal-calendar{padding:var(--portal-space-4);border:1px solid var(--portal-rule)}
    .portal-calendar-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.portal-calendar-head h2{margin:0;font:500 1.17647rem/1.2 var(--display)}.portal-calendar-head span{color:var(--portal-muted);font:var(--type-caption)/1 var(--sans)}
    .portal-calendar-week,.portal-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
    .portal-calendar-week span{display:grid;place-items:center;min-height:26px;color:var(--portal-muted);font:var(--type-caption)/1 var(--sans)}
    /* 月历日期与上方日志日期使用同一字号；圆形随字号同步留出呼吸空间。 */
    .portal-log-day{display:grid;place-items:center;justify-self:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--portal-ink);font:var(--type-subhead)/1 var(--sans)}
    .portal-log-day:disabled{opacity:.34}.portal-log-day.has-log{background:var(--portal-ink);color:var(--portal-surface);font-weight:650}.portal-log-day.has-log[aria-pressed="true"]{outline:2px solid var(--portal-ink);outline-offset:3px}
    .portal-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--portal-rule);border-left:1px solid var(--portal-rule)}
    .portal-ledger article{min-height:156px;padding:var(--portal-space-4);border-right:1px solid var(--portal-rule);border-bottom:1px solid var(--portal-rule)}
    .portal-ledger span{display:block;color:var(--portal-muted);font:var(--type-caption)/1.4 var(--sans)}.portal-ledger strong{display:block;margin:10px 0 7px;font:500 clamp(1.52941rem,3vw,2.41176rem)/1 var(--display);letter-spacing:-.06em}.portal-ledger p{margin:0;color:var(--portal-muted);font:var(--type-subhead)/1.55 var(--sans)}
    .portal-regulation-note{margin:0 0 var(--portal-space-4);padding:var(--portal-space-3);border:1px solid var(--portal-rule);color:var(--portal-muted);font:var(--type-subhead)/1.65 var(--sans)}
    .portal-regulation-note b{color:var(--portal-ink);font-weight:600}
    .portal-rule-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--portal-space-3);align-items:center;padding:var(--portal-space-3) 0;border-bottom:1px solid var(--portal-rule);color:inherit}.portal-rule-link:first-child{border-top:1px solid var(--portal-rule)}.portal-rule-link b{display:block;font:500 1.05882rem/1.35 var(--display)}.portal-rule-link span{display:block;margin-top:5px;color:var(--portal-muted);font:var(--type-subhead)/1.55 var(--sans)}.portal-rule-link small{display:block;margin-top:7px;color:var(--portal-muted);font:var(--type-caption)/1.5 var(--sans)}.portal-rule-link a,.portal-rule-link em{font:var(--type-subhead)/1 var(--sans);font-style:normal;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;color:inherit}.portal-rule-link a:focus-visible,.portal-guide-actions a:focus-visible,.portal-guide-actions button:focus-visible{outline:2px solid var(--portal-ink);outline-offset:4px}
    .portal-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--portal-rule);border-left:1px solid var(--portal-rule)}.portal-guide-card{min-height:228px;padding:var(--portal-space-3);border-right:1px solid var(--portal-rule);border-bottom:1px solid var(--portal-rule);display:flex;flex-direction:column;align-items:flex-start}.portal-guide-card h2{margin:13px 0 8px;font:500 1.23529rem/1.25 var(--display);letter-spacing:-.04em}.portal-guide-card p{margin:0;color:var(--portal-muted);font:var(--type-subhead)/1.6 var(--sans)}.portal-guide-card small{display:block;margin-top:10px;color:var(--portal-muted);font:var(--type-caption)/1.45 var(--sans)}.portal-guide-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:16px;align-items:center}.portal-guide-actions button,.portal-guide-actions a{border:0;background:transparent;padding:0;color:var(--portal-ink);font:var(--type-subhead)/1 var(--sans);text-decoration:underline;text-underline-offset:4px}.portal-guide-actions .portal-source-pending{color:var(--portal-muted);font:var(--type-subhead)/1 var(--sans)}.portal-load-more{margin-top:24px;border:1px solid var(--portal-ink);background:transparent;color:var(--portal-ink);padding:12px 18px;font:var(--type-subhead) var(--sans)}.portal-load-more:hover{background:var(--portal-ink);color:var(--portal-surface)}
    @media(max-width:720px){
      .portal-page{padding-top:30px;padding-bottom:64px}
      .portal-page-head{grid-template-columns:1fr;gap:16px;padding-bottom:24px}
      .portal-page-head h1{font-size:2.23529rem;max-width:11ch}
      .portal-record{grid-template-columns:56px minmax(0,1fr);gap:12px;min-height:0;padding:18px 0}
      .portal-record-action{grid-column:2;justify-self:start;margin-top:1px}
      .portal-status{min-width:46px;padding-inline:5px;font-size:var(--type-caption)}
      .portal-record-title{font-size:1.05882rem}.portal-record-meta{font-size:var(--type-subhead)}
      .portal-detail{grid-template-columns:1fr;gap:18px;padding:20px}.portal-detail button{justify-self:start}
      .portal-split{grid-template-columns:1fr;gap:32px}.portal-calendar{padding:20px 12px}.portal-ledger{grid-template-columns:1fr}.portal-ledger article{min-height:0;padding:20px}.portal-rule-link{grid-template-columns:1fr;gap:10px}.portal-rule-link a,.portal-rule-link em{justify-self:start}.portal-guide-list{grid-template-columns:1fr}.portal-guide-card{min-height:0;padding:20px}
    }
    @media(prefers-reduced-motion:reduce){.portal-page.is-visible{animation:none}.nav button[data-page],.portal-subnav button{transition:none}}
  

/* Staggered text reveal retains the existing layout. */
.manifesto-character.is-typing{animation:manifestoCharacterIn .24s both cubic-bezier(.2,.8,.2,1);animation-delay:var(--character-delay,0ms)}
@keyframes manifestoCharacterIn{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.manifesto-character.is-typing{animation:none}}
