/* Resident AI Partners — AI Check question flow and report (shared by /check/ and the home page takeover). */
.cf{display:grid;gap:28px}
.cf-q{min-height:0}
.cf-step{display:grid;gap:14px}
.cf-step h2{font-size:clamp(26px,3.6vw,40px);line-height:1.1;letter-spacing:-.03em;max-width:22ch}
.cf-help{margin:0;color:var(--ink-muted);font-size:16px;max-width:56ch}
.cf-body{margin-top:14px}
.from-below{animation:cf-up .55s var(--ease) both}
.from-above{animation:cf-down .55s var(--ease) both}
@keyframes cf-up{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes cf-down{from{opacity:0;transform:translate3d(0,-22px,0)}to{opacity:1;transform:none}}
.from-below .opt,.from-above .opt{animation:cf-up .5s var(--ease) both;animation-delay:calc(var(--n,0) * 30ms + 60ms)}

.opts{display:grid;gap:10px;max-width:640px}
.opts.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.opt{position:relative;display:flex;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-md);padding:14px 44px 14px 14px;font:400 16px/1.35 var(--sans);cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s var(--ease)}
.opt:hover{border-color:var(--ink-muted)}
.opt:active{transform:scale(.985)}
.opt kbd{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid var(--line);font:500 12px var(--mono);color:var(--ink-muted);background:var(--surface-alt);transition:background-color .2s,color .2s,border-color .2s}
.opt .tick{position:absolute;right:16px;top:50%;width:12px;height:7px;border-left:2px solid var(--evergreen);border-bottom:2px solid var(--evergreen);transform:translateY(-70%) rotate(-45deg) scale(.4);opacity:0;transition:opacity .2s,transform .35s var(--ease)}
.opt[aria-pressed="true"]{border-color:var(--evergreen);box-shadow:inset 0 0 0 1px var(--evergreen);background:var(--evergreen-soft)}
.opt[aria-pressed="true"] kbd{background:var(--evergreen);color:var(--on-evergreen);border-color:var(--evergreen)}
.opt[aria-pressed="true"] .tick{opacity:1;transform:translateY(-70%) rotate(-45deg) scale(1)}
@media (max-width:640px){.opts.two{grid-template-columns:minmax(0,1fr)}.opt{font-size:15px;padding:12px 40px 12px 12px}}
@media (pointer:coarse){.opt kbd{display:none}}

.cf-input,.fields input{width:100%;font:400 18px var(--sans);padding:14px 16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.cf-input{max-width:520px;font-size:clamp(18px,2.2vw,22px);padding:16px 18px}
.cf-input:focus,.fields input:focus{outline:none;border-color:var(--evergreen);box-shadow:0 0 0 3px var(--evergreen-soft)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:720px}
.fields label{display:grid;gap:6px;font-size:13px;color:var(--ink-muted)}
.fields input{font-size:16px}
.consent{font-size:13px;color:var(--ink-muted);margin:14px 0 0}
@media (max-width:560px){.fields{grid-template-columns:minmax(0,1fr)}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cf-nav{display:flex;align-items:center;gap:16px;min-height:48px}
.cf-hint{flex:1;font-size:13px;color:var(--ink-muted)}
.cf-next{margin-left:auto}
.cf .btn:disabled{opacity:.35;cursor:not-allowed}

/* report */
.report{display:grid;gap:28px}
.report>*{animation:cf-up .7s var(--ease) both}
.report>*:nth-child(2){animation-delay:.08s}.report>*:nth-child(3){animation-delay:.16s}.report>*:nth-child(4){animation-delay:.24s}.report>*:nth-child(n+5){animation-delay:.32s}
.r-head{display:grid;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px}
.r-head h1{font-size:clamp(28px,4.6vw,44px);line-height:1.08;letter-spacing:-.03em}
.big{background:var(--evergreen-soft);border-radius:var(--radius-md);padding:24px;display:grid;gap:6px}
.big .v{font:500 clamp(36px,7vw,60px)/1 var(--mono);letter-spacing:-.04em;color:var(--evergreen)}
.r-sec{display:grid;gap:10px}
.r-sec p{margin:0;max-width:68ch}
.r-sec ol{margin:0;padding-left:22px;display:grid;gap:6px;max-width:68ch}
.math{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}
.math table{width:100%;border-collapse:collapse;font-size:15px}
.math td{padding:11px 14px;border-bottom:1px solid var(--line)}
.math tr:last-child td{border-bottom:0;font-weight:500}
.math td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.meter{display:grid;grid-template-columns:160px minmax(0,1fr) 44px;gap:12px;align-items:center;font-size:15px}
.meter .t{height:8px;background:var(--line);border-radius:9999px;overflow:hidden}
.meter .f{height:100%;background:var(--evergreen);border-radius:inherit;transform-origin:left;transform:scaleX(var(--w,0));animation:grow 1.1s var(--ease) .5s both}
@keyframes grow{from{transform:scaleX(0)}}
.meter .n{font-family:var(--mono);font-size:13px;text-align:right}
@media (max-width:560px){.meter{grid-template-columns:110px minmax(0,1fr) 40px}}
.next{background:var(--night);color:var(--night-ink);border-radius:var(--radius-lg);padding:28px;display:grid;gap:12px;justify-items:start}
.next p{margin:0;max-width:62ch;color:var(--night-muted)}
.sent{font-size:14px;color:var(--ink-muted)}

/* full-screen takeover on the home page */
.takeover{position:fixed;inset:0;z-index:100;background:var(--surface);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transform:translate3d(0,16px,0);transition:opacity .35s var(--ease-soft),transform .5s var(--ease),visibility 0s .5s}
.takeover.open{opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--ease-soft),transform .6s var(--ease),visibility 0s}
.tk-bar{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.tk-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h)}
.tk-bar .logo svg{height:26px}
.tk-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line)}
.tk-prog i{display:block;height:100%;background:var(--evergreen);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .6s var(--ease)}
.tk-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:border-color .2s}
.tk-close:hover{border-color:var(--ink)}
.tk-close svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}
.tk-main{flex:1;display:grid;align-items:center;padding-block:clamp(32px,7vh,88px)}
.tk-main .wrap{width:100%;max-width:820px}
.tk-main .cf{max-width:720px}
@media (max-width:560px){#tk-label{display:none}}
.tk-foot{padding-block:20px;font-size:13px;color:var(--ink-muted)}
.tk-foot .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
html.tk-lock,html.tk-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.takeover,.takeover.open{transform:none}}
