:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}:root{--ink: #2a1810;--ink-deep: #1f130c;--ink-glow: #4a2c1b;--paper: #f4e9d6;--paper-2: #eadbc1;--card: #fbf4e8;--cream: #f7ecd9;--lace: #e9d6b0;--terracotta: #a8472a;--terracotta-dark: #7e3219;--gold: #d9b36c;--gold-2: #c9a45c;--gold-light: #f3d99c;--text: #3a2418;--muted: #6f5645;--muted-2: #5c4332;--border: #d6c3a3;--brown: #8a5a32;--brown-dark: #6b3f22;--good: #3f7a4a;--display: "GFS Didot", Georgia, serif;--serif: "Alegreya", Georgia, serif;--sans: "Commissioner", system-ui, sans-serif;--ion-background-color: var(--ink-deep);--ion-text-color: var(--text);--ion-font-family: var(--sans)}.app-bg{--background: var(--ink-deep)}.page{max-width:480px;min-height:100%;margin:0 auto;background:var(--paper);color:var(--text);font-family:var(--sans);position:relative}main{display:flex;flex-direction:column;gap:18px}button{font-family:var(--sans);cursor:pointer}button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:3px;color:var(--gold)}.avatar{width:44px;height:44px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.avatar-lg{width:96px;height:96px;border-width:3px}.cross-stitch{display:block;width:100%;opacity:.75}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{position:relative;width:100%;height:clamp(460px,70vh,620px);overflow:hidden;background:var(--ink)}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}.hero-greet{opacity:0;transition:opacity .35s ease}.hero-greet.is-on{opacity:1}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#1f130cd1,#1f130c00 30%),linear-gradient(0deg,#1f130ce6,#1f130c00 42%)}.hero-head{position:absolute;left:24px;right:24px;top:calc(env(safe-area-inset-top) + 40px);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.hero-title{margin:0;font-family:var(--display);font-weight:400;font-size:46px;line-height:1.05;color:var(--cream);text-shadow:0 2px 16px rgba(0,0,0,.45)}.hero-talk{position:absolute;right:18px;top:calc(env(safe-area-inset-top) + 122px);width:44px;height:44px;border-radius:50%;border:1px solid rgba(247,236,217,.45);background:#1f130c8c;color:var(--cream);display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-talk.is-calling{animation:call 1.6s ease-in-out infinite}@keyframes call{0%,to{box-shadow:0 0 #d9b36c00}50%{box-shadow:0 0 0 8px #d9b36c59}}.hero-bubble{position:absolute;left:20px;right:64px;bottom:58px;padding:14px 18px;background:var(--cream);border-radius:18px 18px 18px 4px;box-shadow:0 10px 30px #00000059}.hero-bubble p{margin:0;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.35;color:var(--text);animation:fadein .25s ease}.home-head{background:radial-gradient(120% 90% at 50% 20%,var(--ink-glow) 0%,var(--ink) 70%);padding:calc(env(safe-area-inset-top) + 40px) 24px 60px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.home-head-line{margin:8px 0 0;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.35;color:var(--cream)}.sheet{position:relative;margin-top:-28px;border-radius:28px 28px 0 0;background:var(--paper);padding:14px 20px calc(env(safe-area-inset-bottom) + 28px)}.topics h2{margin:0 0 12px;font-family:var(--display);font-weight:400;font-size:27px;color:var(--ink)}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chip{height:56px;border-radius:14px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font:600 16px var(--sans);display:flex;align-items:center;gap:10px;padding:0 14px;transition:background .2s,border-color .2s,color .2s}.chip svg{color:var(--brown);flex-shrink:0}.chip.is-on{border-color:var(--terracotta);background:var(--terracotta);color:#fff8ee;box-shadow:0 6px 16px #a8472a47}.chip.is-on svg{color:currentColor}.topics.is-asking h2{color:var(--terracotta)}.topics.is-asking .chip:not(.is-on){animation:ask-pulse 1.4s ease-in-out 3;border-color:var(--terracotta)}@keyframes ask-pulse{0%,to{box-shadow:0 0 #a8472a00}50%{box-shadow:0 0 0 5px #a8472a38}}.cta-group{display:flex;flex-direction:column;align-items:center;gap:8px}.cta,.ghost{width:100%;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px}.cta{height:58px;border:0;background:var(--terracotta);color:#fff8ee;font:600 17px var(--sans);box-shadow:0 8px 20px #a8472a4d;transition:background .2s,transform .1s}.cta:hover{background:var(--terracotta-dark)}.cta:active{transform:scale(.98)}.ghost{height:52px;border:1.5px solid var(--brown);background:transparent;color:var(--brown-dark);font:600 16px var(--sans)}.link{border:0;background:none;padding:4px 8px;font:500 15px var(--sans);color:var(--terracotta);text-decoration:underline;text-underline-offset:3px}.link:hover{color:var(--terracotta-dark)}.steps{padding:16px;border-radius:16px;background:var(--paper-2)}.steps h3{margin:0 0 12px;font-family:var(--display);font-weight:400;font-size:19px;color:var(--ink)}.steps ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.steps li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.35}.step-num{width:28px;height:28px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--brown);color:var(--brown-dark);display:grid;place-items:center;font:700 13px var(--sans)}.quota-row{display:flex;align-items:center;justify-content:center;gap:10px}.quota-cups{display:flex;gap:4px;color:var(--border)}.quota-cups .is-full{color:var(--terracotta);fill:var(--terracotta)}.quota{margin:0;font-size:14px;color:var(--muted-2);text-align:center}.error{margin:0;padding:10px 14px;border-radius:12px;background:#a8472a1a;color:var(--terracotta-dark);font-size:15px;text-align:center}.disclaimer{margin:0;font-size:12px;line-height:1.45;text-align:center;color:var(--muted)}.hint{margin:0;font-size:14px;color:var(--muted);text-align:center}.page-loading{min-height:100vh;background:radial-gradient(120% 70% at 50% 38%,var(--ink-glow) 0%,var(--ink) 55%,var(--ink-deep) 100%);color:var(--cream)}.loading{min-height:100vh;box-sizing:border-box;padding:calc(env(safe-area-inset-top) + 40px) 20px calc(env(safe-area-inset-bottom) + 28px);gap:24px}.loading-head{display:flex;align-items:center;gap:12px;padding:0 4px}.loading-head .avatar{width:48px;height:48px}.loading-title{font-family:var(--display);font-size:21px;color:var(--cream)}.loading-head .eyebrow{letter-spacing:2px;font-size:12px;margin-top:2px}.loading-cup{position:relative;width:300px;height:300px;margin:0 auto;flex-shrink:0}.loading-cup .lace,.loading-cup .scan-arc{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scan-arc{animation:spin 3.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-photo{position:absolute;left:20px;top:20px;width:260px;height:260px;border-radius:50%;overflow:hidden;box-shadow:0 18px 50px #0000008c,inset 0 0 0 3px var(--paper)}.loading-photo img{width:100%;height:100%;object-fit:cover}.loading-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 0 3px var(--paper);background:radial-gradient(circle,#0000 55%,#1f130c73)}.loading-line{margin:0;min-height:2.7em;text-align:center;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.35;color:var(--cream);padding:0 12px;animation:fadein .5s ease}.checklist{list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:12px;width:100%;max-width:310px}.checklist li{display:flex;align-items:center;gap:12px;font-size:16px;color:#e9d6b08c;transition:color .3s}.checklist li.is-done{color:var(--lace)}.checklist li.is-active{color:var(--cream);font-weight:600}.check{width:24px;height:24px;flex-shrink:0;box-sizing:border-box;border-radius:50%;border:2px solid rgba(233,214,176,.35);display:grid;place-items:center;color:var(--ink)}.is-done .check{background:var(--gold);border-color:var(--gold)}.is-active .check{border-color:var(--gold)}.check .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.tip-card{margin-top:auto;padding:16px 18px;border-radius:18px;background:var(--paper);color:var(--text);display:flex;gap:14px;align-items:flex-start;box-shadow:0 10px 30px #0006}.tip-card>svg{color:var(--terracotta);flex-shrink:0}.tip-card h3{margin:0 0 4px;font-family:var(--display);font-weight:400;font-size:18px;color:var(--ink)}.tip-card p{margin:0;font-size:14px;line-height:1.45;color:var(--muted-2);animation:fadein .4s ease}.reading-head{background:var(--ink);color:var(--cream);padding:calc(env(safe-area-inset-top) + 20px) 20px 22px;display:flex;flex-direction:column;gap:16px}.reading-head-row{display:flex;align-items:center;gap:12px}.icon-btn{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid rgba(247,236,217,.35);background:transparent;color:var(--cream);display:grid;place-items:center}.reading-head-name{font-family:var(--display);font-size:22px;line-height:1.1}.reading-head-sub{font-size:13px;color:var(--gold)}.bubble{margin:0;padding:13px 16px;background:var(--cream);color:var(--text);font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35;animation:fadein .4s ease}.bubble-left{border-radius:4px 18px 18px}.reading{padding:20px 24px calc(env(safe-area-inset-bottom) + 32px);gap:16px}.cup-frame{position:relative;border-radius:18px;overflow:hidden;border:3px solid var(--card);box-shadow:0 12px 30px #2a181047;background:var(--ink)}.cup-frame img{display:block;width:100%;height:auto}.cup-frame svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.sym-ring{fill:transparent;stroke:var(--gold);stroke-width:.8;opacity:0;transform-box:fill-box;transform-origin:center;animation:ring-in .7s cubic-bezier(.2,.9,.3,1.3) forwards;filter:drop-shadow(0 0 .6px rgba(31,19,12,.9)) drop-shadow(0 0 2.5px rgba(217,179,108,.7));transition:stroke .2s,fill .2s}.sym-ring.is-active{stroke:var(--gold-light);stroke-width:1.1;fill:#d9b36c2e}@keyframes ring-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.sym-tag{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;padding:2px 8px;border-radius:9px;border:0;background:#1f130cd9;color:var(--gold-light);font:600 12px var(--sans);opacity:0;animation:fadein .5s ease forwards}.sym-tag.is-active{background:var(--terracotta);color:#fff8ee}.sym-chips{display:flex;gap:8px;overflow-x:auto;margin:0 -24px;padding:2px 24px;scrollbar-width:none}.sym-chips::-webkit-scrollbar{display:none}.sym-chip{flex-shrink:0;padding:7px 12px;border-radius:16px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font:600 13px var(--sans)}.sym-chip.is-on{border-color:var(--terracotta);background:var(--terracotta);color:#fff8ee}.sym-detail{padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--border);display:flex;gap:14px;align-items:flex-start;animation:fadein .3s ease}.sym-badge{width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--paper);border:1.5px solid var(--gold);display:grid;place-items:center;font-size:22px}.sym-detail-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:2px;margin-bottom:3px}.sym-detail h3{margin:0;font-family:var(--display);font-weight:400;font-size:19px;color:var(--ink)}.sym-detail h3 small{font-family:var(--sans);font-size:13px;color:var(--muted)}.sym-meta{font-size:11px;font-weight:600;letter-spacing:1px;color:var(--brown)}.sym-meta.tone-good{color:var(--good)}.sym-meta.tone-careful{color:var(--terracotta)}.sym-detail p{margin:0;font-size:14px;line-height:1.45;color:var(--muted-2)}.voice-player{padding:10px 16px 10px 10px;border-radius:30px;background:var(--ink);color:var(--cream);display:flex;align-items:center;gap:12px}.voice-play{width:42px;height:42px;flex-shrink:0;border-radius:50%;border:0;background:var(--gold);color:var(--ink);display:grid;place-items:center}.voice-play:disabled{opacity:.85}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(42,24,16,.25);border-top-color:var(--ink);animation:spin .8s linear infinite}.voice-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.voice-title{font-size:14px;font-weight:600}.voice-wave{width:100%;height:16px}.voice-wave line{stroke:#f7ecd94d;stroke-width:3;stroke-linecap:round;transition:stroke .2s}.voice-wave line.is-played{stroke:var(--gold)}.is-loading .voice-wave line{animation:pulse 1.2s ease-in-out infinite}.voice-time{font-size:13px;color:var(--gold);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.not-cup img{display:block;width:100%;border-radius:18px;border:3px solid var(--card);filter:sepia(.3)}.reading-text{margin:6px 0 0;font-family:var(--serif);font-size:17.5px;line-height:1.55;white-space:pre-line;min-height:3em}.reading-text:first-letter{float:left;font-family:var(--display);font-size:58px;line-height:.9;color:var(--terracotta);padding:6px 8px 0 0}.reading-text.is-typing:after{content:"▍";color:var(--terracotta);animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}.reading-section{display:flex;flex-direction:column;gap:10px;opacity:0;animation:fadein .6s ease forwards}.ornament{display:block;width:100%;height:14px}.reading-section h2{margin:0;font-family:var(--display);font-weight:400;font-size:23px;color:var(--ink)}.reading-section p{margin:0;font-family:var(--serif);font-size:17.5px;line-height:1.55}.postcard{position:relative;margin:8px 0 0;padding:18px 20px;background:var(--card);border-radius:6px;border:1px solid var(--border);box-shadow:0 8px 22px #2a181024;transform:rotate(-1.2deg)}.postcard .cross-stitch{opacity:.6}.postcard p{margin:12px 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;line-height:1.35;color:var(--ink)}.postcard cite{display:block;margin-top:10px;text-align:right;font-style:normal;font-size:13px;color:var(--brown)}.actions{display:flex;flex-direction:column;gap:10px;padding-top:8px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}}.profile-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;background:var(--card);border:1.5px solid var(--gold);animation:fadein .4s ease}.profile-card .avatar{width:48px;height:48px}.profile-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.profile-body h3{margin:0;font-family:var(--display);font-weight:400;font-size:21px;color:var(--ink)}.profile-hint{margin:-6px 0 0;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--muted-2)}.profile-input{height:46px;padding:0 14px;border-radius:12px;border:1.5px solid var(--border);background:#fff;color:var(--text);font:500 16px var(--sans)}.profile-input:focus{outline:2px solid var(--terracotta);outline-offset:1px}.profile-options{display:flex;flex-wrap:wrap;gap:8px}.profile-opt{padding:8px 12px;border-radius:18px;border:1.5px solid var(--border);background:var(--paper);color:var(--text);font:600 14px var(--sans)}.profile-opt.is-on{background:var(--terracotta);border-color:var(--terracotta);color:#fff8ee}.profile-actions{display:flex;align-items:center;gap:12px}.profile-save{height:44px;padding:0 22px;border:0;border-radius:12px;background:var(--ink);color:var(--cream);font:600 15px var(--sans)}.link-small{font-size:13px;align-self:center}.history-link{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border-radius:14px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font:600 16px var(--sans);text-align:left}.history-link svg{color:var(--brown)}.history-link span:nth-child(2){flex:1}.history-link-arrow{font-size:24px;line-height:1;color:var(--brown)}.history{padding:20px 20px calc(env(safe-area-inset-bottom) + 32px);gap:14px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.history-item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:16px;background:var(--card);border:1px solid var(--border);animation:fadein .3s ease}.history-open{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;text-align:left;color:var(--text)}.history-thumb{position:relative;width:64px;height:64px;flex-shrink:0;border-radius:12px;overflow:hidden;background:var(--paper-2);color:var(--brown);display:grid;place-items:center}.history-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.history-text{min-width:0;display:flex;flex-direction:column;gap:3px}.history-meta{font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--brown)}.history-quote{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.history-del{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--muted);display:grid;place-items:center}.history-del.is-sure{width:auto;padding:0 12px;border-radius:12px;background:var(--terracotta);color:#fff8ee;font:600 13px var(--sans)}.history-confirm{display:flex;flex-direction:column;align-items:center;gap:2px}.history-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 16px;text-align:center;color:var(--brown)}.history-empty p{margin:0;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--text)}.page-history{min-height:100vh}.cup-missing{padding:36px 24px;background:var(--paper-2);text-align:center}.cup-missing p{margin:0;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted-2)}.legal-links{margin:-8px 0 0;text-align:center;font-size:12px;color:var(--muted)}.legal-links a{color:var(--muted)}.spicy-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1.5px dashed var(--border);cursor:pointer}.spicy-row.is-on{border-style:solid;border-color:var(--terracotta);background:#a8472a0f}.spicy-text{flex:1;display:flex;flex-direction:column;gap:2px}.spicy-text strong{font-size:15px;color:var(--ink)}.spicy-text small{font-size:13px;color:var(--muted-2)}.spicy-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:26px;flex-shrink:0;border-radius:13px;background:var(--border);position:relative;cursor:pointer;transition:background .2s}.spicy-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.spicy-switch:checked{background:var(--terracotta)}.spicy-switch:checked:after{transform:translate(20px)}.age-confirm{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text)}.age-confirm input{width:18px;height:18px;accent-color:var(--terracotta);margin-top:1px}.profile-save:disabled{opacity:.45}.premium{display:flex;flex-direction:column;gap:10px}.premium-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.premium-head h2{margin:0;font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink)}.premium-badge{font-size:12px;font-weight:600;color:var(--terracotta);background:#a8472a1a;padding:3px 10px;border-radius:10px;white-space:nowrap}.premium-group{margin:4px 0 0;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--brown)}.pchips{display:flex;flex-wrap:wrap;gap:8px}.pchip{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:20px;border:1.5px solid var(--gold);background:var(--card);color:var(--text);font:600 14px var(--sans)}.pchip svg{color:var(--gold-2)}.pchip.is-on{background:var(--terracotta);border-color:var(--terracotta);color:#fff8ee}.pchip.is-on svg{color:var(--gold-light)}.pchip.is-locked{border-color:var(--border);color:var(--muted);background:var(--paper)}.pchip.is-locked svg{color:var(--muted)}.ask-card{margin-top:6px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border-radius:18px;border:0;background:radial-gradient(120% 140% at 0% 0%,var(--ink-glow) 0%,var(--ink) 70%);color:var(--cream);text-align:left;box-shadow:0 10px 24px #2a181040}.ask-card.is-on{outline:3px solid var(--terracotta);outline-offset:2px}.ask-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:2px;color:var(--gold)}.ask-title{font-family:var(--display);font-size:26px;line-height:1.1}.ask-sub{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--lace)}.ask-card.is-locked{opacity:.92}.premium-input{display:flex;flex-direction:column;gap:8px;animation:fadein .3s ease}.premium-input label{font-size:14px;font-weight:600;color:var(--ink)}.ask-text{height:auto;padding:12px 14px;resize:none;line-height:1.4;font-family:var(--sans)}.ask-count{align-self:flex-end;font-size:12px;color:var(--muted)}.zodiac{display:flex;flex-wrap:wrap;gap:6px}.zchip{padding:5px 10px;border-radius:14px;border:1px solid var(--border);background:var(--card);color:var(--text);font:500 13px var(--sans)}.zchip.is-on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.paywall{padding:14px 16px;border-radius:14px;background:var(--card);border:1.5px solid var(--terracotta);animation:fadein .25s ease}.paywall p{margin:0 0 6px;font-size:15px}.paywall-sub{color:var(--muted-2);font-size:14px!important}.asked{margin:0;font-size:14px;color:var(--gold)}.asked em{font-family:var(--serif);font-size:17px;color:var(--cream)}.device-code{margin:-10px 0 0;text-align:center;font-size:11px;color:var(--muted)}.device-code code{font-family:ui-monospace,monospace}.device-code .link-small{font-size:11px;padding:0 4px}
