:root{--paper:#fbf8f2;--ink:#343b31;--muted:#626b5d;--green:#52674b;--green-light:#e8edde;--border:#e6e6db;--serif:Georgia,"Times New Roman",serif;--sans:"Avenir Next",Avenir,"Segoe UI",sans-serif;--reading-size:1rem;--supporting-size:.875rem;--action-size:.9375rem}.occasion-chat-review{margin-top:12px}.chat-message .occasion-review-summary{color:var(--green);background:0 0;border-radius:0;padding:0;font-size:13px}.chat-message .occasion-chat-review .field-help{color:var(--muted);background:0 0;border-radius:0;margin:8px 0;padding:0;font-size:11px;line-height:1.5}.occasion-chat-review .text-button,.occasion-list-item .text-button{min-height:44px;font-size:12px}.occasion-list-item{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:18px 0}.occasion-list-item:last-child{border-bottom:0}.occasion-list-item h3{font-family:var(--serif);margin:0 0 8px;font-weight:400}.occasion-list-item>p{color:var(--muted);margin:0 0 10px;font-size:13px}.journey-loading{text-align:center;place-content:center;gap:20px;min-height:65vh;display:grid}.text-button{color:var(--green);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px 0;font-size:12px;font-weight:600;display:inline-flex}.text-button:disabled{opacity:.5}.account-panel{border:1px solid var(--border);background:#ffffff70;border-radius:14px;margin:20px 0}.account-bar{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;font-size:12px;display:flex}.account-bar>span{overflow-wrap:anywhere;align-items:center;gap:7px;display:flex}.account-form{border-top:1px solid var(--border);padding:20px}.account-actions{flex-shrink:0;gap:18px;display:flex}.access-dialog{border:1px solid var(--border);background:var(--paper);width:min(520px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--ink);font-size:var(--reading-size);border-radius:20px;padding:28px;box-shadow:0 24px 80px #25302230}.access-dialog::backdrop{background:#25302270}.access-heading-row{justify-content:space-between;align-items:start;gap:20px;display:flex}.access-heading-row h2{font:28px/1.25 var(--serif);margin:0}.access-heading-row .text-button{flex-shrink:0}.access-dialog.access-choice-dialog{border-radius:16px;width:min(380px,100% - 32px);padding:24px;box-shadow:0 12px 40px #25302218}.access-dialog .access-close{width:44px;height:44px;color:var(--ink);margin:-6px -10px -6px 0;padding:0}.access-options{gap:8px;margin-top:24px;display:grid}.access-options button{border:1px solid var(--green);min-height:44px;color:var(--green);font-size:var(--action-size);text-align:center;background:0 0;border-radius:9px;padding:10px 16px;font-weight:600;line-height:1.4}.access-options button:hover:not(:disabled){background:var(--green-light)}.access-options .access-primary{background:var(--green);color:var(--paper)}.access-options .access-primary:hover:not(:disabled){background:#42583b}.access-options button:disabled{opacity:.5}.access-options .access-sign-in{text-underline-offset:3px;border:0;border-radius:0;justify-self:center;padding-inline:12px;font-weight:500;text-decoration:underline}.access-options .access-sign-in:hover:not(:disabled){background:0 0}.access-dialog .account-form{border:0;padding:20px 0 0}.access-dialog .account-fields{border:0;grid-template-columns:1fr;min-width:0;margin:0;padding:0}.access-dialog .account-fields label{font-size:var(--supporting-size)}.access-dialog .account-fields input{font-size:var(--reading-size);line-height:1.5}.access-dialog .text-button,.access-dialog .meet-button{font-size:var(--action-size);min-height:44px;line-height:1.4}@media (max-width:560px){.access-dialog{padding:20px}.access-heading-row h2{font-size:24px}.account-actions{flex-wrap:wrap;gap:16px}}.usage-bar{color:var(--green);margin:0;padding:12px 20px 0;font-size:12px;line-height:1.6}.account-form>p{font-size:var(--supporting-size);margin:12px 0;line-height:1.6}.account-fields{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.account-fields label,.pet-settings label{gap:7px;font-size:12px;display:grid}.account-fields input,.pet-settings input,.pet-settings select{border:1px solid var(--border);background:var(--paper);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:9px;padding:12px;display:block}.account-fields .meet-button{width:auto;min-height:42px;margin:0;padding:12px 18px}.adoption-description{max-width:290px;color:var(--muted);text-align:center;margin:28px auto;line-height:1.8}.adoption-portrait .portrait-scene{margin-top:60px}.chat-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:24px;margin:26px 0 48px;display:grid}.companion-panel{border:1px solid var(--border);text-align:center;background:#f0ede3;border-radius:24px;padding:30px 24px}.companion-panel.dog{background:#f2eddf}.companion-portrait{place-items:center;height:190px;margin:12px auto 6px;display:grid}.companion-portrait svg{width:200px;height:200px}.companion-panel h1{font:36px var(--serif);overflow-wrap:anywhere;margin:8px 0}.companion-panel>p{color:var(--muted);font-size:12px;line-height:1.7}.companion-panel .trait-list{justify-content:center;margin-top:16px}.settings-button{margin-top:22px}.companion-panel .companion-note{margin-top:20px;font-size:11px}.pet-settings{text-align:left;border-top:1px solid #dbdccf;gap:12px;margin-top:20px;padding-top:20px;display:grid}.pet-settings .meet-button{margin:0}.chat-panel{border:1px solid var(--border);background:#fffdf8;border-radius:24px;min-width:0;overflow:hidden}.chat-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:26px 28px 22px;display:flex}.chat-heading h2{font:24px var(--serif);overflow-wrap:anywhere;margin-top:9px}.chat-presence{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:10px;display:inline-flex}.chat-messages{overscroll-behavior:contain;scroll-behavior:auto;height:min(54vh,540px);min-height:330px;padding:24px 28px;overflow-y:auto}.first-hello{text-align:center;max-width:330px;color:var(--muted);margin:50px auto}.first-hello>svg{color:var(--green);margin-bottom:18px}.first-hello h3{color:var(--ink);font:26px var(--serif)}.first-hello p{margin:16px 0;font-size:13px;line-height:1.8}.hello-suggestion{background:var(--green-light);border:1px solid #d9dfce;border-radius:20px;padding:10px 15px;font-size:12px}.chat-message{max-width:89%;margin:0 0 22px}.chat-message.user{margin-left:auto}.message-author{color:var(--muted);align-items:center;gap:5px;margin:0 2px 7px;font-size:10px;display:flex}.chat-message.user .message-author{justify-content:flex-end}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;background:#f1f2e8;border-radius:14px;padding:14px 18px;font-size:14px;line-height:1.8}.chat-message.user p{background:#f5ede1}.chat-message small{color:var(--muted);text-align:right;margin-top:7px;font-size:10px;display:block}.typing-dots{letter-spacing:3px;color:var(--green);font-size:10px}.reply-feedback{margin:0}.chat-message.with-feedback{max-width:min(100%,89% + 40px)}.reply-feedback-row{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;display:grid}.reply-feedback-row>p{min-width:0}.reply-feedback-details{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.reply-feedback-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.reply-feedback-details label{font-size:var(--supporting-size);display:block}.reply-feedback-details label span{color:var(--muted);margin-left:5px;font-size:.75rem}.reply-feedback-close{min-width:32px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:5px;place-items:center;padding:8px;display:grid}.reply-feedback-details select,.reply-feedback-details textarea{border:1px solid var(--border);width:100%;min-width:0;min-height:44px;font:var(--reading-size)/1.5 var(--sans);color:var(--ink);background:var(--paper);border-radius:7px;padding:9px 12px;display:block}.reply-feedback-details textarea{resize:vertical;min-height:80px}.reply-feedback-details textarea::placeholder{color:var(--muted)}.reply-feedback-note{margin-top:12px}.reply-feedback-note label{margin-bottom:7px}.reply-feedback-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:3px;display:flex}.reply-feedback-action{min-height:44px;color:var(--green);background:0 0;border:0;border-radius:5px;padding:9px 0;font-size:.8125rem}.reply-feedback-submit{align-items:center;gap:7px;margin-left:auto;font-weight:500;display:inline-flex}.reply-feedback-action:disabled{opacity:.65}.reply-feedback-error{color:#934333;font-size:var(--supporting-size);margin:8px 0}@media (pointer:coarse),(max-width:620px){.chat-message.with-feedback{max-width:100%}.reply-feedback-row{grid-template-columns:minmax(0,1fr) 44px;gap:6px}.reply-rating,.reply-feedback-close{min-width:44px;min-height:44px}.reply-rating[data-rating=up]{--reply-rating-icon-shift:4px;--reply-rating-marker-bottom:5px}.reply-rating[data-rating=down]{--reply-rating-icon-shift:-4px;--reply-rating-marker-bottom:13px}}.older-button{margin:0 auto 20px;display:flex}.chat-error{color:#92452e;background:#fbefe6;border-radius:10px;margin:0 28px 12px;padding:12px 16px;font-size:12px;line-height:1.6}.retry-panel{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:8px 28px 20px;font-size:12px;display:flex}.chat-composer{background:var(--paper);border:1px solid #dfe1d3;border-radius:14px;align-items:flex-end;gap:12px;margin:0 24px;padding:12px;display:flex}.chat-composer textarea{resize:vertical;width:100%;min-width:0;min-height:45px;max-height:160px;font:inherit;color:var(--ink);background:0 0;border:0;padding:4px;line-height:1.6}.chat-composer textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:5px}.chat-composer textarea:disabled{opacity:.6}.send-button{background:var(--green);color:#fff;border:0;border-radius:11px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.send-button:disabled{opacity:.35}.chat-footnote{color:var(--muted);text-align:center;padding:12px 28px 18px;font-size:10px;line-height:1.6}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:800px){.chat-layout{grid-template-columns:210px minmax(0,1fr);gap:16px}.companion-panel{padding:24px 16px}.account-fields{grid-template-columns:1fr 1fr}.account-fields .meet-button{grid-column:1/-1}.chat-presence{display:none}}@media (max-width:700px){.account-bar{align-items:flex-start;padding:12px 14px;font-size:11px}.account-bar .text-button{text-align:right;flex-shrink:0;max-width:140px;padding:0}.account-fields{grid-template-columns:1fr}.account-fields input{font-size:16px}.chat-layout{flex-direction:column;gap:16px;margin-top:16px;display:flex}.companion-panel{text-align:left;width:100%;min-height:132px;padding:16px 20px;position:relative}.companion-panel>.section-kicker,.companion-note{display:none}.companion-portrait{width:100px;height:100px;margin:0;position:absolute;top:10px;right:10px}.companion-portrait svg{width:112px;height:112px}.companion-panel h1{max-width:calc(100% - 95px);font-size:28px}.companion-panel>p{max-width:calc(100% - 95px);font-size:11px}.companion-panel .trait-list{justify-content:flex-start;margin-top:10px}.settings-button{margin-top:8px;padding-bottom:0}.chat-panel{border-radius:18px;width:100%}.chat-heading{padding:20px}.chat-heading h2{font-size:21px}.chat-messages{height:48vh;min-height:300px;padding:20px 16px}.chat-message{max-width:96%}.chat-message p{padding:12px 15px;font-size:13px}.chat-composer{margin:0 12px}.chat-composer textarea{font-size:16px}.chat-footnote{padding-left:18px;padding-right:18px}.chat-error{margin-left:16px;margin-right:16px}.retry-panel{padding-left:16px;padding-right:16px}.adoption-portrait .portrait-scene{margin-top:20px}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #6a7c53}a{color:inherit;text-decoration:none}button{color:inherit}p,h1,h2,h3{margin:0}.pet-app{max-width:1200px;margin:auto;padding:0 48px}.site-header{border-bottom:1px solid var(--border);align-items:center;gap:32px;height:94px;display:flex}.brand{flex-shrink:0;align-items:center;display:inline-flex}.brand-logo{width:211px;height:48px;display:block}.brand-beta{color:var(--green);font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-left:8px;font-size:10px;font-weight:600;line-height:1}.header-link{color:#606758;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.prototype-badge{letter-spacing:.2px;color:var(--green);border:1px solid #d9decd;border-radius:99px;padding:8px 13px;font-size:10px}.hero{text-align:center;padding:58px 0 43px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--green);justify-content:center;align-items:center;gap:9px;margin-bottom:20px;font-size:10px;display:flex}.small-spark{font-size:17px}h1{font-family:var(--serif);letter-spacing:-2.4px;font-size:clamp(42px,5.8vw,66px);font-weight:400;line-height:1.08}h1>span{color:var(--green);font-style:italic}.hero>p{color:var(--muted);margin-top:19px;font-size:14px;line-height:1.8}.beta-free-notice{text-align:center;font-size:var(--supporting-size);color:var(--muted);padding:20px 0;line-height:1.6}.beta-information-link,.beta-adopt-link{justify-content:center;align-items:center;gap:7px;display:inline-flex}.beta-information-link{min-height:44px;color:var(--green);background:0 0;border:0;padding:6px 0;font-size:11px}.beta-information-link:hover{text-underline-offset:4px;text-decoration:underline}.beta-dialog{border:1px solid var(--border);background:var(--paper);width:min(900px,100% - 48px);max-height:calc(100dvh - 48px);color:var(--ink);border-radius:24px;padding:0;overflow:hidden;box-shadow:0 24px 90px #25302240}.beta-dialog[open]{flex-direction:column;display:flex}.beta-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#25302270}.beta-dialog-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px 18px;display:flex}.beta-dialog-header h2{font:30px/1.2 var(--serif);letter-spacing:-.5px;margin-top:8px}.beta-dialog-header .section-kicker{font-size:var(--supporting-size);letter-spacing:1px;line-height:1.5}.beta-dialog-close{border:1px solid var(--border);min-height:44px;color:var(--green);font-size:var(--action-size);background:#fffdf8;border-radius:99px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.beta-dialog-close:hover{background:var(--green-light)}.beta-dialog-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:24px;padding:0 30px;display:flex}.beta-dialog-tabs button{min-height:44px;color:var(--muted);font-size:var(--action-size);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 2px}.beta-dialog-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:600}.beta-dialog-tabs button:focus-visible{outline-offset:-4px}.beta-dialog-body{overscroll-behavior:contain;min-height:0;padding:24px 30px 28px;overflow-y:auto}.beta-dialog-body:focus-visible{outline:2px solid var(--green);outline-offset:-4px}.beta-information{margin:0}.beta-intro{text-align:center;margin-bottom:26px}.beta-intro h3{font:30px var(--serif);letter-spacing:-.5px;margin:0 0 10px}.beta-intro>p{color:var(--muted);font-size:var(--reading-size);line-height:1.7}.beta-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.beta-plan{border:1px solid var(--border);background:#fffdf8;border-radius:22px;padding:24px}.beta-plan-current{border-color:#cbd5bd}.beta-plan-future{background:#f2f1e9}.beta-plan-label{background:var(--green-light);color:var(--green);font-size:var(--supporting-size);letter-spacing:.3px;border-radius:20px;padding:6px 10px;display:inline-block}.beta-plan-future .beta-plan-label{color:var(--ink);background:#e7e6dd}.beta-plan h3{font:23px var(--serif);margin-top:16px}.beta-plan-price{color:var(--green);font:40px var(--serif);letter-spacing:-1px;margin-top:18px}.beta-plan-price>span{font:var(--supporting-size)/1.6 var(--sans);letter-spacing:0;color:var(--muted);margin-top:8px;display:block}.beta-plan-price>.beta-price-qualifier{color:var(--green);margin:0 0 5px}.beta-features{font-size:var(--reading-size);gap:10px;margin:20px 0;padding:0;line-height:1.7;list-style:none;display:grid}.beta-features li{align-items:flex-start;gap:10px;display:flex}.beta-features svg{color:var(--green);flex-shrink:0;margin-top:3px}.beta-future-description{font-size:var(--reading-size);margin:26px 0 20px;line-height:1.8}.beta-plan-note,.beta-launch-note{font-size:var(--supporting-size);color:var(--muted);line-height:1.8}.beta-adopt-link{color:var(--green);font-size:var(--action-size);margin-top:22px;font-weight:600}.beta-choice-note{font-size:var(--supporting-size);color:var(--green);margin-top:22px}.beta-launch-note{text-align:center;max-width:620px;margin:18px auto 0}.beta-faq{margin:0}.beta-faq h3{font:25px var(--serif);margin-bottom:18px}.beta-faq details{border-bottom:1px solid var(--border);padding:16px 0}.beta-faq summary{cursor:pointer;font-size:var(--reading-size);line-height:1.6}.beta-faq summary:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:3px}.beta-faq details p{font-size:var(--reading-size);color:var(--muted);margin-top:12px;line-height:1.8}.account-form>.beta-registration-notice{background:var(--green-light);color:var(--green);font-size:var(--supporting-size);border-radius:10px;padding:12px 14px}@media (max-width:700px){.beta-dialog{border-radius:20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.beta-dialog-header{gap:12px;padding:20px 20px 14px}.beta-dialog-header h2{font-size:25px}.beta-dialog-tabs{padding:0 20px}.beta-dialog-body{padding:22px 20px}.beta-plan-grid{grid-template-columns:1fr;gap:14px}.beta-plan{border-radius:18px;padding:24px 22px}.beta-intro h3{font-size:26px}}.character-adoption,.character-gallery{scroll-margin-top:24px}.character-gallery{margin:36px 0 24px}.character-gallery-intro{text-align:center;max-width:570px;margin:0 auto 26px}.character-gallery-intro h2{font:36px var(--serif);letter-spacing:-.8px;margin:10px 0}.character-gallery-intro p{color:var(--muted);font-size:13px;line-height:1.8}.featured-characters{margin:36px 0 24px}.featured-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:800px;margin:0 auto;display:grid}.character-card.featured-character-card{padding:8px 24px 24px}.featured-character-summary{font-size:var(--reading-size);color:var(--muted);margin:8px 0 20px;line-height:1.7}.featured-character-card .character-card-action{border:1px solid var(--border);background:var(--paper);width:100%;min-height:44px;color:var(--green);font-size:var(--action-size);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-weight:500;line-height:1.4;display:flex}.character-card-action:hover:not(:disabled){background:var(--green-light);border-color:#879776}.character-card-action:disabled{opacity:.6}.character-card{border:1px solid var(--border);text-align:center;background:#fffdf8;border-radius:22px;flex-direction:column;align-items:center;min-width:0;padding:20px 18px;display:flex;position:relative}.character-card.selected{background:#f2f5eb;border-color:#879776}.character-card .pet-illustration{width:260px;max-width:100%;height:196px;margin:0}.character-card>h3{font:32px/1.2 var(--serif);letter-spacing:-.8px}.character-experience{grid-template-columns:1fr 1fr;margin-top:26px;scroll-margin-top:24px}.character-experience:focus-visible{outline:2px solid var(--green);outline-offset:4px}.character-experience .character-meeting{border-right:0;border-left:1px solid var(--border);flex-direction:column;justify-content:center;display:flex}.character-portrait .portrait-scene{margin-top:18px}.character-portrait .adoption-description{margin-bottom:4px}.character-quirk{color:var(--muted);margin-top:20px;font-size:13px;line-height:1.8}.character-settings p{color:var(--muted);font-size:12px;line-height:1.8}@media (max-width:700px){.featured-character-grid{gap:10px}.character-gallery-intro h2{font-size:30px}.character-experience{grid-template-columns:1fr}.character-experience .character-meeting{border-left:0;border-top:1px solid var(--border)}}@media (max-width:620px){.featured-character-grid{grid-template-columns:1fr;gap:14px}.character-card.featured-character-card{padding:4px 18px 18px}.character-card .pet-illustration{height:160px}.character-card>h3{font-size:28px}}.experience{border:1px solid var(--border);background:#fffdfa;border-radius:23px;grid-template-columns:.88fr 1.12fr;display:grid;overflow:hidden;box-shadow:0 12px 40px #343b3105}.preview-loading{text-align:center;color:var(--muted);grid-column:1/-1;padding:160px 20px}.adoption-panel{border-right:1px solid var(--border);padding:32px 34px 28px}.section-kicker{letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);font-size:9px}.panel-heading h2{font-family:var(--serif);letter-spacing:-.6px;margin:9px 0;font-size:27px;font-weight:400}.panel-heading p{color:var(--muted);font-size:12px}.form-section{border:0;min-width:0;margin:26px 0 0;padding:0}.form-section legend,.field-label{align-items:center;gap:9px;margin-bottom:13px;padding:0;font-size:12px;font-weight:600;display:flex}.step-number{border:1px solid var(--border);width:21px;height:21px;color:var(--muted);border-radius:50%;place-items:center;font-size:10px;font-weight:500;display:grid}.species-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.species-card{border:1px solid var(--border);background:#fffdf9;border-radius:12px;flex-direction:column;align-items:center;min-width:0;padding:11px 7px 14px;transition:background .16s,border-color .16s;display:flex;position:relative}.species-card:hover:not(:disabled){background:#f7f7ef}.species-card.selected{background:#f2f5eb;border-color:#879776;box-shadow:inset 0 0 0 1px #879776}.species-card:disabled{opacity:.5}.selection-dot{background:#fffefa;border:1px solid #d9dfce;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:10px;right:10px}.selected .selection-dot{background:var(--green);color:#fff;border-color:var(--green)}.pet-illustration{width:100%;height:100%}.pet-illustration-small{width:110px;height:83px;margin:0 0 5px}.species-card strong{font-size:13px;font-weight:600}.species-card>span:last-child{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}#pet-name{width:100%;color:var(--ink);background:#fffefa;border:1px solid #dedfd3;border-radius:9px;padding:13px 14px;font-size:14px;display:block}#pet-name[aria-invalid=true]{border-color:#a94e3e}.field-help,.field-error{margin-top:7px;font-size:10px;line-height:1.6}.field-help{color:var(--muted)}.field-error{color:#934333}.temperament-options{flex-direction:column;gap:8px;display:flex}.temperament-option{text-align:left;border:1px solid var(--border);background:#fffefa;border-radius:9px;align-items:center;gap:11px;width:100%;padding:11px 12px;transition:background .16s,border-color .16s;display:flex}.temperament-option:hover{background:#f6f7f0}.temperament-option.selected{background:#f1f4e9;border-color:#acb799}.temperament-icon{color:#6c7e59;background:#f0f2e7;border-radius:7px;place-items:center;width:27px;height:27px;display:grid}.temperament-option strong{margin-bottom:3px;font-size:11px;font-weight:600;display:block}.temperament-option small{color:var(--muted);font-size:10px}.option-radio{border:1px solid #bcc6ae;border-radius:50%;place-items:center;width:15px;height:15px;margin-left:auto;display:grid}.option-radio>span{background:var(--green);border-radius:50%;width:7px;height:7px}.meet-button{background:var(--green);color:#fffef6;overflow-wrap:anywhere;text-align:left;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:24px;padding:14px 16px;font-size:12px;font-weight:500;display:flex}.meet-button>span{flex-shrink:0}.meet-button:hover:not(:disabled){background:#42583b}.meet-button:disabled{color:#52674b;background:#e5ebdc}.local-note{color:var(--muted);text-align:center;margin-top:10px;font-size:9px}.save-notice{overflow-wrap:anywhere;background:#f1f4e9;border-radius:8px;margin-top:13px;padding:10px 12px;font-size:11px;line-height:1.6}.reset-button{color:var(--green);text-underline-offset:4px;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin:15px auto 0;padding:4px;font-size:10px;text-decoration:underline;display:flex}.personality-panel{background:#f8f7ee;flex-direction:column;min-width:0;padding:28px 33px 23px;display:flex}.preview-topline{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}.preview-topline .section-kicker{letter-spacing:1.3px;margin-right:auto}.presence-dot{background:#8b9a79;border-radius:50%;flex-shrink:0;width:5px;height:5px}.portrait-scene{text-align:center;height:239px;padding-top:7px;position:relative}.portrait-scene .pet-illustration{max-width:320px;height:217px}.portrait-caption{font-family:var(--serif);color:#8c8879;margin-top:-6px;font-size:12px;font-style:italic;display:block}.pet-introduction{text-align:center;padding:10px 0 25px}.pet-introduction h2{font-family:var(--serif);letter-spacing:-.6px;overflow-wrap:anywhere;font-size:30px;font-weight:400}.pet-introduction h2 span{color:var(--green)}.pet-introduction p{color:var(--muted);margin-top:9px;font-size:11px}.trait-list{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:13px;display:flex}.trait-list span{color:#747b68;border:1px solid #e0e1d3;border-radius:99px;padding:4px 10px;font-size:9px}.conversation-preview{background:#fffdf6;border:1px solid #e2e2d5;border-radius:13px;flex:1;padding:18px}.conversation-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.conversation-heading h3{font-size:12px;font-weight:500}.conversation-heading>span{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-size:8px}.scenario-options{flex-wrap:wrap;gap:5px;margin:13px 0 20px;display:flex}.scenario-options button{color:var(--muted);background:0 0;border:1px solid #e7e7db;border-radius:6px;padding:6px 8px;font-size:9px}.scenario-options button:hover{background:#f2f4e9}.scenario-options button.active{color:#53684b;background:#eaf0df;border-color:#d2dcc3}.preview-dialogue{flex-direction:column;gap:16px;display:flex}.user-message{text-align:right;margin-left:35px}.user-message>span,.pet-message>span{color:#818371;align-items:center;gap:5px;margin-bottom:6px;font-size:9px;display:flex}.user-message>span{justify-content:flex-end}.user-message p{background:#eeeee3;border-radius:10px 10px 2px;padding:10px 12px;font-size:12px;line-height:1.65;display:inline-block}.pet-message{margin-right:16px}.pet-message>span{color:var(--green);overflow-wrap:anywhere}.pet-message p{padding:0 4px;font-size:12px;line-height:1.8}.scenario-context{color:#858675;border-top:1px dashed #dedfd0;margin-top:18px;padding-top:12px;font-size:9px;line-height:1.7}.preview-disclosure{color:var(--muted);text-align:center;margin-top:13px;font-size:9px;line-height:1.6}.the-idea{padding:58px 0 42px}.idea-intro{text-align:center;max-width:560px;margin:auto}.idea-intro h2{font-family:var(--serif);letter-spacing:-.6px;margin:12px 0;font-size:31px;font-weight:400}.idea-intro>p{color:var(--muted);font-size:12px;line-height:1.8}.idea-cards{grid-template-columns:repeat(3,1fr);gap:35px;margin-top:30px;display:grid}.idea-cards article{grid-template-columns:36px 1fr;column-gap:12px;display:grid}.idea-icon{color:#81906e;background:#eeefe3;border-radius:50%;grid-row:span 2;place-items:center;width:35px;height:35px;display:grid}.idea-cards h3{margin:3px 0 6px;font-size:12px;font-weight:500}.idea-cards p{color:var(--muted);font-size:10px;line-height:1.8}.site-footer{border-top:1px solid var(--border);color:#898b7b;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 28px;font-size:9px;display:flex}.site-footer>span:first-child{align-items:center;gap:7px;display:flex}.portrait-scene .pet-tail{transform-origin:230px 221px;animation:5s ease-in-out infinite tail-sway}.portrait-scene .pet-eyes{transform-origin:180px 115px;animation:7s infinite blink}@keyframes tail-sway{0%,80%,to{transform:rotate(0)}88%{transform:rotate(-7deg)}94%{transform:rotate(3deg)}}@keyframes blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.15)}}@media (min-width:1400px){.hero{padding-top:70px;padding-bottom:48px}}@media (max-width:920px){.pet-app{padding:0 26px}.adoption-panel{padding:27px 24px}.personality-panel{padding:27px 23px 23px}.panel-heading h2{font-size:24px}.species-card>span:last-child{font-size:8px}.preview-topline{flex-wrap:wrap}.preview-topline .section-kicker{width:100%;margin-bottom:4px}.conversation-heading{flex-wrap:wrap;gap:5px}.idea-cards{gap:20px}}@media (max-width:700px){.pet-app{padding:0 18px}.site-header{gap:10px;height:77px}.brand-logo{width:164px;height:auto}.header-link{display:none}.prototype-badge{margin-left:auto;padding:7px 10px;font-size:9px}.hero{padding:40px 0 29px}.eyebrow{letter-spacing:1.3px;margin-bottom:17px;font-size:8px}h1{letter-spacing:-1.8px;font-size:46px}.hero>p{margin-top:17px;font-size:12px}.desktop-break{display:none}.experience{border-radius:18px;grid-template-columns:1fr}.adoption-panel{border-right:0;border-bottom:1px solid var(--border);padding:27px 22px 25px}.panel-heading h2{font-size:27px}.species-card>span:last-child{font-size:10px}.species-card{padding-bottom:16px}.pet-illustration-small{width:125px;height:94px}.personality-panel{padding:23px 20px}.preview-topline{flex-wrap:nowrap}.preview-topline .section-kicker{width:auto;margin-bottom:0}.conversation-heading{flex-wrap:nowrap}.scenario-options button{padding:7px 8px;font-size:9px}.the-idea{padding:40px 4px 34px}.idea-intro h2{font-size:28px}.idea-intro>p{font-size:11px}.idea-cards{grid-template-columns:1fr;gap:22px;padding:0 15px}.idea-cards h3{font-size:13px}.idea-cards p{font-size:11px}.site-footer{text-align:center;flex-direction:column;gap:12px;padding-top:19px}}@media (max-width:360px){.pet-app{padding:0 12px}.prototype-badge{font-size:8px}h1{font-size:40px}.adoption-panel{padding:24px 17px}.species-card>span:last-child{font-size:9px}.preview-topline .section-kicker{letter-spacing:.7px;font-size:8px}}.scrapbook{border:1px solid var(--border);background:#fffdf7;border-radius:16px;grid-column:1/-1;width:100%;min-width:0;overflow:hidden}.occasion-form{border:1px solid var(--border);background:var(--paper);border-radius:16px;max-width:560px;margin:18px 0;padding:20px}.occasion-form h3,.important-dates .memory-card h3{font-family:var(--serif);margin:0 0 12px;font-size:22px;font-weight:400}.occasion-form label{gap:7px;margin-top:12px;display:grid}.occasion-form input,.occasion-form select,.occasion-form textarea{border:1px solid var(--border);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:11px 12px}.occasion-date-fields{grid-template-columns:2fr 1fr;gap:12px;display:grid}.occasion-add{margin:0 0 18px}.occasion-date{font-weight:500}.occasion-preview{border:1px dashed var(--border);border-radius:12px;margin:18px 0;padding:18px}.occasion-preview p{line-height:1.7}.occasion-message-label,.greeting-progress{color:var(--muted);font-size:12px}.greeting-progress{padding:0 24px}.scrapbook-toggle{width:100%;color:var(--green);text-align:left;background:0 0;border:0;align-items:center;gap:14px;padding:20px 24px;display:flex}.scrapbook-toggle strong{font:22px var(--serif);color:var(--ink);display:block}.scrapbook-toggle small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.scrapbook-toggle-label{margin-left:auto;font-size:12px}.scrapbook-pages{border-top:1px solid var(--border);padding:24px}.scrapbook-intro{max-width:640px;font-size:13px;line-height:1.7}.scrapbook-disclosure,.scrapbook-capacity{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.7}.scrapbook-empty{text-align:center;color:var(--muted);padding:32px 14px}.scrapbook-empty h3{font:23px var(--serif);color:var(--ink);margin:12px 0}.scrapbook-empty p{max-width:440px;margin:auto;font-size:12px;line-height:1.8}.memory-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.memory-card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:20px}.memory-card.suggested{background:#faf7ee;border-style:dashed}.memory-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.memory-state{color:var(--muted);font-size:10px}.memory-text{font:18px/1.6 var(--serif);overflow-wrap:anywhere;margin:16px 0}.memory-private,.memory-expiry{color:var(--muted);margin:8px 0;font-size:11px;line-height:1.7}.memory-actions{flex-wrap:wrap;gap:14px;margin-top:16px;display:flex}.memory-actions .text-button{font-size:11px}.forget-button{color:#934333}.memory-sources{margin-top:15px;font-size:11px}.memory-sources summary{cursor:pointer;color:var(--green)}.memory-sources blockquote{border-left:2px solid var(--border);background:var(--paper);overflow-wrap:anywhere;margin:12px 0 0;padding:10px 12px}.memory-sources blockquote span{color:var(--muted);font-size:9px}.memory-sources blockquote p{margin-top:5px;line-height:1.7}.memory-edit label{margin:16px 0 8px;font-size:12px;display:block}.memory-edit textarea{resize:vertical;border:1px solid var(--border);background:var(--paper);width:100%;color:var(--ink);font:13px/1.7 var(--sans);border-radius:7px;padding:10px}.memory-edit .memory-privacy-control{align-items:center;gap:8px;font-size:11px;line-height:1.7;display:flex}.memory-edit input[type=date]{border:1px solid var(--border);background:var(--paper);color:var(--ink);font-family:var(--sans);border-radius:6px;padding:8px;display:block}.memory-forget{border-top:1px solid var(--border);margin-top:14px;padding-top:12px;font-size:11px;line-height:1.7}.memory-forget button{margin-top:10px}.memory-pending{background:var(--green-light);border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;font-size:11px;line-height:1.7;display:flex}.memory-more{margin-top:20px}@media (max-width:700px){.scrapbook-toggle,.scrapbook-pages{padding:18px}.scrapbook-toggle strong{font-size:20px}.memory-cards{grid-template-columns:1fr}}.landing-app{flex-direction:column;max-width:none;min-height:100svh;padding-inline:clamp(24px,4vw,56px);display:flex}.landing-app .site-header{border-bottom:0;flex-shrink:0;height:88px}.landing-app .brand-logo{width:160px;height:auto}.landing-sign-in{min-height:44px;font-size:var(--action-size);margin-left:auto}.landing-app .hero{padding:0 0 48px}.landing-app .hero h1{letter-spacing:-.8px;font-size:48px;line-height:1.2}.landing-app .hero .landing-benefit{max-width:490px;color:var(--muted);margin:16px auto 0;font-size:17px;line-height:1.6}.landing-app>main{flex-direction:column;flex:1;justify-content:center;padding-block:24px 64px;display:flex}.landing-app .featured-characters{margin:0}.minimal-gallery .featured-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,6vw,80px);max-width:600px}.minimal-gallery .character-card.featured-character-card{background:0 0;border:0;border-radius:0;padding:0}.pet-choice{width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;padding:8px;display:flex}.minimal-gallery .pet-choice .pet-illustration{width:220px;max-width:100%;height:220px;margin:0}.pet-choice-name{font:32px/1.3 var(--serif);white-space:nowrap;text-underline-offset:5px;justify-content:center;align-items:center;gap:8px;margin-top:12px;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.pet-choice-name svg{flex-shrink:0}.pet-choice:hover .pet-choice-name,.pet-choice[aria-expanded=true] .pet-choice-name{color:var(--green)}.pet-choice:disabled{opacity:.5}.landing-notice{color:var(--muted);text-align:left;margin:0;font-size:14px;line-height:1.6}.landing-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding-block:12px 20px;display:flex}.landing-about{position:relative}.landing-about>summary{min-height:44px;color:var(--green);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding-inline:4px;font-size:14px;list-style:none;display:flex}.landing-about>summary::-webkit-details-marker{display:none}.landing-about>summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}.landing-about[open]>summary svg{transform:rotate(180deg)}.landing-about-links{z-index:3;border:1px solid var(--border);background:var(--paper);border-radius:12px;width:260px;max-width:calc(100vw - 48px);max-height:calc(100svh - 120px);padding:12px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 28px #25302218}.landing-about-links .trust-links{gap:0;display:grid}.landing-about-links a,.landing-about-links button{min-height:44px;color:var(--green);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;padding:8px 12px;font-size:14px;line-height:1.5;display:flex}.landing-about-links a:hover,.landing-about-links button:hover{background:var(--green-light)}.landing-sample{background:#fffdf8;border:1px solid #d9dfd1;border-radius:20px;width:100%;max-width:760px;margin:44px auto 0;padding:24px 28px 28px;box-shadow:0 4px 18px #343b3104}.landing-sample-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.landing-sample h2{color:var(--green);font:600 14px/1.6 var(--sans);letter-spacing:0;margin:0}.landing-sample-close{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:8px;display:grid}.landing-sample-dialogue{flex-direction:column;gap:22px;display:flex}.landing-sample-dialogue>div{border-radius:16px;padding:15px 18px}.landing-sample-dialogue span{color:var(--green);margin-bottom:6px;font-size:13px;line-height:1.5;display:block}.landing-sample-dialogue p{font-size:var(--reading-size);line-height:1.7}.landing-sample-user{background:#f0ecdf;align-self:flex-end;max-width:90%}.landing-sample-dialogue>.landing-sample-pet{background:0 0;border-radius:0;padding:0}.landing-sample-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.landing-adopt-action{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.landing-adopt-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.landing-sample-actions .meet-button{width:auto;min-height:44px;font-size:var(--action-size);margin:0;padding:11px 22px;line-height:1.4}@media (max-width:620px){.landing-app .site-header{height:72px}.landing-app .brand-logo{width:105px}.landing-app .landing-sign-in{font-size:13px}.landing-app .hero{padding-bottom:40px}.landing-app .hero h1{letter-spacing:-.6px;font-size:clamp(26px,7.6vw,30px)}.landing-app .hero .landing-benefit{max-width:300px;margin-top:12px;font-size:15px;line-height:1.6}.minimal-gallery .pet-choice .pet-illustration{aspect-ratio:1;width:140px;height:auto}.pet-choice{padding-inline:0}.pet-choice-name{gap:5px;font-size:20px}.landing-adopt-note,.landing-notice{font-size:11px}.landing-footer{gap:12px}.landing-about>summary{white-space:nowrap;font-size:12px}.landing-sample{border-radius:18px;margin-top:32px;padding:16px 20px 22px}.landing-sample-heading{margin-bottom:14px}.landing-sample-user{max-width:94%}.landing-sample-dialogue>.landing-sample-user{padding:12px 14px}.landing-sample-dialogue p{font-size:15px;line-height:1.75}.landing-sample-actions,.landing-adopt-action{width:100%}.landing-sample-actions .meet-button{justify-content:center;width:100%;min-height:48px}.landing-adopt-note{align-self:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.trust-footer{color:var(--muted);flex-wrap:wrap;font-size:.875rem}.trust-links{flex-wrap:wrap;gap:8px 20px;font-size:.875rem;line-height:1.6;display:flex}.trust-links a{color:var(--green);text-underline-offset:3px;padding:6px 0}.adult-disclosure{color:var(--muted);margin:12px 0;font-size:.875rem;line-height:1.6}.character-adoption>.adult-disclosure{text-align:center;margin:0 0 16px}.legal-document{overflow-wrap:anywhere;max-width:72ch;margin:24px auto 64px;font-size:1rem;line-height:1.8}.legal-app .header-link{display:inline-flex}.legal-document h1{font-family:var(--serif);margin:14px 0;font-size:clamp(2rem,6vw,3rem);line-height:1.2}.legal-document h2{font-family:var(--serif);margin:32px 0 12px;scroll-margin-top:24px;font-size:1.5rem;line-height:1.4}.legal-document p,.legal-document ul{margin:12px 0}.legal-document ul{padding-left:24px}.legal-document li{margin:10px 0}.legal-document a,.consent-fields a,.chat-footnote a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.legal-eyebrow,.legal-updated{color:var(--muted);font-size:.875rem}.legal-contents{border-block:1px solid var(--border);margin:24px 0;padding:12px 0}.legal-contents ul{columns:2;column-gap:32px}.legal-contents li{break-inside:avoid}.consent-fields{border:1px solid var(--border);border-radius:14px;min-width:0;margin:20px 0;padding:16px;font-size:1rem;line-height:1.65}.access-dialog .access-heading-row{z-index:2;background:var(--paper);padding:12px 0;position:sticky;top:0}.consent-fields legend{padding:0 5px;font-size:1rem;font-weight:600}.consent-fields p{margin:0 0 16px}.consent-fields label{cursor:pointer;align-items:flex-start;gap:12px;margin:16px 0;font-size:1rem;line-height:1.65;display:flex}.consent-fields input[type=checkbox]{width:22px;height:22px;accent-color:var(--green);flex:0 0 22px;margin:3px 0 0}.consent-fields span{overflow-wrap:anywhere;min-width:0}.consent-fields.consent-fields-compact{border:0;border-radius:0;margin:20px 0 24px;padding:0}.consent-fields-compact label{gap:12px;margin:0 0 16px;font-size:.875rem;line-height:1.5}.consent-fields-compact label:last-child{margin-bottom:0}.consent-fields-compact input[type=checkbox]{flex-basis:18px;width:18px;height:18px;margin-top:2px}.access-choice-dialog .access-heading-row{padding:0;position:static}.access-choice-dialog .access-heading-row h2{font-size:26px}.chat-footnote{font-size:.875rem;line-height:1.6}.skip-link{z-index:100;background:var(--paper);padding:12px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}@media (max-width:620px){.legal-contents ul{columns:1}.consent-fields{padding:12px}.trust-footer{align-items:flex-start;gap:12px}}.recovery-page{min-height:100vh;padding:1rem}.recovery-page .site-header{max-width:72rem;margin:0 auto}.recovery-panel{border:1px solid var(--border);background:var(--paper);border-radius:1.25rem;max-width:34rem;margin:2rem auto;padding:1.5rem;font-size:1rem;line-height:1.6}.recovery-panel h1{font-size:1.75rem;line-height:1.2}.recovery-panel .account-form{margin-block:1.5rem}.recovery-panel .trust-links{margin-top:2rem}.recovery-panel input{width:100%;min-width:0;font-size:1rem}.recovery-panel .field-help{font-size:.875rem}@media (max-width:400px){.recovery-panel{padding:1rem}}.recovery-panel .text-button{min-height:44px;font-size:.9375rem}.analytics-settings{margin-block:.75rem;font-size:.875rem}.analytics-settings summary{cursor:pointer;min-height:44px;color:var(--green);padding-block:.5rem}.analytics-choice{max-width:42rem}.analytics-choice p{font-size:.875rem;line-height:1.6}.analytics-choice input{flex-shrink:0}.pet-app.chat-app{flex-direction:column;max-width:none;height:100dvh;padding:0;display:flex}.chat-app>main{flex-direction:column;flex:1;min-height:0;display:flex}.chat-app .account-dialog-only{display:contents}.chat-app .chat-layout{flex-direction:column;flex:1;align-items:stretch;gap:0;min-height:0;margin:0;display:flex}.chat-header{flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:88px;padding:12px 40px;display:grid}.chat-brand .brand-logo{width:150px;height:auto}.chat-identity{align-items:center;gap:12px;min-width:0;display:flex}.chat-identity>div{min-width:0}.chat-identity h1{font:600 18px/1.3 var(--sans);letter-spacing:0;overflow-wrap:anywhere}.chat-identity p{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.4}.chat-avatar{background:#f2e8d9;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.chat-avatar .pet-illustration{width:100%;height:100%;margin:0}.chat-header-actions{justify-self:end;align-items:center;gap:12px;display:flex}.chat-menu>summary{min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:14px;display:flex}.chat-menu{position:relative}.chat-menu>summary{list-style:none}.chat-menu>summary::-webkit-details-marker{display:none}.chat-menu>summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}.chat-menu-panel{z-index:5;border:1px solid var(--border);background:var(--paper);border-radius:14px;width:280px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 10px 30px #25302215}.chat-menu-panel>button,.chat-menu-panel>a{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;width:100%;min-height:44px;padding:8px 12px;font-size:14px;display:flex}.chat-menu-panel>button:hover:not(:disabled),.chat-menu-panel>a:hover{background:var(--green-light)}.chat-menu-panel>button:disabled{opacity:.5}.chat-menu-note{border-top:1px solid var(--border);color:var(--muted);margin-top:8px;padding:12px;font-size:13px;line-height:1.6}.chat-menu-note a{min-height:44px;color:var(--green);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.chat-app .chat-panel{background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex}.chat-app .chat-messages{flex:1;width:100%;max-width:808px;height:auto;min-height:0;margin:0 auto;padding:48px 24px 24px}.chat-app .chat-message,.chat-app .chat-message.with-feedback{max-width:100%;margin-bottom:32px}.chat-app .chat-message.user{width:fit-content;max-width:85%}.chat-app .chat-message p{font-size:16px;line-height:1.65}.chat-app .chat-message.assistant .reply-feedback-row>p,.chat-app .chat-message.assistant>p{background:0 0;border-radius:0;padding:0}.chat-app .chat-message.user p{background:#f5ede1;border-radius:18px;padding:14px 18px}.reply-feedback{position:relative}.reply-feedback-row{grid-template-columns:minmax(0,1fr) 44px;align-items:start}.reply-feedback-trigger{width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;margin-top:-8px;padding:8px;display:grid}.reply-feedback-trigger:hover{color:var(--green);background:var(--green-light)}.reply-feedback-toast{color:var(--muted);font-size:12px;line-height:1.6;position:absolute;top:100%;left:0}@media (min-width:701px) and (hover:hover) and (pointer:fine){.reply-feedback-trigger{opacity:0}.chat-message:hover .reply-feedback-trigger,.reply-feedback:focus-within .reply-feedback-trigger,.reply-feedback-trigger[aria-expanded=true]{opacity:1}}.chat-allowance{text-align:right;width:calc(100% - 48px);max-width:760px;color:var(--muted);margin:4px auto 8px;font-size:12px;line-height:1.5}.chat-app .chat-composer{width:calc(100% - 48px);max-width:760px;margin:0 auto max(24px,env(safe-area-inset-bottom));background:0 0;border-radius:18px;flex-shrink:0;padding:8px 10px;position:static}.chat-app .chat-composer textarea{min-height:36px;max-height:120px;padding:6px 8px;font-size:16px;line-height:1.5}.chat-app .send-button{border-radius:50%;width:36px;height:36px}.chat-app .chat-error,.chat-app .retry-panel,.chat-app .greeting-progress{flex-shrink:0;width:calc(100% - 48px);max-width:760px;margin:8px auto}.chat-dialog{border:1px solid var(--border);background:var(--paper);width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:16px;padding:24px;font-size:14px;line-height:1.6;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #25302220}.chat-dialog::backdrop{background:#25302230}.chat-dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.chat-dialog-heading h2{font:24px/1.3 var(--serif)}.chat-dialog-heading>button{min-width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:8px;display:grid}.chat-tools-dialog{width:min(520px,100% - 32px);height:calc(100dvh - 32px);margin:0;inset:16px 16px 16px auto}.chat-tools-dialog .companion-panel{text-align:center;background:0 0;border:0;padding:0;position:static}.chat-tools-dialog .companion-portrait{width:180px;height:180px;margin:0 auto 16px;position:static}.chat-tools-dialog .companion-portrait svg{width:100%;height:100%}.chat-tools-dialog .scrapbook{background:0 0;border:0;margin:0}.chat-tools-dialog .scrapbook-pages{border:0;padding:0}.chat-tools-dialog .analytics-settings{margin:0}.chat-tools-dialog .analytics-settings>summary{display:none}.chat-account-usage{color:var(--muted);margin:20px 0}.chat-account-actions{gap:20px;margin-bottom:24px;display:flex}.reply-feedback-dialog{width:260px;margin:0;padding:16px}.reply-feedback-dialog::backdrop{background:0 0}.reply-feedback-dialog .chat-dialog-heading{margin-bottom:8px}.reply-feedback-dialog .chat-dialog-heading h2{font:600 16px/1.4 var(--sans)}.reply-feedback-choices{gap:4px;display:grid}.reply-feedback-choices button{text-align:left;width:100%;min-height:44px;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:14px;display:flex}.reply-feedback-choices button:hover:not(:disabled),.reply-feedback-choices button[aria-pressed=true]{background:var(--green-light)}.reply-feedback-choices button svg:last-child:not(:first-child){margin-left:auto}.reply-feedback-cancel{min-height:44px;color:var(--green);background:0 0;border:0;margin:8px auto 0;display:block}.feedback-details-dialog{width:min(420px,100% - 32px);margin:auto;inset:0}@media (max-width:700px){.chat-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:80px;padding:12px 16px}.chat-brand{display:none}.chat-identity{gap:8px}.chat-avatar{flex-basis:32px;width:32px;height:32px}.chat-identity p{font-size:11px}.chat-header-actions{gap:0}.chat-app .chat-messages{padding:24px 16px}.chat-app .chat-message.user{max-width:90%}.chat-app .chat-composer,.chat-allowance{width:calc(100% - 32px)}.chat-dialog{max-width:100%;max-height:calc(100dvh - 32px)}.chat-tools-dialog{width:100%;height:auto;max-height:calc(100dvh - 32px);padding-bottom:max(24px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;inset:auto 0 0}.reply-feedback-dialog{width:100%;padding:20px;padding-bottom:max(24px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;margin:0;bottom:0;right:0;top:auto!important;left:0!important}.reply-feedback-dialog::backdrop{background:#25302230}}.account-access-dialog .access-heading-row{padding:0;position:static}.account-access-dialog .account-form{padding-top:0}.account-access-dialog .account-intro{color:var(--muted);margin:12px 0 28px}.account-access-dialog .account-fields{gap:20px}.account-password-field{grid-template-columns:auto 1fr;align-items:center;gap:7px 12px;display:grid}.account-password-hint{color:var(--muted);justify-self:end;font-size:12px}.account-password-input{grid-column:1/-1;position:relative}.account-password-input input{padding-right:48px}.account-password-toggle{width:44px;height:100%;color:var(--muted);padding:0;position:absolute;top:0;right:0}.account-access-dialog .meet-button{justify-content:center}.account-access-dialog .account-beta-note{text-align:center;color:var(--muted);margin:12px 0 0;font-size:12px}.account-beta-note span{display:block}.account-access-dialog .account-switch{text-align:center;color:var(--muted);margin:24px 0 0}.account-switch .text-button{text-underline-offset:3px;padding:12px 0;text-decoration:underline;display:inline}.account-access-dialog .account-back{color:var(--muted);margin:8px auto 0;font-size:12px;font-weight:400;display:block}.chat-dates-dialog[open]{flex-direction:column;display:flex;overflow:clip}.chat-dates-dialog .chat-dialog-heading{flex-shrink:0;margin-bottom:0}.chat-dates-dialog .important-dates,.chat-dates-dialog .scrapbook-pages{flex-direction:column;flex:1;min-height:0;display:flex}.occasion-toolbar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.occasion-toolbar p{margin:0}.occasion-toolbar .text-button{text-underline-offset:3px;min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline}.chat-dates-dialog .occasion-add{flex-shrink:0;align-self:flex-start;margin:4px 0 8px}.chat-dates-dialog .occasion-list{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.occasion-month>h3{font:600 11px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 4px}.occasion-row{border-bottom:1px solid var(--border);position:relative}.occasion-row-summary{align-items:center;gap:14px;min-height:68px;display:flex}.occasion-date-badge{background:var(--green-light);width:44px;height:46px;color:var(--green);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.occasion-date-badge>span{text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:600}.occasion-date-badge strong{font-size:20px;font-weight:500;line-height:1.1}.occasion-row-title{flex:1;min-width:0}.occasion-row-title h4{font:500 15px/1.4 var(--sans);overflow-wrap:anywhere;margin:0}.occasion-row-title small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.occasion-more{flex-shrink:0;width:44px;height:44px;padding:0}.occasion-row-details{color:var(--muted);padding:4px 0 16px 58px;font-size:13px;line-height:1.7}.occasion-row-details>p{margin:4px 0 12px}.occasion-row-details .text-button{min-height:44px;font-size:12px}.occasion-row-details .memory-actions{flex-wrap:wrap}.occasion-footer{border-top:1px solid var(--border);color:var(--muted);flex-shrink:0;align-items:center;gap:10px;margin-top:12px;padding-top:12px;font-size:11px;line-height:1.6;display:flex}.occasion-footer>p{flex:1;margin:0}.occasion-info{position:relative}.occasion-info summary{cursor:pointer;place-items:center;width:32px;height:36px;list-style:none;display:grid}.occasion-info summary::-webkit-details-marker{display:none}.occasion-info p{background:var(--paper);border:1px solid var(--border);border-radius:10px;width:min(280px,100vw - 64px);padding:14px;position:absolute;bottom:100%;right:0;box-shadow:0 8px 24px #25302218}.occasion-empty{color:var(--muted);font-size:14px;line-height:1.7}.chat-scrapbook-dialog[open]{flex-direction:column;display:flex;overflow:clip}.chat-scrapbook-dialog .chat-dialog-heading{flex-shrink:0;margin-bottom:0}.chat-scrapbook-dialog .compact-scrapbook,.chat-scrapbook-dialog .scrapbook-pages{flex-direction:column;flex:1;min-height:0;display:flex}.chat-scrapbook-dialog .memory-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.memory-toolbar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.memory-toolbar p{margin:0}.memory-toolbar .text-button{text-underline-offset:3px;min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline}.memory-category>h3,.memory-review-callout h3{font:600 11px/1.4 var(--sans);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:20px 0 4px}.memory-row{border-bottom:1px solid var(--border);position:relative}.memory-row-summary{align-items:center;gap:12px;min-height:68px;padding-block:12px;display:flex}.memory-row-summary>div{flex:1;min-width:0}.memory-row-text{font:400 15px/1.6 var(--sans);overflow-wrap:anywhere;margin:0}.memory-row-summary small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.6;display:block}.memory-options{flex-shrink:0;width:44px;height:44px;padding:0}.memory-row-details{padding:0 0 16px;font-size:13px}.memory-row-details .text-button{min-height:44px;font-size:12px}.memory-row-details .memory-sources{margin-top:0}.memory-row-details .memory-sources summary{padding-block:12px}.memory-row-details .memory-edit textarea{width:100%}.memory-review-callout{background:var(--green-light);border-radius:12px;align-items:center;gap:12px;margin-top:24px;padding:16px;display:flex}.memory-review-callout>div{flex:1;min-width:0}.memory-review-callout h3{margin:0 0 8px}.memory-review-callout p{margin:0;font-size:13px;line-height:1.6}.memory-review-callout small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.memory-review-callout .text-button{text-underline-offset:3px;min-height:44px;padding-inline:0;text-decoration:underline}.memory-footer{border-top:1px solid var(--border);color:var(--muted);flex-shrink:0;align-items:center;gap:10px;margin-top:12px;padding-top:12px;font-size:12px;display:flex}.memory-footer>p{flex:1;margin:0}.memory-info{position:relative}.memory-info summary{cursor:pointer;place-items:center;width:36px;height:36px;list-style:none;display:grid}.memory-info summary::-webkit-details-marker{display:none}.memory-info p{background:var(--paper);border:1px solid var(--border);border-radius:10px;width:min(300px,100vw - 64px);padding:14px;font-size:12px;line-height:1.7;position:absolute;bottom:100%;right:0;box-shadow:0 8px 24px #25302218}.send-feedback-form{gap:.65rem;display:grid}.send-feedback-form>p{margin:0 0 .35rem}.send-feedback-form label{font-weight:600}.send-feedback-form label span{color:var(--muted);font-weight:400}.send-feedback-form textarea,.send-feedback-form input{border:1px solid var(--border);background:var(--paper);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:12px;padding:.75rem;font-size:1rem}.send-feedback-form textarea{resize:vertical;min-height:7rem}.send-feedback-form .meet-button{margin-top:.4rem}.send-feedback-support{overflow-wrap:anywhere;margin:1.2rem 0 0;font-size:.875rem}.send-feedback-support a{text-underline-offset:3px;text-decoration:underline}.send-feedback-success p{align-items:center;gap:.5rem;display:flex}.send-feedback-dialog{font-size:1rem}.send-feedback-form .field-help{font-size:.875rem}.send-feedback-form .meet-button,.send-feedback-success .meet-button{min-height:44px;font-size:.9375rem}.chat-limit-notice{width:calc(100% - 48px);max-width:760px;margin:8px auto max(24px,env(safe-area-inset-bottom));border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;padding-top:20px;display:flex}.chat-limit-copy{min-width:0}.chat-limit-copy h2{font:600 16px/1.5 var(--sans);color:#9b6252;margin:0}.chat-limit-copy p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.6}.chat-limit-action{text-align:center;flex-shrink:0}.chat-limit-action button{background:var(--green);min-height:44px;color:var(--paper);font:600 14px/1.5 var(--sans);border:0;border-radius:9px;padding:10px 24px}.chat-limit-action button:hover{background:#42583b}.chat-limit-action p{color:var(--muted);margin:6px 0 0;font-size:11px}@media (max-width:620px){.chat-limit-notice{flex-direction:column;align-items:stretch;gap:16px}.chat-limit-action button{width:100%}}.research-document{padding:32px 24px}.research-document form label{align-items:flex-start;gap:12px;font-size:1rem;display:flex}.research-document input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);flex-shrink:0;margin-top:3px}.research-document button,.research-document a{min-height:44px}.chat-limit-interest{text-underline-offset:3px;min-height:44px;margin-top:8px;padding:8px 0;font-size:13px;text-decoration:underline}.paid-interest-dialog{width:min(440px,100% - 32px)}.paid-interest-dialog .chat-dialog-heading{margin-bottom:16px}.paid-interest-dialog form{flex-direction:column;display:flex}.paid-interest-intro{color:var(--muted);margin:0 0 16px}.paid-interest-price{color:var(--green);margin:0;font-size:19px;font-weight:600}.paid-interest-help{color:var(--muted);margin:6px 0 24px;font-size:12px}.paid-interest-dialog .meet-button{justify-content:center;width:100%;min-height:44px;margin:0;font-size:14px}.paid-interest-withdraw{text-underline-offset:3px;min-height:44px;color:var(--muted);align-self:center;margin-top:8px;text-decoration:underline}.paid-interest-success>p{color:var(--muted);margin:12px 0 20px}.paid-interest-success>p[role=status]{color:var(--ink);align-items:center;gap:10px;display:flex}.paid-interest-success svg{color:var(--green);flex-shrink:0}@media (max-width:620px){.paid-interest-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 32px);padding:24px 24px max(24px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:0;inset:auto 0 0}}
