@font-face{font-family:CG;src:url('/fonts/CG-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:SS;src:url('/fonts/SS-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:SS;src:url('/fonts/SS-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--canvas:#F7F3EA;--card:#FFFDF8;--ink:#1C1A17;--muted:#514B42;--faint:#736B5C;--rule:#E2DACA;--gold:#D4AF37;--deep:#7A5F0F;--night:#12110F}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:1.0625rem/1.5 SS,system-ui,sans-serif}h1,h2,h3,p{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:default}input,select{width:100%;min-width:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--deep);outline-offset:4px}header{background:var(--night);color:#EDE7DA;border-bottom:2px solid var(--gold)}.header-inner{max-width:1240px;margin:auto;padding:18px 32px;display:flex;justify-content:space-between;gap:20px;align-items:center}.product{font:500 1.8rem CG,Georgia,serif;text-decoration:none;display:flex;gap:16px;align-items:center}.version{font:600 .75rem SS,sans-serif;letter-spacing:.09em;color:#C7BCA6;border-left:1px solid #514B42;padding-left:16px}.parent{display:flex;gap:12px;text-decoration:none;align-items:center;font-size:.875rem;line-height:1.25;color:#C7BCA6}.parent strong{font-size:1.1rem;color:#EDE7DA;font-weight:400}.parent img{object-fit:contain}main{max-width:1240px;margin:auto;padding:38px 32px 52px}.intro{padding-bottom:28px}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.12em;color:var(--deep)}h1{font:500 clamp(2.4rem,4vw,3.65rem)/1.05 CG,Georgia,serif;letter-spacing:-.03em;margin:12px 0}.intro>p:last-child{color:var(--muted);margin-top:12px}.desktop{display:none}.workspace{display:grid;grid-template-columns:1.08fr 1fr;gap:26px;align-items:start}.panel{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:28px}.panel-top{display:flex;align-items:center;gap:14px;margin-bottom:26px}.section-number{border:1px solid var(--rule);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;color:var(--deep)}h2{font:500 1.7rem/1.1 CG,Georgia,serif;letter-spacing:-.02em}label{display:block;font-size:1rem;font-weight:600;margin-bottom:7px}.optional,.unit{font-size:.875rem;font-weight:400;color:var(--faint);float:right}.optional{font-style:italic}input,select{height:49px;padding:10px 12px;background:var(--card);color:var(--ink);border:1px solid #C7BCA6;border-radius:2px}input::placeholder{color:#736B5C;font-size:.94rem}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.field-note{font-size:.875rem;line-height:1.45;color:var(--faint);margin:10px 0 22px}.grid-two+.field-note{margin-top:15px}details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0;margin-top:12px}summary{cursor:pointer;font-weight:600;list-style-position:outside;margin-left:16px}summary span{display:block;font-weight:400;color:var(--faint);font-size:.875rem;margin-top:3px}.detail-content{margin-top:20px}.detail-content>p:first-child{color:var(--muted);margin-bottom:18px;font-size:.94rem}.detail-content .field-note{margin-bottom:0}.primary{width:100%;margin-top:22px;padding:13px 16px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);border-radius:2px;font-weight:600}.primary:hover{background:#C9A430}.privacy-note{font-size:.875rem;color:var(--faint);margin-top:14px}.error{background:#F5E8E6;color:#5A2D2A;padding:12px;margin-top:16px}.result-panel{border-top:3px solid var(--gold);min-height:490px}.empty-number{font:500 5rem/1 CG,Georgia,serif;color:#C7BCA6;margin:38px 0 16px}.empty-caption{color:var(--muted);font-size:1.2rem}.empty-rule{height:1px;background:var(--rule);margin:26px 0}#empty>p:last-child{color:var(--faint);max-width:26rem}.result-foot{color:var(--faint);font-size:.875rem;border-top:1px solid var(--rule);padding-top:20px;margin-top:26px;font-weight:400}.result-foot strong{font-weight:400}.property-label{color:var(--muted);margin-bottom:14px;overflow-wrap:anywhere}.amount{display:flex;align-items:baseline;gap:12px;margin:12px 0 8px}.amount>span{font:500 clamp(2.4rem,4vw,4.25rem)/1 CG,Georgia,serif;letter-spacing:-.025em}.amount small{font-size:1rem;color:var(--faint)}.completeness{color:var(--muted);font-size:.94rem;margin-bottom:24px}.cost-row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;border-bottom:1px solid var(--rule);padding:12px 0}.cost-row>strong{font-weight:600}.status{grid-column:1/-1;font-size:.8rem;width:fit-content;color:var(--muted);background:#F1EEE7;padding:2px 7px;border-radius:2px}.status.unknown{color:#2A3C54;background:#E8EEF5}.status.calculated{background:#E8F0E7;color:#24412F}.loan-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.loan-stats span{font-size:.875rem;color:var(--faint);display:block}.loan-stats strong{display:block;margin-top:3px;font-weight:600}.gap-box{margin-top:22px;padding:18px;background:#FBF4DF;border-left:2px solid var(--gold)}h3{font:500 1.45rem/1.2 CG,Georgia,serif}.gap-box p{font-size:.94rem;margin-top:8px;color:var(--muted)}.text-button{background:none;border:0;padding:8px 0 0;color:var(--deep);font-weight:600;text-decoration:underline;text-underline-offset:4px}.analysis{margin:30px 0 0;display:grid;grid-template-columns:.7fr 1fr;gap:48px;padding:32px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.analysis h2{font-size:2rem;margin:12px 0}.analysis-note{font-size:.94rem;color:var(--muted)}#analysis-copy p{margin-bottom:16px}#analysis-copy p:last-child{margin-bottom:0}.future{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:36px}.future p{color:var(--muted);margin-top:10px;max-width:43rem;font-size:1rem}.future-mark{flex-shrink:0;display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center}.future-mark img{grid-row:1/3}.future-mark span{font:500 1.5rem CG,Georgia,serif}.future-mark small{font-size:.75rem;letter-spacing:.1em;color:var(--faint)}.method{margin-top:32px;font-size:1rem}.method>div{max-width:52rem;margin-top:20px;color:var(--muted)}.method p{margin-bottom:16px}footer{background:var(--night);padding:28px 32px;text-align:center;color:#C7BCA6}footer>a{font:500 1.5rem CG,Georgia,serif;text-decoration:none;color:#EDE7DA}footer p{font-size:1rem;margin:8px 0 12px}footer span{font-size:.875rem;display:block;max-width:50rem;margin:auto}.skip{position:absolute;top:-100px;left:16px;background:var(--gold);padding:12px;z-index:10}.skip:focus{top:12px}[hidden]{display:none!important}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.header-inner{padding:16px 20px}.version{display:none}main{padding:28px 20px 36px}.panel{padding:22px}.result-panel{min-height:0}.analysis{grid-template-columns:1fr;gap:18px}.future{display:block}.future-mark{margin-top:22px;width:fit-content}h1{font-size:2.55rem}.intro{padding-bottom:24px}.parent strong{font-size:1rem}.parent img{width:28px}}@media(max-width:390px){.header-inner{padding:14px 16px}.product{font-size:1.5rem}.parent{font-size:.75rem;gap:7px}.parent strong{font-size:.9rem}main{padding:24px 16px}.panel{padding:18px}.grid-two{grid-template-columns:1fr}.amount>span{font-size:3rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.lens-panel{margin-top:32px;padding:28px;background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--gold);border-radius:4px}.lens-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.lens-brand{display:flex;align-items:center;gap:14px}.lens-brand h2{font-size:2rem}.lens-brand p{font-size:.875rem;color:var(--deep);margin-top:3px}.lens-description{margin-top:20px;font-size:1.125rem}.guided-note{font-size:.875rem;color:var(--faint);margin:8px 0 18px}.prompt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.prompt-chips button,.secondary{padding:9px 13px;background:transparent;color:var(--ink);border:1px solid #C7BCA6;border-radius:2px;font:inherit;font-size:.94rem}.prompt-chips button:hover,.secondary:hover{background:var(--canvas);border-color:var(--deep)}.conversation{max-height:360px;overflow:auto;scrollbar-gutter:stable;padding:10px 2px;margin-bottom:16px}.chat-welcome{color:var(--faint);font-size:1rem;padding:12px 0}.message{margin:0 0 14px;max-width:90%;padding:14px 18px;background:var(--canvas);border-radius:3px;overflow-wrap:anywhere}.message.user{margin-left:auto;background:#E8EEF5}.message .speaker{display:block;font-size:.8rem;color:var(--faint);font-weight:600;margin-bottom:5px}.message p{white-space:pre-wrap}.proposal-review{padding:20px;background:#FBF4DF;border-left:3px solid var(--gold);margin-bottom:16px}.proposal-field{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding:12px 0;font-size:1rem}.proposal-field span small{display:block;color:var(--faint);font-size:.875rem;font-weight:400}.proposal-field strong{font-weight:600;white-space:nowrap}.proposal-impact{color:var(--muted);font-size:.94rem;margin-top:16px}.proposal-actions{display:flex;gap:12px;margin-top:18px}.proposal-actions .primary{width:auto;margin:0}.proposal-actions .secondary{font-size:1rem}.lens-form{display:flex;align-items:flex-end;gap:12px;margin-top:12px}.lens-form textarea{resize:vertical;min-height:58px;max-height:250px;width:100%;min-width:0;padding:12px;font:inherit;border:1px solid #C7BCA6;color:var(--ink);background:var(--card);border-radius:2px}.lens-form .primary{width:auto;margin:0;min-width:90px;min-height:50px}.lens-form textarea:focus-visible{outline:3px solid var(--deep);outline-offset:3px}.primary:disabled{opacity:.55;cursor:default}.lens-panel .field-note{margin:10px 0}.account-note{padding-top:14px;margin-top:14px;border-top:1px solid var(--rule);font-size:.875rem;color:var(--faint)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.local-ai-option{padding:14px 18px;background:var(--canvas);margin-bottom:18px}.local-ai-option label{display:flex;align-items:center;gap:10px}.local-ai-option input{width:20px;height:20px}.local-ai-option p{font-size:.875rem;color:var(--muted);margin-top:6px}.rate-evidence{margin-top:14px;font-size:.875rem;color:var(--faint)}
@media(max-width:800px){.lens-panel{padding:22px}.message{max-width:100%}.lens-heading{align-items:flex-start}.lens-heading>.text-button{font-size:.875rem}.lens-form{gap:8px}.proposal-field{flex-wrap:wrap}.proposal-actions{flex-wrap:wrap}}@media(max-width:390px){.lens-panel{padding:18px}.lens-form{flex-direction:column;align-items:stretch}.lens-form .primary{width:100%}}
/* Keep portrait controls and long financial values within their panels. */
.workspace>*,.grid-two>*,.loan-stats>*,.cost-row>*{min-width:0}
.amount{flex-wrap:wrap}
.amount>span,.cost-row>strong,.loan-stats strong{overflow-wrap:anywhere}
.proposal-field strong{white-space:normal;overflow-wrap:anywhere;min-width:0}
.prompt-chips button,.secondary,.text-button,summary{min-height:44px}
@media(max-width:520px){
  .grid-two{grid-template-columns:1fr}
  .lens-heading{flex-wrap:wrap;gap:8px}
  .lens-form{flex-direction:column;align-items:stretch}
  .lens-form .primary{width:100%}
  .proposal-field{align-items:flex-start;gap:8px}
  .proposal-actions>*{flex:1 1 100%}
}
@media(max-width:350px){
  .header-inner{gap:10px}
  .parent{gap:6px}
  .parent img{width:24px;height:auto}
  .parent strong{font-size:.85rem}
  .product{font-size:1.4rem}
}

.content-page{max-width:760px;margin:3rem auto;padding:0 1.25rem;line-height:1.8}.content-page h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.15}.content-page h2{font-size:1.5rem;margin-top:2rem}.reading-panel{margin-top:2rem;padding:2rem}.ad-placement{margin:2rem 0;min-height:280px;padding:1.25rem}.ad-placement[hidden]{display:none}footer nav{margin-top:1rem;line-height:2}footer nav a{margin-right:.25rem}
