/* Portfolio guide: native dialog, explicit voice actions, same charcoal system. */
.ask-launch{position:fixed;right:20px;bottom:76px;z-index:100;display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 15px 8px 10px;background:#242424f5;border:1px solid #555;border-radius:99px;color:#f5f5f5;font:500 13px/20px system-ui,sans-serif;box-shadow:0 4px 20px #0005;cursor:pointer}
.ask-launch:hover{background:#333}.ask-orb{display:block;flex:none;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 28% 25%,#ffd19a 0%,#ff793d 30%,#dd4228 65%,#67234b 100%);box-shadow:inset 0 0 0 1px #ffffff26}
.ask-launch .ask-orb{width:26px;height:26px}.ask-dialog{position:fixed;inset:auto 20px 76px auto;margin:0;width:390px;max-width:calc(100vw - 40px);max-height:min(calc(100dvh - 112px),var(--ask-height,640px));padding:0;border:1px solid #424242;border-radius:20px;background:#1a1a1a;color:#f5f5f5;box-shadow:0 20px 70px #0009;overflow:hidden;font-family:system-ui,sans-serif}.ask-dialog:not([open]){display:none}.ask-dialog::backdrop{background:#0008;backdrop-filter:blur(2px)}
.ask-shell{display:flex;flex-direction:column;max-height:inherit;min-height:0;padding:20px;gap:14px}.ask-header{display:flex;align-items:center;gap:10px;flex:none}.ask-header h2{font-size:18px;line-height:24px;font-weight:650;letter-spacing:-.3px}.ask-header p{color:#aaa;font-size:12px;line-height:18px}.ask-close{margin-left:auto}.ask-icon{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #444;border-radius:50%;background:#2b2b2b;color:#f5f5f5;cursor:pointer}.ask-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ask-icon:hover{background:#3a3a3a}.ask-dialog :focus-visible,.ask-launch:focus-visible{outline:2px solid #fff;outline-offset:3px}.ask-dialog [hidden]{display:none!important}
.ask-log{display:flex;flex-direction:column;gap:12px;overflow:auto;overscroll-behavior:contain;min-height:90px;max-height:270px;flex:1 1 auto;padding:3px 3px 5px;scrollbar-width:thin;scrollbar-color:#666 transparent}.ask-message{flex:none;max-width:96%;font-size:14px;line-height:20px;overflow-wrap:anywhere}.ask-message p{white-space:pre-wrap}.ask-message[data-who=you]{align-self:flex-end;padding:9px 12px;border-radius:14px 14px 3px 14px;background:#353535}.ask-message[data-who=guide]{align-self:flex-start;padding:0 3px 0 0;color:#ddd}.ask-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.ask-link{display:inline-flex;align-items:center;min-height:32px;padding:5px 9px;border:1px solid #505050;border-radius:8px;background:transparent;color:#f5f5f5;font:500 12px/18px system-ui,sans-serif;text-decoration:none;cursor:pointer}.ask-link:hover{background:#303030}.ask-audio{margin-top:6px;display:flex;gap:5px}.ask-audio button{min-height:32px;border:0;padding:3px 7px;background:transparent;color:#bcbcbc;text-decoration:underline;text-underline-offset:3px;font:12px/18px system-ui,sans-serif;cursor:pointer}.ask-audio button:hover{color:#fff}
.ask-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex:none}.ask-suggestions button{text-align:left;min-height:42px;padding:8px 10px;border:1px solid #424242;border-radius:10px;background:#222;color:#ddd;font:12px/16px system-ui,sans-serif;cursor:pointer}.ask-suggestions button:hover{background:#303030;border-color:#666}.ask-compose{display:flex;align-items:center;gap:7px;flex:none}.ask-input{display:block;min-width:0;width:100%;flex:1;min-height:44px;padding:10px 12px;border:1px solid #505050;border-radius:12px;background:#242424;color:#fff;font:16px/22px system-ui,sans-serif}.ask-input::placeholder{color:#a5a5a5}.ask-input:disabled{opacity:.7}.ask-send{background:#eee;color:#161616;border-color:#eee}.ask-send:hover{background:#fff}.ask-mic[aria-pressed=true]{background:#e96835;border-color:#e96835;color:#111}
.ask-status{font-size:12px;line-height:17px;min-height:17px;color:#bcbcbc;flex:none}.ask-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;line-height:16px;color:#aaa;flex:none}.ask-foot a{color:inherit;text-underline-offset:3px}.ask-about{flex:none;color:#aaa;font-size:11px;line-height:16px}.ask-about summary{cursor:pointer;min-height:24px;padding-top:3px;width:fit-content}.ask-about p{margin-top:4px!important}.ask-dialog button:active,.ask-launch:active{scale:.96}.ask-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:no-preference){.home-wall.motion-running .ask-dialog[data-state=listening] .ask-orb,.home-wall.motion-running .ask-dialog[data-state=speaking] .ask-orb{animation:ask-pulse 1.4s ease-in-out infinite}.ask-icon,.ask-link,.ask-suggestions button,.ask-launch{transition:background-color .15s ease}}@keyframes ask-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 5px #ff793d1f}}
@media(max-width:619px){.ask-launch{bottom:calc(16px + env(safe-area-inset-bottom));right:20px}.ask-dialog{inset:auto 12px calc(12px + env(safe-area-inset-bottom) + var(--ask-keyboard-offset,0px)) 12px;width:auto;max-width:none;max-height:min(calc(100dvh - 24px - env(safe-area-inset-bottom)),var(--ask-height,640px))}.ask-shell{padding:16px;gap:12px}.ask-log{max-height:250px}.ask-icon{width:38px;height:38px}.ask-input{padding-inline:10px}.ask-compose{gap:6px}}
@media(max-height:520px){.ask-suggestions{display:none}.ask-log{max-height:150px;min-height:65px}.ask-shell{gap:8px;padding:12px}.ask-dialog{bottom:12px;max-height:min(calc(100dvh - 24px),var(--ask-height,640px))}}

.ask-privacy{flex:none;font-size:11px;line-height:15px;color:#aaa}.ask-dialog.ask-compact .ask-suggestions{display:none}.ask-dialog.ask-compact .ask-log{min-height:30px;max-height:160px}.ask-dialog.ask-compact .ask-shell{gap:6px;padding:10px}

.ask-voice-choice{display:grid;gap:5px;margin-top:10px;font-size:12px;color:#ccc}.ask-voice-choice select{max-width:100%;width:100%;min-height:38px;padding:6px 8px;border:1px solid #555;border-radius:8px;background:#292929;color:#f5f5f5;font:13px/18px system-ui,sans-serif}

/* About/voice settings replace the conversation temporarily, keeping all controls reachable. */
.ask-about{order:2}.ask-foot{order:3}.ask-about[open]{max-height:calc(var(--ask-height,640px) - 140px);overflow:auto;overscroll-behavior:contain}.ask-dialog:has(.ask-about[open]) :is(.ask-log,.ask-suggestions,.ask-compose,.ask-status,.ask-privacy){display:none}
