:root{color-scheme:light;--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: rgba(122, 64, 51, .35);--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;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 30px;--radius-pill: 999px;--radius-round: 50%;--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);--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-display: clamp(30px, 8.5vw, 40px);--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;--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-width:320px;min-height:100%;background:var(--background)}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 90% 4%,var(--color-canvas-glow),transparent 24rem),var(--background)}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%,480px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(var(--space-5),env(safe-area-inset-top)) var(--space-5) 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(48px,10vh,88px);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-pill);color:var(--accent-dark);background:var(--color-surface-glass-soft);cursor:pointer;font-size:var(--font-size-sm);font-weight:750;letter-spacing:0;box-shadow:var(--shadow-sm)}.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-glass-soft);box-shadow:var(--shadow-sm)}.page{animation:page-in .18s ease-out}.page__intro{margin-bottom:var(--space-8)}.page__intro--compact{margin-bottom:var(--space-6)}.page__intro--center{text-align:center}.eyebrow{margin:0 0 var(--space-3);color:var(--accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-eyebrow)}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:var(--font-size-display);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)}.page[data-page=home] .page__intro{position:relative}.page[data-page=home] .page__intro:after{display:block;width:var(--space-10);height:var(--space-1);margin-top:var(--space-5);border-radius:var(--radius-pill);background:var(--color-surface-muted);content:""}.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{margin-top:calc(var(--space-2) * -1)}.companion--confirmation{margin-top:calc(var(--space-3) * -1)}.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--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}.memory-prompt{display:grid;gap:var(--space-4);margin:calc(var(--space-2) * -1) 0 var(--space-6);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--color-surface-glass-soft);box-shadow:var(--shadow-sm)}.memory-prompt h2{margin:0;font-size:var(--font-size-lg);line-height:var(--line-height-heading)}.memory-prompt p{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--font-size-md);line-height:var(--line-height-copy)}.memory-prompt .memory-prompt__eyebrow{margin:0 0 var(--space-1);color:var(--accent);font-size:var(--font-size-xs);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:calc(var(--space-2) * -1) 0 var(--space-6);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 0 24px;padding:0;border:0}.preference-group legend{margin-bottom:5px;font-size:17px;font-weight:800}.preference-group>p{margin:0 0 12px;color:var(--muted);font-size:13px}.preference-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preference-option{position:relative;cursor:pointer}.preference-option input{position:absolute;width:1px;height:1px;opacity:0}.preference-option span{display:grid;min-height:48px;padding:10px 12px;place-items:center;border:1px solid var(--border);border-radius:14px;background:#fffdf9db;font-weight:700;text-align:center}.preference-option input:checked+span{border-color:var(--accent);color:var(--accent-dark);background:var(--surface-soft)}.preference-option input:focus-visible+span{outline:3px solid rgba(122,64,51,.35);outline-offset:3px}.onboarding-feedback{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.55;text-align:center}.onboarding-feedback--error{color:var(--accent-dark)}.memory-view-feedback{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--muted);background:var(--surface-soft);font-size:var(--font-size-md);line-height:var(--line-height-copy)}.memory-view-feedback--error{color:var(--accent-dark)}.memory-section{position:relative;overflow:hidden;margin-bottom:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-large);background:var(--color-surface-glass);box-shadow:var(--shadow-sm)}.memory-section:after{position:absolute;top:calc(var(--space-10) * -1);right:calc(var(--space-8) * -1);width:var(--space-20);height:var(--space-20);border-radius:var(--radius-round);background:var(--color-surface-soft);content:"";opacity:.45;pointer-events:none}.memory-section>*{position:relative;z-index:1}.memory-section__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.memory-section__heading h2{margin:0;font-size:var(--font-size-lg);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:42px}.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(--surface-soft);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(--surface-soft);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:var(--space-2) 0;color:var(--muted);text-align:center}.memory-empty p{margin:0;font-weight:700}.memory-empty span{display:block;margin-top:var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-copy)}.choice-button,.primary-button,.secondary-button,.text-button{min-height:52px;border-radius:var(--radius-medium);cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.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{grid-template-columns:repeat(2,minmax(0,1fr))}.home-choice{display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--space-2);align-content:start;align-items:start;min-height:112px;padding:var(--space-4) var(--space-3)}.home-choice--new{background:linear-gradient(145deg,var(--color-surface-glass) 30%,var(--color-surface-soft) 145%)}.home-choice--wide{grid-column:1 / -1;min-height:88px}.home-choice .choice-button__emoji{width:34px;height:34px;font-size:var(--font-size-lg)}.choice-button__copy{display:grid;gap:var(--space-1);min-width:0}.choice-button__copy strong{font-size:15px;line-height:var(--line-height-heading)}.choice-button__copy small{color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.45}.home-choice-grid .primary-button{grid-column:1 / -1}.brand-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.brand-option{min-height:52px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);background:var(--color-surface-glass);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.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-on-brand);background:var(--accent);box-shadow:var(--shadow-brand)}.primary-button:not(:disabled):active{background:var(--accent-dark)}.button-list .primary-button{margin-top:4px}.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(-2px)}.primary-button:not(:disabled):hover{background:var(--accent-dark);box-shadow:0 12px 30px var(--color-brand-shadow);transform:translateY(-1px)}}.restriction-list{display:grid;gap:10px;margin:0 0 28px;padding:0;border:0}.check-option{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:12px 16px;border:1px solid var(--border);border-radius:15px;background:#fffdf9db;cursor:pointer;font-weight:650}.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 #cbb9ac;border-radius:8px;background:var(--surface)}.check-option input:checked+.check-option__box{border-color:var(--accent);background:var(--accent)}.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)}.result-card{position:relative;overflow:hidden;margin-bottom:var(--space-6);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-large);background:linear-gradient(145deg,var(--surface) 0%,var(--surface) 62%,var(--color-surface-soft) 140%);box-shadow:var(--shadow)}.result-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.result-card__emoji{display:grid;width:64px;height:64px;place-items:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);box-shadow:var(--shadow-sm);font-size:34px}.result-card__price{color:var(--accent-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-heavy)}.result-card__brand{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.result-card h2{margin:0;font-size:var(--font-size-2xl);letter-spacing:var(--tracking-tight)}.order-tag{display:inline-block;margin:var(--space-4) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--accent-dark);background:var(--surface-soft);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.result-card__divider{height:1px;margin:var(--space-6) 0 var(--space-5);background:var(--border)}.recommendation-reason{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft)}.reason-label{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-eyebrow)}.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:270px;margin:0 0 24px;padding-top:110px;color:var(--muted);text-align:center;font-weight:700}.page--confirmation{padding-top:clamp(28px,8vh,72px)}.confirmation-icon{display:grid;width:92px;height:92px;margin:0 auto 24px;place-items:center;border:1px solid var(--border);border-radius:30px;background:var(--surface);box-shadow:var(--shadow);font-size:46px}.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 28px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-large);background:#fffdf9d1;text-align:center}.confirmation-summary p,.confirmation-summary strong,.confirmation-summary span{margin:0}.confirmation-summary p,.confirmation-summary span{color:var(--muted);font-size:14px}.confirmation-summary strong{font-size:22px}.feedback-card{margin:0 0 24px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-medium);background:#fffdf9d1;text-align:center}.feedback-card h2{margin:0 0 16px;font-size:18px;letter-spacing:-.015em}.feedback-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feedback-button{min-height:48px;padding:11px 12px;border:1px solid var(--border);border-radius:14px;color:var(--text);background:var(--surface);cursor:pointer;font-weight:750}.feedback-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-dark);background:var(--surface-soft)}.feedback-status{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.feedback-status--error{color:var(--accent-dark)}.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)}}@media(max-width:380px){.app-shell{padding-inline:16px}.result-card{padding:20px}.result-card__top{margin-bottom:20px}.result-card__emoji{width:56px;height:56px;border-radius:17px;font-size:30px}.result-card h2{font-size:25px}.recommendation-reason{padding:14px}}@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)}}@media(min-width:700px){.app-shell{padding-inline:28px}}
