:root{color-scheme:light;--ink:#243b35;--muted:#68776f;--green:#25664f;--line:#dce4de;--paper:#fff;--red:#b8453e;--light:#f6f8f5;--yellow:#f1d886;--blue:#417c96}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.5 Planner,Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,#plan:focus-visible{outline:3px solid #468eb1;outline-offset:3px}button{border:0}svg{width:19px;height:19px;flex-shrink:0;stroke-width:1.7}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;line-height:1.2}h2{font-size:17px;font-weight:650;line-height:1.35}h3{font-size:14px}a{text-underline-offset:4px}.eyebrow,.panel-label{font-size:10px;font-weight:700;color:var(--muted)}.eyebrow{margin-bottom:6px}.skip-link{position:absolute;left:20px;top:-80px;z-index:100;background:white;padding:14px}.skip-link:focus{top:10px}[hidden]{display:none!important}
.planner-header{height:66px;padding:0 32px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:21px;font-weight:700}.brand img{border-radius:6px}.planner-header nav{display:flex;gap:22px;margin:auto;font-size:12px}.planner-header nav a{display:flex;align-items:center;min-height:40px;text-decoration:none}.planner-header nav a:hover{text-decoration:underline}.back-link{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.planner-title{display:flex;justify-content:space-between;align-items:center;padding:22px 32px 24px;gap:16px}.file-actions{display:flex;align-items:center;gap:5px}.file-actions>span{margin-right:14px;font-size:11px;color:var(--muted)}.icon-button{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:4px;color:var(--ink);flex-shrink:0}.icon-button:hover:not(:disabled){background:#e7eee8}.icon-button[aria-pressed=true]{background:var(--green);color:white}.icon-button.danger{color:var(--red)}.text-button{display:inline-flex;gap:8px;align-items:center;min-height:40px;background:transparent;color:var(--ink);font-size:12px;padding:7px 0}.text-button:hover{text-decoration:underline}.primary-button{min-height:42px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:white;border-radius:5px;font-weight:600;font-size:12px}.primary-button:hover:not(:disabled){background:#194c3a}.app-status{margin:0 32px 16px;padding:10px 14px;border-left:3px solid var(--blue);background:#eef5f8;font-size:13px}.fallback{margin:40px 32px}
.workspace{display:grid;grid-template-columns:236px minmax(300px,1fr) 298px;border-block:1px solid var(--line);min-height:680px}.editor-panel{padding:0 18px 20px;background:#fafbf9;border-right:1px solid var(--line);min-width:0}.panel-tabs{height:53px;display:flex;gap:16px;border-bottom:1px solid var(--line);margin-bottom:20px}.panel-tabs button{border-bottom:2px solid transparent;padding:0;background:transparent;font-size:12px;color:var(--muted)}.panel-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--ink);font-weight:700}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.catalog button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-height:82px;padding:12px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font-size:11px;text-align:left}.catalog button:hover{border-color:var(--green);background:#f2f7f2}.catalog button svg{width:26px;height:26px}.catalog button:last-child{grid-column:span 2;flex-direction:row;justify-content:flex-start;min-height:50px;align-items:center}.catalog button:last-child svg{width:21px;height:21px}.panel-divider{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.panel-divider h2{font-size:13px;margin-bottom:10px}.panel-divider h2 span{color:var(--muted);font-weight:400;margin-left:5px}.object-list{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}.object-list button{display:flex;align-items:center;gap:9px;text-align:left;background:transparent;min-height:37px;padding:7px 5px;color:var(--ink);font-size:12px;border-radius:3px}.object-list button[aria-pressed=true]{background:#e6eee7}.object-list button svg:last-child{margin-left:auto;width:13px;height:13px}.object-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.field{display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:6px;margin:14px 0;min-width:0}.field input,.field select{width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #cbd6ce;border-radius:4px;min-height:38px;padding:7px 9px;font-size:12px}.field input[aria-invalid=true]{border-color:var(--red);background:#fff0ed}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-fields .field{margin-block:8px}.check-field{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin-block:18px}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px;flex-shrink:0;margin:3px 0}.opening-buttons{display:flex;gap:12px;flex-wrap:wrap}.selection-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.selection-heading h2{font-size:17px}.rotate-button{align-self:end;margin-bottom:9px}.empty-message{color:var(--muted);padding:22px 0;font-size:13px}
.plan-panel{min-width:0;background:var(--light);display:flex;flex-direction:column}.plan-toolbar{height:53px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid var(--line);background:white}.layout-tabs{display:flex;align-items:center;gap:3px}.layout-tabs button{padding:7px 14px;min-height:33px;border-radius:4px;font-size:12px;background:transparent;color:var(--muted)}.layout-tabs button[aria-selected=true]{background:#e7eee8;color:var(--green);font-weight:700}.history-tools{display:flex;gap:3px}#plan{position:relative;height:540px;min-height:350px;flex:1;overflow:hidden;isolation:isolate}#canvas-host{width:100%;height:100%;touch-action:none;position:absolute;inset:0}#canvas-host canvas{display:block}.canvas-badges{pointer-events:none;position:absolute;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.canvas-badges span{background:#f6f8f5ed;padding:4px 7px;border-radius:3px}.zoom-toolbar{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;background:white;border:1px solid var(--line);border-radius:5px;padding:2px}.zoom-toolbar span{min-width:34px;font-size:10px;text-align:center}.zoom-toolbar .icon-button{width:31px;height:31px}.plan-footer{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:10px 20px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.plan-footer span{margin-right:auto;font-variant-numeric:tabular-nums}.plan-footer label{display:flex;align-items:center;gap:5px;white-space:nowrap}.plan-footer input{width:12px;height:12px;margin:0}.suggestion-bar{background:white;border-top:1px solid var(--line);padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.suggestion-bar strong{font-size:13px;font-weight:650;display:block}.suggestion-bar span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.suggestion-bar button{flex-shrink:0}#alternatives{background:white;padding:0 20px 20px;border-top:1px solid var(--line);font-size:12px}#search-note{color:var(--muted);font-size:11px;line-height:1.6}#change-list{padding-left:18px;margin-bottom:15px}#change-list li{margin-block:5px}
.results-panel{border-left:1px solid var(--line);padding:22px 20px;background:white;min-width:0}.results-heading h2{font-size:20px;line-height:1.3;margin-bottom:18px}.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.counts div{border-top:3px solid var(--line);padding:9px 0}.counts strong{display:block;font-size:25px;font-weight:600;line-height:1.2}.counts span{font-size:9px;color:var(--muted)}.counts .count-geometry{border-color:#c76858}.counts .count-confirm{border-color:#d4ac47}.counts .count-tradition{border-color:#79a28c}#result-summary{font-size:11px;line-height:1.6;color:var(--muted);padding:7px 0 16px}.issue{border-top:1px solid var(--line);padding:15px 0}.issue-heading{display:flex;gap:10px;align-items:flex-start}.issue-marker{font:600 11px/23px Planner,Arial,sans-serif;min-width:24px;height:24px;border-radius:50%;background:#f8e7e2;color:#a23e32;text-align:center}.issue.confirm .issue-marker{background:#faf0d1;color:#835e16}.issue.tradition .issue-marker{background:#e6eee7;color:#416f54}.issue.access .issue-marker{background:#e7f1f5;color:#35728a}.issue-title{padding:0;background:none;color:var(--ink);font-size:12px;line-height:1.5;text-align:left;font-weight:650}.issue-title:hover{text-decoration:underline}.issue-category{font-size:9px;color:var(--muted);margin-top:3px}.issue details{padding-left:34px;font-size:11px;margin-top:8px}.issue summary{color:var(--green);cursor:pointer;list-style:none}.issue summary::after{content:' +';font-weight:700}.issue details[open] summary::after{content:' -'}.issue details p{margin-top:9px;line-height:1.7;color:#506058}.issue details strong{display:block;color:var(--ink);font-weight:650}.assessment-note{display:flex;gap:9px;margin-top:18px;background:#f6f8f5;border-radius:4px;padding:11px;font-size:10px;line-height:1.6;color:var(--muted)}.assessment-note svg{width:15px}.empty-results{background:#edf4ef;border-left:3px solid #7f9d88;padding:16px;font-size:12px}.method-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;max-width:1100px;margin:auto;padding:64px 32px}.method-section h2{font-size:25px;margin:10px 0}.method-section>div>p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:20px}.method-section a{font-size:12px;display:inline-flex;gap:6px;align-items:center}.method-copy details{border-bottom:1px solid var(--line);padding:16px 0}.method-copy details:first-child{padding-top:0}.method-copy summary{font-size:13px;cursor:pointer;font-weight:600}.method-copy p{font-size:12px;line-height:1.8;margin-top:12px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:22px 32px;display:flex;align-items:center;gap:25px;font-size:12px}footer>span{color:var(--muted);margin-right:auto}footer .brand{font-size:17px}dialog{border:1px solid var(--line);border-radius:6px;max-width:min(420px,calc(100% - 32px));color:var(--ink);padding:26px}dialog::backdrop{background:#243b354d}dialog p{margin:12px 0 24px;font-size:13px}dialog>div{display:flex;gap:24px;justify-content:flex-end}
@media(min-width:1600px){.workspace{grid-template-columns:260px minmax(300px,1fr) 340px}#plan{min-height:610px}.results-panel{padding:24px 28px}.editor-panel{padding-inline:24px}}
@media(min-width:1191px){.workspace{height:calc(100dvh - 170px);min-height:530px}.editor-panel,.results-panel{overflow:auto}.plan-panel{overflow:auto}#plan{min-height:260px}}
@media(max-width:1190px){.workspace{grid-template-columns:220px minmax(300px,1fr)}.results-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:24px}.counts{max-width:300px}#issues{display:grid;grid-template-columns:repeat(3,1fr);gap:0 22px}.planner-header nav{gap:14px;font-size:11px}.planner-header{padding-inline:22px;gap:18px}.planner-title{padding-inline:22px}}
@media(max-width:850px){.planner-header{height:auto;padding:12px 20px 7px;flex-wrap:wrap;gap:5px}.planner-header nav{order:3;display:grid;grid-template-columns:repeat(3,1fr);width:100%;text-align:center;gap:0 10px}.planner-header nav a{justify-content:center;min-height:30px}.back-link{margin-left:auto}.planner-title{padding:18px 20px}.planner-title h1{font-size:25px}.planner-title .eyebrow{font-size:8px}.file-actions>span{display:none}.workspace{grid-template-columns:205px minmax(250px,1fr)}#issues{grid-template-columns:1fr 1fr}.suggestion-bar{align-items:flex-start;flex-direction:column;gap:12px}.suggestion-bar button{width:100%}.method-section{gap:30px;padding:40px 24px}.method-section h2{font-size:22px}.canvas-badges{left:10px;right:10px;font-size:9px}}
@media(max-width:600px){.planner-header{padding-inline:16px}.planner-title{gap:8px;padding:16px}.planner-title h1{font-size:24px}.planner-title .eyebrow{font-size:7px}.file-actions{gap:0}.file-actions .icon-button{width:32px;height:35px}.workspace{display:flex;flex-direction:column;min-height:0}.plan-panel{order:-1}.plan-toolbar{padding-inline:14px;height:48px}#plan{height:380px;flex:none;min-height:0}.plan-footer{padding:9px 14px;font-size:9px;gap:8px 10px}.suggestion-bar{flex-direction:row;align-items:center;padding:14px;gap:10px}.suggestion-bar strong{font-size:11px}.suggestion-bar span{font-size:9px;max-width:130px}.suggestion-bar button{width:auto;font-size:10px;padding:9px 10px;gap:5px;min-height:40px}.suggestion-bar button svg{width:15px}.editor-panel{border-top:1px solid var(--line);border-right:0;padding:0 16px 20px}.panel-tabs{height:50px;gap:26px;margin-bottom:16px}.panel-tabs button{font-size:13px}.catalog{grid-template-columns:repeat(4,1fr);gap:6px}.catalog button{min-height:73px;padding:9px;font-size:10px;gap:8px}.catalog button:last-child{grid-column:span 2;font-size:11px}.object-list{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px}.editor-panel .field select,.editor-panel .field input{min-height:42px;font-size:16px}.results-panel{padding:23px 16px}.results-heading h2{font-size:22px}.counts{max-width:none}.counts span{font-size:10px}#issues{display:block}.issue-title{font-size:13px}.issue details{font-size:12px}.issue-category{font-size:10px}.method-section{grid-template-columns:1fr;gap:28px;padding:36px 20px}.method-section h2{font-size:23px}footer{padding:20px 16px;flex-wrap:wrap;gap:12px 18px;font-size:11px}footer .brand{font-size:16px}footer>span{margin:0}footer>a:last-child{width:100%}.app-status{margin-inline:16px}}
@media(max-width:360px){.planner-title h1{font-size:21px}.planner-title .eyebrow{max-width:175px;line-height:1.4}.canvas-badges{font-size:8px}.plan-footer>span{width:100%}#plan{height:335px}.suggestion-bar strong{max-width:125px}.catalog{grid-template-columns:repeat(3,1fr)}.catalog button:last-child{grid-column:span 3}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.comparison-note{padding:15px 0 20px;border-top:1px solid var(--line)}.comparison-note h3{color:var(--green);font-size:12px;margin:0 0 10px}.comparison-note p{font-size:11px;line-height:1.7;padding-left:12px;border-left:2px solid #bad0c0;margin-top:12px}
.planner-switcher{display:flex;gap:26px;padding:0 32px;border-top:1px solid var(--line);height:45px;align-items:stretch;background:#fafbf9}.planner-switcher a{display:flex;align-items:center;color:var(--muted);font-size:12px;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.planner-switcher a[aria-current=page]{border-color:var(--green);color:var(--green);font-weight:700}.planner-switcher a:hover{color:var(--ink)}body[data-room=study]{--green:#326b7a}body[data-room=living]{--green:#576c44}body[data-room=entry]{--green:#276f72}body[data-room=mirror]{--green:#3c7482}
@media(min-width:1191px){.workspace{height:calc(100dvh - 215px)}#plan{flex:1 0 420px;min-height:420px}}
@media(max-width:600px){.planner-switcher{padding:0 16px;gap:0;justify-content:space-between;height:44px}.planner-switcher a{font-size:11px}.comparison-note p{font-size:12px}}
@media(max-width:360px){.planner-switcher{padding-inline:12px}.planner-switcher a{font-size:10px}}
.personal-energy-cta{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--muted)}.personal-energy-cta a{color:var(--green);font-weight:650}.field-hint{font-size:10px;font-weight:400;color:var(--muted);line-height:1.4}
.suggestion-rationale{margin:14px 0 15px;padding:13px 14px;background:#f5f8f3;border-left:3px solid var(--green);color:var(--muted);font-size:11px;line-height:1.65}.suggestion-rationale strong{display:block;margin-bottom:6px;color:var(--ink);font-size:12px}.suggestion-rationale p{margin:5px 0}.suggestion-rationale[hidden]{display:none}
