/* Ask the portfolio. Uses the site tokens (--dark --light --white --ink --muted --jade --focus --display --body --ease). */
.as-root{font-family:var(--body);color:var(--ink)}
.as-root p,.as-root h2,.as-root h3{margin:0;max-width:none}
.as-root .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.as-root button{font:inherit;cursor:pointer;border:0;border-radius:4px}
.as-root :focus-visible,.as-log:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.as-head :focus-visible,.as-launch:focus-visible{outline-color:var(--jade)}
.as-root [hidden]{display:none!important}
.as-launch{position:fixed;z-index:60;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:56px;height:56px;padding:0 18px;background:var(--dark);color:var(--light);border:1px solid var(--jade);font-size:16px;font-weight:600;line-height:1;transition:background .2s}
.as-launch svg{width:22px;height:22px;stroke:var(--jade);flex:none}
.as-launch:hover{background:var(--dark-surface,#25322c)}
html.as-lock{overflow:hidden}
.footer-line{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.as-backdrop{position:fixed;z-index:90;inset:0;background:rgba(22,28,26,.52);opacity:0;transition:opacity .25s}
.as-panel{position:fixed;z-index:91;top:0;right:0;bottom:0;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--light);opacity:0;transform:translateX(28px);transition:transform .3s var(--ease),opacity .2s}
.as-backdrop.is-open,.as-panel.is-open{opacity:1}
.as-panel.is-open{transform:none}
.as-panel:focus-visible{outline:none}
.as-head{display:flex;align-items:center;gap:2px;padding:6px 6px 6px 16px;background:var(--dark);color:var(--light)}
.as-root .as-title{flex:1;min-width:0;font-family:var(--display);font-size:22px;font-weight:500;line-height:1.2;color:var(--white)}
.as-root .as-icon-btn{min-width:44px;min-height:44px;padding:0 10px;background:none;color:var(--light);font-size:14px}
.as-root .as-close{font-size:26px}
.as-note{padding:2px 16px 14px;background:var(--dark);color:#c4d1c8;font-size:13px;line-height:1.5}
.as-log{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:16px}
.as-msg{max-width:100%;font-size:15px;line-height:1.55;border-radius:4px;overflow-wrap:anywhere}
.as-bot{background:var(--white);border:1px solid #dae4d9;padding:12px 14px}
.as-user{align-self:flex-end;max-width:90%;background:var(--dark);color:var(--white);padding:9px 12px}
.as-welcome{background:none;border:0;padding:0}
.as-body p+p{margin-top:8px}
.as-card{margin-top:10px;padding:10px 12px;background:var(--light);border-radius:4px}
.as-root .as-card h3,.as-root .as-plan h3{font:600 15px/1.3 var(--body)}
.as-card dt,.as-why dt{margin-top:8px;font-size:12px;font-weight:600;color:var(--muted)}
.as-card dd,.as-why dd{margin:2px 0 0;font-size:14px;line-height:1.5;max-width:none}
.as-meta{margin-top:8px;font-size:13px}
.as-link{display:inline-flex;align-items:center;min-height:44px;margin-right:16px;font-weight:600;color:var(--focus)}
.as-src{color:var(--muted)}
.as-src a{display:inline-block;padding:11px 3px;color:var(--focus);font-weight:600}
.as-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.as-root .as-chip{min-height:44px;padding:8px 12px;background:var(--white);color:var(--ink);border:1px solid #c6d6c5;font-size:14px;line-height:1.35;text-align:left}
.as-root .as-chip:hover{background:#dce8dc}
.as-plan{margin-top:12px;padding:12px 14px;background:#e8eee5;border:1px solid #c6d6c5;border-radius:4px}
.as-root .as-plan h3{font-size:13px;color:var(--muted)}
.as-plan ol{margin:8px 0;padding-left:20px;font-size:14px}
.as-plan-note{font-size:13px;color:var(--muted)}
.as-plan-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.as-root .as-do,.as-root .as-no{min-height:44px;padding:0 18px;font-size:15px;font-weight:600}
.as-root .as-do{background:#2c634b;color:var(--white)}
.as-root .as-no{background:#dae4d9;color:var(--ink)}
.as-plan-result{margin-top:10px}
.as-plan .as-chip{margin-top:10px}
.as-why{margin-top:8px;font-size:13px;color:var(--muted)}
.as-why summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:600}
.as-why summary:after{content:'+';margin-left:8px;font-size:18px}
.as-why[open] summary:after{content:'\2212'}
.as-why dd{font-size:13px;color:var(--ink)}
.as-why-note{margin-top:8px;font-size:12px}
.as-form{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid #dae4d9}
.as-input{flex:1;min-width:0;min-height:48px;padding:0 12px;background:var(--white);color:var(--ink);border:1px solid var(--muted);border-radius:4px;font:inherit;font-size:16px}
.as-root .as-send{min-height:48px;padding:0 18px;background:var(--dark);color:var(--white);font-size:16px;font-weight:600}
.as-root .as-send:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:640px){.as-panel{left:0;right:auto;top:auto;bottom:var(--as-kb,0px);width:100%;height:88vh;height:min(88dvh,var(--as-vvh,100dvh));max-height:88dvh;border-radius:4px 4px 0 0;transform:translateY(28px)}.as-panel.is-open{transform:none}.as-root .as-title{font-size:20px}.as-log{padding:12px}.as-user{max-width:94%}}
@media(max-width:360px){.as-root .as-title{font-size:18px}}
@media(prefers-reduced-motion:reduce){.as-panel,.as-backdrop,.as-launch{transition:none}}
