.portfolio-chat{--ask-ink: #eef1f5;--ask-muted: #a7afb9;--ask-line: #ffffff26;--ask-field: #ffffff03;--ask-focus: #a5b4c8;--ask-button: #edf0f5;--ask-button-ink: #1b212a;scroll-margin-top:82px}html:is([data-theme=light],[data-portfolio-bot-theme=light]) .portfolio-chat{--ask-ink: #202733;--ask-muted: #5b6573;--ask-line: #20273330;--ask-field: #ffffff;--ask-focus: #536c8c;--ask-button: #252d39;--ask-button-ink: #fff}.portfolio-chat__title{margin-top:16px;color:var(--ask-ink);font:500 22px/1.45 var(--cjk);letter-spacing:-.035em}.portfolio-chat__intro{margin-top:9px;color:var(--ask-muted);font:400 14px/1.75 var(--cjk)}.portfolio-chat__suggestions{display:flex;flex-wrap:wrap;gap:3px 18px;margin:20px 0 21px}.portfolio-chat button{font-family:var(--cjk)}.portfolio-chat__suggestion{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 0;border:0;background:transparent;color:var(--ask-muted);font-size:12px;line-height:1.5;text-align:left;text-decoration:underline;text-decoration-color:var(--ask-line);text-underline-offset:5px;cursor:pointer;transition:color .2s,text-decoration-color .2s}.portfolio-chat__suggestion:hover{color:var(--ask-ink);text-decoration-color:currentColor}.portfolio-chat__input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portfolio-chat__composer{overflow:hidden;border:1px solid var(--ask-line);border-radius:9px;background:var(--ask-field);transition:border-color .2s}.portfolio-chat__composer:focus-within{border-color:var(--ask-focus)}.portfolio-chat__input{display:block;width:100%;min-height:109px;max-height:300px;padding:17px 17px 9px;border:0;border-radius:0;outline:0;resize:vertical;background:transparent;color:var(--ask-ink);font:400 14px/1.8 var(--cjk);caret-color:var(--ask-ink)}.portfolio-chat__input::placeholder{color:var(--ask-muted);opacity:.85}.portfolio-chat__input[readonly]{opacity:.65}.portfolio-chat__toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px 12px 17px}.portfolio-chat__count{color:var(--ask-muted);font:400 10px/1 var(--mono)}.portfolio-chat__actions{display:flex;align-items:center;gap:9px}.portfolio-chat__submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:38px;padding:9px 17px;border:1px solid transparent;border-radius:6px;background:var(--ask-button);color:var(--ask-button-ink);font-size:12px;font-weight:500;line-height:1.5;cursor:pointer;transition:opacity .2s,transform .2s}.portfolio-chat__submit:hover:not(:disabled){transform:translateY(-1px)}.portfolio-chat__submit:disabled{opacity:.4;cursor:default}.portfolio-chat__cancel,.portfolio-chat__clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 3px;border:0;background:transparent;color:var(--ask-muted);font-size:11px;line-height:1.5;cursor:pointer}.portfolio-chat__cancel:hover,.portfolio-chat__clear:hover{color:var(--ask-ink)}.portfolio-chat__help{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 15px;margin-top:11px;color:var(--ask-muted);font:400 10.5px/1.6 var(--cjk)}.portfolio-chat__shortcut{font-size:10px}.portfolio-chat__privacy{margin-top:9px;color:var(--ask-muted);font:400 10.5px/1.8 var(--cjk)}.portfolio-chat__privacy summary{width:fit-content;cursor:pointer}.portfolio-chat__privacy p{max-width:60ch;margin-top:8px}.portfolio-chat__privacy summary:focus-visible{outline:2px solid var(--ask-focus);outline-offset:3px}.portfolio-chat__status{margin-top:14px;color:var(--ask-muted);font:400 12px/1.75 var(--cjk);overflow-wrap:anywhere}.portfolio-chat__status:empty{display:none}.portfolio-chat__local-link{text-decoration:underline;text-underline-offset:3px}.portfolio-chat__result{margin-top:28px;padding-top:23px;border-top:1px solid var(--ask-line);animation:portfolio-answer-in .28s var(--ease) both}.portfolio-chat__result-label{color:var(--ask-muted);font:400 10.5px/1.5 var(--cjk)}.portfolio-chat__question{margin-top:12px;color:var(--ask-ink);font:500 14px/1.8 var(--cjk);overflow-wrap:anywhere}.portfolio-chat__answer{margin-top:10px;color:var(--ask-ink);font:400 14px/1.95 var(--cjk);white-space:pre-line;overflow-wrap:anywhere}.portfolio-chat__sources{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:16px}.portfolio-chat__source{padding:5px 0;color:var(--ask-muted);font:400 11.5px/1.6 var(--cjk);text-decoration:underline;text-decoration-color:var(--ask-line);text-underline-offset:4px;overflow-wrap:anywhere}.portfolio-chat__source:hover{color:var(--ask-ink);text-decoration-color:currentColor}.portfolio-chat__clear{margin-top:13px;padding-left:0}.portfolio-chat button:focus-visible,.portfolio-chat a:focus-visible{outline:2px solid var(--ask-focus);outline-offset:4px;border-radius:3px}.portfolio-chat__suggestion:disabled{opacity:.5;cursor:default}.portfolio-chat [hidden]{display:none!important}.portfolio-chat.is-pending .portfolio-chat__status:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:currentColor;vertical-align:middle;animation:portfolio-pending 1.4s ease-in-out infinite}@keyframes portfolio-answer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes portfolio-pending{50%{opacity:.35}}@media(max-width:560px){.nav:has(a[href="#ask"]) .nav__est{display:none}.nav:has(a[href="#ask"]) .nav__links{width:100%;justify-content:space-between;gap:4px}.portfolio-chat__title{font-size:20px}.portfolio-chat__suggestions{gap:0 15px;margin-top:16px}.portfolio-chat__suggestion{min-height:42px;font-size:12px}.portfolio-chat__input{padding:15px 14px 8px;font-size:16px}.portfolio-chat__toolbar{padding-left:14px}.portfolio-chat__submit{min-height:42px;padding:9px 15px}.portfolio-chat__cancel{min-height:42px}.portfolio-chat__shortcut{display:none}.portfolio-chat__source,.portfolio-chat__clear{min-height:42px;display:inline-flex;align-items:center}}@media(prefers-reduced-motion:reduce){.portfolio-chat *,.portfolio-chat *:before{animation:none!important;transition:none!important}.portfolio-chat__submit:hover:not(:disabled){transform:none}}.portfolio-pet,.pet-dialog{--cjk: "Noto Sans SC", "PingFang SC", -apple-system, sans-serif;--sans: "Inter", "Noto Sans SC", -apple-system, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--fg-soft: #a7afb9;--ask-muted: #a7afb9;--ease: cubic-bezier(.22, 1, .36, 1)}.portfolio-pet *,.pet-dialog *{box-sizing:border-box}.pet-dialog :where(h2,p){margin:0}html:is([data-theme=light],[data-portfolio-bot-theme=light]) :is(.portfolio-pet,.pet-dialog){--fg-soft: #5b6573;--ask-muted: #5b6573}.hero__identity{display:flex;align-items:center;gap:5px;min-height:48px;margin:-7px 0 -3px}.hero__identity .hero__name{flex:0 0 auto}.portfolio-pet{position:relative;width:72px;height:60px;flex:0 0 72px;isolation:isolate}.portfolio-pet__button{position:relative;display:block;width:72px;height:72px;margin-top:-6px;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.portfolio-pet__canvas{position:relative;display:block;width:72px;height:72px;pointer-events:none;z-index:1}.portfolio-pet__button:focus-visible{outline:1px dashed var(--fg-soft);outline-offset:-5px;border-radius:50%}.portfolio-pet__fallback{--pet-ink: #161618;--pet-hat: #777;--pet-hat-light: #aaa;position:absolute;left:15px;top:18px;width:42px;height:42px;box-sizing:border-box;padding:0 0 2px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fff,#e9e9e7,#a2a2a0);box-shadow:0 5px 6px -5px #0003;display:flex;align-items:center;justify-content:center;gap:9px}.portfolio-pet__fallback i{width:6px;height:10px;background:var(--pet-ink);border-radius:5px}.portfolio-pet__fallback:before{content:"";position:absolute;width:40px;height:19px;left:-2px;top:-5px;border-radius:62% 58% 32% 30%;background:radial-gradient(ellipse at 30% 20%,var(--pet-hat-light),var(--pet-hat));transform:rotate(-13deg)}.portfolio-pet__fallback:after{content:"";position:absolute;width:2px;height:6px;left:13px;top:-10px;border-radius:2px;background:var(--pet-hat);transform:rotate(-13deg)}html:is([data-theme=light],[data-portfolio-bot-theme=light]) .portfolio-pet__fallback{--pet-ink: #f6f6f4;--pet-hat: #666;--pet-hat-light: #999;background:radial-gradient(circle at 30% 20%,#626265,#29292c 45%,#101012)}.portfolio-pet__button.is-pet-ready .portfolio-pet__fallback{visibility:hidden}.portfolio-pet__bubble{position:absolute;left:68px;top:0;white-space:nowrap;display:flex;align-items:center;gap:13px;min-height:35px;padding:8px 13px;color:#e9edf3;border:1px solid #ffffff20;border-radius:13px 13px 13px 3px;background:#25292f;box-shadow:0 5px 15px #00000016;font:400 11px/1.6 var(--cjk);letter-spacing:0;cursor:pointer;transform-origin:left bottom;animation:pet-hello .65s .85s both;transition:transform .2s,opacity .2s,background .2s}.portfolio-pet__bubble span{opacity:.5;font:14px/1 var(--sans)}.portfolio-pet__bubble:hover{transform:translateY(-2px)}.portfolio-pet__bubble:focus-visible{outline:2px solid var(--fg-soft);outline-offset:4px}html:is([data-theme=light],[data-portfolio-bot-theme=light]) .portfolio-pet__bubble{background:#fff;color:#303641;border-color:#dce1e8;box-shadow:0 5px 16px #1422380a}.portfolio-pet.has-met .portfolio-pet__bubble{animation:none;opacity:0;pointer-events:none;transform:translate(-3px,4px) scale(.95)}.portfolio-pet.has-met:hover .portfolio-pet__bubble,.portfolio-pet.has-met:focus-within .portfolio-pet__bubble{opacity:1;pointer-events:auto;transform:none}.portfolio-pet--floating{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:72px;height:72px;z-index:90}.portfolio-pet--floating[hidden]{display:none}.portfolio-pet--floating .portfolio-pet__button{margin:0;transition:transform .22s var(--ease)}.portfolio-pet--floating .portfolio-pet__button:hover{transform:translateY(-3px)}.portfolio-pet--floating .portfolio-pet__bubble{left:auto;right:68px;top:21px;bottom:auto;min-height:30px;padding:6px 10px;gap:8px;border-radius:12px 12px 3px;transform-origin:right bottom;font-size:10.5px}.portfolio-pet--floating.has-met .portfolio-pet__bubble{transform:translate(3px,3px) scale(.95)}.portfolio-pet--floating.has-met:hover .portfolio-pet__bubble,.portfolio-pet--floating.has-met:focus-within .portfolio-pet__bubble{transform:none}body:has(dialog[open]) .portfolio-pet--floating{visibility:hidden}.pet-dialog{position:fixed;inset:auto;width:min(426px,calc(100vw - 48px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 48px);margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;color:#eef1f5;background:#171a1f;border:1px solid #ffffff24;border-radius:23px;box-shadow:0 24px 100px #0005,0 3px 15px #0002}.pet-dialog[open]{animation:pet-panel-in .3s cubic-bezier(.22,1,.36,1) both}.pet-dialog::backdrop{background:#090e1712}.pet-dialog__body{padding:0 27px 24px}.pet-dialog__identity{position:sticky;top:0;display:flex;align-items:center;gap:7px;padding:19px 42px 17px 17px;background:inherit;z-index:3;border-bottom:1px solid #88888818}.pet-dialog__avatar{flex:0 0 72px;margin:0}.pet-dialog__identity-copy{min-width:0}.pet-dialog__eyebrow{font:400 9px/1.5 var(--cjk);color:var(--ask-muted, #89929f);letter-spacing:.04em}.pet-dialog__identity h2{font:500 19px/1.5 var(--cjk);margin:4px 0 3px;letter-spacing:-.02em}.pet-dialog__mood{font:400 10px/1.7 var(--cjk);color:var(--fg-soft);margin:0}.pet-dialog[data-phase=pending] .pet-dialog__mood:after{content:" ···";display:inline-block;letter-spacing:2px;animation:pet-thinking 1.1s ease-in-out infinite alternate}.pet-dialog .portfolio-chat__heading[hidden],.pet-dialog .portfolio-chat__intro[hidden]{display:none}.pet-dialog__close{position:absolute;right:13px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--fg-soft);font:300 25px/1 var(--sans);cursor:pointer;z-index:2}.pet-dialog__close:hover{background:#88888817}.pet-dialog__close:focus-visible{outline:2px solid var(--fg-soft);outline-offset:2px}.pet-dialog .block__label{padding-right:30px;font:400 10px/1.5 var(--mono);letter-spacing:.08em;color:var(--ask-muted)}.pet-dialog .portfolio-chat__title{margin-top:10px;font-size:21px}.pet-dialog .portfolio-chat__intro{font-size:12px;margin-top:7px}.pet-dialog .portfolio-chat__suggestions{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:18px 0 19px}.pet-dialog .portfolio-chat__suggestion{padding:8px 0;min-height:34px;font-size:12px;text-decoration:none}.pet-dialog .portfolio-chat__suggestion:before{content:"↗";display:inline-block;margin-right:9px;color:var(--ask-ink);opacity:.55}.pet-dialog .portfolio-chat__composer{border-radius:13px}.pet-dialog .portfolio-chat__input{min-height:89px;max-height:165px;resize:none;font-size:14px;padding:14px 14px 6px}.pet-dialog .portfolio-chat__submit{border-radius:20px;min-height:34px;padding:7px 14px}.pet-dialog .portfolio-chat__help{font-size:10px;line-height:1.7}.pet-dialog .portfolio-chat__shortcut{display:inline}.pet-dialog .portfolio-chat__privacy{font-size:10px}.pet-dialog .portfolio-chat__result{margin-top:20px;padding-top:18px}.pet-dialog .portfolio-chat.has-answer .portfolio-chat__intro,.pet-dialog .portfolio-chat.has-answer .portfolio-chat__suggestions{display:none}.pet-dialog .portfolio-chat.has-answer .portfolio-chat__form{margin-top:17px}.pet-dialog .portfolio-chat.has-answer .portfolio-chat__result{border-top:0;padding-top:0;margin-top:17px}.pet-dialog .portfolio-chat__answer{font-size:13px;line-height:1.9}.pet-dialog .portfolio-chat.has-answer .portfolio-chat__result{animation:pet-answer-in .32s ease-out both}html:is([data-theme=light],[data-portfolio-bot-theme=light]) .pet-dialog{background:#fbfcfe;color:#202733;border-color:#dfe4eb;box-shadow:0 24px 90px #23344f22,0 3px 12px #23344f0b}@keyframes pet-hello{0%{opacity:0;transform:translate(-5px,5px) scale(.88)}to{opacity:1;transform:none}}@keyframes pet-panel-in{0%{opacity:0;transform:translateY(7px) scale(.975)}to{opacity:1;transform:none}}@keyframes pet-thinking{0%{opacity:.25}to{opacity:1}}@keyframes pet-answer-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:600px){.portfolio-pet{width:64px;height:56px;flex-basis:64px}.portfolio-pet__button,.portfolio-pet__canvas{width:64px;height:64px}.portfolio-pet__bubble{left:28px;top:auto;bottom:51px;font-size:10.5px;gap:10px;padding:7px 11px;min-height:34px}.portfolio-pet__fallback{left:11px;top:14px}.portfolio-pet--floating{right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:64px;height:64px}.portfolio-pet--floating .portfolio-pet__bubble{right:60px;top:16px;bottom:auto;font-size:10px}.pet-dialog{width:min(426px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:21px}.pet-dialog__body{padding:0 21px 20px}.pet-dialog__identity{padding:18px 33px 16px 11px;gap:4px}.pet-dialog__avatar{flex-basis:64px}.pet-dialog__identity h2{font-size:17px}.pet-dialog__mood{font-size:9px}.pet-dialog .portfolio-chat__input{font-size:16px}.pet-dialog .portfolio-chat__submit{min-height:40px}.pet-dialog .portfolio-chat__suggestion{min-height:39px}}@media(prefers-reduced-motion:reduce){.portfolio-pet *,.pet-dialog[open],.pet-dialog *,.pet-dialog *:after{animation:none!important;transition:none!important}}
