/* Smart Home reuses the Phone Help visual shell and existing shared theme tokens. */
.smart-home .phone-hero h1{max-width:16ch}.smart-home .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.smart-home .hero-actions .primary-link{margin-bottom:8px}.smart-home .hero-actions>a:not(.primary-link){display:inline-flex;align-items:center;min-height:48px;font-weight:700}.smart-home .hero-visual .lesson-diagram{max-width:340px}.smart-home .guide-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.smart-home .guide-shortcuts a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:7px 13px;background:var(--paper);color:var(--ink);font-size:.85rem;text-decoration:none;font-weight:650}.smart-home .guide-shortcuts a:hover{background:var(--subtle)}.smart-home #guides,.smart-home #compatibility,.smart-home #planning-tools,.smart-home #how-this-works{scroll-margin-top:24px}.smart-home .lesson-art{padding-inline:24px}.smart-home .diagram-caption{margin:0;padding-bottom:6px;font-size:.75rem}.smart-home .lesson-source{font-size:.82rem}.smart-home .lesson-source .small{font-size:.76rem}.smart-home .boundary{font-size:.85rem;border-left:3px solid var(--purple);padding:10px 14px;background:var(--subtle);margin-bottom:20px}.smart-home .compatibility{margin:32px 0;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.smart-home .compatibility-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;list-style:none;counter-reset:chain}.smart-home .compatibility-chain li{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--subtle);font-size:.87rem;counter-increment:chain}.smart-home .compatibility-chain li::before{content:counter(chain) '. ';color:var(--purple);font-weight:800}.smart-home .compatibility-chain strong{display:block;font-size:1rem}.smart-home .compatibility details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.smart-home .compatibility details p{font-size:.9rem}.smart-home .compatibility details summary{font-weight:700;color:var(--purple)}.smart-home .tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.smart-home .planning-tool{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:16px;min-width:0}.smart-home .planning-tool fieldset{padding:0;margin:0;border:0;min-width:0}.smart-home .planning-tool legend{font-size:1.3rem;line-height:1.2;font-weight:750;letter-spacing:-.025em;margin:0 0 16px;padding:0;color:var(--ink)}.smart-home .planning-tool p,.smart-home .planning-tool li{font-size:.88rem}.smart-home .planning-tool label{display:block;font-size:.87rem;font-weight:650;margin:14px 0 6px}.smart-home .planning-tool select{width:100%;max-width:100%;font-size:.9rem;text-overflow:ellipsis}.smart-home .planning-tool button{margin:18px 0 0;width:100%}.smart-home .setup-check{display:grid!important;grid-template-columns:23px 1fr;gap:10px;align-items:start;min-height:44px;padding-block:7px;font-weight:450!important;cursor:pointer}.smart-home .setup-check input{width:22px;height:22px;margin:2px 0;accent-color:var(--purple)}.smart-home :is(select,input,button):disabled{opacity:.65;cursor:not-allowed}.smart-home .tool-status{margin:18px 0 0!important;color:var(--muted);font-size:.82rem!important}.smart-home .tool-result:not(:empty){padding:16px;background:var(--subtle);border:1px solid var(--line);border-radius:10px;margin-top:18px;overflow-wrap:anywhere}.smart-home .tool-result ol{padding-left:21px;margin:0 0 12px}.smart-home .tool-result li{padding-left:4px;margin:0 0 12px}.smart-home .tool-result a{font-size:.85rem}.smart-home .tool-result p:last-child{margin-bottom:0}.smart-home .plan-not-scheduled{font-weight:700;color:var(--ink)}.smart-home .local-scope{background:var(--paper);padding:18px 20px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.smart-home .local-scope strong{display:block}.smart-home .local-scope p{margin:6px 0 0;font-size:.88rem;color:var(--muted)}.smart-home .phone-header nav{gap:14px}.smart-home .phone-header nav a{font-size:.83rem}.smart-home .phone-footer p{max-width:90ch}.smart-home .lesson-heading p{max-width:38ch}.smart-home .reset-row{margin-bottom:30px}.smart-home .lesson-diagram text{font-size:13px}.smart-home .diagram-fill{fill:var(--lavender);stroke:var(--purple)}
@media(max-width:1250px){.smart-home .tool-grid{grid-template-columns:1fr}.smart-home .planning-tool{max-width:none}.smart-home .planning-tool select{max-width:520px}.smart-home .planning-tool button{width:auto}.smart-home .phone-header{align-items:flex-start;flex-direction:column;gap:0;padding-block:14px}.smart-home .compatibility-chain{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.smart-home .phone-page{padding-inline:14px}.smart-home .phone-hero h1{font-size:2.45rem}.smart-home .compatibility,.smart-home .planning-tool{padding:20px}.smart-home .compatibility-chain{grid-template-columns:1fr}.smart-home .guide-shortcuts{gap:7px}.smart-home .guide-shortcuts a{font-size:.82rem}.smart-home .lesson-art{padding-inline:12px}.smart-home .phone-header{padding-inline:16px!important}.smart-home .phone-header nav{gap:12px}.smart-home .planning-tool button{width:100%}.smart-home .lesson-copy{padding:20px}}
@media(forced-colors:active){.smart-home :is(.compatibility,.planning-tool,.local-scope,.tool-result,.compatibility-chain li,.guide-shortcuts a,.boundary){background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important}.smart-home .diagram-fill{fill:Canvas;stroke:CanvasText}}
@media print{.smart-home .guide-shortcuts,.smart-home .planning-tool fieldset,.smart-home .reset-row{display:none}.smart-home .compatibility,.smart-home .planning-tool{break-inside:avoid}.smart-home .tool-grid{display:block}.smart-home .tool-result{display:block}.smart-home .lesson-body{display:block!important}}

/* Keep printed lessons readable independently of the saved appearance. */
@media print{.smart-home{--ink:#000;--muted:#222;--purple:#000;--paper:#fff;--canvas:#fff;--subtle:#fff;--line:#555;--control-line:#555;--accent-fill:#000;--on-accent:#fff;background:#fff!important;color:#000!important}}
