:root{color-scheme:light;--color-page: #f8f2ea;--color-surface-1: #fffdf9;--color-surface-2: #f3e7db;--color-text: #3d302b;--color-text-muted: #796b64;--color-accent-decorative: #b8644f;--color-accent-text: #984b3b;--color-action-bg: #984b3b;--color-action-text: #fffaf6;--color-canvas: #f8f2ea;--color-canvas-warm: #f2e5d8;--color-surface: #fffdf9;--color-surface-soft: #f3e7db;--color-surface-muted: #ead9ca;--color-ink: #3d302b;--color-ink-muted: #796b64;--color-brand: #b8644f;--color-brand-strong: #984b3b;--color-border: #e7d9ce;--color-border-strong: #d8c2b3;--color-on-brand: #fffaf6;--color-focus-ring: #7a4033;--color-canvas-glow: rgba(232, 202, 175, .36);--color-surface-glass: rgba(255, 253, 249, .86);--color-surface-glass-soft: rgba(255, 253, 249, .76);--color-brand-shadow: rgba(184, 100, 79, .2);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--content-max: 560px;--page-gutter: clamp(16px, 5vw, 24px);--section-gap: clamp(24px, 5vw, 32px);--stack-gap: 12px;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 30px;--radius-pill: 999px;--radius-round: 50%;--radius-control: 14px;--radius-card: 20px;--radius-focus: 24px;--shadow-sm: 0 6px 20px rgba(86, 58, 45, .055);--shadow-md: 0 14px 36px rgba(86, 58, 45, .08);--shadow-lg: 0 18px 50px rgba(86, 58, 45, .1);--shadow-brand: 0 10px 24px var(--color-brand-shadow);--control-height: 48px;--control-height-lg: 52px;--touch-target-min: 44px;--font-family-sans: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-body: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-label: 13px;--font-size-support: 14px;--font-size-card-title: 16px;--font-size-page-title: clamp(28px, 6vw, 34px);--font-size-display: clamp(29px, 7vw, 38px);--font-weight-regular: 400;--font-weight-medium: 600;--font-weight-semibold: 700;--font-weight-bold: 800;--font-weight-heavy: 850;--line-height-tight: 1.18;--line-height-heading: 1.35;--line-height-body: 1.7;--line-height-copy: 1.55;--tracking-tight: -.035em;--tracking-label: .08em;--tracking-eyebrow: .12em;--duration-tap: .12s;--duration-page: .18s;--duration-emphasis: .32s;--ease-out-gentle: cubic-bezier(.2, .75, .3, 1);--background: var(--color-canvas);--surface: var(--color-surface);--surface-soft: var(--color-surface-soft);--text: var(--color-ink);--muted: var(--color-ink-muted);--accent: var(--color-brand);--accent-dark: var(--color-brand-strong);--border: var(--color-border);--focus: var(--color-brand-strong);--radius-medium: var(--radius-md);--radius-large: var(--radius-lg);--shadow: var(--shadow-lg)}:root{font-family:var(--font-family-sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-height:100%;background:var(--color-page)}body{min-height:100vh;min-height:100dvh;margin:0;overflow-x:hidden;color:var(--color-text);background:var(--color-page)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible+.check-option__box{outline:3px solid var(--color-focus-ring);outline-offset:3px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}.app-shell{width:min(100%,var(--content-max));min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(var(--space-5),env(safe-area-inset-top)) var(--page-gutter) max(var(--space-7),calc(env(safe-area-inset-bottom) + var(--space-5)))}.brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:clamp(var(--space-8),8vw,var(--space-10));color:var(--muted);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:.06em}.brand__memory{min-height:44px;margin-left:auto;padding:var(--space-2) 11px;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--color-accent-text);background:var(--color-surface-1);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:0;box-shadow:none}.brand__mark{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-round);background:var(--color-surface-1);box-shadow:none}.page{animation:page-in var(--duration-page) var(--ease-out-gentle)}.page:not([data-page=home]){width:min(100%,480px);margin-inline:auto}.page__intro{margin-bottom:var(--space-8)}.page__intro--compact,.page[data-page=brand] .page__intro,.page[data-page=onboarding] .page__intro,.page[data-page=memory] .page__intro,.page[data-page=restrictions] .page__intro{margin-bottom:var(--space-6)}.page[data-page=onboarding] .subtitle{text-wrap:balance}.page__intro--center{text-align:center}.eyebrow{margin:0 0 var(--space-3);color:var(--color-accent-text);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-eyebrow)}h1,h2{overflow-wrap:normal;word-break:normal}p{overflow-wrap:break-word}h1{margin:0;font-size:var(--font-size-page-title);line-height:var(--line-height-tight);letter-spacing:var(--tracking-tight)}h1:focus{outline:none}.subtitle{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--font-size-body);line-height:var(--line-height-body)}.button-list,.actions{display:grid;gap:var(--space-3)}.home-intro{margin-bottom:clamp(var(--space-5),5vw,var(--space-6))}.home-title{max-width:100%;font-size:var(--font-size-display);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.home-title__line{display:block}.home-title__question{overflow-wrap:normal;word-break:normal;text-wrap:balance}.companion{display:grid;grid-template-columns:68px minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:82px;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--color-surface-glass-soft);box-shadow:var(--shadow-sm);pointer-events:none;-webkit-user-select:none;user-select:none}.companion--result{min-height:88px;margin:0;padding:10px var(--space-5) 10px var(--space-4);border-color:var(--color-border-strong);border-bottom:0;border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--color-surface-1);box-shadow:none}.companion--confirmation{min-height:84px;margin:0;padding:10px var(--space-5) 10px var(--space-4);border-color:var(--color-border);border-bottom:0;border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--color-surface-1);box-shadow:none}.companion--result[data-state=resultReady]{border-color:var(--color-border-strong);background:var(--color-surface-1);box-shadow:none}.companion--confirmation[data-state=celebrating]{border-color:var(--color-border);background:var(--color-surface-1);box-shadow:none}.companion__asset{display:block;width:68px;height:68px;object-fit:contain}.companion__message{margin:0;color:var(--accent-dark);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-copy)}.companion--home{min-height:92px;margin:0 0 var(--space-4);padding:10px var(--space-4) 10px var(--space-3);border-color:var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-1);box-shadow:var(--shadow-sm)}.companion--home .companion__message{color:var(--color-text);font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.companion--animation-gentle-float .companion__asset{animation:companion-float 2.8s ease-in-out infinite}.companion--animation-small-shake .companion__asset{animation:companion-shake .56s ease-in-out infinite alternate}.companion--animation-ears-up .companion__asset{animation:companion-nod .7s ease-in-out}.companion--animation-bounce .companion__asset{animation:companion-bounce .62s ease-in-out 2 alternate}.companion--animation-tail-wag .companion__asset{animation:companion-tail-wag .54s ease-in-out 2 alternate}.companion--animation-soft-pulse .companion__asset{animation:companion-soft-pulse 1.8s ease-in-out infinite}.first-visit-surprise{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-3);align-items:center;margin-bottom:var(--space-4);padding:var(--space-3) 52px var(--space-3) var(--space-3);overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-2);box-shadow:var(--shadow-sm);animation:first-visit-surprise-in var(--duration-emphasis) var(--ease-out-gentle)}.first-visit-surprise:after{content:none}.first-visit-surprise__visual{position:relative;display:grid;width:48px;height:48px;place-items:center;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.first-visit-surprise__asset,.first-visit-surprise__asset-fallback{grid-row:1;grid-column:1}.first-visit-surprise__asset{z-index:1;display:block;width:48px;height:48px;background:var(--color-surface);object-fit:contain}.first-visit-surprise__asset-fallback{font-size:var(--font-size-xl)}.first-visit-surprise__copy{position:relative;z-index:1}.first-visit-surprise__copy h2{margin:0;color:var(--text);font-size:var(--font-size-body);line-height:var(--line-height-heading)}.first-visit-surprise__copy p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-md);line-height:var(--line-height-copy)}.first-visit-surprise__close{position:absolute;z-index:2;top:var(--space-2);right:var(--space-2);display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:var(--radius-round);color:var(--muted);background:transparent;cursor:pointer;font-size:var(--font-size-xl);line-height:1}.first-visit-surprise__close:active{background:var(--color-surface-glass-soft)}.memory-prompt{display:grid;gap:var(--space-3);margin:var(--section-gap) 0 0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-1);box-shadow:none}.memory-prompt h2{margin:0;font-size:var(--font-size-card-title);line-height:var(--line-height-heading)}.memory-prompt p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--font-size-support);line-height:var(--line-height-copy)}.memory-prompt .memory-prompt__eyebrow{margin:0 0 var(--space-1);color:var(--color-accent-text);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-label)}.memory-prompt__actions{display:grid;gap:4px}.memory-prompt__actions .secondary-button,.memory-prompt__actions .text-button{min-height:46px}.memory-home-status{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--accent-dark);background:var(--surface-soft);font-size:var(--font-size-md);line-height:var(--line-height-copy);text-align:center}.preference-group{margin:0;padding:var(--space-5) 0;border:0;border-top:1px solid var(--color-border)}.preference-group legend{margin-bottom:var(--space-1);padding:0;font-size:var(--font-size-card-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading)}.preference-group>p{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-support);line-height:var(--line-height-copy)}.preference-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.preference-option{position:relative;cursor:pointer}.preference-option input{position:absolute;width:1px;height:1px;opacity:0}.preference-option span{position:relative;display:grid;min-height:var(--control-height);padding:10px 30px 10px 12px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-1);font-weight:var(--font-weight-semibold);text-align:center;transition:background-color var(--duration-tap) var(--ease-out-gentle),border-color var(--duration-tap) var(--ease-out-gentle),box-shadow var(--duration-tap) var(--ease-out-gentle)}.preference-option input:checked+span{border-color:var(--color-accent-decorative);color:var(--color-accent-text);background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-accent-decorative)}.preference-option input:checked+span:after{position:absolute;top:50%;right:11px;content:"✓";font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);transform:translateY(-50%)}.preference-option input:focus-visible+span{outline:3px solid rgba(122,64,51,.35);outline-offset:3px}.onboarding-feedback{margin:0 0 var(--space-4)}.onboarding-feedback--error{color:var(--accent-dark)}.memory-view-feedback{margin:0 0 var(--space-5)}.memory-view-feedback--error{color:var(--accent-dark)}.memory-section{margin:0 0 var(--space-6);padding:0 0 var(--space-5);border:0;border-bottom:1px solid var(--color-border);background:transparent;box-shadow:none}.memory-section__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.memory-section__heading h2{margin:0;font-size:var(--font-size-card-title);line-height:var(--line-height-heading)}.memory-preference-list{display:grid;gap:var(--space-3);margin:0}.memory-preference-item{display:grid;grid-template-columns:28px 58px minmax(0,1fr);gap:var(--space-2);align-items:center;min-height:var(--touch-target-min);padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-1)}.memory-preference-item__label{color:var(--muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.memory-preference-item strong{font-weight:750;text-align:right}.memory-trend-list,.memory-pattern-list,.memory-history-list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.memory-patterns{display:grid;gap:var(--space-4)}.memory-pattern-group h3{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--font-size-sm);letter-spacing:var(--tracking-label)}.memory-pattern-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;min-height:38px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--font-size-md)}.memory-pattern-list strong{color:var(--accent-dark);font-size:var(--font-size-sm)}.memory-pattern-list .memory-pattern-list__empty{display:block;color:var(--muted);text-align:center}.memory-behavior-overview{margin:-4px 0 12px}.memory-behavior-label{margin:0 0 3px;color:var(--accent-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-label)}.memory-behavior-summary{margin:0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-height-copy)}.memory-trend-list li{padding:var(--space-3);border-radius:var(--radius-sm);color:var(--accent-dark);background:var(--color-surface-2);font-size:var(--font-size-md);line-height:var(--line-height-copy)}.memory-history-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.memory-history-list li:last-child{padding-bottom:0;border-bottom:0}.memory-history-list strong{overflow-wrap:anywhere}.memory-history-list span,.memory-history-list time{color:var(--muted);font-size:var(--font-size-sm)}.memory-history-list time{grid-row:1 / span 2;grid-column:2;align-self:center;white-space:nowrap}.memory-empty{padding:0;color:var(--color-text-muted);text-align:left}.memory-empty p{margin:0;font-size:var(--font-size-support);font-weight:var(--font-weight-semibold);line-height:var(--line-height-copy)}.memory-empty span{display:block;margin-top:2px;font-size:var(--font-size-sm);line-height:var(--line-height-copy)}.page[data-page=memory]>.actions{margin-top:var(--space-7)}.choice-button,.primary-button,.secondary-button,.text-button{min-height:var(--control-height-lg);border-radius:var(--radius-control);cursor:pointer;transition:transform var(--duration-tap) var(--ease-out-gentle),background-color var(--duration-tap) var(--ease-out-gentle),border-color var(--duration-tap) var(--ease-out-gentle),box-shadow var(--duration-tap) var(--ease-out-gentle)}.choice-button:active,.primary-button:active,.secondary-button:active{transform:scale(.985)}.choice-button{display:flex;align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-3) var(--space-5);border:1px solid var(--border);color:var(--text);background:var(--color-surface-glass);text-align:left;font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.choice-button__emoji{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:var(--radius-sm);background:var(--surface-soft);font-size:var(--font-size-xl)}.home-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--stack-gap)}.home-choice{position:relative;display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start;min-height:138px;height:100%;padding:14px;border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);box-shadow:none}.home-choice--new{background:var(--color-surface-1)}.home-choice--wide{grid-column:1 / -1;min-height:88px}.home-choice--puppy-favorite{border-color:var(--color-border-strong);background:var(--color-surface-2);box-shadow:none}.home-choice--puppy-favorite .choice-button__emoji{background:var(--color-surface);box-shadow:var(--shadow-sm)}.home-choice__note{position:absolute;top:var(--space-3);right:var(--space-3);width:fit-content;padding:2px var(--space-2);border-radius:var(--radius-pill);color:var(--color-accent-text);background:var(--color-surface-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-label);line-height:var(--line-height-heading)}.home-choice .choice-button__emoji{width:36px;height:36px;border-radius:var(--radius-sm);font-size:var(--font-size-lg)}.choice-button__copy{display:grid;gap:var(--space-1);min-width:0}.choice-button__copy strong{font-size:var(--font-size-card-title);line-height:var(--line-height-heading)}.choice-button__copy small{color:var(--color-text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);line-height:1.45}.home-surprise-action{min-height:var(--control-height-lg);margin-top:var(--section-gap)}.brand-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:var(--space-4)}.brand-option{min-height:var(--control-height-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface-1);box-shadow:none;cursor:pointer;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading);overflow-wrap:break-word;word-break:keep-all;transition:transform var(--duration-tap) var(--ease-out-gentle),background-color var(--duration-tap) var(--ease-out-gentle),border-color var(--duration-tap) var(--ease-out-gentle)}.brand-option:active{border-color:var(--color-accent-decorative);color:var(--color-accent-text);background:var(--color-surface-2);transform:scale(.985)}.primary-button,.secondary-button{width:100%;padding:var(--space-4) var(--space-5);border:1px solid transparent;font-weight:var(--font-weight-bold)}.primary-button{color:var(--color-action-text);background:var(--color-action-bg);box-shadow:none}.primary-button:not(:disabled):active{background:var(--color-action-bg)}.secondary-button{border-color:var(--accent);color:var(--accent-dark);background:var(--color-surface-glass-soft)}.text-button{width:100%;min-height:48px;padding:10px;border:0;color:var(--accent-dark);background:transparent;font-weight:var(--font-weight-semibold)}.text-button--muted{color:var(--muted);font-weight:var(--font-weight-medium)}@media(hover:hover){.brand__memory:hover,.choice-button:hover,.secondary-button:hover{border-color:var(--color-border-strong);background:var(--surface);box-shadow:var(--shadow-md)}.choice-button:hover{transform:translateY(-1px)}.primary-button:not(:disabled):hover{background:var(--color-action-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.home-choice:hover{border-color:var(--color-border-strong);background:var(--color-surface-1);box-shadow:var(--shadow-sm)}.home-choice--puppy-favorite:hover{background:var(--color-surface-2)}.brand-option:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}}.restriction-list{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;border:0}.candidate-pool-notice,.onboarding-feedback,.memory-view-feedback,.memory-home-status{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface-2);font-size:var(--font-size-support);font-weight:var(--font-weight-medium);line-height:var(--line-height-copy);text-align:left}.candidate-pool-notice--error,.onboarding-feedback--error,.memory-view-feedback--error{border-color:var(--color-border-strong);color:var(--color-accent-text)}.check-option{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-1);cursor:pointer;font-weight:var(--font-weight-semibold);transition:background-color var(--duration-tap) var(--ease-out-gentle),border-color var(--duration-tap) var(--ease-out-gentle),transform var(--duration-tap) var(--ease-out-gentle)}.check-option:has(input:checked){border-color:var(--color-accent-decorative);color:var(--color-accent-text);background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-accent-decorative)}.check-option:active{transform:scale(.99)}.check-option input{position:absolute;width:1px;height:1px;opacity:0}.check-option__box{position:relative;width:24px;height:24px;flex:0 0 auto;border:2px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface-1)}.check-option input:checked+.check-option__box{border-color:var(--color-action-bg);background:var(--color-action-bg)}.check-option input:checked+.check-option__box:after{position:absolute;top:4px;left:7px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.page[data-page=restrictions] .actions{gap:var(--space-1)}.page[data-page=restrictions] #recommend-button{min-height:var(--control-height-lg);padding-block:var(--space-3)}.page[data-page=restrictions] #skip-button{min-height:var(--control-height);padding-block:10px;border-color:transparent;color:var(--color-accent-text);background:transparent}.page[data-page=restrictions] #restrictions-back-button{color:var(--color-text-muted)}.page[data-page=onboarding] #save-onboarding-button{min-height:var(--control-height-lg);padding-block:var(--space-3)}.page[data-page=result] .page__intro--compact{margin-bottom:var(--space-5)}.result-card{position:relative;margin-bottom:var(--space-5);padding:var(--space-5) var(--space-6) var(--space-6);border:1px solid var(--color-border-strong);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);background:var(--color-surface-1);box-shadow:var(--shadow-sm)}.result-card__emoji{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--font-size-xl)}.result-card__price{color:var(--color-accent-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.result-card__brand{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-copy)}.result-card h2{margin:0;font-size:var(--font-size-2xl);line-height:1.28;letter-spacing:var(--tracking-tight);overflow-wrap:break-word;text-wrap:balance;word-break:normal}.result-card__meta{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;margin-top:var(--space-4)}.recommendation-reason{margin-top:var(--space-5);padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent;box-shadow:none}.reason-label{margin:0 0 var(--space-2);color:var(--color-accent-text);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-eyebrow)}#result-actions{gap:10px}#result-actions .primary-button{min-height:var(--control-height-lg)}#result-actions .secondary-button{min-height:var(--control-height);background:var(--color-surface-1);box-shadow:none}.result-quiet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.result-quiet-actions .text-button{min-width:0;min-height:var(--touch-target-min);padding-block:var(--space-2)}.page[data-page=result]:has(#roll-status:not([hidden])) #result-actions{visibility:hidden;pointer-events:none}.page[data-page=result]:has(#roll-status:not([hidden])) .companion--result{border-bottom:1px solid var(--color-border-strong);border-radius:var(--radius-lg)}.submission-feedback{margin:-2px 4px 2px;color:var(--muted);font-size:14px;line-height:1.55;text-align:center}.submission-feedback--error{color:var(--accent-dark)}.primary-button.is-loading{display:flex;align-items:center;justify-content:center;gap:9px}.primary-button.is-loading:before{width:16px;height:16px;border:2px solid rgba(255,250,246,.45);border-top-color:#fffaf6;border-radius:50%;content:"";animation:spin .7s linear infinite}.result-card__reason{margin:0;font-size:var(--font-size-body);line-height:var(--line-height-body)}.thinking{min-height:196px;margin:0 0 var(--space-5);padding-top:76px;color:var(--color-text-muted);text-align:center;font-weight:var(--font-weight-semibold)}.page--confirmation{padding-top:clamp(var(--space-2),3vh,var(--space-6))}.page--confirmation .page__intro{margin-bottom:var(--space-5)}.confirmation-icon{display:grid;width:64px;height:64px;margin:0 auto var(--space-4);place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-2);box-shadow:none;font-size:34px}.page--confirmation:not([hidden]) .confirmation-icon{animation:success-pop .42s cubic-bezier(.2,.85,.35,1.25)}.confirmation-summary{display:grid;gap:6px;margin:0 0 var(--space-5);padding:2px var(--space-5) var(--space-5);border:1px solid var(--color-border);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);background:var(--color-surface-1);box-shadow:var(--shadow-sm);text-align:left}.confirmation-summary p,.confirmation-summary strong{margin:0}.confirmation-summary p{color:var(--muted);font-size:14px}.confirmation-summary strong{font-size:var(--font-size-xl);line-height:var(--line-height-heading);overflow-wrap:break-word;text-wrap:balance;word-break:normal}.feedback-card{margin:0 0 var(--space-4);padding:var(--space-5) 0 0;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent;text-align:center}.feedback-card h2{margin:0 0 var(--space-4);font-size:var(--font-size-body);letter-spacing:0}.feedback-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feedback-button{position:relative;min-height:48px;padding:11px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface-1);cursor:pointer;font-weight:var(--font-weight-semibold)}.feedback-button[aria-pressed=true]{border-color:var(--color-accent-text);color:var(--color-accent-text);background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-accent-text)}.feedback-button[aria-pressed=true]:after{position:absolute;top:14px;right:14px;width:6px;height:11px;border:solid currentColor;border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.feedback-status{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:2px solid var(--color-border-strong);color:var(--color-text-muted);background:var(--color-surface-2);font-size:14px;line-height:1.5;text-align:left}.feedback-status--error{border-left-color:var(--color-accent-text);color:var(--color-accent-text)}.confirmation-restart{min-height:var(--control-height);border-color:transparent;color:var(--color-text-muted);background:transparent;box-shadow:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes success-pop{0%{opacity:0;transform:scale(.72) rotate(-5deg)}70%{transform:scale(1.06) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes companion-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.025)}}@keyframes companion-shake{0%{transform:rotate(-2deg) translate(-1px)}to{transform:rotate(2deg) translate(1px)}}@keyframes companion-nod{0%,to{transform:rotate(0)}45%{transform:rotate(5deg) translateY(2px)}}@keyframes companion-bounce{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(2deg)}}@keyframes companion-tail-wag{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes companion-soft-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.025)}}@keyframes first-visit-surprise-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:340px){.home-choice-grid{grid-template-columns:minmax(0,1fr);gap:10px}.home-choice{display:grid;grid-template-columns:42px minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:82px;padding:10px var(--space-3)}.home-choice .choice-button__emoji{width:42px;height:42px}.home-choice .choice-button__copy{gap:2px}.home-choice__note{top:9px;right:var(--space-3)}.home-choice--puppy-favorite .choice-button__copy{padding-right:78px}}@media(min-width:341px){.home-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:375px){.home-title__question{white-space:nowrap}}@media(max-width:380px){.app-shell{padding-inline:16px}.result-card{padding:18px}.result-card__emoji{width:38px;height:38px;border-radius:var(--radius-sm);font-size:21px}.result-card h2{font-size:26px;overflow-wrap:break-word}.candidate-pool-notice{padding-inline:var(--space-3)}.recommendation-reason{padding:14px 0 0}.first-visit-surprise{grid-template-columns:42px minmax(0,1fr);padding-left:var(--space-3)}.first-visit-surprise__visual,.first-visit-surprise__asset{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.companion__asset{display:none!important;animation:none!important;transform:none!important}.companion{grid-template-columns:minmax(0,1fr)}.companion--home{min-height:64px;padding:var(--space-4)}.first-visit-surprise{animation:none!important}.first-visit-surprise__asset{display:none!important}}@media(min-width:700px){.app-shell{padding-inline:var(--page-gutter)}}
