@font-face{font-family:Housing Sans V2;src:url(fonts/housing-sans-v2-regular.woff2?v=cb47f8bb4d7f) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Housing Sans V2;src:url(fonts/housing-sans-v2-medium.woff2?v=dbf53aed572f) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Housing Sans V2;src:url(fonts/housing-sans-v2-bold.woff2?v=0c30e83ac5b2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Housing Display;src:url(fonts/housing-display-v2.woff2?v=555433ac9eef) format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:Housing Kai;src:url(fonts/housing-kai-v2.woff2?v=867b4ccf7eb9) format("woff2");font-weight:400;font-display:swap}
:root{--paper:#FCFBF7;--ink:#344E50;--body:#4C6264;--teal:#527F7A;--sage:#A8BFAA;--sage-wash:#EEF3E9;--apricot:#D9A27D;--apricot-wash:#F5E8DB;--blue-wash:#EAF1F3;--line:#CBD8D1;--sans:"Housing Sans V2","Noto Sans CJK SC","PingFang SC",sans-serif;--display:"Housing Display","Noto Serif SC",serif;--kai:"Housing Kai","Kaiti SC",KaiTi,serif;font-family:var(--sans);font-synthesis:none;color:var(--ink);background:#F0F0EB}
*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #8c654d;outline-offset:4px}button{cursor:pointer}html{scroll-behavior:smooth}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:white;z-index:9}.skip-link:focus{top:16px}
.workbench-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;padding:24px 40px;margin:auto;font-size:13px}.workbench-header>div,.workbench-header nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.workbench-header a{text-decoration:none}.workbench-brand{font-weight:500;letter-spacing:.03em}.stage-status{color:#7b8b83;font-size:11px}.workbench-header nav{color:#63736c;font-size:12px}.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:4;pointer-events:none}.reading-progress i{display:block;width:100%;height:100%;background:#b48765;transform-origin:left;transform:scaleX(var(--reading-progress,0))}
.layout-workbench{padding:30px 32px 90px;overflow:clip}.workbench-intro{max-width:580px;text-align:center;margin:0 auto 30px}.workbench-intro h1{font-size:19px;font-weight:500;margin:0 0 10px}.workbench-intro p{font-size:12px;color:#7a8781;line-height:1.8;margin:0 auto;max-width:425px}.artboard-shell{container-type:inline-size;width:var(--preview-width,390px);max-width:100%;margin:auto;box-shadow:0 12px 50px #4655490a;background:var(--paper)}.preview-controls{position:fixed;z-index:6;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:12px 18px;border:1px solid #e0e5dc;border-radius:12px;background:#fffffcf2;box-shadow:0 8px 35px #304a4320;backdrop-filter:blur(16px);font-size:12px;white-space:nowrap}.preview-controls label{display:flex;align-items:center;gap:8px}.preview-controls select{border:0;background:#f1f4ec;border-radius:5px;padding:4px 2px}.preview-controls button{border:0;background:transparent;padding:0}.preview-controls a{text-decoration:none}.workbench-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin:0 28px 115px;color:#6f7c73;font-size:12px}.workbench-footer a{text-decoration:none}
.framework-canvas,.scene-poster{--u:.0925925926cqw;background:var(--paper);font-family:var(--sans);font-size:calc(42 * var(--u));line-height:1.6;color:var(--body);overflow:hidden;position:relative}.framework-canvas p,.framework-canvas figure,.framework-canvas h1,.framework-canvas h2,.framework-canvas h3,.scene-poster p,.scene-poster figure{margin:0}.framework-canvas img,.scene-poster img{display:block;max-width:100%;height:auto}.framework-canvas section{position:relative;scroll-margin-top:25px}.display{font-family:var(--display);font-weight:620;color:var(--ink)}.framework-section{padding:calc(102 * var(--u)) calc(76 * var(--u))}.eyebrow{font-size:calc(34 * var(--u));letter-spacing:.12em;font-weight:400;color:var(--teal)}.framework-note{font-size:calc(34 * var(--u));line-height:1.7;color:#7b8b80}.poem-line{display:block}.poem{font-family:var(--kai);font-weight:400;color:#657c70;font-size:calc(56 * var(--u));line-height:1.65;letter-spacing:.025em}.align-left{text-align:left}.align-right{text-align:right}.align-center{text-align:center}
.framework-cover{padding:calc(44 * var(--u)) calc(76 * var(--u)) calc(80 * var(--u));background:radial-gradient(ellipse at 84% 60%,#f1e5d680,transparent 49%),radial-gradient(ellipse at 8% 48%,#e9f0e377,transparent 38%),var(--paper)}.cover-topline{display:flex;justify-content:space-between;align-items:center;font-size:calc(32 * var(--u));letter-spacing:.07em;color:#78877a}.cover-topline span:first-child{font-size:calc(35 * var(--u));color:#49655f}.title-ornament{display:flex;align-items:center;justify-content:center;gap:calc(22 * var(--u));margin:calc(67 * var(--u)) 0 calc(40 * var(--u));color:#b58b6f}.title-ornament span{width:calc(86 * var(--u));height:1px;background:#d2bd9f}.title-ornament i{font-style:normal;font-size:calc(32 * var(--u));line-height:1}.plan-title{font-family:var(--display);font-weight:760;text-align:center;color:#3c6260;text-shadow:0 calc(2 * var(--u)) 0 #fff,0 calc(5 * var(--u)) 0 #d6dfd1;line-height:1.3;letter-spacing:-.035em}.plan-title .poem-line:first-child{font-family:var(--sans);font-size:calc(39 * var(--u));font-weight:400;letter-spacing:.11em;line-height:1.5;text-shadow:none;color:#617770;margin-bottom:calc(24 * var(--u))}.plan-title .poem-line:last-child{font-size:calc(112 * var(--u));white-space:nowrap}.hero-art{position:relative;margin:calc(6 * var(--u)) calc(-76 * var(--u)) calc(-10 * var(--u));isolation:isolate}.hero-art img{position:relative;z-index:1;width:100%}.hero-disc{position:absolute;left:13%;top:9%;width:56%;aspect-ratio:1;border:1px solid #d7e1d0;border-radius:50%;opacity:.5;transform:rotate(-18deg)}.hero-disc:after{content:"";position:absolute;inset:calc(35 * var(--u));border:1px solid #e0ddd0;border-radius:50%}.cover-goal{margin:calc(14 * var(--u)) 0 0;text-align:center}.goal-time{font-family:var(--display);font-size:calc(39 * var(--u));letter-spacing:.08em;color:#927052}.cover-goal-copy{font-size:calc(40 * var(--u));font-weight:400;line-height:1.8;margin-top:calc(16 * var(--u))!important;color:#687c72}.cover-goal-copy .poem-line:last-child{font-family:var(--kai);font-size:calc(51 * var(--u));color:#58746a;margin-top:calc(2 * var(--u))}.cover-rule{display:block;width:calc(76 * var(--u));height:calc(3 * var(--u));background:#cba284;margin:calc(42 * var(--u)) auto 0}
.overview{padding-top:calc(50 * var(--u));padding-bottom:calc(76 * var(--u))}.minor-head{display:flex;align-items:center;gap:calc(28 * var(--u));font-size:calc(32 * var(--u));color:#829184;letter-spacing:.08em}.minor-head i{flex:1;height:1px;background:var(--line)}.core-composition{margin:calc(48 * var(--u)) 0 calc(62 * var(--u))}.core-row{display:flex;align-items:flex-start;gap:calc(25 * var(--u));padding:calc(27 * var(--u)) 0}.core-marker{font-family:var(--display);font-size:calc(39 * var(--u));line-height:1.8;color:#b28d72;flex:0 0 calc(48 * var(--u))}.core-statement{font-size:calc(40 * var(--u));font-weight:400;line-height:1.85}.core-statement strong{font-family:var(--display);font-size:calc(50 * var(--u));font-weight:600;color:#4d756b}.core-row:nth-child(2) strong{color:#9b735a}.direction-rail{display:flex;justify-content:space-between;gap:calc(10 * var(--u));font-size:calc(36 * var(--u));padding:calc(22 * var(--u)) 0;border-block:1px solid var(--line)}.direction-word{white-space:nowrap}.goal-layout{display:grid;grid-template-columns:calc(310 * var(--u)) 1fr;gap:calc(50 * var(--u));align-items:center;padding-top:calc(56 * var(--u))}.goal-year{font-family:var(--display);font-weight:500;font-size:calc(90 * var(--u));line-height:1.2;letter-spacing:-.055em;color:#b28b70}.goal-year span{display:block;font-size:calc(38 * var(--u));letter-spacing:0;color:#8a9b8e;margin-top:calc(12 * var(--u))}
.copy-placeholder>span{display:block;font-size:calc(38 * var(--u));font-weight:400;line-height:1.5;color:#8b9a91;margin-bottom:calc(21 * var(--u))}.placeholder-lines{display:grid;gap:calc(18 * var(--u))}.placeholder-lines i{display:block;width:var(--line-width);height:calc(10 * var(--u));background:#d9e1d6;border-radius:calc(8 * var(--u));opacity:.66}.placeholder-chips{display:flex;gap:calc(16 * var(--u));flex-wrap:wrap;margin-bottom:calc(32 * var(--u))}.placeholder-chips span{font-size:calc(36 * var(--u));line-height:1.6;color:#859888;border-bottom:1px solid #a8bca8;padding:0 0 calc(7 * var(--u))}.micro-index{display:block;font-family:var(--display);font-size:calc(48 * var(--u));font-weight:500;color:#b28e73;margin-bottom:calc(27 * var(--u))}
.metrics-composition{background:#eef3ea;padding-top:calc(96 * var(--u));padding-bottom:calc(74 * var(--u));isolation:isolate}.metrics-composition:before{content:"";position:absolute;width:calc(310 * var(--u));aspect-ratio:1;border:1px solid #d4decc;border-radius:50%;right:calc(-110 * var(--u));top:calc(25 * var(--u));z-index:-1}.metric-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(42 * var(--u))}.metric-heading h2{font-size:calc(76 * var(--u));line-height:1.5;margin-top:calc(10 * var(--u))}.metric-year{font-family:var(--display);font-size:calc(112 * var(--u));font-weight:500;line-height:.95;letter-spacing:-.06em;color:#7b9c89}.metric-year span{font-family:var(--sans);display:block;font-size:calc(32 * var(--u));letter-spacing:.1em;text-align:right;font-weight:400;line-height:1.7;margin-top:calc(16 * var(--u))}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(28 * var(--u));margin-top:calc(52 * var(--u))}.metric-specimen{position:relative;padding:calc(36 * var(--u));background:#fdfdf9;min-height:calc(332 * var(--u))}.slot-label{display:block;font-size:calc(30 * var(--u));letter-spacing:.055em;color:#9aa69a;line-height:1.5;margin-bottom:calc(21 * var(--u))}.metric-specimen h3{font-size:calc(40 * var(--u));font-weight:400;line-height:1.6;color:#647b6c}.metric-number{display:flex;align-items:baseline;white-space:nowrap;font-family:var(--display);font-weight:500;color:#527e70;line-height:1.2;margin-top:calc(30 * var(--u));letter-spacing:-.045em}.metric-number b{font-weight:520;font-size:calc(104 * var(--u))}.metric-number em,.metric-number .operator{font-family:var(--sans);font-style:normal;font-size:calc(42 * var(--u));font-weight:400;letter-spacing:0}.metric-number em{margin-left:calc(14 * var(--u))}.bracket{font-family:var(--sans);font-size:calc(36 * var(--u));font-weight:400}.metric-feature{grid-column:1/-1;background:#fffdf6;min-height:calc(425 * var(--u));padding:calc(44 * var(--u)) calc(48 * var(--u))}.metric-feature:before{content:"";width:calc(10 * var(--u));height:calc(60 * var(--u));position:absolute;left:0;top:calc(45 * var(--u));background:#d4a681}.metric-feature h3{font-size:calc(46 * var(--u));color:#4e6d61}.metric-feature .metric-number{margin-top:calc(23 * var(--u));color:#a77b58}.metric-feature .metric-number b{font-size:calc(138 * var(--u));font-weight:550}.attribute{font-size:calc(32 * var(--u));color:#859483;margin-top:calc(16 * var(--u))!important}.metric-elevator{position:absolute;right:calc(36 * var(--u));bottom:calc(32 * var(--u));width:calc(125 * var(--u));height:calc(146 * var(--u));color:#a9be9f}.metric-tick{height:1px;background:#d6dfd0;width:44%;margin-top:calc(30 * var(--u))}.metric-count{background:#f4eade}.metric-count .metric-number{color:#b29377}.metric-phrase{background:#e4edeb}.metric-phrase .metric-number b{font-size:calc(57 * var(--u));letter-spacing:0}.metric-area{background:#f7f7f0}.metric-tail{display:flex;align-items:center;gap:calc(25 * var(--u));font-size:calc(30 * var(--u));color:#8b9c88;margin-top:calc(35 * var(--u))}.metric-tail i{height:1px;background:#cbd8c6;flex:1}
.topic{padding-top:calc(118 * var(--u));padding-bottom:calc(102 * var(--u))}.topic-heading{position:relative;min-height:calc(198 * var(--u));margin-bottom:calc(44 * var(--u));padding-top:calc(28 * var(--u));isolation:isolate}.topic-heading .eyebrow{margin-bottom:calc(17 * var(--u));font-size:calc(32 * var(--u))}.topic-heading h2{font-size:calc(70 * var(--u));line-height:1.5;letter-spacing:-.035em;font-weight:650;text-wrap:balance}.topic-number{position:absolute;right:calc(-10 * var(--u));top:calc(-60 * var(--u));font-family:var(--display);font-size:calc(195 * var(--u));font-weight:450;line-height:1;letter-spacing:-.08em;color:#e6ebdf;z-index:-1}.chapter-flower{position:absolute;right:calc(3 * var(--u));bottom:calc(2 * var(--u));font-size:calc(48 * var(--u));line-height:1;color:#cca887;font-weight:400}.editorial-feature{position:relative;padding:calc(25 * var(--u)) 0 calc(20 * var(--u));margin-bottom:calc(10 * var(--u))}.side-note{font-size:calc(30 * var(--u));letter-spacing:.08em;color:#9aa79a}.statement-poem{margin-top:calc(24 * var(--u))!important;font-family:var(--kai);font-size:calc(70 * var(--u));line-height:1.5;color:#8f765f}.statement-poem .poem-line:first-child{font-family:var(--sans);font-size:calc(38 * var(--u));font-weight:400;color:#7c8a7e;margin-bottom:calc(8 * var(--u))}
.watercolor{margin:calc(20 * var(--u)) calc(-44 * var(--u)) calc(50 * var(--u))!important}.watercolor img{width:100%;mix-blend-mode:multiply}.watercolor .poem{margin:calc(4 * var(--u)) calc(62 * var(--u)) 0;padding-top:calc(14 * var(--u));position:relative}.watercolor .poem:before{content:"";display:block;width:calc(54 * var(--u));height:calc(2 * var(--u));background:#c3a17d;margin:0 0 calc(18 * var(--u))}.watercolor .poem.align-right:before{margin-left:auto}.watercolor .poem.align-center:before{margin-inline:auto}.scene-pending{height:calc(560 * var(--u));display:grid;place-content:center;background:#f2f2e9;color:#abb3a1;font-size:calc(40 * var(--u));margin-bottom:calc(60 * var(--u))}.asymmetric-pair{display:grid;grid-template-columns:1.18fr 1fr;gap:calc(46 * var(--u));align-items:start;margin-top:calc(64 * var(--u))}.warm-paper{background:#f4eade;padding:calc(35 * var(--u))}.plain-paper{padding:calc(80 * var(--u)) 0 calc(35 * var(--u))}.asymmetric-pair .placeholder-chips{gap:calc(14 * var(--u));margin-bottom:calc(42 * var(--u))}.asymmetric-pair .placeholder-chips span{font-size:calc(32 * var(--u))}.keyword-ribbon{display:flex;justify-content:space-between;gap:calc(18 * var(--u));margin-top:calc(64 * var(--u));padding-top:calc(32 * var(--u));border-top:1px solid var(--line);font-size:calc(36 * var(--u));color:#8c9c8d}.keyword-ribbon i{font-style:normal;color:#ccb397}.rental{background:#f5f3eb}.rental .topic-number{color:#e9dfd0}.rental .chapter-flower{color:#9fb5a1}.inset-scene img{width:96%;margin-left:auto}.rental .poem{color:#987b62}.three-lines{display:grid;gap:calc(28 * var(--u));margin:calc(60 * var(--u)) 0 calc(62 * var(--u))}.three-lines>div{display:grid;grid-template-columns:calc(70 * var(--u)) 1fr;gap:calc(30 * var(--u));align-items:start;border-bottom:1px solid #dcded2;padding-bottom:calc(30 * var(--u))}.line-order{font-family:var(--display);font-size:calc(48 * var(--u));line-height:1.4;color:#a4927a}.three-lines .copy-placeholder>span{font-size:calc(40 * var(--u));color:#8a9588}.caption-band{position:relative;min-height:calc(100 * var(--u));display:flex;align-items:center;justify-content:center;font-size:calc(36 * var(--u));color:#8d987f}.soft-disc{position:absolute;width:calc(168 * var(--u));height:calc(168 * var(--u));border-radius:50%;border:1px solid #d7dfc7;left:calc(-65 * var(--u));top:calc(-12 * var(--u))}
.renewal .topic-heading{text-align:right}.renewal .topic-number{left:calc(-15 * var(--u));right:auto;color:#e9eee3}.renewal .chapter-flower{right:auto;left:calc(22 * var(--u));color:#b2c19b}.garden-pattern{position:absolute;right:calc(-30 * var(--u));top:calc(460 * var(--u));display:flex;gap:calc(13 * var(--u));transform:rotate(-16deg);opacity:.35;pointer-events:none}.garden-pattern i{width:calc(57 * var(--u));height:calc(132 * var(--u));border:1px solid #afbea4;border-radius:100% 0}.open-columns{display:grid;grid-template-columns:1fr 1fr;gap:calc(76 * var(--u));padding:calc(10 * var(--u)) 0 calc(44 * var(--u))}.open-columns>div:last-child{padding-top:calc(75 * var(--u))}.wide-statement{background:#eff3e8;padding:calc(36 * var(--u));margin-top:calc(35 * var(--u));border-left:calc(5 * var(--u)) solid #b1c49d}
.quality{background:#f1f5f2}.quality .topic-heading{text-align:center;margin-bottom:calc(75 * var(--u))}.quality .topic-number{right:calc(-8 * var(--u));color:#e1e9e5}.quality .chapter-flower{right:auto;left:calc(13 * var(--u));color:#b79980}.window-composition{position:relative;width:86%;margin:calc(10 * var(--u)) auto calc(60 * var(--u));padding:calc(50 * var(--u));background:#fbfbf4;border-radius:calc(210 * var(--u)) calc(210 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u));isolation:isolate}.window-outline{position:absolute;inset:calc(18 * var(--u));border:1px solid #b5cbbd;border-radius:calc(193 * var(--u)) calc(193 * var(--u)) 0 0;pointer-events:none}.window-grid{display:grid;grid-template-columns:1fr 1fr;position:relative}.window-grid:before{content:"";position:absolute;left:50%;top:calc(24 * var(--u));bottom:calc(-15 * var(--u));width:1px;background:#ccd9cc}.window-grid:after{content:"";position:absolute;top:52%;left:calc(-8 * var(--u));right:calc(-8 * var(--u));height:1px;background:#ccd9cc}.window-pane{height:calc(265 * var(--u));display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(18 * var(--u));font-size:calc(54 * var(--u));color:#5d7c71}.window-pane .display{font-weight:500;color:#628778}.pane-art{width:calc(67 * var(--u));height:calc(59 * var(--u));display:block;border:calc(2 * var(--u)) solid #afc4b3}.pane-0{border-radius:50% 50% 35% 35%;border-color:#bdbea2;transform:scale(.8)}.pane-1{border-radius:50%;border-color:#d2ad87;transform:scale(.85)}.pane-2{border-radius:80% 0 80% 0;transform:rotate(-25deg) scale(.8);border-color:#97b194;background:#e2ead9}.pane-3{border-style:dotted;border-radius:50%;transform:rotate(10deg);border-color:#a7c1c2}.quality-foot{display:grid;grid-template-columns:calc(95 * var(--u)) 1fr;gap:calc(40 * var(--u));margin-top:calc(50 * var(--u));align-items:center}.quality-accent{font-family:var(--display);font-size:calc(100 * var(--u));color:#9eaf9d;font-weight:300}.quality .watercolor{margin-top:calc(80 * var(--u))!important}.quality .poem{font-size:calc(52 * var(--u))}
.spatial .topic-number{color:#e5ede8}.spatial .chapter-flower{color:#9bb4a9}.spatial .watercolor{margin-top:calc(38 * var(--u))!important}.spatial .poem{font-size:calc(50 * var(--u));color:#648474}.relationship{margin-top:calc(55 * var(--u));color:#92af9f}.relationship svg{display:block;width:100%;height:auto}.relationship>div{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(12 * var(--u));text-align:center;color:#70877b;font-size:calc(40 * var(--u));margin-top:calc(5 * var(--u))}.relationship>p{text-align:right;font-size:calc(30 * var(--u));color:#a0ad9f;margin-top:calc(25 * var(--u))}.spatial-text{margin-top:calc(52 * var(--u));padding-left:calc(64 * var(--u));border-left:1px solid #c1d1c2}
.implementation{background:#edeFdf;padding-top:calc(84 * var(--u));padding-bottom:calc(40 * var(--u))}.implementation h2{font-size:calc(68 * var(--u));line-height:1.4}.closing-flower{position:absolute;top:calc(90 * var(--u));right:calc(75 * var(--u));font-size:calc(108 * var(--u));font-weight:300;line-height:1;color:#b9c5a5}.implementation-list{margin:calc(54 * var(--u)) 0 calc(78 * var(--u));padding-right:calc(70 * var(--u))}.implementation-list .placeholder-chips{margin-top:calc(45 * var(--u))}.canvas-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(30 * var(--u));padding-top:calc(30 * var(--u));border-top:1px solid #c4ceb5;font-size:calc(30 * var(--u));color:#89967a;line-height:1.8}.canvas-footer>span:last-child{text-align:right}
.scene-board-main{max-width:1130px;margin:50px auto 90px;padding:0 30px}.board-intro{max-width:610px;margin:0 auto 50px;text-align:center}.board-intro>p{font-size:13px;color:#8a735d;letter-spacing:.1em}.board-intro h1{font-family:var(--display);font-size:36px;font-weight:550;line-height:1.4;margin:15px 0 22px}.board-intro>div{font-size:13px;color:#7c8a80;line-height:1.9;max-width:480px;margin:auto}.scene-poster-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:56px 34px}.poster-wrap{container-type:inline-size;min-width:0}.scene-poster{padding:calc(58 * var(--u)) calc(64 * var(--u)) calc(40 * var(--u));box-shadow:0 6px 22px #45544206}.poster-meta{display:flex;align-items:center;justify-content:space-between;gap:calc(25 * var(--u));font-size:calc(32 * var(--u));line-height:1.6;color:#829482}.poster-meta span:first-child{color:#688173;max-width:70%}.poster-illustration{margin-top:calc(50 * var(--u))!important;margin-bottom:calc(28 * var(--u))!important}.scene-poster .poem{font-size:calc(66 * var(--u));margin:calc(42 * var(--u)) calc(22 * var(--u)) calc(58 * var(--u));line-height:1.65;color:#718774}.scene-poster .poem.align-right{color:#9b7c60}.scene-poster .poem:before{display:none}.poster-tail{display:flex;align-items:center;gap:calc(20 * var(--u));color:#a6b19f;font-size:calc(28 * var(--u));letter-spacing:.04em}.poster-tail i{height:1px;flex:1;background:#d4dece}.poster-actions{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin-top:18px;font-size:11px;color:#7c8b7e}.poster-actions a{text-decoration:none}.source-detail{font-size:12px;line-height:1.9;margin-top:14px;color:#859181}.source-detail summary{cursor:pointer;text-align:center}.source-detail p{background:#fafbf6;padding:18px;margin:12px 0 0}.poster-wrap:nth-child(3n+2) .scene-poster{background:#f8f5ed}.poster-wrap:nth-child(3n+3) .scene-poster{background:#f5f8f0}
.motion-enabled .framework-canvas>section{transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.25,1)}.motion-enabled .framework-canvas>section:not(.is-in-view){opacity:0;transform:translateY(16px)}.motion-enabled .framework-cover.is-in-view .hero-art img{animation:hero-arrive 1.35s cubic-bezier(.2,.65,.25,1) both}.motion-enabled .framework-cover.is-in-view .plan-title{animation:title-arrive 1.05s cubic-bezier(.2,.65,.25,1) both}.motion-enabled .chapter-flower{animation:quiet-turn 28s linear infinite}.motion-enabled .metric-feature.is-in-view .metric-tick{animation:line-reveal 1s ease both}.motion-disabled *,html.export-view *{animation:none!important;transition:none!important}.motion-disabled .framework-canvas>section,html.export-view .framework-canvas>section{opacity:1!important;transform:none!important}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}@keyframes title-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes quiet-turn{to{transform:rotate(360deg)}}@keyframes line-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html.export-view{scroll-behavior:auto;background:var(--paper)}.export-view .workbench-header,.export-view .workbench-intro,.export-view .preview-controls,.export-view .workbench-footer,.export-view .reading-progress,.export-view .skip-link,.export-view .board-intro,.export-view .poster-actions,.export-view .source-detail{display:none!important}.export-view .layout-workbench{padding:0;margin:0;width:1080px}.export-view .artboard-shell{width:1080px;max-width:none;box-shadow:none;margin:0}.export-view .scene-board-main{padding:0;margin:0;width:1080px;max-width:none}.export-view .scene-poster-grid{display:block}.export-view .poster-wrap{width:1080px}.export-view .poster-wrap[hidden]{display:none}.export-view .scene-poster{box-shadow:none}
@media(max-width:760px){.workbench-header{padding:20px;gap:15px;align-items:flex-start;flex-direction:column}.workbench-header>div{gap:18px}.workbench-header nav{gap:22px;font-size:11px}.layout-workbench{padding:20px 16px 70px}.workbench-intro{max-width:360px}.workbench-intro h1{font-size:16px}.workbench-intro p{font-size:11px;padding:0 12px}.preview-controls{gap:15px;padding:10px 13px;font-size:11px}.scene-board-main{padding:0 18px;margin-top:32px}.board-intro h1{font-size:29px}.scene-poster-grid{grid-template-columns:1fr;gap:36px;max-width:500px;margin:auto}}
@media(max-width:520px){.layout-workbench{padding-inline:0}.artboard-shell{width:100%;max-width:none;box-shadow:none}.preview-controls label{display:none}.workbench-intro{margin-bottom:22px}.workbench-footer{font-size:11px;gap:14px}.scene-board-main{padding-inline:0}.board-intro{padding-inline:25px}.poster-actions{gap:24px}.source-detail{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-enabled .framework-canvas>section{opacity:1!important;transform:none!important}}
/* Drawn ornament; avoid platform emoji substitution. */
.title-ornament i,.chapter-flower,.closing-flower{display:block;aspect-ratio:1;background:currentColor;-webkit-mask:url(vectors/rosette-v2.svg) center/contain no-repeat;mask:url(vectors/rosette-v2.svg) center/contain no-repeat}.title-ornament i{width:calc(34 * var(--u));height:calc(34 * var(--u))}.chapter-flower{width:calc(64 * var(--u));height:calc(64 * var(--u))}.closing-flower{width:calc(110 * var(--u));height:calc(110 * var(--u))}
/* Keep ornaments inside their section, and keep fixed metric values readable. */
.metrics-composition,.renewal{overflow:clip}.topic-number{right:0}.window-grid:after{left:0;right:0}.metric-feature .operator,.metric-feature .bracket,.metric-feature em{color:#805f48}.metric-feature:after{content:"";position:absolute;left:calc(48 * var(--u));bottom:calc(27 * var(--u));height:1px;width:calc(230 * var(--u));background:#d2af8a}.motion-enabled .metrics-composition.is-in-view .metric-feature:after{transform-origin:left;animation:line-reveal 1s ease both}
/* Keep real source excerpts legible; placeholder marks remain deliberately muted. */
.poem,.quality .poem,.spatial .poem,.scene-poster .poem{color:#61745f}.rental .poem,.scene-poster .poem.align-right{color:#89684f}
.scene-poster[data-scene="worker"] .poem-line:first-child{font-family:var(--sans);font-size:calc(40 * var(--u));letter-spacing:.025em;margin-bottom:calc(24 * var(--u));color:#637361}
/* v2.1 — more fluid titles, grounded sketch icons and selective glass-like highlights. */
@font-face{font-family:Housing Kai;src:url(fonts/housing-kai-medium-v3.woff2?v=62e8adda0f22) format("woff2");font-weight:500;font-display:swap}
.display,.plan-title,.core-statement strong{font-family:var(--kai);font-weight:500}.topic-heading h2{font-weight:500;font-size:calc(74 * var(--u))}.plan-title{text-shadow:0 calc(2 * var(--u)) 0 #f9faf5;letter-spacing:.015em;color:#426762}.plan-title .poem-line:last-child{font-size:calc(118 * var(--u));font-weight:500}.core-statement strong{font-size:calc(52 * var(--u))}.framework-cover{background:var(--paper)}.hero-art.city-hero{margin:calc(32 * var(--u)) calc(-76 * var(--u)) calc(20 * var(--u))}.city-hero img{width:100%;mix-blend-mode:multiply}.cover-goal{margin-top:calc(8 * var(--u))}.metric-heading h2{font-size:calc(82 * var(--u));font-weight:500}.window-pane .display{font-family:var(--kai);font-weight:500}
.sketch-icon{display:block;width:calc(170 * var(--u));height:calc(170 * var(--u));object-fit:contain}.pane-sketch{width:calc(144 * var(--u));height:calc(144 * var(--u));object-fit:contain}.window-pane{gap:calc(6 * var(--u));height:calc(300 * var(--u))}.window-grid:after{top:50%}.window-composition{padding-top:calc(32 * var(--u))}.window-pane .display{font-size:calc(52 * var(--u))}.scene-scope{font-size:calc(34 * var(--u));color:#7a8b7a;margin-bottom:calc(10 * var(--u))!important}.institution-pair{display:grid;grid-template-columns:1fr 1fr;gap:calc(58 * var(--u));padding:calc(24 * var(--u)) 0 calc(38 * var(--u));border-bottom:1px solid var(--line)}.institution-pair>div{display:flex;align-items:flex-start;flex-direction:column;gap:calc(12 * var(--u))}.institution-pair .sketch-icon{width:calc(165 * var(--u));height:calc(165 * var(--u))}.institution-pair p{font-size:calc(40 * var(--u));line-height:1.65;color:#536f67}.relationship-icons{display:grid!important;grid-template-columns:repeat(4,1fr);gap:calc(12 * var(--u))!important;align-items:end;justify-items:center}.relationship-icons .sketch-icon{width:calc(170 * var(--u));height:calc(170 * var(--u))}.relationship svg{margin-top:calc(-10 * var(--u))}
.structured-heading{margin-bottom:calc(30 * var(--u))}.structured-heading>span{font-size:calc(30 * var(--u));color:#96a090;letter-spacing:.07em}.structured-heading h3{font-family:var(--kai);font-size:calc(55 * var(--u));line-height:1.5;font-weight:500;color:#5f7e6f;margin-top:calc(12 * var(--u))}.source-flow{padding:calc(54 * var(--u)) calc(34 * var(--u)) calc(32 * var(--u));margin:calc(52 * var(--u)) calc(-12 * var(--u));background:#fffdf78c;border-radius:calc(26 * var(--u));border:1px solid #eeeae0}.source-homes{display:grid;gap:calc(2 * var(--u));margin:calc(14 * var(--u)) 0}.source-homes>div{display:grid;grid-template-columns:calc(118 * var(--u)) 1fr;align-items:center;gap:calc(24 * var(--u))}.source-homes .sketch-icon{width:calc(116 * var(--u));height:calc(116 * var(--u))}.source-homes span{font-size:calc(40 * var(--u));line-height:1.6;color:#617768}.source-qualifier{font-size:calc(34 * var(--u));text-align:right;color:#80917e}.conversion-step{text-align:center;margin:calc(20 * var(--u)) 0 calc(24 * var(--u));color:#9b7e5e}.conversion-step>span{display:block;font-family:var(--display);font-size:calc(52 * var(--u));line-height:1;margin-bottom:calc(20 * var(--u))}.conversion-step p{font-size:calc(40 * var(--u));font-weight:500;line-height:1.6}.product-pair{display:grid;grid-template-columns:1fr 1fr;gap:calc(46 * var(--u));text-align:center}.product-pair>div{display:flex;align-items:center;flex-direction:column;gap:calc(8 * var(--u))}.product-pair .sketch-icon{width:calc(176 * var(--u));height:calc(176 * var(--u))}.product-pair span{font-family:var(--kai);font-size:calc(51 * var(--u));color:#63796b}.lifecycle-structure{margin:calc(64 * var(--u)) 0 calc(54 * var(--u));padding:calc(42 * var(--u)) 0;border-block:1px solid #d0ddd2}.lifecycle-verb{font-size:calc(38 * var(--u));color:#698473;margin-top:calc(24 * var(--u))!important}.lifecycle-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(28 * var(--u));text-align:center;margin-top:calc(15 * var(--u))}.lifecycle-nodes>div{display:flex;align-items:center;flex-direction:column}.lifecycle-nodes .sketch-icon{width:calc(195 * var(--u));height:calc(195 * var(--u))}.lifecycle-nodes p{font-size:calc(40 * var(--u));line-height:1.6;max-width:calc(240 * var(--u));color:#5b756a;text-wrap:balance}.lifecycle-condition{font-family:var(--kai);font-size:calc(47 * var(--u));font-weight:500;text-align:center;color:#8b755b;margin-top:calc(34 * var(--u))!important}
.metric-category{display:flex;align-items:center;gap:calc(30 * var(--u));margin:calc(58 * var(--u)) 0 calc(28 * var(--u))}.metric-category h3{font-size:calc(39 * var(--u));font-weight:500;color:#6e8978;white-space:nowrap}.metric-category span{height:1px;background:#cddac8;flex:1}.metric-study{position:relative;color:#3d6b61}.metric-study h3{font-family:var(--sans);font-size:calc(41 * var(--u));font-weight:400;line-height:1.6;color:#4f6d61}.metric-attribute{font-size:calc(31 * var(--u));color:#788e7a;margin-top:calc(13 * var(--u))!important;line-height:1.6}.metric-value{display:flex;align-items:baseline;gap:calc(7 * var(--u));line-height:1.05;margin-top:calc(28 * var(--u));white-space:nowrap;color:#3e7065}.target-number{display:inline-flex;align-items:baseline;gap:calc(2 * var(--u));font-family:var(--display);letter-spacing:-.055em}.target-number b{font-size:calc(118 * var(--u));font-weight:550;font-variant-numeric:lining-nums tabular-nums}.target-number .operator{font-family:var(--sans);font-size:calc(54 * var(--u));font-weight:400;letter-spacing:0}.target-number .bracket{font-size:calc(37 * var(--u));letter-spacing:-.04em}.metric-unit{font-family:var(--sans);font-style:normal;font-size:calc(47 * var(--u));font-weight:400;letter-spacing:0}.metric-sketch{width:calc(160 * var(--u));height:calc(160 * var(--u));object-fit:contain}.glass-accent{border-radius:calc(36 * var(--u));background:linear-gradient(135deg,#ffffffed,#fffdf6f2 62%,#e8f0e6d9);border:1px solid #ffffff;box-shadow:0 calc(15 * var(--u)) calc(32 * var(--u)) #648f7d0a,inset 0 calc(2 * var(--u)) calc(3 * var(--u)) #fff;backdrop-filter:blur(10px);isolation:isolate;overflow:hidden}.glass-accent:before{content:"";position:absolute;inset:calc(5 * var(--u));border:1px solid #c8d8c44a;border-radius:calc(31 * var(--u));pointer-events:none;z-index:-1}.glass-accent:after{content:"";position:absolute;width:35%;height:130%;top:-15%;left:-40%;background:linear-gradient(90deg,transparent,#ffffff77,transparent);transform:rotate(22deg);pointer-events:none;z-index:-1}.motion-enabled .glass-accent:hover:after{animation:glass-gleam 1.3s ease both}@keyframes glass-gleam{to{left:120%}}
.metric-leading{padding:calc(43 * var(--u)) calc(48 * var(--u));min-height:calc(405 * var(--u))}.metric-leading .metric-copy{max-width:82%;position:relative;z-index:1}.metric-leading h3{font-size:calc(44 * var(--u))}.metric-leading .metric-sketch{position:absolute;right:calc(35 * var(--u));bottom:calc(20 * var(--u));width:calc(195 * var(--u));height:calc(195 * var(--u))}.metric-leading .target-number b{font-size:calc(184 * var(--u));font-weight:500}.metric-leading .metric-value{margin-top:calc(32 * var(--u))}.metric-leading .metric-unit{font-size:calc(59 * var(--u))}.metric-leading .operator{font-size:calc(60 * var(--u))}.metric-horizontal{display:grid;grid-template-columns:calc(116 * var(--u)) 1fr calc(238 * var(--u));align-items:center;gap:calc(24 * var(--u));padding:calc(38 * var(--u)) 0 calc(15 * var(--u))}.metric-horizontal .metric-sketch{width:calc(114 * var(--u));height:calc(114 * var(--u))}.metric-horizontal .metric-value{margin-top:0;justify-content:flex-end;gap:0;color:#9b7858}.metric-horizontal h3{font-size:calc(39 * var(--u))}.metric-horizontal .target-number b{font-size:calc(100 * var(--u))}.metric-horizontal .operator{font-size:calc(46 * var(--u))}.metric-horizontal .metric-unit{font-size:calc(41 * var(--u))}.metric-elevator-feature{display:grid;grid-template-columns:calc(218 * var(--u)) 1fr;grid-template-rows:auto auto;gap:calc(18 * var(--u)) calc(32 * var(--u));padding:calc(40 * var(--u)) calc(38 * var(--u));background:linear-gradient(135deg,#fffdf7ed,#f8ede0f0)}.metric-elevator-feature .metric-sketch{width:calc(218 * var(--u));height:calc(244 * var(--u));grid-row:1/3;align-self:center}.metric-elevator-feature .metric-value{margin-top:0;color:#9a7351}.metric-elevator-feature .target-number b{font-size:calc(144 * var(--u));font-weight:550}.metric-elevator-feature .metric-unit{font-size:calc(43 * var(--u))}.metric-elevator-feature .operator{font-size:calc(48 * var(--u))}.metric-elevator-feature .bracket{font-size:calc(34 * var(--u))}.metric-duo{display:grid;grid-template-columns:1fr 1fr;gap:calc(44 * var(--u));padding-top:calc(10 * var(--u))}.metric-duo .metric-study{padding:calc(12 * var(--u)) 0 calc(28 * var(--u));display:flex;flex-direction:column;align-items:flex-start;border-bottom:1px solid #c5d7c3}.metric-duo .metric-sketch{width:calc(132 * var(--u));height:calc(132 * var(--u));margin-bottom:calc(17 * var(--u))}.metric-duo h3{font-size:calc(39 * var(--u));min-height:calc(125 * var(--u))}.metric-duo .metric-attribute{margin-top:calc(7 * var(--u))!important}.metric-duo .metric-value{margin-top:calc(20 * var(--u))}.metric-duo .target-number b{font-size:calc(108 * var(--u))}.metric-duo .operator{font-size:calc(44 * var(--u))}.metric-duo .bracket{font-size:calc(30 * var(--u))}.metric-duo .metric-unit{font-size:calc(41 * var(--u))}.metric-footnote{margin-top:calc(30 * var(--u))!important;color:#70866f;font-size:calc(31 * var(--u))}
.preview-controls{background:linear-gradient(140deg,#ffffffdd,#f7fcf4ba);border:1px solid #fffffff2;box-shadow:0 10px 32px #3e62581a,inset 0 1px 2px white;backdrop-filter:blur(20px) saturate(1.12)}
@media(prefers-reduced-transparency:reduce){.glass-accent,.preview-controls{background:#fffef8;backdrop-filter:none}}
/* Give each watercolor its own opaque paper backdrop for reliable browser compositing and export. */
.framework-canvas,.scene-poster{--scene-paper:var(--paper)}.rental{--scene-paper:#f5f3eb}.quality{--scene-paper:#f1f5f2}.poster-wrap:nth-child(3n+2) .scene-poster{--scene-paper:#f8f5ed}.poster-wrap:nth-child(3n+3) .scene-poster{--scene-paper:#f5f8f0}.watercolor{isolation:isolate;background:var(--scene-paper,var(--paper))}.city-hero{isolation:isolate;background:var(--paper)}.metric-duo h3{text-wrap:balance}
.metric-value .operator,.metric-value .bracket,.metric-value .metric-unit{color:#486b5f}.metric-horizontal .operator,.metric-horizontal .metric-unit,.metric-elevator-feature .operator,.metric-elevator-feature .bracket,.metric-elevator-feature .metric-unit{color:#7f604a}.window-pane .display{color:#526f5f}.metric-attribute{font-size:calc(34 * var(--u))}.metric-footnote{font-size:calc(36 * var(--u))}
 /* v2.2 — brush headline, source-linked structures and square life scenes. */
@font-face{font-family:Housing Brush;src:url(fonts/housing-brush-title-v23.woff2?v=b9a615eaf13a) format("woff2");font-weight:400;font-display:swap}
:root{--emphasis:#985f50}
.plan-title .poem-line:last-child{font-family:"Housing Brush",var(--kai);font-size:calc(157 * var(--u));font-weight:400;letter-spacing:-.035em;line-height:1.36;transform:none;color:#3d655b;text-shadow:0 calc(3 * var(--u)) calc(1 * var(--u)) #f4f4e9}
.title-glyph{display:inline-block}
.title-brushline{display:block;width:84%;height:calc(22 * var(--u));margin:calc(-10 * var(--u)) auto calc(14 * var(--u));transform:none}
.core-statement strong,.core-row:nth-child(2) strong{color:var(--emphasis)}
.direction-network{position:relative;width:100%;aspect-ratio:928/900;margin:calc(20 * var(--u)) 0 calc(20 * var(--u));isolation:isolate}
.direction-links{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.direction-node{position:absolute;width:calc(198 * var(--u));height:calc(198 * var(--u));display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(5 * var(--u));border:1px solid #d9dfd0;border-radius:50%;background:#fffdf8;box-shadow:0 calc(9 * var(--u)) calc(24 * var(--u)) #56685208;transform:translate(-50%,-50%)}
.direction-node .sketch-icon{width:calc(102 * var(--u));height:calc(102 * var(--u))}.direction-node .direction-word{font-family:var(--kai);font-weight:500;font-size:calc(42 * var(--u));letter-spacing:.025em;color:#4d665d}
.direction-0{left:50%;top:11.33%;background:#f5f3e9}.direction-1{left:85.67%;top:38%}.direction-2{left:72.1%;top:81.33%;background:#f1f5f3}.direction-3{left:27.9%;top:81.33%}.direction-4{left:14.33%;top:38%;background:#f7f0e7}
.direction-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--kai);font-weight:500;font-size:calc(43 * var(--u));line-height:1.55;text-align:center;color:#637762;white-space:nowrap}
.direction-center .poem-line:first-child{font-family:var(--kai);font-size:calc(37 * var(--u));color:#8c9683;margin-bottom:calc(5 * var(--u))}
.concept-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(30 * var(--u));padding:calc(35 * var(--u)) 0;margin:calc(18 * var(--u)) 0}
.concept-strip>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(11 * var(--u));min-width:0}
.concept-strip .sketch-icon{width:calc(132 * var(--u));height:calc(132 * var(--u))}
.concept-strip span{font-size:calc(36 * var(--u));line-height:1.6;color:#596f64;text-wrap:balance}
.concept-strip:has(>div:nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
.attribute-badge{display:inline-flex;align-items:center;gap:calc(10 * var(--u));line-height:1.3;font-size:calc(34 * var(--u));padding:calc(8 * var(--u)) calc(13 * var(--u));border-radius:calc(12 * var(--u));white-space:nowrap}
.attribute-badge svg{width:calc(39 * var(--u));height:calc(39 * var(--u));flex:none}
.attribute-badge.binding{background:#f2e3d5;color:#8d5947;font-weight:500;box-shadow:inset 0 0 0 1px #d3a99440}
.attribute-badge.expected{padding-left:0;color:#6f8777}
.metric-attribute{display:flex;align-items:center;gap:calc(10 * var(--u));flex-wrap:wrap}
.period-label{font-size:calc(30 * var(--u));color:#7c8d78}
.binding-metric .metric-copy{border-left:calc(4 * var(--u)) solid #ba886b;padding-left:calc(20 * var(--u));max-width:100%}
.metric-horizontal .metric-copy{border-left:0;padding-left:0}
.metric-leading{padding-bottom:calc(35 * var(--u))}
.metric-leading .metric-sketch{bottom:calc(160 * var(--u))}
.ratio-visual{margin-top:calc(34 * var(--u));width:100%;color:#9a7759;position:relative}
.ratio-rail{height:calc(13 * var(--u));border-radius:calc(9 * var(--u));position:relative;background:#e0e6da;overflow:visible}
.ratio-fill{position:absolute;inset:0 auto 0 0;width:var(--target);border-radius:inherit;background:linear-gradient(90deg,#acbda7,#6e9681)}
.ratio-marker{position:absolute;top:calc(-8 * var(--u));left:var(--target);width:calc(4 * var(--u));height:calc(29 * var(--u));background:#9b6e50;transform:translateX(-50%);border-radius:calc(2 * var(--u))}
.ratio-scale{display:flex;justify-content:space-between;align-items:baseline;gap:calc(15 * var(--u));font-size:calc(28 * var(--u));color:#89937e;margin-top:calc(17 * var(--u));font-family:var(--sans)}
.ratio-scale span:nth-child(2){font-size:calc(28 * var(--u));color:#7d8778;letter-spacing:.08em}
.metric-horizontal .ratio-visual{grid-column:2/-1;margin-top:calc(4 * var(--u))}
.metric-elevator-feature{padding-bottom:calc(27 * var(--u))}
.cumulative-visual{width:100%;height:calc(175 * var(--u));position:relative;margin-top:calc(12 * var(--u));color:#a38262}
.concept-curve{display:block;width:100%;height:calc(132 * var(--u))}
.cumulative-visual p{font-size:calc(28 * var(--u));line-height:1.4;color:#89917d;text-align:right;margin-top:calc(5 * var(--u))!important}
.metric-elevator-feature .cumulative-visual{grid-column:1/-1;margin-top:calc(-5 * var(--u))}
.metric-duo .cumulative-visual{margin-top:auto;height:calc(154 * var(--u));padding-top:calc(18 * var(--u))}
.metric-duo .concept-curve{height:calc(95 * var(--u))}
.metric-duo .cumulative-visual p{font-size:calc(26 * var(--u));white-space:nowrap}
.metric-duo .ratio-visual{margin-top:auto;padding-top:calc(48 * var(--u));padding-bottom:calc(12 * var(--u))}
.source-flow{box-shadow:0 calc(18 * var(--u)) calc(48 * var(--u)) #6b705510,0 calc(3 * var(--u)) calc(10 * var(--u)) #706a5607}
.conversion-arrow{display:block;width:calc(170 * var(--u));height:calc(106 * var(--u));margin:calc(8 * var(--u)) auto calc(20 * var(--u))}
.open-columns{gap:calc(38 * var(--u));align-items:start;margin-top:calc(52 * var(--u));padding-bottom:calc(30 * var(--u))}
.open-columns>div{padding:calc(30 * var(--u));border:1px solid #dee2d7;border-radius:calc(26 * var(--u));background:#fdfcf7;box-shadow:0 calc(10 * var(--u)) calc(32 * var(--u)) #68785a08}
.open-columns>div:last-child{padding-top:calc(30 * var(--u));margin-top:calc(60 * var(--u));background:#f5f5ec}
.open-columns .sketch-icon{width:calc(136 * var(--u));height:calc(136 * var(--u));margin-bottom:calc(13 * var(--u))}
.open-columns h3{font-family:var(--kai);font-size:calc(46 * var(--u));font-weight:500;line-height:1.5;margin-bottom:calc(22 * var(--u));color:#5b7566}
.square-scene{margin:0!important;isolation:isolate;background:var(--scene-paper,var(--paper));overflow:hidden;aspect-ratio:1}
.square-scene img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.quality-puzzle{display:grid;gap:calc(35 * var(--u));margin:calc(55 * var(--u)) calc(-12 * var(--u)) calc(48 * var(--u))}
.puzzle-pair{display:grid;grid-template-columns:1fr 1fr;align-items:center;border-radius:calc(25 * var(--u));overflow:hidden;border:1px solid #d6dfd32e;--scene-paper:#f8f7f0}
.puzzle-pair .square-scene{align-self:center}
.puzzle-copy{padding:calc(30 * var(--u));min-width:0;position:relative}
.puzzle-copy .sketch-icon{width:calc(111 * var(--u));height:calc(111 * var(--u));margin-bottom:calc(15 * var(--u))}
.puzzle-copy h3{font-family:var(--kai);font-size:calc(48 * var(--u));font-weight:500;line-height:1.4;color:#4b7065;margin-bottom:calc(21 * var(--u))}
.puzzle-phrase{font-size:calc(39 * var(--u));line-height:1.65;color:#627166;margin-top:calc(9 * var(--u))!important;text-wrap:pretty}
.puzzle-warm{background:#f5eee2;--scene-paper:#f5eee2}.puzzle-blue{background:#eaf0ef;--scene-paper:#eaf0ef}.puzzle-sage{background:#ecf0e5;--scene-paper:#ecf0e5}
.pair-3 .puzzle-copy{padding-right:calc(20 * var(--u))}
.pair-3 .puzzle-phrase:first-of-type{font-size:calc(31 * var(--u));color:#8a8e7c}
.pair-3 .puzzle-phrase:last-of-type{padding-top:calc(15 * var(--u));border-top:1px solid #d8d8c6;margin-top:calc(20 * var(--u))!important}
.accessibility-panel{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:calc(25 * var(--u));padding:calc(17 * var(--u)) 0;border-block:1px solid #d6e0d6;margin:calc(50 * var(--u)) 0 calc(65 * var(--u))}
.accessibility-copy .sketch-icon{width:calc(123 * var(--u));height:calc(123 * var(--u))}
.accessibility-copy h3{font-family:var(--kai);font-size:calc(54 * var(--u));font-weight:500;color:#5f7766;margin:calc(13 * var(--u)) 0 calc(17 * var(--u))}
.accessibility-copy p{font-size:calc(40 * var(--u));line-height:1.7}
.community-panel{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:calc(28 * var(--u));padding:calc(28 * var(--u));background:#f0f3e9;border-radius:calc(28 * var(--u));margin:calc(42 * var(--u)) 0 calc(40 * var(--u));--scene-paper:#f0f3e9}
.community-panel-copy h3{font-family:var(--kai);font-size:calc(49 * var(--u));font-weight:500;line-height:1.4;color:#617b64}
.community-panel-copy p{font-family:var(--kai);font-size:calc(41 * var(--u));line-height:1.7;margin-top:calc(25 * var(--u))!important}
.community-services{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:0;padding:calc(15 * var(--u)) 0 0;gap:calc(19 * var(--u))}
.community-services>div{flex-direction:row;gap:calc(10 * var(--u));text-align:left;align-items:center}
.community-services .sketch-icon{width:calc(100 * var(--u));height:calc(100 * var(--u));flex:none}.community-services span{font-size:calc(32 * var(--u))}
.spatial-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:calc(54 * var(--u)) calc(34 * var(--u));margin:calc(40 * var(--u)) calc(-10 * var(--u)) calc(55 * var(--u))}
.spatial-tile{min-width:0;position:relative}
.spatial-tile .square-scene{border-radius:calc(24 * var(--u));outline:1px solid #dfe5da;outline-offset:calc(-5 * var(--u));--scene-paper:#f9faf5}
.spatial-tile-head{display:flex;align-items:center;gap:calc(6 * var(--u));margin-top:calc(15 * var(--u));margin-left:calc(-10 * var(--u))}
.spatial-tile-head .sketch-icon{width:calc(108 * var(--u));height:calc(108 * var(--u));flex:none}
.spatial-tile-head h3{font-family:var(--kai);font-size:calc(48 * var(--u));font-weight:500;line-height:1.35;color:#4e7368;letter-spacing:-.025em}
.spatial-caption{font-size:calc(38 * var(--u));line-height:1.6;color:#697a6b;padding:0 calc(12 * var(--u))}
.area-guidance{padding:calc(38 * var(--u));border:1px solid #d8e0d0;background:#f3f5ec;border-radius:calc(28 * var(--u));margin-top:calc(50 * var(--u))}
.area-guidance>h3{font-family:var(--kai);font-size:calc(45 * var(--u));font-weight:500;color:#6a7c65;line-height:1.6;margin-bottom:calc(25 * var(--u))}
.area-guide-list{display:grid;gap:calc(23 * var(--u))}
.area-guide-list>div{display:grid;grid-template-columns:calc(98 * var(--u)) 1fr;gap:calc(24 * var(--u));align-items:center}
.area-guide-list .sketch-icon{width:calc(98 * var(--u));height:calc(98 * var(--u))}
.area-guide-list h4{font-family:var(--sans);font-size:calc(35 * var(--u));line-height:1.6;font-weight:500;color:#947459;margin:0 0 calc(4 * var(--u))}
.area-guide-list p{font-size:calc(37 * var(--u));line-height:1.6;color:#647469}
.spatial-image-note{font-size:calc(29 * var(--u));color:#9aa38f;text-align:right;margin-top:calc(22 * var(--u))!important}
.spatial-poem{font-family:var(--kai);font-size:calc(53 * var(--u));line-height:1.7;color:#6b7a60;text-align:center;margin-top:calc(80 * var(--u))!important}
.implementation .concept-strip{margin-top:calc(45 * var(--u));margin-bottom:0}.implementation-list{margin-top:calc(22 * var(--u));margin-bottom:calc(40 * var(--u))}
.outlook{padding-top:calc(100 * var(--u));padding-bottom:calc(36 * var(--u));background:linear-gradient(#fcfbf7,#f7f6ec);--scene-paper:#fbfaf5;text-align:center}
.outlook-head{display:flex;align-items:baseline;justify-content:center;gap:calc(27 * var(--u));position:relative;margin-bottom:calc(34 * var(--u))}
.outlook-head .eyebrow{font-family:var(--kai);font-size:calc(41 * var(--u));letter-spacing:.12em}
.outlook-year{font-family:var(--display);font-size:calc(168 * var(--u));line-height:1.2;font-weight:500;letter-spacing:-.05em;color:#95ac90}
.outlook-head i{position:absolute;right:calc(53 * var(--u));top:calc(30 * var(--u));width:calc(123 * var(--u));height:calc(123 * var(--u));border:1px solid #e3d9ba;border-radius:50%;z-index:0}
.outlook-intro{font-size:calc(39 * var(--u));line-height:1.7;color:#6c7e69}
.outlook-art{margin:calc(43 * var(--u)) calc(-76 * var(--u)) calc(42 * var(--u))}
.outlook-art .square-scene{aspect-ratio:3/2}
.outlook-four{font-family:var(--kai);font-size:calc(43 * var(--u));line-height:1.75;color:#697f69}
.outlook-four .poem-line:last-child{font-family:var(--sans);font-size:calc(35 * var(--u));margin-top:calc(10 * var(--u))}
.outlook-icons{display:flex;justify-content:center;gap:calc(52 * var(--u));margin:calc(24 * var(--u)) 0 calc(55 * var(--u))}
.outlook-icons .sketch-icon{width:calc(135 * var(--u));height:calc(135 * var(--u))}
.outlook-poem{font-family:var(--kai);font-weight:400;font-size:calc(58 * var(--u));line-height:1.65;color:#526f5e}
.outlook-poem .poem-line:nth-child(2){color:var(--emphasis)}
.outlook-closing{font-family:var(--kai);font-size:calc(47 * var(--u));line-height:1.7;color:#887359;letter-spacing:.03em;padding-top:calc(40 * var(--u));margin-top:calc(45 * var(--u))!important;border-top:1px solid #dcdcc8}
.outlook .canvas-footer{margin-top:calc(78 * var(--u));text-align:left}
@media(prefers-reduced-transparency:reduce){.puzzle-pair,.community-panel,.source-flow{backdrop-filter:none}}
.youth-rental-panel{display:grid;grid-template-columns:1.28fr 1fr;gap:calc(24 * var(--u));align-items:center;margin:calc(45 * var(--u)) calc(-20 * var(--u)) calc(42 * var(--u))}
.youth-rental-copy{padding:calc(18 * var(--u)) calc(10 * var(--u))}.youth-rental-copy .sketch-icon{width:calc(116 * var(--u));height:calc(116 * var(--u));margin-bottom:calc(24 * var(--u))}
.youth-rental-copy .poem{font-size:calc(46 * var(--u));line-height:1.7;color:#94704f}
.worker-scene .poem-line:first-child{font-family:var(--sans);font-size:calc(37 * var(--u));color:#647261;margin-bottom:calc(15 * var(--u))}
.worker-scene .poem{font-size:calc(53 * var(--u));margin-top:calc(20 * var(--u))}
.vertical-mixed-use{margin:calc(70 * var(--u)) calc(-12 * var(--u)) calc(65 * var(--u));padding:calc(30 * var(--u)) calc(22 * var(--u));border-top:1px solid #d8dfd2;border-bottom:1px solid #d8dfd2;--scene-paper:#fbfaf5}
.vertical-mixed-use>h3{font-family:var(--kai);font-size:calc(44 * var(--u));font-weight:500;text-align:center;text-wrap:balance;line-height:1.55;color:#6b7a60;margin:0 calc(42 * var(--u)) calc(30 * var(--u))}
.mixed-diagram{display:grid;grid-template-columns:minmax(0,1fr) calc(260 * var(--u));gap:calc(20 * var(--u));align-items:stretch;position:relative;padding-right:0}
.mixed-labels{position:static;width:auto;display:grid;grid-template-rows:repeat(4,minmax(0,1fr));padding-block:calc(104 * var(--u)) calc(128 * var(--u))}
.mixed-label{position:relative;inset:auto;display:flex;flex-direction:row;gap:calc(10 * var(--u));align-items:center;font-size:calc(34 * var(--u));line-height:1.5;color:#6a7c6c;white-space:nowrap}
.mixed-label:before{content:"";position:absolute;right:100%;width:calc(20 * var(--u));height:1px;background:#bbcbbd;top:50%}
.mixed-label .sketch-icon{width:calc(92 * var(--u));height:calc(92 * var(--u))}
.mixed-title-phrase{white-space:nowrap}
/* Review refinements: enlarged community illustration and paired concept icons. */
.community-panel{display:block;padding:0;background:transparent;border-radius:calc(12 * var(--u));--scene-paper:var(--paper)}
.community-panel>.square-scene{width:100%;border-radius:calc(12 * var(--u));outline:1px solid #d5dfd130;outline-offset:-1px}
.community-panel-copy{display:flex;align-items:baseline;justify-content:space-between;gap:calc(25 * var(--u));padding:calc(35 * var(--u)) calc(5 * var(--u)) calc(10 * var(--u))}
.community-panel-copy h3{flex:none;font-size:calc(48 * var(--u))}.community-panel-copy p{font-size:calc(36 * var(--u));font-family:var(--sans);margin:0!important;text-align:right}
.community-panel .community-services{padding:calc(27 * var(--u)) calc(15 * var(--u));border-block:1px solid #d9e0d1;margin-top:calc(25 * var(--u))}
.family-caption{position:relative;padding:calc(32 * var(--u)) calc(160 * var(--u)) 0!important}
.family-caption .poem-line{white-space:nowrap}
.family-caption .caption-icon{position:absolute;width:calc(142 * var(--u));height:calc(142 * var(--u));object-fit:contain;mix-blend-mode:normal;top:calc(34 * var(--u))}
.family-caption .poem-line:first-child .caption-icon{left:calc(10 * var(--u))}
.family-caption .poem-line:last-child .caption-icon{right:calc(10 * var(--u))}
.official-map{margin:calc(35 * var(--u)) calc(-26 * var(--u)) calc(50 * var(--u))!important;background:#fff;border:1px solid #dee2d6;border-radius:calc(7 * var(--u));overflow:hidden}
.official-map img{width:100%;height:auto;mix-blend-mode:normal;display:block}
.official-map a{display:block;text-decoration:none}
.official-map figcaption{font-family:var(--sans);padding:calc(18 * var(--u)) calc(20 * var(--u));font-size:calc(27 * var(--u));line-height:1.6;color:#8b937f;display:flex;gap:calc(15 * var(--u));flex-wrap:wrap;justify-content:space-between}
.official-map{border:0;background:transparent;border-radius:calc(8 * var(--u))}
.official-map .map-crop{position:relative;aspect-ratio:1130/1260;overflow:hidden;border-radius:calc(8 * var(--u));background:#f6f7f1}
.official-map .map-crop img{position:absolute;max-width:none;width:109.20354%;height:auto;left:-4.60177%;top:-18.65079%;mix-blend-mode:normal}
.official-map figcaption{padding-left:0;padding-right:0;font-size:calc(26 * var(--u));justify-content:flex-end}

/* Preserve type scale on mobile; report a failed font without changing the artwork. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light}
.font-load-notice{position:fixed;z-index:20;inset:12px 12px auto;max-width:560px;margin:auto;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:13px 16px;border:1px solid #d4dcca;border-radius:8px;background:#fcfbf7;box-shadow:0 6px 24px #344e5020;color:#344e50;font:14px/1.6 system-ui,sans-serif}.font-load-notice span{flex-basis:100%}.font-load-notice button{background:transparent;border:0;padding:0;text-decoration:underline;font:inherit}.export-view .font-load-notice{display:none}

/* Distinct chapter/task numbering and explicit percentage baselines. */
.core-marker{font-size:calc(27 * var(--u));line-height:2.5}
.ratio-baseline-label{font-family:var(--sans);font-size:calc(29 * var(--u));line-height:1.5;color:#557266;margin-bottom:calc(17 * var(--u))}.ratio-baseline-label b{font-weight:500}
.ratio-baseline-marker{position:absolute;width:calc(14 * var(--u));height:calc(14 * var(--u));top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#3e6358;border:calc(2 * var(--u)) solid #fcfbf7}
.family-caption .poem-line .caption-icon.caption-left{left:calc(10 * var(--u));right:auto}.family-caption .poem-line .caption-icon.caption-right{right:calc(10 * var(--u));left:auto}
.family-caption{min-height:calc(182 * var(--u))}

.ratio-baseline-label:has(+.ratio-rail .ratio-baseline-marker):before{content:"";display:inline-block;width:calc(10 * var(--u));height:calc(10 * var(--u));border-radius:50%;background:#3e6358;margin-right:calc(10 * var(--u));vertical-align:.08em}

.community-context-icon{width:calc(80 * var(--u));height:calc(80 * var(--u));object-fit:contain;flex-shrink:0}

/* Wide watercolor scenes keep their full composition. */
.panorama-scene{margin:0!important;background:var(--paper);isolation:isolate}
.panorama-scene img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.community-panorama{display:block}
.community-panorama .panorama-scene{aspect-ratio:1672/941}
.scene-zoom{display:block;width:100%;height:auto;padding:0;margin:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.scene-zoom img{display:block;width:100%;height:auto}
.scene-zoom:focus-visible{outline:2px solid #527f7a;outline-offset:3px}
.image-dialog{width:min(94vw,1000px);max-height:92vh;padding:45px 12px 12px;border:0;border-radius:10px;background:#fcfbf7}
.image-dialog::backdrop{background:#223338c7}
.image-close{position:absolute;right:16px;top:12px;border:0;background:none;font:14px var(--sans);color:#344e50;cursor:pointer}
.image-dialog-content img{display:block;width:100%;height:auto}
.image-dialog-content p{font:13px/1.6 var(--sans);margin:10px 6px;color:#66756e}
.export-view .image-dialog{display:none!important}

/* Full content extends, and does not rewrite, the approved visual framework. */
.complete-canvas .full-chapter-purpose{font-family:var(--kai);font-size:calc(47 * var(--u));color:var(--emphasis);line-height:1.6;margin-top:calc(-15 * var(--u));margin-bottom:calc(35 * var(--u))}
.full-goals{display:grid;grid-template-columns:calc(240 * var(--u)) 1fr;gap:calc(52 * var(--u));margin-top:calc(44 * var(--u));padding-top:calc(45 * var(--u));border-top:1px solid var(--line)}
.full-goals .goal-year{font-size:calc(80 * var(--u))}.full-goals .goal-year span{font-size:calc(32 * var(--u))}
.full-goals p{font-size:calc(38 * var(--u));line-height:1.8;color:#687a67;margin-bottom:calc(19 * var(--u))}
.full-metrics .metric-category{margin-top:calc(58 * var(--u))}
.full-metric-duo{margin-bottom:calc(30 * var(--u));gap:calc(48 * var(--u))}
.full-metric-duo .metric-copy{border-left:0;padding-left:0}
.full-metric-duo .metric-study h3{font-size:calc(37 * var(--u));min-height:0}
.full-metric-duo .metric-copy{min-height:calc(206 * var(--u))}
.full-metric-duo .metric-value{margin-top:calc(30 * var(--u));gap:calc(3 * var(--u));flex-wrap:wrap;row-gap:calc(16 * var(--u))}
.full-metric-duo .metric-unit{font-size:calc(34 * var(--u))}
.full-metric-duo .metric-suffix{font-family:var(--sans);font-size:calc(31 * var(--u));letter-spacing:0;margin-left:calc(9 * var(--u))}
.full-metric-duo .metric-kind-text .target-number b,.full-metric-duo .metric-kind-phrase .target-number b{font-family:var(--kai);font-size:calc(60 * var(--u));letter-spacing:0}
.full-metric-duo .ratio-visual{margin-top:calc(28 * var(--u));padding-top:calc(22 * var(--u))}
.full-metric-last{display:grid;grid-template-columns:calc(150 * var(--u)) 1fr;gap:calc(10 * var(--u)) calc(30 * var(--u));padding:calc(28 * var(--u)) 0}
.full-metric-last .metric-sketch{grid-row:1/3;width:calc(150 * var(--u));height:calc(170 * var(--u));align-self:center}
.full-metric-last .metric-copy{grid-column:2}.full-metric-last .metric-value{grid-column:2;margin-top:calc(13 * var(--u))}.full-metric-last .ratio-visual{grid-column:1/-1}
.full-task{padding:calc(45 * var(--u)) 0 calc(40 * var(--u));border-bottom:1px solid #d7dfd130;position:relative}
.full-task-head{display:grid;grid-template-columns:calc(50 * var(--u)) 1fr calc(128 * var(--u));gap:calc(18 * var(--u));align-items:center;margin-bottom:calc(28 * var(--u))}
.full-task-no{font-family:var(--display);font-size:calc(34 * var(--u));color:#b29376;align-self:start;line-height:1.8}
.full-task-head h3{font-family:var(--kai);font-size:calc(49 * var(--u));font-weight:500;color:#517064;line-height:1.45;text-wrap:pretty}
.task-sketch{width:calc(128 * var(--u));height:calc(128 * var(--u));object-fit:contain;align-self:start}
.policy-line{font-size:calc(40 * var(--u));font-weight:400;line-height:1.85;color:#5c7065;margin-top:calc(23 * var(--u))!important;text-wrap:pretty}
.policy-line:first-child{margin-top:0!important}
.full-keywords{margin:calc(22 * var(--u)) 0 calc(6 * var(--u));padding-block:calc(20 * var(--u))}
.full-keywords:has(>div:nth-child(5):last-child){grid-template-columns:repeat(5,1fr);gap:calc(12 * var(--u))}.full-keywords .sketch-icon{width:calc(112 * var(--u));height:calc(112 * var(--u))}.full-keywords span{font-size:calc(33 * var(--u))}
.full-task-pair{display:grid;grid-template-columns:1fr 1fr;gap:calc(43 * var(--u));align-items:start;margin:calc(20 * var(--u)) 0 calc(30 * var(--u))}
.full-task-pair .full-task{padding:calc(28 * var(--u));border:1px solid #dce1d4;border-radius:calc(22 * var(--u));background:#fbfaf4}
.full-task-pair .full-task:nth-child(2){margin-top:calc(65 * var(--u));background:#f3f3e9}
.full-task-pair .full-task-head{grid-template-columns:calc(40 * var(--u)) 1fr;gap:calc(12 * var(--u))}
.full-task-pair .task-sketch{grid-column:2;grid-row:1;justify-self:end;opacity:.95;width:calc(105 * var(--u));height:calc(105 * var(--u))}
.full-task-pair .full-task-head h3{grid-column:1/-1;grid-row:2;font-size:calc(45 * var(--u))}
.full-task-pair .policy-line{font-size:calc(38 * var(--u));line-height:1.85}
.guarantee-layers{display:grid;gap:calc(25 * var(--u));margin-top:calc(20 * var(--u))}
.guarantee-layers>div{display:grid;grid-template-columns:calc(46 * var(--u)) 1fr;gap:calc(27 * var(--u));padding:calc(25 * var(--u)) calc(28 * var(--u));border-left:calc(4 * var(--u)) solid #b7c5a6;background:#ffffff5c}
.guarantee-layers>div>span{font-family:var(--display);font-size:calc(34 * var(--u));color:#a58b6c}
.complete-canvas .source-flow{margin-block:calc(42 * var(--u))}
.full-scene-pair{display:grid;grid-template-columns:1.02fr 1fr;gap:calc(30 * var(--u));align-items:center;background:#f7f5ec;border-radius:calc(18 * var(--u));overflow:hidden;margin:calc(35 * var(--u)) calc(-10 * var(--u));--scene-paper:#f7f5ec}
.full-scene-pair.reverse{background:#edf2ed;--scene-paper:#edf2ed}
.full-pair-copy{padding:calc(27 * var(--u)) calc(22 * var(--u))}
.full-pair-copy .policy-line{font-size:calc(37 * var(--u));line-height:1.7}
.full-pair-copy h4{font-family:var(--kai);font-weight:500;font-size:calc(46 * var(--u));line-height:1.5;color:#657e67;margin:calc(15 * var(--u)) 0}
.policy-qualifier{font-size:calc(31 * var(--u));color:#81907f;line-height:1.6}
.complete-canvas .quality .topic-heading{margin-bottom:calc(70 * var(--u))}
.full-spatial-task .policy-line{font-size:calc(36 * var(--u));line-height:1.8;padding-inline:calc(10 * var(--u));margin-top:calc(22 * var(--u))!important}
.full-spatial-task .spatial-tile-head h3{font-size:calc(44 * var(--u))}
.complete-canvas .implementation{padding-bottom:calc(65 * var(--u))}
.implementation-action{display:grid;grid-template-columns:calc(130 * var(--u)) 1fr;gap:calc(30 * var(--u));align-items:start;margin-top:calc(43 * var(--u))}
.implementation-action .sketch-icon{width:calc(130 * var(--u));height:calc(130 * var(--u))}
.implementation-action .policy-line{font-size:calc(39 * var(--u));margin-top:0!important}
.implementation-poem{font-family:var(--kai);font-size:calc(47 * var(--u));line-height:1.7;text-align:center;color:#75815d;margin-top:calc(55 * var(--u))!important}
/* Approved follow-up: shorter phrases and a tighter full-page rhythm. */
.complete-canvas .framework-section{padding-top:calc(76 * var(--u));padding-bottom:calc(68 * var(--u))}
.complete-canvas .topic-heading{min-height:calc(168 * var(--u));margin-bottom:calc(22 * var(--u))}
.complete-canvas .full-task{padding-top:calc(30 * var(--u));padding-bottom:calc(28 * var(--u))}
.complete-canvas .full-task-head{margin-bottom:calc(20 * var(--u))}
.complete-canvas .policy-line{margin-top:calc(15 * var(--u))!important;line-height:1.72}
.complete-canvas .full-keywords{margin-block:calc(12 * var(--u));padding-block:calc(15 * var(--u))}
.complete-canvas .full-keywords span{font-size:calc(34 * var(--u))}
.complete-canvas .full-task-pair{margin-block:calc(14 * var(--u))}
.complete-canvas .full-task-pair .full-task:nth-child(2){margin-top:calc(38 * var(--u))}
.complete-canvas .full-metric-duo .metric-copy{min-height:calc(160 * var(--u))}
.complete-canvas .full-metric-duo .metric-sketch{width:calc(106 * var(--u));height:calc(106 * var(--u))}
.complete-canvas .metric-category{margin-top:calc(44 * var(--u))}
.complete-canvas .window-composition{width:78%;margin-bottom:calc(35 * var(--u));padding:calc(35 * var(--u))}
.complete-canvas .window-pane{height:calc(220 * var(--u))}.complete-canvas .pane-sketch{width:calc(118 * var(--u));height:calc(118 * var(--u))}
.complete-canvas .quality .watercolor{margin-top:calc(45 * var(--u))!important}
.complete-canvas .lifecycle-structure{margin-block:calc(30 * var(--u));padding-block:calc(25 * var(--u))}
.complete-canvas .lifecycle-nodes .sketch-icon{width:calc(152 * var(--u));height:calc(152 * var(--u))}
.complete-canvas .implementation-action{margin-top:calc(22 * var(--u));align-items:center}
/* Compact indicators: shared title/attribute/readout/graphic baselines. */
.full-metrics .metric-heading{margin-bottom:calc(22 * var(--u))}
.full-metrics .metric-category{margin:calc(32 * var(--u)) 0 calc(22 * var(--u))}
.full-metrics .metric-category h3{font-size:calc(36 * var(--u))}
.full-metrics .metric-study h3{font-size:calc(37 * var(--u));line-height:1.5}
.full-metrics .metric-leading{padding:calc(30 * var(--u)) calc(38 * var(--u));min-height:0}
.full-metrics .metric-leading .target-number b{font-size:calc(154 * var(--u))}
.full-metrics .metric-leading .metric-unit{font-size:calc(48 * var(--u))}
.full-metrics .metric-leading .metric-sketch{width:calc(153 * var(--u));height:calc(153 * var(--u));bottom:calc(120 * var(--u));right:calc(32 * var(--u))}
.full-metrics .metric-leading .metric-value{margin-top:calc(20 * var(--u))}
.full-metrics .ratio-visual{margin-top:calc(24 * var(--u))}
.full-metrics .ratio-scale{font-size:calc(25 * var(--u));margin-top:calc(11 * var(--u))}
.full-metrics .ratio-scale span:nth-child(2){font-size:calc(25 * var(--u))}
.full-metrics .metric-horizontal{padding-block:calc(28 * var(--u));grid-template-columns:calc(100 * var(--u)) 1fr calc(200 * var(--u));gap:calc(18 * var(--u))}
.full-metrics .metric-horizontal .metric-readout{grid-column:2/-1;display:grid;grid-template-columns:1fr calc(200 * var(--u));gap:calc(12 * var(--u))}
.full-metrics .metric-horizontal .metric-copy{grid-column:2/-1}
.full-metrics .metric-horizontal .metric-sketch{width:calc(100 * var(--u));height:calc(100 * var(--u));grid-row:1/3;align-self:start}
.full-metrics .metric-horizontal .metric-value{grid-column:2;grid-row:1;font-size:calc(90 * var(--u))}
.full-metrics .metric-horizontal .target-number b{font-size:calc(94 * var(--u))}
.full-metrics .metric-horizontal .metric-visual-slot{grid-column:1/-1}
.full-metrics .metric-elevator-feature{grid-template-columns:calc(175 * var(--u)) 1fr;padding:calc(28 * var(--u)) calc(32 * var(--u));gap:calc(10 * var(--u)) calc(23 * var(--u))}
.full-metrics .metric-elevator-feature .metric-sketch{width:calc(175 * var(--u));height:calc(199 * var(--u));grid-row:1/3}
.full-metrics .metric-elevator-feature .metric-readout{grid-column:2}
.full-metrics .metric-elevator-feature .target-number b{font-size:calc(121 * var(--u))}
.full-metrics .metric-elevator-feature .metric-value{margin-top:calc(8 * var(--u))}
.full-metrics .metric-elevator-feature .cumulative-visual{height:calc(117 * var(--u));margin-top:calc(6 * var(--u))}
.full-metrics .metric-elevator-feature .concept-curve{height:calc(78 * var(--u))}
.full-metric-duo{gap:calc(40 * var(--u));margin-bottom:calc(17 * var(--u));padding-top:0;align-items:stretch}
.full-metric-duo .metric-study{padding-top:calc(15 * var(--u));padding-bottom:calc(16 * var(--u))}
.full-metric-duo .metric-sketch{width:calc(94 * var(--u));height:calc(94 * var(--u));margin-bottom:calc(12 * var(--u))}
.full-metric-duo .metric-copy{min-height:0!important;display:flex;flex:1;flex-direction:column;width:100%}
.full-metric-duo .metric-copy h3{flex:1;min-height:0;font-size:calc(35 * var(--u));line-height:1.55;text-wrap:pretty}
.full-metric-duo .metric-attribute{min-height:calc(58 * var(--u));margin-top:calc(13 * var(--u))!important;align-content:center;gap:calc(7 * var(--u))}
.full-metric-duo .attribute-badge{font-size:calc(30 * var(--u));padding-inline:calc(8 * var(--u))}
.full-metric-duo .attribute-badge svg{width:calc(32 * var(--u));height:calc(32 * var(--u))}
.full-metric-duo .period-label{font-size:calc(28 * var(--u))}
.full-metric-duo .metric-readout{width:100%}
.full-metric-duo .metric-value{min-height:calc(106 * var(--u));height:calc(106 * var(--u));margin-top:calc(14 * var(--u));flex-wrap:nowrap;align-items:baseline}
.full-metric-duo .target-number b{font-size:calc(94 * var(--u))}
.full-metric-duo .metric-unit{font-size:calc(32 * var(--u))}
.full-metric-duo .metric-suffix{font-size:calc(29 * var(--u))}
.full-metric-duo .operator{font-size:calc(38 * var(--u))}
.full-metric-duo .bracket{font-size:calc(27 * var(--u))}
.full-metric-duo .metric-visual-slot{min-height:calc(90 * var(--u));width:100%;display:flex;align-items:flex-end}
.full-metric-duo .metric-visual-slot:empty{min-height:calc(20 * var(--u))}
.full-metric-duo:has(.cumulative-visual) .metric-visual-slot{min-height:calc(100 * var(--u))}
.full-metric-duo .ratio-visual{margin:0!important;padding:0!important}
.full-metric-duo .cumulative-visual{height:calc(100 * var(--u));margin:0;padding-top:0}
.full-metric-duo .concept-curve{height:calc(64 * var(--u))}
.full-metric-duo .cumulative-visual p{font-size:calc(25 * var(--u))}
.full-metric-duo .metric-kind-phrase .target-number b,.full-metric-duo .metric-kind-text .target-number b{line-height:calc(106 * var(--u));font-size:calc(55 * var(--u))}
.full-metrics .full-metric-last{padding-block:calc(20 * var(--u))}
.full-metrics .full-metric-last .metric-readout{grid-column:2}
.full-metrics .full-metric-last .target-number b{font-size:calc(105 * var(--u))}
.full-metrics .metric-footnote{font-size:calc(32 * var(--u));margin-top:calc(20 * var(--u))!important}
.full-metrics .metric-horizontal .metric-copy{grid-column:2;grid-row:1}
.full-metrics .metric-horizontal .metric-sketch{grid-row:1;align-self:center}
.full-metrics .metric-horizontal .metric-readout{display:contents}
.full-metrics .metric-horizontal .metric-value{grid-column:3;grid-row:1;align-self:center}
.full-metrics .metric-horizontal .metric-visual-slot{grid-column:2/-1;grid-row:2}
/* Task hierarchy: quiet cards, branch marks, aligned paired tasks. */
.complete-canvas .full-task{position:relative;padding:calc(28 * var(--u)) calc(32 * var(--u)) calc(27 * var(--u));margin:calc(18 * var(--u)) 0;border:1px solid #d9e0d14d;border-radius:calc(21 * var(--u));box-shadow:0 calc(7 * var(--u)) calc(24 * var(--u)) #63775b08;background:#f8f8f1}
.complete-canvas .full-task.task-tone-0{background:#f1f5ef}.complete-canvas .full-task.task-tone-1{background:#f8f3e9}.complete-canvas .full-task.task-tone-2{background:#f0f4f3}
.complete-canvas .full-task-head{margin-bottom:calc(17 * var(--u))}
.task-branches{position:relative;border-left:1px solid #bfcdbb;margin:calc(16 * var(--u)) 0 calc(8 * var(--u)) calc(14 * var(--u));padding-left:calc(27 * var(--u))}
.task-branches .policy-line{position:relative}
.task-branches .policy-line:before{content:"";position:absolute;left:calc(-28 * var(--u));top:.8em;width:calc(15 * var(--u));height:1px;background:#b6c7b4}
.task-branches .policy-line:after{content:"";position:absolute;left:calc(-17 * var(--u));top:calc(.8em - 2 * var(--u));width:calc(5 * var(--u));height:calc(5 * var(--u));border-radius:50%;background:#9caf98}
.complete-canvas .full-task-pair{align-items:stretch;gap:calc(32 * var(--u));margin:calc(22 * var(--u)) 0}
.complete-canvas .full-task-pair .full-task{margin:0!important;height:100%;padding:calc(25 * var(--u));display:flex;flex-direction:column}
.complete-canvas .full-task-pair .full-task:nth-child(2){margin-top:0!important}
.complete-canvas .full-task-pair .task-branches{flex:1}
.complete-canvas .full-task-pair .policy-line{font-size:calc(37 * var(--u))}
.full-pair-copy .task-branches{margin-left:calc(5 * var(--u));padding-left:calc(22 * var(--u))}
.full-pair-copy .task-branches .policy-line:before{left:calc(-23 * var(--u));width:calc(12 * var(--u))}
.full-pair-copy .task-branches .policy-line:after{left:calc(-14 * var(--u))}
.full-metric-duo .metric-visual-slot:empty{min-height:0}
.full-metrics .metric-elevator-feature .metric-visual-slot:empty{display:none}
.full-metrics .metric-elevator-feature .metric-sketch{grid-row:1/3}
.full-metrics .metric-elevator-feature .metric-readout{padding-bottom:calc(8 * var(--u))}

/* 2026-10-12 source review: task numbers remain unique across the long page. */
.full-spatial-task .spatial-tile-head{display:grid;grid-template-columns:calc(48 * var(--u)) 1fr calc(85 * var(--u));gap:calc(10 * var(--u));align-items:start}
.full-spatial-task .spatial-tile-head .sketch-icon{width:calc(85 * var(--u));height:calc(85 * var(--u))}
.full-spatial-task .spatial-tile-head .full-task-no{font-size:calc(34 * var(--u));line-height:1.8}
.metric-maintain{font-size:calc(34 * var(--u));line-height:1.5;color:#527467;margin-top:calc(13 * var(--u))!important}
.full-metric-duo .ratio-baseline-label{font-size:calc(27 * var(--u))}.full-metric-duo .ratio-scale{gap:calc(7 * var(--u))}.full-metric-duo .ratio-scale span:nth-child(2){letter-spacing:0;font-size:calc(24 * var(--u))}
.rental-room-pair{display:grid;grid-template-columns:1fr 1fr;gap:calc(32 * var(--u));margin:calc(42 * var(--u)) 0 calc(28 * var(--u));align-items:start}
.rental-room-card{margin:0;min-width:0;text-align:center}
.rental-room-card h4{font:500 calc(48 * var(--u))/1.5 var(--kai);color:var(--primary,var(--ink));margin:0 0 calc(14 * var(--u))}
.rental-room-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:calc(8 * var(--u))}
.rental-room-card figcaption{font:400 calc(36 * var(--u))/1.6 var(--kai);color:var(--text,var(--body));width:88%;margin:calc(12 * var(--u)) auto 0;text-align:center}
.talent-support{padding:calc(28 * var(--u));margin:calc(28 * var(--u)) 0;background:var(--wash-c,#edf3f5);border:1px solid var(--hairline,#cbd8d1);border-radius:calc(14 * var(--u))}
.talent-support header{display:flex;align-items:center;gap:calc(18 * var(--u))}.talent-support h4{font:500 calc(44 * var(--u))/1.5 var(--kai);color:var(--primary,var(--ink));margin:0}
.talent-icon{width:calc(88 * var(--u));height:calc(88 * var(--u));object-fit:contain;flex-shrink:0}
.talent-system{font:500 calc(40 * var(--u))/1.5 var(--kai);color:var(--accent,#985f50);margin:calc(12 * var(--u)) 0}
.talent-points{display:grid;grid-template-columns:1fr 1fr;gap:calc(18 * var(--u)) calc(24 * var(--u))}
.talent-points p{font:400 calc(36 * var(--u))/1.6 var(--sans);padding-left:calc(16 * var(--u));border-left:1px solid var(--hairline,#cbd8d1);color:var(--text,var(--body))}
.scene-added-note{display:block!important;margin-top:calc(16 * var(--u));color:var(--accent,#985f50)}
.keep-together{white-space:nowrap}
.metric-definition{font:400 calc(30 * var(--u))/1.6 var(--sans);color:var(--muted,#718273);margin-top:calc(14 * var(--u))}
.complete-canvas .quality .watercolor.family-wide{display:block;width:calc(100% + 152 * var(--u));margin-inline:calc(-76 * var(--u))!important}
.family-wide .family-caption{text-align:center;margin-top:calc(18 * var(--u))!important}

/* Full-width review illustrations follow the artboard edge. */
.complete-canvas{--review-bleed:calc(76 * var(--u))}
.complete-canvas .hero-art.city-hero,.complete-canvas .framework-section .outlook-art,
.complete-canvas .community-panorama>.panorama-scene{
  width:calc(100% + 2 * var(--review-bleed));
  max-width:none;margin-inline:calc(-1 * var(--review-bleed))!important;
}
.complete-canvas .community-panorama{display:block;padding:0}
.complete-canvas .community-panorama .community-panel-copy{justify-content:center;align-items:center;padding:calc(20 * var(--u)) 0;gap:calc(18 * var(--u))}
.complete-canvas .community-panorama .community-panel-copy p{text-align:center}
.complete-canvas .community-panorama .community-panel-copy .poem-line{display:inline}
.complete-canvas .community-panorama .community-panel-copy .poem-line+.poem-line{margin-left:.8em}
.complete-canvas .community-panorama .community-context-icon{width:calc(76 * var(--u));height:calc(76 * var(--u));flex-shrink:0}
.complete-canvas .community-panorama .community-services{display:grid;grid-template-columns:repeat(3,1fr);padding:calc(18 * var(--u)) 0;margin-top:0}
.complete-canvas .community-panorama .community-services>div{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:calc(12 * var(--u))}
.complete-canvas .community-panorama .community-services .sketch-icon{margin:0;flex:none;width:calc(78 * var(--u));height:calc(78 * var(--u))}
.complete-canvas .smart-community-scene{margin-block:calc(22 * var(--u))!important}
.complete-canvas .family-wide .family-caption:before{display:none}
.complete-canvas #task-18>.policy-line{margin-bottom:calc(10 * var(--u))}


.comparison-page{--primary:#46685d;--accent:#a15e4b;--text:#4c625b;--muted:#647367;--paper:#fcfbf7;--wash-a:#edf2e9;--wash-b:#f6eee4;--wash-c:#edf2f2;--hairline:#ccd7c8;--note-bg:#f5f6ee;background:#edeee8;color:var(--text)}
.theme-official{--primary:#293f4d;--accent:#873d36;--text:#3b4c50;--muted:#606d68;--paper:#faf9f4;--wash-a:#edf0e8;--wash-b:#f0e9e1;--wash-c:#e9eff0;--hairline:#bcc8c2;--note-bg:#f2f0e7;background:#e9ece8}
.theme-blue-red{--primary:#214f7c;--accent:#b2383b;--text:#374f62;--muted:#5b7182;--paper:#fbfcfd;--wash-a:#eaf1f7;--wash-b:#f6eae7;--wash-c:#edf3f7;--hairline:#c4d3df;--note-bg:#f0f5f8;background:#e9eff5}
.comparison-bar{max-width:800px;margin:0 auto;padding:16px 20px 12px;display:flex;gap:12px 20px;justify-content:space-between;align-items:center;flex-wrap:wrap;font:12px/1.6 var(--sans);color:var(--primary)}
.comparison-bar nav{flex-wrap:wrap;justify-content:center;max-width:100%}
.comparison-bar>div{display:flex;gap:18px;align-items:center}.comparison-brand{font-weight:700}.comparison-bar a{text-decoration:none}.comparison-bar nav{display:flex;gap:6px;background:#ffffff80;border:1px solid var(--hairline);border-radius:8px;padding:3px}.comparison-bar nav a{padding:5px 10px;border-radius:5px}.comparison-bar nav a.current{background:var(--primary);color:white}.font-control{display:flex;gap:8px;align-items:center}.font-control select{font:inherit;background:var(--paper);border:1px solid var(--hairline);border-radius:5px;padding:5px;max-width:190px}
.compact-workbench{padding:12px 20px 40px}.comparison-page .artboard-shell{width:540px;max-width:100%;box-shadow:0 12px 50px #263c4210}.comparison-footer{max-width:700px;margin:0 auto;padding:12px 20px 32px;display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:center;font:12px/1.6 var(--sans);color:var(--muted)}.comparison-footer p{flex-basis:100%;text-align:center;margin:0}.comparison-footer a{text-decoration:none}
.compact-canvas{--emphasis:var(--accent);--line:var(--hairline);color:var(--text);background:var(--paper)}
.compact-canvas.complete-canvas .framework-section{padding:calc(48 * var(--u)) calc(56 * var(--u))}
.compact-canvas .display,.compact-canvas h2,.compact-canvas h3,.compact-canvas h4{color:var(--primary)}
.compact-canvas .poem,.compact-canvas .policy-line,.compact-canvas .core-statement,.compact-canvas .area-guide-list p,.compact-canvas .outlook-four{color:var(--text)}
.compact-canvas .eyebrow,.compact-canvas .minor-head,.compact-canvas .metric-category h3{color:var(--primary)}
.compact-canvas .metric-year,.compact-canvas .metric-unit,.compact-canvas .target-number,.compact-canvas .goal-year,.compact-canvas .outlook-year{color:var(--primary)}
.compact-canvas .core-statement strong,.compact-canvas .full-chapter-purpose,.compact-canvas .outlook-poem .poem-line:nth-child(2){color:var(--accent)}
.compact-canvas .framework-cover{padding:calc(32 * var(--u)) calc(56 * var(--u)) calc(32 * var(--u));background:var(--paper)}
.compact-canvas .cover-topline{font-size:calc(27 * var(--u))}.compact-canvas .cover-topline span:first-child{font-size:calc(30 * var(--u))}
.compact-canvas .title-ornament{margin:calc(26 * var(--u)) 0 calc(20 * var(--u));gap:calc(18 * var(--u))}
.compact-canvas .plan-title .poem-line:first-child{font-size:calc(35 * var(--u));margin-bottom:calc(16 * var(--u))}.compact-canvas .plan-title .poem-line:last-child{font-size:calc(139 * var(--u));color:var(--primary)}
.compact-canvas .title-brushline{height:calc(20 * var(--u));margin-block:calc(8 * var(--u))}
.compact-canvas .hero-art{width:92%;margin:calc(8 * var(--u)) auto 0}.compact-canvas .hero-art img{width:100%}
.compact-canvas .goal-time{font-size:calc(32 * var(--u));color:var(--accent)}.compact-canvas .cover-goal-copy{font-size:calc(34 * var(--u));margin-top:calc(6 * var(--u))!important;line-height:1.5}.compact-canvas .cover-goal-copy .poem-line:last-child{font-size:calc(43 * var(--u));line-height:1.55}.compact-canvas .cover-rule{margin:calc(24 * var(--u)) auto 0;height:calc(2 * var(--u));background:var(--accent)}
/* Three everyday questions introduce the plan through its own housing sketches. */
.reader-index{margin-top:calc(30 * var(--u));font-family:var(--sans);text-align:left}
.reader-heading{display:flex;align-items:center;gap:calc(16 * var(--u));margin-bottom:calc(20 * var(--u))}
.compact-canvas .reader-heading h2{font-family:var(--kai);font-size:calc(44 * var(--u));font-weight:500;line-height:1.4;margin:0;color:var(--primary)}
.reader-heading-mark{position:relative;display:grid;place-items:center;width:calc(62 * var(--u));height:calc(57 * var(--u));flex-shrink:0;border:1px solid var(--accent);border-radius:calc(18 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u)) 0;font:500 calc(44 * var(--u))/1 var(--kai);color:var(--accent)}
.reader-index ol{list-style:none;margin:0;padding:0;display:grid;gap:calc(14 * var(--u))}
.reader-index li{display:grid;grid-template-columns:calc(110 * var(--u)) minmax(0,1fr);column-gap:calc(20 * var(--u));row-gap:calc(7 * var(--u));align-items:center;padding:calc(20 * var(--u)) calc(25 * var(--u)) calc(17 * var(--u));border-radius:calc(16 * var(--u));background:var(--wash-a);font-size:clamp(13px,calc(36 * var(--u)),36px);line-height:1.6}
.reader-index li:first-child{background:var(--wash-b)}.reader-index li:last-child{background:var(--wash-c)}
.reader-index li:before{content:"";grid-column:1;grid-row:1/3;align-self:center;aspect-ratio:1;background:center/contain no-repeat url(vectors/icons-v3/rental-purchase.svg)}
.reader-index li:nth-child(2):before{background-image:url(vectors/icons-v3/complete-community.svg)}.reader-index li:nth-child(3):before{background-image:url(vectors/icons-v3/jobs-housing.svg)}
.reader-question{grid-column:2;color:var(--primary);font-weight:500}
.reader-links{grid-column:2;display:flex;align-items:center;gap:calc(30 * var(--u));font-size:clamp(11px,calc(29 * var(--u)),29px);line-height:1.6;color:var(--accent)}
.reader-links a{display:inline-flex;align-items:center;gap:calc(14 * var(--u));padding:calc(3 * var(--u)) 0;text-decoration:none;white-space:nowrap}
.reader-links i{display:block;width:calc(11 * var(--u));height:calc(11 * var(--u));border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);opacity:.7}
.reader-links a:hover span{text-decoration:underline;text-underline-offset:3px}.reader-links a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.compact-canvas.complete-canvas .overview{padding-block:calc(36 * var(--u))}.compact-canvas .minor-head{font-size:calc(30 * var(--u))}
.compact-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(22 * var(--u));align-items:center;margin-top:calc(15 * var(--u))}.compact-overview-grid .core-composition{margin:0}.compact-overview-grid .core-row{padding:calc(13 * var(--u)) 0;gap:calc(9 * var(--u))}.compact-overview-grid .core-marker{flex-basis:calc(20 * var(--u));font-size:calc(20 * var(--u))}.compact-overview-grid .core-statement{font-size:clamp(12px,calc(32 * var(--u)),32px);line-height:1.65}.compact-overview-grid .core-statement strong{font-size:calc(36 * var(--u));font-family:var(--kai)}
.compact-overview-grid .direction-network{--u:.047cqw;margin:0;width:100%;height:calc(900 * var(--u));min-height:0}.compact-overview-grid .direction-network .direction-word{font-family:var(--kai)}.compact-goal{font-family:var(--kai);font-size:calc(35 * var(--u));line-height:1.6;padding-top:calc(15 * var(--u));margin-top:calc(14 * var(--u));border-top:1px solid var(--hairline);text-align:center;color:var(--primary)}
/* A compact, aligned indicator ledger keeps all names, attributes and baselines. */
.compact-canvas.complete-canvas .full-metrics{background:var(--wash-a)}.compact-canvas .metric-heading{margin-bottom:calc(12 * var(--u));min-height:0}.compact-canvas .metric-heading h2{font-size:calc(67 * var(--u))}.compact-canvas .metric-year{font-size:calc(100 * var(--u));line-height:1}.compact-canvas .metric-year span{font-size:calc(28 * var(--u))}
.compact-canvas.complete-canvas .metric-category{margin:calc(22 * var(--u)) 0 calc(6 * var(--u))}.compact-canvas.complete-canvas .metric-category h3{font-size:calc(32 * var(--u))}
.compact-canvas.complete-canvas .full-metric-duo{display:contents}
.compact-canvas.complete-canvas .metric-study{display:grid;grid-template-columns:calc(74 * var(--u)) minmax(0,1fr) calc(225 * var(--u));gap:calc(8 * var(--u)) calc(20 * var(--u));align-items:center;padding:calc(18 * var(--u)) 0;margin:0;min-height:0;border:0;border-bottom:1px solid var(--hairline);border-radius:0;box-shadow:none;background:transparent;overflow:visible;backdrop-filter:none}
.compact-canvas.complete-canvas .metric-study .metric-sketch{position:static;grid-column:1;grid-row:1;align-self:center;width:calc(74 * var(--u));height:calc(85 * var(--u));margin:0}
.compact-canvas.complete-canvas .metric-study .metric-copy{grid-column:2;grid-row:1;display:block;min-height:0;padding:0;border:0}
.compact-canvas.complete-canvas .metric-study h3{font-family:var(--sans);font-weight:500;font-size:clamp(12px,calc(34 * var(--u)),34px);line-height:1.55;min-height:0;color:var(--primary)}
.compact-canvas.complete-canvas .metric-attribute{min-height:0;margin-top:calc(7 * var(--u))!important;gap:calc(8 * var(--u));font-size:calc(27 * var(--u))}.compact-canvas.complete-canvas .attribute-badge{font-size:calc(26 * var(--u));padding:calc(2 * var(--u)) calc(7 * var(--u));border-radius:calc(5 * var(--u))}.compact-canvas.complete-canvas .attribute-badge svg{width:calc(26 * var(--u));height:calc(26 * var(--u))}.compact-canvas.complete-canvas .period-label{font-size:calc(26 * var(--u))}
.compact-canvas.complete-canvas .metric-study .metric-readout{display:contents}.compact-canvas.complete-canvas .metric-study .metric-value{grid-column:3;grid-row:1;margin:0;padding:0;height:auto;min-height:0;display:flex;justify-content:flex-end;flex-wrap:wrap;column-gap:calc(2 * var(--u));row-gap:0;align-items:baseline;line-height:1.25}
.compact-canvas.complete-canvas .metric-study .target-number b{font-size:calc(75 * var(--u));line-height:1.2}.compact-canvas.complete-canvas .metric-study .operator{font-size:calc(28 * var(--u))}.compact-canvas.complete-canvas .metric-study .bracket{font-size:calc(22 * var(--u))}.compact-canvas.complete-canvas .metric-study .metric-unit{font-size:calc(28 * var(--u));font-style:normal}.compact-canvas.complete-canvas .metric-study .metric-suffix{font-size:calc(26 * var(--u))}.compact-canvas.complete-canvas .metric-kind-text .target-number b{font-size:calc(41 * var(--u));font-family:var(--kai)}
.compact-canvas.complete-canvas .metric-study .metric-visual-slot{grid-column:2/-1;grid-row:2;display:block;min-height:0;padding:0}.compact-canvas.complete-canvas .metric-visual-slot:empty{display:none}
.compact-canvas.complete-canvas .metric-study .ratio-visual{margin:calc(5 * var(--u)) 0 0!important;padding:0!important}.compact-canvas .ratio-baseline-label{font-size:calc(27 * var(--u));margin-bottom:calc(10 * var(--u));line-height:1.35}.compact-canvas .ratio-rail{height:calc(9 * var(--u))}.compact-canvas .ratio-scale{font-size:calc(23 * var(--u));margin-top:calc(8 * var(--u));line-height:1.2}.compact-canvas .ratio-scale span:nth-child(2){font-size:calc(23 * var(--u));letter-spacing:0}.compact-canvas .ratio-fill{background:var(--primary);opacity:.58}.compact-canvas .ratio-marker{background:var(--accent);height:calc(21 * var(--u));top:calc(-6 * var(--u))}.compact-canvas .ratio-baseline-marker{background:var(--primary)}.compact-canvas .metric-maintain{font-size:calc(30 * var(--u));margin-top:calc(6 * var(--u))!important;color:var(--accent)}.compact-canvas.complete-canvas .metric-footnote{font-size:calc(27 * var(--u));margin-top:calc(14 * var(--u))!important}
/* Side-by-side pictures and short statements preserve breathing space. */
.compact-canvas.complete-canvas .topic-heading{min-height:calc(125 * var(--u));margin-bottom:calc(18 * var(--u))}.compact-canvas .topic-heading h2{font-size:calc(65 * var(--u));line-height:1.4}.compact-canvas .topic-heading .eyebrow{font-size:calc(29 * var(--u));margin-bottom:calc(7 * var(--u))}.compact-canvas .topic-number{font-size:calc(145 * var(--u));color:var(--primary);opacity:.12}.compact-canvas .chapter-flower{width:calc(45 * var(--u));color:var(--accent);opacity:.5}.compact-canvas.complete-canvas .full-chapter-purpose{font-size:calc(36 * var(--u));margin:0 0 calc(16 * var(--u));line-height:1.5}
.compact-canvas .market{background:var(--paper)}.compact-canvas .rental{background:var(--wash-b)}.compact-canvas .renewal{background:var(--paper)}.compact-canvas .quality{background:var(--wash-c)}.compact-canvas .spatial{background:var(--paper)}
.compact-canvas .scene-zoom{display:block;border:0;padding:0;margin:0;background:transparent;width:100%;height:auto;cursor:zoom-in;color:inherit}.compact-canvas .scene-zoom img{width:100%;height:auto;display:block}
.compact-canvas .watercolor{display:grid;grid-template-columns:1.35fr 1fr;gap:calc(25 * var(--u));align-items:center;margin:calc(18 * var(--u)) 0!important;--scene-paper:var(--paper)}.compact-canvas .watercolor>figcaption{font-size:calc(38 * var(--u));line-height:1.6;text-align:left;padding:0!important;margin:0!important}.compact-canvas .watercolor .poem-line{white-space:normal}.compact-canvas .worker-scene{grid-template-columns:1.45fr 1fr}.compact-canvas .worker-scene figcaption{font-size:calc(35 * var(--u))}
.compact-canvas.complete-canvas .full-task{padding:calc(22 * var(--u)) calc(24 * var(--u));margin:calc(15 * var(--u)) 0;border-radius:calc(14 * var(--u));border:1px solid var(--hairline);box-shadow:0 calc(4 * var(--u)) calc(12 * var(--u)) #223c3b04}
.compact-canvas.complete-canvas .full-task.task-tone-0{background:var(--wash-a)}.compact-canvas.complete-canvas .full-task.task-tone-1{background:var(--wash-b)}.compact-canvas.complete-canvas .full-task.task-tone-2{background:var(--wash-c)}
.compact-canvas.complete-canvas .full-task-head{grid-template-columns:calc(42 * var(--u)) 1fr calc(82 * var(--u));gap:calc(13 * var(--u));margin-bottom:calc(12 * var(--u))}.compact-canvas.complete-canvas .full-task-head h3{font-size:calc(40 * var(--u));line-height:1.4;font-weight:500}.compact-canvas .full-task-no{font-size:calc(30 * var(--u));color:var(--accent)}.compact-canvas .task-sketch{width:calc(82 * var(--u));height:calc(82 * var(--u))}
.compact-canvas.complete-canvas .policy-line{font-size:clamp(13px,calc(35 * var(--u)),35px);line-height:1.6;margin-top:calc(8 * var(--u))!important}.compact-canvas .task-branches{margin:calc(10 * var(--u)) 0 calc(4 * var(--u)) calc(9 * var(--u));padding-left:calc(22 * var(--u));border-color:var(--hairline)}.compact-canvas .task-branches .policy-line:before{left:calc(-23 * var(--u));width:calc(12 * var(--u))}.compact-canvas .task-branches .policy-line:after{left:calc(-13 * var(--u));width:calc(4 * var(--u));height:calc(4 * var(--u))}
.compact-canvas.complete-canvas .full-task-pair{gap:calc(23 * var(--u));margin:calc(15 * var(--u)) 0}.compact-canvas.complete-canvas .full-task-pair .full-task{padding:calc(21 * var(--u))}.compact-canvas.complete-canvas .full-task-pair .full-task-head{grid-template-columns:calc(42 * var(--u)) 1fr}.compact-canvas.complete-canvas .full-task-pair .full-task-head h3{font-size:calc(38 * var(--u))}.compact-canvas.complete-canvas .full-task-pair .task-sketch{width:calc(74 * var(--u));height:calc(74 * var(--u))}.compact-canvas.complete-canvas .full-task-pair .policy-line{font-size:clamp(12.5px,calc(34 * var(--u)),34px)}
.compact-canvas .policy-qualifier{font-size:calc(29 * var(--u));line-height:1.5}.compact-canvas.complete-canvas .full-keywords{padding:calc(10 * var(--u)) 0;margin:calc(10 * var(--u)) 0;gap:calc(18 * var(--u));align-items:start}.compact-canvas .full-keywords .sketch-icon{width:calc(72 * var(--u));height:calc(72 * var(--u));margin-bottom:calc(5 * var(--u))}.compact-canvas.complete-canvas .full-keywords span{font-size:calc(30 * var(--u));line-height:1.5}.compact-canvas #task-05 .task-branches{display:flex;flex-wrap:wrap;gap:calc(9 * var(--u)) calc(22 * var(--u));border:0;padding:0}.compact-canvas #task-05 .policy-line:before,.compact-canvas #task-05 .policy-line:after{display:none}
.compact-canvas .guarantee-layers{gap:calc(8 * var(--u));margin-top:calc(8 * var(--u))}.compact-canvas .guarantee-layers>div{grid-template-columns:calc(36 * var(--u)) 1fr;gap:calc(13 * var(--u));padding:calc(10 * var(--u)) calc(16 * var(--u))}.compact-canvas .guarantee-layers>div>span{font-size:calc(29 * var(--u))}
.compact-canvas .youth-rental-panel{grid-template-columns:1fr 1fr;gap:calc(25 * var(--u));margin:calc(18 * var(--u)) 0}.compact-canvas .youth-rental-copy .poem{font-size:calc(38 * var(--u));line-height:1.6}.compact-canvas .youth-rental-copy .sketch-icon{width:calc(90 * var(--u));height:calc(90 * var(--u))}
.compact-canvas.complete-canvas .source-flow{margin:calc(18 * var(--u)) 0;padding:calc(22 * var(--u));border-radius:calc(12 * var(--u));box-shadow:none;background:var(--paper)}.compact-canvas .source-flow h3{font-size:calc(38 * var(--u))}.compact-canvas .source-stock{gap:calc(12 * var(--u))}.compact-canvas .source-stock>div{gap:calc(15 * var(--u));font-size:calc(32 * var(--u))}.compact-canvas .source-flow .sketch-icon{width:calc(82 * var(--u));height:calc(82 * var(--u))}.compact-canvas .conversion-step{margin:calc(9 * var(--u)) 0}.compact-canvas .conversion-arrow{width:calc(80 * var(--u));height:calc(50 * var(--u))}.compact-canvas .conversion-step p{font-size:calc(31 * var(--u))}.compact-canvas .source-products{gap:calc(30 * var(--u))}.compact-canvas .source-products .sketch-icon{width:calc(90 * var(--u));height:calc(90 * var(--u))}.compact-canvas .source-products span{font-size:calc(35 * var(--u))}
.compact-canvas .community-panel{display:grid;grid-template-columns:1fr 1fr;gap:calc(18 * var(--u)) calc(24 * var(--u));margin:calc(20 * var(--u)) 0;padding:0}.compact-canvas .community-panel>.square-scene{grid-column:1;grid-row:1/3}.compact-canvas .community-panel-copy{display:block;padding:0;align-self:end}.compact-canvas .community-panel-copy h3{font-size:calc(38 * var(--u))}.compact-canvas .community-panel-copy p{font-size:calc(30 * var(--u));margin-top:calc(8 * var(--u))!important;line-height:1.6}.compact-canvas .community-services{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(14 * var(--u)) calc(10 * var(--u));padding:calc(12 * var(--u)) 0;border-bottom:0}.compact-canvas .community-services>div{display:block;text-align:center}.compact-canvas .community-services .sketch-icon{width:calc(60 * var(--u));height:calc(60 * var(--u));margin:auto}.compact-canvas .community-services span{font-size:calc(27 * var(--u));line-height:1.4}
.compact-canvas.complete-canvas .quality .topic-heading{margin-bottom:calc(20 * var(--u))}.compact-canvas.complete-canvas .window-composition{width:100%;padding:calc(16 * var(--u));margin:0 0 calc(12 * var(--u));border-radius:calc(20 * var(--u))}.compact-canvas .window-grid{display:grid;grid-template-columns:repeat(4,1fr)}.compact-canvas .window-outline{border-radius:calc(15 * var(--u))}.compact-canvas.complete-canvas .window-pane{height:auto;min-height:calc(125 * var(--u));padding:calc(10 * var(--u));border:0;border-right:1px solid var(--hairline)}.compact-canvas .window-pane:last-child{border-right:0}.compact-canvas.complete-canvas .pane-sketch{width:calc(70 * var(--u));height:calc(70 * var(--u))}.compact-canvas .window-pane span{font-size:calc(36 * var(--u))}
.compact-canvas.complete-canvas .quality .watercolor{margin:calc(18 * var(--u)) 0!important;grid-template-columns:1.3fr 1fr}.compact-canvas .watercolor .family-caption{padding:0!important;min-height:0;text-align:center;font-size:calc(36 * var(--u))}.compact-canvas .family-caption .poem-line{white-space:normal}.compact-canvas .family-caption .caption-icon{position:static!important;display:inline-block;width:calc(70 * var(--u));height:calc(70 * var(--u));vertical-align:middle;margin:calc(4 * var(--u)) calc(9 * var(--u))}.compact-canvas .family-caption:before{display:none}
.compact-canvas .accessibility-panel{grid-template-columns:1fr 1fr;gap:calc(22 * var(--u));padding:calc(15 * var(--u)) 0;margin:calc(16 * var(--u)) 0}.compact-canvas .accessibility-copy h3{font-size:calc(38 * var(--u))}.compact-canvas .accessibility-copy p{font-size:calc(34 * var(--u));line-height:1.6}.compact-canvas .accessibility-copy .sketch-icon{width:calc(80 * var(--u));height:calc(80 * var(--u))}
.compact-canvas .full-scene-pair{grid-template-columns:1fr 1fr;gap:calc(18 * var(--u));margin:calc(16 * var(--u)) 0;border-radius:calc(10 * var(--u));background:var(--note-bg)}.compact-canvas .full-pair-copy{padding:calc(14 * var(--u))}.compact-canvas .full-pair-copy h4{font-size:calc(38 * var(--u));margin:calc(8 * var(--u)) 0}.compact-canvas .full-pair-copy .policy-line{font-size:clamp(12px,calc(33 * var(--u)),33px)}
.compact-canvas.complete-canvas .lifecycle-structure{padding:calc(18 * var(--u)) 0;margin:calc(18 * var(--u)) 0}.compact-canvas .lifecycle-structure h3{font-size:calc(35 * var(--u))}.compact-canvas.complete-canvas .lifecycle-nodes .sketch-icon{width:calc(85 * var(--u));height:calc(85 * var(--u))}.compact-canvas .lifecycle-nodes p{font-size:calc(31 * var(--u))}.compact-canvas .lifecycle-nodes{margin-top:calc(15 * var(--u));gap:calc(16 * var(--u))}
.compact-canvas .spatial-mosaic{gap:calc(30 * var(--u)) calc(24 * var(--u));margin:calc(18 * var(--u)) 0}.compact-canvas .spatial-tile{padding:0}.compact-canvas .spatial-tile-head{margin-top:calc(12 * var(--u))}.compact-canvas .full-spatial-task .spatial-tile-head{grid-template-columns:calc(39 * var(--u)) 1fr calc(66 * var(--u));gap:calc(7 * var(--u))}.compact-canvas .full-spatial-task .spatial-tile-head h3{font-size:calc(37 * var(--u));line-height:1.4}.compact-canvas .full-spatial-task .spatial-tile-head .sketch-icon{width:calc(66 * var(--u));height:calc(66 * var(--u))}.compact-canvas .full-spatial-task .policy-line{font-size:clamp(12.5px,calc(34 * var(--u)),34px);padding:0;line-height:1.6;margin-top:calc(9 * var(--u))!important}
.compact-canvas .vertical-mixed-use{display:grid;grid-template-columns:1fr 1.45fr;gap:calc(22 * var(--u));align-items:center;padding:calc(25 * var(--u)) 0;margin:calc(24 * var(--u)) 0}.compact-canvas .vertical-mixed-use>h3{font-size:calc(37 * var(--u));line-height:1.6;text-align:left}.compact-canvas .mixed-diagram{margin:0}.compact-canvas .mixed-label .sketch-icon{width:calc(60 * var(--u));height:calc(60 * var(--u))}.compact-canvas .mixed-label span{font-size:calc(28 * var(--u))}.compact-canvas .vertical-mixed-use>.spatial-image-note{grid-column:1/-1;font-size:calc(25 * var(--u));margin:0}
.compact-canvas .area-guidance{display:grid;grid-template-columns:1fr 1fr;gap:calc(18 * var(--u)) calc(22 * var(--u));padding:calc(22 * var(--u));margin:calc(20 * var(--u)) 0;border-color:var(--hairline);background:var(--note-bg);border-radius:calc(15 * var(--u))}.compact-canvas .area-guidance>h3{grid-column:1/-1;font-size:calc(37 * var(--u));line-height:1.5;margin:0}.compact-canvas .official-map{margin:0;padding:0;background:transparent;border:0}.compact-canvas .official-map figcaption{font-size:calc(23 * var(--u));line-height:1.5;padding-top:calc(8 * var(--u))}.compact-canvas .area-guide-list{display:grid;gap:calc(14 * var(--u));margin:0}.compact-canvas .area-guide-list>div{grid-template-columns:calc(55 * var(--u)) 1fr;gap:calc(10 * var(--u));align-items:start}.compact-canvas .area-guide-list .sketch-icon{width:calc(55 * var(--u));height:calc(55 * var(--u))}.compact-canvas .area-guide-list h4{font-size:calc(29 * var(--u));line-height:1.4;margin:0;color:var(--accent)}.compact-canvas .area-guide-list p{font-size:clamp(11px,calc(28 * var(--u)),28px);line-height:1.5;margin-top:calc(5 * var(--u))!important}.compact-canvas .spatial-image-note{font-size:calc(26 * var(--u));line-height:1.5;margin-top:calc(8 * var(--u))}.compact-canvas .spatial-poem{font-size:calc(39 * var(--u));line-height:1.6;margin-top:calc(25 * var(--u))}
.compact-canvas .implementation{background:var(--wash-a)}.compact-canvas .implementation h2{font-size:calc(58 * var(--u));margin-bottom:calc(20 * var(--u))}.compact-canvas.complete-canvas .implementation-action{grid-template-columns:calc(74 * var(--u)) 1fr;gap:calc(20 * var(--u));margin:calc(14 * var(--u)) 0}.compact-canvas .implementation-action .sketch-icon{width:calc(74 * var(--u));height:calc(74 * var(--u))}.compact-canvas.complete-canvas .implementation-action .policy-line{font-size:calc(34 * var(--u));line-height:1.5}.compact-canvas .implementation-poem{font-size:calc(35 * var(--u));margin-top:calc(18 * var(--u))!important;line-height:1.6}
.compact-canvas .outlook{background:var(--paper)}.compact-canvas .outlook-head{margin:0 0 calc(18 * var(--u))}.compact-canvas .outlook-year{font-size:calc(112 * var(--u));line-height:1.1}.compact-canvas .outlook-intro{font-size:calc(34 * var(--u));margin-bottom:calc(14 * var(--u))!important}.compact-canvas .outlook-art{width:86%;margin:0 auto calc(18 * var(--u))}.compact-canvas .outlook-art .square-scene{aspect-ratio:3/2}.compact-canvas .outlook-four{font-size:calc(37 * var(--u));line-height:1.65}.compact-canvas .outlook-four .poem-line:last-child{font-size:calc(31 * var(--u));margin-top:calc(7 * var(--u))}.compact-canvas .outlook-icons{margin:calc(16 * var(--u)) 0;gap:calc(50 * var(--u))}.compact-canvas .outlook-icons .sketch-icon{width:calc(90 * var(--u));height:calc(90 * var(--u))}.compact-canvas .outlook-poem{font-size:calc(43 * var(--u));line-height:1.6;margin:calc(16 * var(--u)) 0}.compact-canvas .canvas-footer{font-size:calc(25 * var(--u));margin-top:calc(24 * var(--u));padding-top:calc(18 * var(--u))}
html.font-official .compact-canvas{--kai:"Housing Sans V2",sans-serif;--display:"Housing Sans V2",sans-serif}
html.font-official .compact-canvas .plan-title .poem-line:last-child{font-family:"Housing Official Title","Housing Sans V2",sans-serif;font-size:calc(128 * var(--u));font-weight:400;letter-spacing:.025em;text-shadow:none}
html.font-official .compact-canvas h2,html.font-official .compact-canvas .full-task-head h3,html.font-official .compact-canvas .spatial-tile-head h3{font-weight:700}
html.font-official .compact-canvas .target-number b{font-weight:500}html.font-official .compact-canvas .title-brushline{opacity:.6}
.image-dialog{width:min(94vw,1000px);max-height:92vh;padding:45px 12px 12px;border:0;border-radius:10px;background:#fcfbf7}.image-dialog::backdrop{background:#223338c7}.image-close{position:absolute;right:16px;top:12px;border:0;background:none;font:14px var(--sans);color:#344e50}.image-dialog-content img{display:block;width:100%;height:auto}.image-dialog-content p{font:13px/1.6 var(--sans);margin:10px 6px;color:#66756e}
@media(max-width:620px){.comparison-bar{padding:12px 14px;gap:8px;justify-content:center}.comparison-bar>div{width:100%;justify-content:space-between}.comparison-bar nav a{padding:5px 9px}.font-control{font-size:11px}.font-control select{max-width:155px}.compact-workbench{padding:0 0 20px}.comparison-page .artboard-shell{width:100%;box-shadow:none}.comparison-footer{padding-bottom:24px}}
.export-view .comparison-bar,.export-view .comparison-footer,.export-view .image-dialog{display:none!important}.export-view .compact-workbench{padding:0;margin:0;width:1080px}.export-view .comparison-page .artboard-shell{width:1080px;max-width:none;margin:0;box-shadow:none}
/* Readable relation labels and compact side-by-side illustration groups. */
.compact-overview-grid{grid-template-columns:minmax(0,1fr) 62%;gap:calc(10 * var(--u))}.compact-overview-grid .direction-network{--u:.06cqw;width:calc(928 * var(--u));height:calc(900 * var(--u))}.compact-overview-grid .direction-node{width:calc(230 * var(--u));height:calc(230 * var(--u));gap:calc(5 * var(--u))}.compact-overview-grid .direction-word{font-size:clamp(11px,calc(50 * var(--u)),50px)}.compact-overview-grid .direction-node .sketch-icon{width:calc(84 * var(--u));height:calc(84 * var(--u))}.compact-overview-grid .direction-center{font-size:clamp(11px,calc(51 * var(--u)),51px);width:calc(330 * var(--u));line-height:1.5}.compact-overview-grid .direction-center .poem-line:first-child{font-size:clamp(10px,calc(43 * var(--u)),43px)}
.compact-canvas .watercolor figcaption .poem-line{display:inline}.compact-canvas .family-caption .poem-line{display:block!important;white-space:nowrap;font-size:calc(33 * var(--u))}.compact-canvas .caption-icons{display:flex;justify-content:center;gap:calc(25 * var(--u));margin-bottom:calc(12 * var(--u))}.compact-canvas .family-caption .caption-icon{margin:0;width:calc(75 * var(--u));height:calc(75 * var(--u))}
.compact-canvas #task-16 .accessibility-panel{margin:0;padding:0;border:0;grid-template-columns:.8fr 1.2fr;gap:calc(20 * var(--u))}.compact-canvas #task-16 .accessibility-copy h3{font-size:calc(35 * var(--u))}.compact-canvas #task-16 .accessibility-copy p{font-size:clamp(12px,calc(32 * var(--u)),32px)}.compact-canvas #task-16 .accessibility-copy>.sketch-icon{width:calc(88 * var(--u));height:calc(88 * var(--u))}
.quality-compact-duo{display:grid;grid-template-columns:1fr 1fr;gap:calc(22 * var(--u));align-items:stretch;margin:calc(15 * var(--u)) 0}.compact-canvas.complete-canvas .quality-compact-duo .full-task{margin:0;padding:calc(18 * var(--u))}.quality-compact-duo>.full-scene-pair{margin:0;display:flex;flex-direction:column;justify-content:space-between;padding:calc(18 * var(--u));border:1px solid var(--hairline);background:var(--wash-b)}.quality-compact-duo .full-scene-pair{display:flex;flex-direction:column;margin:calc(8 * var(--u)) 0 0;gap:calc(10 * var(--u))}.quality-compact-duo .square-scene{width:85%;margin:0 auto}.quality-compact-duo .full-pair-copy{padding:0}.quality-compact-duo .full-task-head{grid-template-columns:calc(35 * var(--u)) 1fr!important}.quality-compact-duo .full-task-head h3{grid-column:1/-1;font-size:calc(36 * var(--u))!important;grid-row:2}.quality-compact-duo .task-sketch{grid-column:2;grid-row:1;justify-self:end;width:calc(60 * var(--u));height:calc(60 * var(--u))}.quality-compact-duo .full-pair-copy h4{font-size:calc(34 * var(--u));line-height:1.5}.quality-compact-duo .policy-qualifier{font-size:calc(27 * var(--u))}
.compact-canvas .lifecycle-nodes h4{font-size:calc(32 * var(--u));line-height:1.5}.compact-canvas .lifecycle-structure>p{font-size:calc(31 * var(--u));line-height:1.5;margin-block:calc(8 * var(--u))}.compact-canvas.complete-canvas .lifecycle-structure{padding:calc(12 * var(--u)) 0;margin:calc(12 * var(--u)) 0}.compact-canvas .lifecycle-nodes{margin-block:calc(10 * var(--u))}.compact-canvas .lifecycle-structure .sketch-icon{width:calc(68 * var(--u));height:calc(68 * var(--u))}
.compact-canvas.complete-canvas .framework-section{padding-block:calc(39 * var(--u))}.compact-canvas.complete-canvas .full-task{padding-block:calc(17 * var(--u));margin-block:calc(12 * var(--u))}.compact-canvas.complete-canvas .full-task-head{margin-bottom:calc(8 * var(--u))}
.compact-canvas.complete-canvas .source-flow{display:grid;grid-template-columns:1fr .55fr 1fr;gap:calc(9 * var(--u)) calc(15 * var(--u));padding:calc(18 * var(--u));margin-block:calc(14 * var(--u))}.compact-canvas .source-flow .structured-heading{grid-column:1/-1;margin:0 0 calc(6 * var(--u))}.compact-canvas .source-flow .source-homes{grid-column:1;grid-row:2;display:grid;gap:calc(9 * var(--u));margin:0}.compact-canvas .source-homes>div{display:flex;gap:calc(10 * var(--u));align-items:center}.compact-canvas .source-homes .sketch-icon{width:calc(52 * var(--u));height:calc(52 * var(--u));flex-shrink:0}.compact-canvas .source-homes span{font-size:clamp(11px,calc(30 * var(--u)),30px)}.compact-canvas .source-flow>.source-qualifier{font-size:calc(25 * var(--u));margin:0;text-align:center}.compact-canvas .source-flow>.source-qualifier:first-of-type{grid-column:1;grid-row:3}.compact-canvas .source-flow>.source-qualifier:last-child{grid-column:3;grid-row:3}.compact-canvas .source-flow .conversion-step{grid-column:2;grid-row:2/4;margin:0;align-self:center}.compact-canvas .source-flow .conversion-step p{font-size:clamp(10px,calc(28 * var(--u)),28px);line-height:1.6;margin-top:calc(6 * var(--u))!important}.compact-canvas .source-flow .conversion-arrow{transform:rotate(-90deg);width:calc(64 * var(--u));height:calc(40 * var(--u));margin:0 auto}.compact-canvas .source-flow .product-pair{grid-column:3;grid-row:2;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:calc(10 * var(--u));align-items:center}.compact-canvas .product-pair .sketch-icon{width:calc(65 * var(--u));height:calc(65 * var(--u));margin:0 auto}.compact-canvas .product-pair span{font-size:calc(29 * var(--u));white-space:nowrap;line-height:1.6}
.theme-official .attribute-badge.binding{background:#eadfd8;color:#733d37;box-shadow:none}.theme-blue-red .attribute-badge.binding{background:#f2dfdc;color:#a1373b;box-shadow:none}.theme-blue-red .compact-canvas .plan-title .poem-line:last-child{color:var(--accent)}.theme-blue-red .compact-canvas .topic-heading{border-left:calc(5 * var(--u)) solid var(--accent);padding-left:calc(20 * var(--u))}.theme-blue-red .title-brushline path,.theme-official .title-brushline path{fill:var(--accent)}
.compact-canvas .community-context-icon{width:calc(60 * var(--u));height:calc(60 * var(--u));float:left;margin-right:calc(10 * var(--u))}
.compact-canvas.complete-canvas .full-keywords>div{display:flex;align-items:center;gap:calc(9 * var(--u));text-align:left}.compact-canvas.complete-canvas .full-keywords .sketch-icon{width:calc(60 * var(--u));height:calc(60 * var(--u));flex-shrink:0;margin:0}.compact-canvas.complete-canvas .full-keywords span{font-size:clamp(10px,calc(29 * var(--u)),29px);line-height:1.5}
.compact-canvas .cover-goal-copy{display:contents}.compact-canvas .cover-goal-copy .poem-line:first-child{display:inline;margin-left:calc(20 * var(--u));font-family:var(--sans);font-size:calc(32 * var(--u))}.compact-canvas .cover-goal-copy .poem-line:last-child{display:block;margin-top:calc(8 * var(--u))}.compact-canvas .hero-art{width:86%}
.compact-canvas.complete-canvas .metric-study{padding-block:calc(13 * var(--u))}.compact-canvas.complete-canvas .metric-category{margin-top:calc(16 * var(--u))}

.compact-canvas .ratio-scale,.compact-canvas .ratio-scale span:nth-child(2),.compact-canvas .spatial-image-note,.compact-canvas .source-qualifier,.compact-canvas .period-label,.compact-canvas .metric-footnote,.compact-canvas .canvas-footer{color:var(--muted)}
.compact-canvas .area-guide-list p{font-size:clamp(12px,calc(31 * var(--u)),31px)}.compact-canvas .area-guide-list h4{font-size:calc(33 * var(--u))}.compact-canvas .source-flow .conversion-step p{font-size:clamp(11.5px,calc(31 * var(--u)),31px)}
.compact-canvas .rental-room-pair{gap:calc(22 * var(--u));margin:calc(24 * var(--u)) 0 calc(18 * var(--u))}
.compact-canvas .rental-room-card h4{font-size:calc(42 * var(--u));margin-bottom:calc(10 * var(--u))}
.compact-canvas .rental-room-card figcaption{font-size:clamp(12px,calc(33 * var(--u)),33px);line-height:1.55}
.compact-canvas .talent-support{padding:calc(22 * var(--u));margin:calc(18 * var(--u)) 0}
.compact-canvas .talent-support h4{font-size:calc(38 * var(--u))}.compact-canvas .talent-icon{width:calc(76 * var(--u));height:calc(76 * var(--u))}
.compact-canvas .talent-system{font-size:calc(36 * var(--u));margin-block:calc(8 * var(--u))}.compact-canvas .talent-points{gap:calc(13 * var(--u)) calc(20 * var(--u))}
.compact-canvas .talent-points p{font-size:clamp(12px,calc(33 * var(--u)),33px);line-height:1.55}
.compact-canvas .community-panel-copy{display:flex;align-items:center;gap:calc(12 * var(--u))}.compact-canvas .community-panel-copy .community-context-icon{float:none;margin:0;flex-shrink:0}.compact-canvas .community-panel-copy p{margin:0!important}
/* Slightly enlarge the small concept icons without scaling the illustrations. */
.compact-canvas.complete-canvas .full-keywords .sketch-icon,.compact-canvas .community-services .sketch-icon,.compact-canvas .mixed-label .sketch-icon{width:calc(78 * var(--u));height:calc(78 * var(--u))}
.compact-canvas .source-homes .sketch-icon{width:calc(68 * var(--u));height:calc(68 * var(--u))}.compact-canvas .product-pair .sketch-icon{width:calc(80 * var(--u));height:calc(80 * var(--u))}
.compact-canvas.complete-canvas .metric-study{grid-template-columns:calc(84 * var(--u)) minmax(0,1fr) calc(225 * var(--u))}.compact-canvas.complete-canvas .metric-study .metric-sketch{width:calc(84 * var(--u));height:calc(92 * var(--u))}
.compact-canvas.complete-canvas .pane-sketch{width:calc(84 * var(--u));height:calc(84 * var(--u))}.compact-canvas .lifecycle-structure .sketch-icon{width:calc(84 * var(--u));height:calc(84 * var(--u))}
.quality-compact-duo .task-sketch{width:calc(76 * var(--u));height:calc(76 * var(--u))}.compact-canvas .implementation-action .sketch-icon{width:calc(86 * var(--u));height:calc(86 * var(--u))}.compact-canvas.complete-canvas .implementation-action{grid-template-columns:calc(86 * var(--u)) 1fr}
.compact-canvas .community-panel-copy{align-items:flex-start}.compact-canvas .community-panel-copy p{text-align:left}.compact-canvas .community-panel-copy .poem-line{display:block}
.compact-canvas .community-panel-copy .community-context-icon{width:calc(76 * var(--u));height:calc(76 * var(--u))}
.compact-canvas .source-homes .sketch-icon{width:calc(72 * var(--u));height:calc(72 * var(--u))}
.compact-overview-grid .direction-node .sketch-icon{width:calc(144 * var(--u));height:calc(144 * var(--u))}
.keep-together{white-space:nowrap}
.compact-canvas .accessibility-copy>.sketch-icon{width:calc(78 * var(--u));height:calc(78 * var(--u))}
.compact-canvas .full-spatial-task .spatial-tile-head{grid-template-columns:calc(39 * var(--u)) 1fr calc(80 * var(--u))}
.compact-canvas .full-spatial-task .spatial-tile-head .sketch-icon{width:calc(80 * var(--u));height:calc(80 * var(--u))}
.compact-canvas .area-guide-list>div{grid-template-columns:calc(72 * var(--u)) 1fr}.compact-canvas .area-guide-list .sketch-icon{width:calc(72 * var(--u));height:calc(72 * var(--u))}
.compact-canvas.complete-canvas .metric-definition{grid-column:2/-1;grid-row:3;font-size:clamp(11px,calc(29 * var(--u)),29px);line-height:1.55;margin:calc(5 * var(--u)) 0 0}
.compact-canvas .accessibility-panel .accessibility-copy>.sketch-icon{width:calc(78 * var(--u));height:calc(78 * var(--u))}
.compact-canvas.complete-canvas .quality .watercolor.family-wide{display:block;width:calc(100% + 112 * var(--u));margin-inline:calc(-56 * var(--u))!important}
.compact-canvas .family-wide figcaption.family-caption{display:grid;grid-template-columns:calc(84 * var(--u)) auto calc(84 * var(--u));gap:calc(20 * var(--u));align-items:center;justify-content:center;margin-top:calc(14 * var(--u))!important}
.compact-canvas .family-wide .caption-icons{display:contents}.compact-canvas .family-wide .caption-icon{width:calc(84 * var(--u));height:calc(84 * var(--u));grid-row:1}
.compact-canvas .family-wide .caption-left{grid-column:1}.compact-canvas .family-wide .caption-right{grid-column:3}.compact-canvas .family-wide .poem-line{grid-column:2;grid-row:1;font-size:calc(38 * var(--u))}

.compact-canvas.complete-canvas{--review-bleed:calc(56 * var(--u))}
.compact-canvas.complete-canvas .community-panorama{display:block}
.compact-canvas.complete-canvas .community-panorama .community-panel-copy p{font-size:calc(30 * var(--u));line-height:1.5}
.compact-canvas.complete-canvas .community-panorama .community-services span{font-size:calc(31 * var(--u))}
.compact-canvas.complete-canvas .community-panorama .community-services{border-block:1px solid var(--hairline)}
.compact-canvas.complete-canvas .hero-art.city-hero{margin-block:calc(12 * var(--u)) calc(20 * var(--u))}
.compact-canvas.complete-canvas .outlook-art{margin-block:calc(12 * var(--u)) calc(20 * var(--u))}

/* Phone review: keep small vector objects legible beside the policy text. */
.compact-canvas.complete-canvas .full-task-head{grid-template-columns:calc(42 * var(--u)) 1fr calc(92 * var(--u))}
.compact-canvas .task-sketch{width:calc(92 * var(--u));height:calc(92 * var(--u))}
.compact-canvas.complete-canvas .full-task-pair .task-sketch,.compact-canvas .quality-compact-duo .task-sketch{width:calc(86 * var(--u));height:calc(86 * var(--u))}
.compact-canvas.complete-canvas .full-keywords .sketch-icon,.compact-canvas .mixed-label .sketch-icon{width:calc(88 * var(--u));height:calc(88 * var(--u))}
.compact-canvas.complete-canvas .community-panorama .community-services .sketch-icon{width:calc(88 * var(--u));height:calc(88 * var(--u))}
.compact-canvas .source-homes .sketch-icon,.compact-canvas .product-pair .sketch-icon{width:calc(84 * var(--u));height:calc(84 * var(--u))}
.compact-canvas .area-guide-list>div{grid-template-columns:calc(84 * var(--u)) 1fr}.compact-canvas .area-guide-list .sketch-icon{width:calc(84 * var(--u));height:calc(84 * var(--u))}
.compact-canvas .full-spatial-task .spatial-tile-head{grid-template-columns:calc(39 * var(--u)) 1fr calc(86 * var(--u))}
.compact-canvas .full-spatial-task .spatial-tile-head .sketch-icon{width:calc(86 * var(--u));height:calc(86 * var(--u))}
.compact-overview-grid .direction-node .sketch-icon{width:calc(156 * var(--u));height:calc(156 * var(--u))}
.compact-canvas.complete-canvas .full-keywords:has(>div:nth-child(5):last-child)>div{flex-direction:column;text-align:center}

/* Give enlarged concept labels separate rows beside the building. */
.compact-canvas .vertical-mixed-use{grid-template-columns:minmax(0,1fr);gap:calc(16 * var(--u))}
.compact-canvas .vertical-mixed-use>h3{text-align:center;margin:0;font-size:calc(37 * var(--u))}
.compact-canvas .mixed-diagram{grid-template-columns:minmax(0,1fr) calc(235 * var(--u))}
.compact-canvas .mixed-labels{padding-block:calc(118 * var(--u)) calc(152 * var(--u))}
.compact-canvas .mixed-label span{font-size:calc(32 * var(--u))}
.compact-canvas .mixed-label .sketch-icon{flex:none}

/* Shared review refinements for the expanded edition and all four themes. */
.metric-reading-guide{display:grid;gap:calc(8 * var(--u));margin:calc(18 * var(--u)) 0 calc(26 * var(--u));font:400 calc(34 * var(--u))/1.6 var(--sans)}
.metric-reading-guide p{display:flex;align-items:baseline;gap:calc(22 * var(--u));margin:0}
.metric-reading-guide b{flex:none;font-weight:500;color:var(--accent,#985f50)}
.metric-reading-guide p:last-child b{color:var(--primary,var(--ink))}
.metric-reading-guide span{color:var(--text,var(--body))}
.task-roadmap{margin:0 0 calc(38 * var(--u));padding-bottom:calc(28 * var(--u));border-bottom:1px solid var(--hairline,var(--line));text-align:center}
.task-roadmap-title{display:flex;justify-content:center;align-items:baseline;gap:calc(12 * var(--u));font:500 calc(42 * var(--u))/1.35 var(--kai);color:var(--primary,var(--ink));margin:0}
.task-roadmap-title b{font:500 calc(84 * var(--u))/1 var(--display);color:var(--accent,#985f50)}
.task-principles{margin-top:calc(12 * var(--u));font:400 calc(31 * var(--u))/1.6 var(--sans);color:var(--accent,#985f50)}
.complete-canvas .policy-emphasis{font-weight:500;color:inherit}
.font-official .complete-canvas .policy-emphasis{font-weight:700}
.complete-canvas .scene-zoom{display:block;width:100%;height:auto;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.complete-canvas .scene-zoom>img{display:block;width:100%;height:auto!important}
.complete-canvas .square-scene:has(.scene-image-caption){aspect-ratio:auto!important}
.complete-canvas .scene-image-caption{display:block;margin-top:calc(7 * var(--u));padding-bottom:calc(3 * var(--u));font:400 calc(24 * var(--u))/1.5 var(--sans);color:#7d827d;text-align:center;letter-spacing:0;white-space:nowrap}
.complete-canvas .ai-illustration-note{margin-top:calc(36 * var(--u));font:400 calc(26 * var(--u))/1.6 var(--sans);color:#7d827d;text-align:center}
.complete-canvas .ai-illustration-note+.publisher-credit{margin-top:calc(18 * var(--u))}
.complete-canvas .publisher-credit{display:block;margin-top:calc(44 * var(--u));text-align:center;white-space:pre;font:400 calc(34 * var(--u))/1.6 var(--sans);letter-spacing:0;color:var(--primary,var(--ink))}
.complete-canvas:not(.compact-canvas){
  --primary:var(--ink);--accent:#985f50;--text:var(--body);--muted:#718273;
  --wash-a:#eef3e9;--wash-b:#f7efe4;--wash-c:#f4f7f8;--hairline:#c6d4ca;
}
.complete-canvas{--task-gap:calc(32 * var(--u));--card-edge:color-mix(in srgb,var(--primary) 15%,transparent);--card-shadow:0 calc(8 * var(--u)) calc(20 * var(--u)) color-mix(in srgb,var(--primary) 10%,transparent),0 calc(2 * var(--u)) calc(6 * var(--u)) #304d4207}
.compact-canvas.complete-canvas{--task-gap:calc(28 * var(--u))}
.framework-canvas.complete-canvas .full-task,.framework-canvas.complete-canvas .talent-support{
  border:1px solid var(--card-edge);box-shadow:var(--card-shadow);border-radius:calc(18 * var(--u));
}
.framework-canvas.complete-canvas .full-task{margin-block:var(--task-gap);--task-paper:var(--wash-a);background:var(--task-paper)}
.framework-canvas.complete-canvas .full-task.task-tone-0{--task-paper:var(--wash-a);background:var(--task-paper)}
.framework-canvas.complete-canvas .full-task.task-tone-1{--task-paper:var(--wash-b);background:var(--task-paper)}
.framework-canvas.complete-canvas .full-task.task-tone-2{--task-paper:color-mix(in srgb,var(--wash-c) 55%,#fff);background:var(--task-paper)}
.framework-canvas.complete-canvas .full-task-pair{margin-block:var(--task-gap);gap:calc(28 * var(--u))}
.framework-canvas.complete-canvas .full-task-pair .full-task{margin:0!important}
.framework-canvas.complete-canvas .full-task-pair .task-branches{flex:none}
.framework-canvas.complete-canvas .full-task .full-scene-pair{background:transparent;--scene-paper:transparent;margin-inline:0}
.framework-canvas.complete-canvas .full-task .square-scene{--scene-paper:var(--task-paper);background:var(--task-paper)}
.framework-canvas.complete-canvas .talent-support{margin-block:var(--task-gap);background:var(--wash-c)}
.framework-canvas.complete-canvas .full-task .task-inline-scene{display:block;margin:calc(20 * var(--u)) 0 0!important}
.complete-canvas .task-inline-scene img{width:100%;height:auto}
.complete-canvas #task-02 .full-keywords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--u))}
.complete-canvas #task-02 .full-keywords>div{display:flex;flex-direction:row;text-align:left;align-items:center;gap:calc(16 * var(--u))}
.complete-canvas #task-02 .full-keywords .sketch-icon{flex:none;width:calc(100 * var(--u));height:calc(100 * var(--u))}
.complete-canvas #task-09 .full-keywords{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(36 * var(--u))}
.complete-canvas #task-05 .task-branches{display:block;border-left:1px solid #bfcdbb;margin:calc(16 * var(--u)) 0 calc(8 * var(--u)) calc(14 * var(--u));padding-left:calc(27 * var(--u))}
.complete-canvas #task-05 .policy-line:before,.complete-canvas #task-05 .policy-line:after{display:block}
.complete-canvas #task-16 .accessibility-panel{margin:0;padding:0;background:transparent;border:0}
.complete-canvas #task-16 .accessibility-copy>.sketch-icon{width:calc(88 * var(--u));height:calc(88 * var(--u))}
.complete-canvas #task-16 .accessibility-copy p{font-size:calc(36 * var(--u))}
.quality-guidance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(34 * var(--u))}
.quality-guidance-column{min-width:0;display:grid;grid-template-rows:1fr auto;gap:calc(22 * var(--u))}
.quality-guidance-column+.quality-guidance-column{border-left:1px solid var(--card-edge);padding-left:calc(24 * var(--u))}
.quality-guidance-column .square-scene{width:100%;align-self:end;aspect-ratio:1}
.quality-guidance-copy .policy-line{font-size:calc(35 * var(--u));line-height:1.6}
.quality-guidance-copy .task-branches{margin-left:calc(5 * var(--u));padding-left:calc(23 * var(--u))}
.quality-guidance-copy .task-branches .policy-line:before{left:calc(-24 * var(--u))}
.quality-guidance-copy .task-branches .policy-line:after{left:calc(-13 * var(--u))}
.complete-canvas #task-17>.full-keywords{border-top:1px solid var(--card-edge);padding-top:calc(20 * var(--u));margin-top:calc(24 * var(--u))}
.compact-canvas .quality-guidance-grid{gap:calc(26 * var(--u))}
.compact-canvas .quality-guidance-column+.quality-guidance-column{padding-left:calc(18 * var(--u))}
.compact-canvas .quality-guidance-copy .policy-line{font-size:clamp(12px,calc(34 * var(--u)),34px)}
.complete-canvas .full-spatial-task .spatial-tile-head{
  display:grid;grid-template-columns:calc(42 * var(--u)) minmax(0,1fr) calc(80 * var(--u));
  gap:calc(12 * var(--u));align-items:start;min-height:calc(100 * var(--u));margin:calc(16 * var(--u)) 0 calc(12 * var(--u));
}
.complete-canvas .full-spatial-task .spatial-tile-head h3{font-size:calc(35 * var(--u));line-height:1.35;text-wrap:balance}
.complete-canvas .full-spatial-task .spatial-tile-head .full-task-no{font-size:calc(33 * var(--u));line-height:1.35;align-self:start;padding-top:calc(2 * var(--u))}
.complete-canvas .full-spatial-task .spatial-tile-head .sketch-icon{width:calc(80 * var(--u));height:calc(80 * var(--u))}
.framework-canvas.complete-canvas .full-spatial-task{padding:calc(20 * var(--u));border:1px solid var(--card-edge);border-radius:calc(18 * var(--u));box-shadow:var(--card-shadow);background:var(--wash-c)}
.complete-canvas .full-spatial-task .square-scene{outline:0;border-radius:calc(12 * var(--u))}
.complete-canvas .spatial-mosaic{gap:var(--task-gap);align-items:stretch}

/* Align the expanded indicator edition on a shared name/value grid. */
.complete-canvas:not(.compact-canvas) .full-metrics .full-metric-duo{display:contents}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-study{
  display:grid;grid-template-columns:calc(96 * var(--u)) minmax(0,1fr) calc(260 * var(--u));
  gap:calc(12 * var(--u)) calc(22 * var(--u));align-items:center;padding:calc(24 * var(--u)) 0;
  margin:0;border:0;border-bottom:1px solid var(--hairline);border-radius:0;box-shadow:none;background:transparent;min-height:0;overflow:visible;backdrop-filter:none;
}
.complete-canvas .full-metrics .glass-accent:before,.complete-canvas .full-metrics .glass-accent:after{display:none}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-study .metric-sketch{position:static;grid-column:1;grid-row:1;align-self:center;width:calc(96 * var(--u));height:calc(106 * var(--u));margin:0}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-study .metric-copy{grid-column:2;grid-row:1;display:block;min-height:0!important;max-width:none;padding:0;border:0}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-study h3{font:500 calc(36 * var(--u))/1.5 var(--sans);min-height:0;color:var(--primary)}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-attribute{min-height:0;margin-top:calc(8 * var(--u))!important;font-size:calc(29 * var(--u));gap:calc(8 * var(--u))}
.complete-canvas:not(.compact-canvas) .full-metrics .attribute-badge{font-size:calc(28 * var(--u))}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-readout{display:contents}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-value{grid-column:3;grid-row:1;display:flex;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:calc(3 * var(--u));margin:0;min-height:0;height:auto;line-height:1.25;color:var(--primary)}
.complete-canvas:not(.compact-canvas) .full-metrics .target-number b{font-size:calc(86 * var(--u));line-height:1.2}
.complete-canvas:not(.compact-canvas) .full-metrics .operator{font-size:calc(32 * var(--u))}
.complete-canvas:not(.compact-canvas) .full-metrics .bracket{font-size:calc(24 * var(--u))}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-unit,.complete-canvas:not(.compact-canvas) .full-metrics .metric-suffix{font-size:calc(31 * var(--u));font-style:normal;margin-left:0}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-kind-text .target-number b{font-family:var(--kai);font-size:calc(45 * var(--u))}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-visual-slot{grid-column:2/-1;grid-row:2;padding:0;min-height:0}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-visual-slot:empty{display:none}
.complete-canvas:not(.compact-canvas) .full-metrics .ratio-visual{padding:0;margin:calc(10 * var(--u)) 0 0}
.complete-canvas:not(.compact-canvas) .full-metrics .ratio-baseline-label{font-size:calc(28 * var(--u));margin-bottom:calc(12 * var(--u))}
.complete-canvas:not(.compact-canvas) .full-metrics .metric-category{margin:calc(30 * var(--u)) 0 calc(6 * var(--u))}

/* Area and community coverage share one row without inventing a baseline. */
.complete-canvas .full-metrics .metric-living-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(28 * var(--u));align-items:stretch}
.complete-canvas .full-metrics .metric-living-pair .metric-study{
  display:grid;grid-template-columns:calc(72 * var(--u)) minmax(0,1fr);grid-template-rows:calc(108 * var(--u)) calc(112 * var(--u)) auto;
  column-gap:calc(14 * var(--u));row-gap:calc(7 * var(--u));padding:calc(18 * var(--u)) 0 calc(10 * var(--u));border-bottom:0;align-items:start;
}
 .complete-canvas .full-metrics .metric-living-pair .metric-study .metric-sketch{grid-column:1;grid-row:1;width:calc(72 * var(--u));height:calc(80 * var(--u));align-self:start}
 .complete-canvas .full-metrics .metric-living-pair .metric-study .metric-copy{grid-column:2;grid-row:1;padding:0;border:0;min-height:0!important}
 .complete-canvas .full-metrics .metric-living-pair .metric-study h3{font-size:calc(34 * var(--u));line-height:1.4}
.complete-canvas .full-metrics .metric-living-pair .metric-readout{display:contents}
.complete-canvas .full-metrics .metric-living-pair .metric-value{grid-column:1/-1;grid-row:2;justify-content:center;align-self:center;margin:0;height:auto;min-height:0;line-height:1.2;gap:calc(5 * var(--u))}
.complete-canvas .full-metrics .metric-living-pair .target-number b{font-size:calc(88 * var(--u))}
.complete-canvas .full-metrics .metric-living-pair .metric-unit,.complete-canvas .full-metrics .metric-living-pair .metric-suffix{font-size:calc(29 * var(--u))}
.complete-canvas .full-metrics .metric-living-pair .metric-visual-slot{grid-column:1/-1;grid-row:3}
.complete-canvas .full-metrics .metric-living-definition{font-size:calc(29 * var(--u));line-height:1.6;padding:calc(10 * var(--u)) 0 calc(20 * var(--u));margin:0;border-bottom:1px solid var(--hairline);color:var(--muted)}
.complete-canvas .metric-living-pair .ratio-scale span:nth-child(2){font-size:calc(22 * var(--u))}

/* The tint begins at the lower threshold and points toward the target range. */
.ratio-target-range{position:absolute;left:var(--target);right:0;top:0;bottom:0;background:linear-gradient(90deg,#76968b55,#76968baa);border-radius:0 calc(8 * var(--u)) calc(8 * var(--u)) 0}
.ratio-target-range:after{content:"";position:absolute;right:0;top:50%;width:calc(13 * var(--u));height:calc(13 * var(--u));border-right:calc(3 * var(--u)) solid var(--primary,#587b6a);border-top:calc(3 * var(--u)) solid var(--primary,#587b6a);transform:translateY(-50%) rotate(45deg)}
.complete-canvas .ratio-marker{z-index:2}
.complete-canvas .ratio-baseline-marker{z-index:3}

/* Shared introduction; only its navigation controls disappear in fixed exports. */
.complete-canvas .reader-index{margin-top:calc(30 * var(--u));font-family:var(--sans);text-align:left}
.complete-canvas .reader-heading{display:flex;align-items:center;gap:calc(16 * var(--u));margin-bottom:calc(20 * var(--u))}
.complete-canvas .reader-heading h2{font:500 calc(44 * var(--u))/1.4 var(--kai);margin:0;color:var(--primary)}
.complete-canvas .reader-heading-mark{display:grid;place-items:center;width:calc(62 * var(--u));height:calc(57 * var(--u));flex-shrink:0;border:1px solid var(--accent);border-radius:calc(18 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u)) 0;font:500 calc(44 * var(--u))/1 var(--kai);color:var(--accent)}
.complete-canvas .reader-index ol{list-style:none;margin:0;padding:0;display:grid;gap:calc(14 * var(--u))}
.complete-canvas .reader-index li{display:grid;grid-template-columns:calc(110 * var(--u)) minmax(0,1fr);column-gap:calc(20 * var(--u));row-gap:calc(7 * var(--u));align-items:center;padding:calc(20 * var(--u)) calc(25 * var(--u)) calc(17 * var(--u));border-radius:calc(16 * var(--u));background:var(--wash-a);font-size:clamp(13px,calc(36 * var(--u)),36px);line-height:1.6}
.complete-canvas .reader-index li:first-child{background:var(--wash-b)}.complete-canvas .reader-index li:last-child{background:var(--wash-c)}
.complete-canvas .reader-index li:before{content:"";grid-column:1;grid-row:1/3;aspect-ratio:1;background:center/contain no-repeat url(vectors/icons-v3/rental-purchase.svg)}
.complete-canvas .reader-index li:nth-child(2):before{background-image:url(vectors/icons-v3/complete-community.svg)}
.complete-canvas .reader-index li:nth-child(3):before{background-image:url(vectors/icons-v3/jobs-housing.svg)}
.complete-canvas .reader-question{grid-column:2;color:var(--primary);font-weight:500}
.complete-canvas .reader-links{grid-column:2;display:flex;gap:calc(30 * var(--u));font-size:clamp(11px,calc(29 * var(--u)),29px);color:var(--accent)}
.complete-canvas .reader-links a{display:inline-flex;gap:calc(14 * var(--u));align-items:center;text-decoration:none;white-space:nowrap}
.complete-canvas .reader-links i{width:calc(11 * var(--u));height:calc(11 * var(--u));border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.export-view .reader-links{display:none!important}
.export-view .reader-index li{row-gap:0}.export-view .reader-index li:before{grid-row:1}
@media print{.reader-links{display:none!important}}

/* Editable leaders connect each label with a distinct part of the district. */
.district-mixed-use{--mixed-label-width:calc(250 * var(--u))}
.complete-canvas .district-mixed-use>.spatial-image-note{padding-inline-end:calc(40 * var(--u))}
.complete-canvas .district-mixed-use>h3{font-size:calc(36 * var(--u));margin:0 0 calc(20 * var(--u));line-height:1.5;letter-spacing:0}
.district-mixed-use .mixed-diagram{grid-template-columns:minmax(0,1fr) var(--mixed-label-width);gap:calc(24 * var(--u));position:relative}
.district-scene{margin:0!important;width:100%;aspect-ratio:auto;isolation:isolate;min-width:0}
.district-scene img{width:100%;height:auto;mix-blend-mode:multiply}
.district-mixed-use .mixed-labels{padding:0;position:relative;z-index:3}
.complete-canvas .district-mixed-use .mixed-labels{margin-bottom:calc(46 * var(--u))}
.district-mixed-use .mixed-label{gap:calc(10 * var(--u));min-width:0}
.district-mixed-use .mixed-label:before{display:block;width:calc(24 * var(--u));background:var(--primary,#587b6a);opacity:.75}
.district-mixed-use .mixed-label .sketch-icon{width:calc(88 * var(--u));height:calc(88 * var(--u));flex:none}
.district-mixed-use .mixed-label span{font-size:calc(32 * var(--u))}
.mixed-leaders{position:absolute;left:0;top:0;width:calc(100% - var(--mixed-label-width) - calc(24 * var(--u)));height:auto;aspect-ratio:3/2;pointer-events:none;z-index:2;overflow:visible}
.mixed-leaders path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.leader-halo path{stroke:#fcfbf7;stroke-width:3.5}
.leader-lines path{stroke:var(--primary,#587b6a);stroke-width:1.1;opacity:.75}
.leader-points circle{fill:var(--primary,#587b6a);stroke:#fcfbf7;stroke-width:1;vector-effect:non-scaling-stroke}

.quality-guidance-grid{position:relative}
.quality-guidance-grid:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--card-edge)}
.quality-guidance-column+.quality-guidance-column,.compact-canvas .quality-guidance-column+.quality-guidance-column{border:0;padding-left:0}

/* Narrow canvas gutters leave room for the publishing site's own margins. */
.framework-canvas.complete-canvas .framework-section.topic{
  --review-bleed:calc(32 * var(--u));padding-inline:calc(32 * var(--u));
}
.theme-planning-blue .compact-canvas.complete-canvas .framework-section.topic:not(#cover){
  margin-inline:calc(12 * var(--u));padding-inline:calc(20 * var(--u));
}
.theme-planning-blue .compact-canvas.complete-canvas .framework-section.topic>.topic-heading{
  margin-inline:calc(-20 * var(--u));padding-inline:calc(20 * var(--u));
}
.framework-canvas.complete-canvas .topic .watercolor:not(.family-wide){margin-inline:0!important}
.framework-canvas.complete-canvas .quality .watercolor.family-wide,
.theme-planning-blue .framework-canvas.complete-canvas .quality .watercolor.family-wide{
  width:calc(100% + 2 * var(--review-bleed));margin-inline:calc(-1 * var(--review-bleed))!important;
}

/* An independent pale-green edition; the existing soft edition remains available. */
.theme-soft-green{
  --primary:#46685d;--accent:#a15e4b;--text:#4c625b;--muted:#6f806e;
  --paper:#fcfbf7;--wash-a:#edf3e9;--wash-b:#eef4eb;--wash-c:#f0f5ed;
  --hairline:#cddbc8;--note-bg:#f1f5ed;--sage-wash:#edf3e9;
  --apricot:#98b08e;--apricot-wash:#eef4eb;--blue-wash:#f0f5ed;
  background:var(--paper);
}
.theme-soft-green .compact-canvas.complete-canvas .framework-section{background:var(--paper)}
.theme-soft-green .reader-index li{background:var(--wash-a)}
.theme-soft-green .reader-index li:first-child{background:var(--wash-b)}
.theme-soft-green .reader-index li:last-child{background:var(--wash-c)}
.theme-soft-green .attribute-badge.binding{background:#e2ecdc;color:#8d5947;box-shadow:none}
.theme-soft-green .attribute-badge.expected{background:#f0f5ec;color:var(--muted)}
.theme-soft-green .compact-canvas .guarantee-layers>div{background:var(--wash-a);border-color:var(--hairline)}
.theme-soft-green .compact-canvas .guarantee-layers>div:nth-child(2){background:var(--wash-b)}
.theme-soft-green .compact-canvas .guarantee-layers>div:nth-child(3){background:var(--wash-c)}
.theme-soft-green .compact-canvas .source-flow,
.theme-soft-green .compact-canvas .window-composition,
.theme-soft-green .compact-canvas .window-outline,
.theme-soft-green .compact-canvas .area-guidance,
.theme-soft-green .compact-canvas .vertical-mixed-use{background:var(--note-bg);border-color:var(--hairline)}
.theme-soft-green .compact-canvas .area-guidance,
.theme-soft-green .compact-canvas .vertical-mixed-use{border:1px solid var(--card-edge);border-radius:calc(18 * var(--u));box-shadow:var(--card-shadow)}
.theme-soft-green .compact-canvas .vertical-mixed-use{padding:calc(25 * var(--u)) calc(22 * var(--u))}
.theme-soft-green .compact-canvas .area-guidance .official-map{margin-left:calc(-14 * var(--u))!important}
.theme-soft-green .title-ornament{color:#a6b99c}
.theme-soft-green .title-ornament:before,.theme-soft-green .title-ornament:after{background:#cbd9c1}
.theme-soft-green .title-brushline path{fill:#b9cdb0}
.theme-soft-green .compact-canvas .ratio-rail{background:#e1e9da}
.theme-soft-green .compact-canvas .ratio-marker{background:var(--accent)}
.theme-soft-green .compact-canvas .metric-category>span,
.theme-soft-green .compact-canvas .policy-line:after{background:var(--hairline)}
.theme-soft-green .direction-links circle,.theme-soft-green .direction-links path{stroke:#c4d5bc}
.theme-soft-green .direction-node{background:var(--wash-a)!important;border-color:var(--hairline)}
.theme-soft-green .watercolor .poem:before{background:var(--hairline)}
.theme-soft-green .title-ornament span{background:var(--hairline);border-color:var(--hairline)}
.theme-soft-green .complete-canvas #task-12{--task-paper:color-mix(in srgb,var(--wash-c) 55%,#fff);background:var(--task-paper)}
.theme-soft-green #task-11 .watercolor,.theme-soft-green #task-12 .watercolor{--scene-paper:var(--task-paper);background:var(--task-paper)}

/* Interaction layer for the single reviewed edition. */
.standalone-page .compact-workbench{padding-top:24px;padding-bottom:0}
.standalone-page .artboard-shell{border-radius:3px}
.standalone-footer{display:flex;flex-direction:column;align-items:center;gap:18px;padding:30px 20px 48px;color:var(--primary);font:13px/1.7 var(--sans)}
.standalone-footer a{text-decoration:none;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 18px;border-radius:24px;transition:background .3s,color .3s}
.standalone-footer a:hover{background:#dce7d680}
.standalone-footer .film-link{border:1px solid #c6d4c0;background:#f7f8f1;color:#46685d}
.film-link svg{width:18px;height:18px;flex:none}
.standalone-page .reading-progress{height:2px;z-index:8;background:transparent}
.standalone-page .reading-progress i{background:#88a58c}
.reveal-enabled [data-reveal]{opacity:0;translate:0 20px;transition:opacity .8s cubic-bezier(.22,.61,.36,1),translate .9s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-enabled [data-reveal].is-revealed{opacity:1;translate:0 0}
.reveal-enabled .framework-cover .plan-title{--reveal-delay:70ms}
.reveal-enabled .framework-cover .hero-art{--reveal-delay:110ms}
.metric-study .target-number b{font-variant-numeric:tabular-nums}
.metric-study .target-number b.is-counting{display:inline-block;text-align:right}
.reveal-enabled .metric-study:not(.is-revealed) .ratio-rail{opacity:.2;scale:.88 1;transform-origin:left}
.metric-study .ratio-rail{transition:opacity .9s ease,scale 1.2s cubic-bezier(.22,.61,.36,1)}
.reveal-enabled .metric-study:not(.is-revealed) .ratio-marker{opacity:0}
.metric-study .ratio-marker{transition:opacity .6s .35s ease}
.metric-kind-text.is-revealed .target-number{animation:metric-emphasis 1.3s ease both}
@keyframes metric-emphasis{0%{opacity:.3;filter:blur(2px)}100%{opacity:1;filter:blur(0)}}
.standalone-page .scene-zoom{transition:filter .35s ease}
@media(hover:hover){.standalone-page .scene-zoom:hover{filter:brightness(1.025)}}
.media-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:16px;border:0;background:transparent;overflow:hidden;color:#3f594e}
.media-dialog[open]{display:grid;place-items:center}
.media-dialog::backdrop{background:#253b34b8;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);animation:backdrop-in .38s ease both}
.media-dialog.is-closing::backdrop{animation:backdrop-out .28s ease both}
.media-panel{position:relative;width:min(100%,1080px);max-height:calc(100dvh - 32px);overflow:auto;padding:54px 14px 16px;border:1px solid #ffffff80;border-radius:18px;background:#fcfbf7;box-shadow:0 24px 100px #132a3340;transform-origin:center;overscroll-behavior:contain}
.media-close{position:absolute;right:12px;top:10px;display:flex;align-items:center;gap:5px;min-height:36px;padding:6px 12px;border:1px solid #dce3d6;border-radius:22px;background:#f2f5ec;color:#496457;font:13px/1 var(--sans)}
.media-close svg{width:16px;height:16px}
.media-content{margin:0;text-align:center}
.media-content img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain;margin:auto;border-radius:5px}
.media-content figcaption{margin:12px 6px 0;font:12px/1.6 var(--sans);color:#758172}
.media-content video{display:block;width:100%;max-height:calc(100dvh - 155px);aspect-ratio:16/9;background:#18251f;border-radius:6px}
.media-status{margin:12px 0 0;font:13px/1.7 var(--sans);color:#6b796e}
.media-status:empty{display:none}
.media-dialog.is-film .media-panel{width:min(100%,1120px)}
@keyframes backdrop-in{from{background:#253b3400;backdrop-filter:blur(0)}to{background:#253b34b8;backdrop-filter:blur(9px)}}
@keyframes backdrop-out{from{background:#253b34b8;backdrop-filter:blur(9px)}to{background:#253b3400;backdrop-filter:blur(0)}}
@media(max-width:620px){.standalone-page .compact-workbench{padding:0}.standalone-page .artboard-shell{border-radius:0}.standalone-footer{padding:24px 16px 36px}.media-dialog{padding:10px}.media-panel{max-height:calc(100dvh - 20px);padding:52px 8px 12px;border-radius:14px}.media-content img{max-height:calc(100dvh - 140px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-enabled [data-reveal]{opacity:1;translate:none;transition:none}.standalone-page *, .media-dialog::backdrop{animation:none!important;transition:none!important}.metric-study .ratio-rail{opacity:1!important;scale:none!important}.metric-study .ratio-marker{opacity:1!important}}
@media print{[data-reveal]{opacity:1!important;translate:none!important}.standalone-footer,.reading-progress,.media-dialog{display:none!important}}
