:root{--bg:#101116;--bg-alt:#19191d;--card:#1b1a1d;--card-line:#dcc1a340;--white:#f2e9df;--ink:#f2e9df;--ink-soft:#b9b5b7;--ink-muted:#8c898d;--accent:#d9b587;--accent-deep:#a77a4f;--gold:#d9b587;--gold-light:#f2d2a5;--gold-dark:#a77a4f;--on-gold:#29201a;--cta:linear-gradient(135deg, #f3d5a8 0%, #d7ad77 100%);--dark:#101116;--on-dark:#f2e9df;--on-dark-soft:#b9b5b7;--gold-glow:#d9b5872e;--danger:#e0685c;--hero-top:#d9b58724;--hero-mid:#17171b;--hero-bottom:#101116;--paper:#1b1a1d;--nav-bg:#17171b;--nav-inactive:#b7a59a;--nav-active:#f2d2a5;--num-purple:#b79ce8;--num-blue:#8fb8e8;--num-green:#8bcda6;--num-amber:#e0a458;--radius:20px;--radius-sm:14px;--nav-h:74px;--font-serif:"Cormorant Garamond", "Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-script:"Marck Script", cursive}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}#root{width:100%;min-width:0;max-width:480px}body{color:var(--ink);font-family:var(--font-sans);overscroll-behavior:none;background:#000;justify-content:center;font-size:16px;line-height:1.45;display:flex;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3{font-family:var(--font-serif);margin:0;font-weight:500}p{margin:0}.app{background:var(--bg);flex-direction:column;width:100%;max-width:480px;height:100%;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.scroll{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));flex:1;overflow:hidden auto}.warm{background:radial-gradient(70% 34% at 50% 6%, var(--hero-top) 0%, transparent 70%), linear-gradient(180deg, var(--hero-mid) 0%, var(--hero-bottom) 100%);min-height:100%;color:var(--on-dark);flex-direction:column;display:flex}.warm>.sheet{flex:1}.homepage{background-image:url(../assets/hero/home.webp),radial-gradient(1.6px 1.6px at 12% 8%,#f2d2a5e6,#0000),radial-gradient(1.2px 1.2px at 68% 22%,#f2d2a5b3,#0000),radial-gradient(1.8px 1.8px at 34% 46%,#f2d2a5cc,#0000),radial-gradient(1.2px 1.2px at 82% 58%,#f2d2a599,#0000),radial-gradient(1.4px 1.4px at 8% 74%,#f2d2a5bf,#0000),radial-gradient(1.6px 1.6px at 55% 84%,#f2d2a5a6,#0000),radial-gradient(1.2px 1.2px at 91% 92%,#f2d2a58c,#0000),radial-gradient(1.4px 1.4px at 24% 98%,#f2d2a599,#0000);background-position:top,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:no-repeat,repeat-y,repeat-y,repeat-y,repeat-y,repeat-y,repeat-y,repeat-y,repeat-y;background-size:100%,320px 420px,320px 420px,320px 420px,320px 420px,320px 420px,320px 420px,320px 420px,320px 420px;background-color:var(--bg)}.gutter{padding-left:16px;padding-right:16px}.topbar{justify-content:space-between;align-items:center;padding:14px 16px 0;display:flex}.roundbtn{border:1px solid var(--card-line);width:42px;height:42px;color:var(--white);font-family:var(--font-serif);background:#d8ac7024;border-radius:50%;justify-content:center;align-items:center;font-size:19px;display:inline-flex}.roundbtn.ring{border:2px solid var(--accent);background:#d8ac7029}.roundbtn svg{width:22px;height:22px}.hero{text-align:center;padding:6px 22px 22px}.logo{width:62px;height:62px;color:var(--accent);margin:18px auto 34px}.hero .hi{color:var(--ink-soft);font-size:15px}.hero h1{color:var(--white);margin-top:8px;font-size:34px;line-height:1.12}.homehero{aspect-ratio:900/803;background-image:url(../assets/hero/home.webp);background-position:top;background-repeat:no-repeat;background-size:100%;position:relative}.herobrand{align-items:flex-start;gap:10px;display:flex;position:absolute;top:18px;left:16px}.herobrand .brandicon{width:46px;height:46px;color:var(--gold);flex:none;margin-top:2px}.brandtext b{font-family:var(--font-serif);letter-spacing:1px;text-transform:uppercase;color:var(--ink);font-size:19px;font-weight:500;line-height:1.05;display:block}.brandtext span{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-size:8.5px;font-weight:300;line-height:1.4;display:block}.heroscript{max-width:100px;font-family:var(--font-script);color:var(--gold);text-align:right;transform-origin:100% 0;margin:0;font-size:21px;line-height:1.15;position:absolute;top:58px;right:60px;transform:rotate(-7deg)}.heroprofile{background:0 0;border:0;width:44px;height:44px;position:absolute;top:12px;right:12px}.heroprofile svg{width:30px;height:30px}.herocta{background:var(--bg);padding:8px 16px 0}.homegreeting{background:var(--bg);padding:14px 16px 0}.homegreeting-date{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.homegreeting-name{font-family:var(--font-sans);color:var(--white);margin:0;font-size:19px;font-weight:500}.homegreeting-year{color:var(--ink-soft);margin-top:4px;font-size:12.5px;display:block}.homecta{background:var(--cta);width:100%;color:var(--on-gold);font-family:var(--font-sans);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 22px;font-size:15.5px;font-weight:500;display:flex}.homecta svg{flex:none;width:19px;height:19px}.homecta-hint{text-align:center;color:var(--ink-soft);margin-top:10px;font-size:13.5px;line-height:1.4}.gridcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 12px 4px;display:grid}.gridcard{aspect-ratio:.95;background:#1b1a1d66;border:1px solid #dcc1a33b;border-radius:18px;position:relative;overflow:hidden}.gridcard .thumb{object-fit:cover;opacity:.92;width:100%;height:100%;transition:transform .2s;display:block}.gridcard:active .thumb{transform:scale(.94)}.gridcard .dailycard-ambient.a1{font-size:12px;top:14%;left:62%}.gridcard .dailycard-ambient.a2{font-size:9px;animation-delay:.9s;top:60%;left:18%}.gridcard:nth-child(8n+2) .dailycard-ambient.a1{animation-delay:.4s;top:70%;left:72%}.gridcard:nth-child(8n+2) .dailycard-ambient.a2{animation-delay:1.3s;top:22%;left:26%}.gridcard:nth-child(8n+3) .dailycard-ambient.a1{animation-delay:.7s;top:30%;left:20%}.gridcard:nth-child(8n+3) .dailycard-ambient.a2{animation-delay:1.7s;top:76%;left:64%}.gridcard:nth-child(8n+4) .dailycard-ambient.a1{animation-delay:.2s;top:58%;left:30%}.gridcard:nth-child(8n+4) .dailycard-ambient.a2{animation-delay:1.1s;top:16%;left:70%}.gridcard:nth-child(8n+5) .dailycard-ambient.a1{animation-delay:1s;top:24%;left:56%}.gridcard:nth-child(8n+5) .dailycard-ambient.a2{animation-delay:.1s;top:72%;left:24%}.gridcard:nth-child(8n+6) .dailycard-ambient.a1{animation-delay:1.4s;top:66%;left:60%}.gridcard:nth-child(8n+6) .dailycard-ambient.a2{animation-delay:.5s;top:20%;left:22%}.gridcard:nth-child(8n+7) .dailycard-ambient.a1{animation-delay:.6s;top:40%;left:74%}.gridcard:nth-child(8n+7) .dailycard-ambient.a2{animation-delay:1.6s;top:68%;left:20%}.gridcard:nth-child(8n+8) .dailycard-ambient.a1{animation-delay:1.2s;top:18%;left:32%}.gridcard:nth-child(8n+8) .dailycard-ambient.a2{animation-delay:.3s;top:64%;left:70%}.giftbanner{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border:1px solid var(--card-line);color:var(--white);text-align:left;background:linear-gradient(120deg,#2523268c,#17181cb3);border-radius:22px;justify-content:space-between;align-items:center;gap:12px;width:calc(100% - 24px);margin:12px;padding:16px 18px;display:flex}.giftbanner .giftico{width:32px;height:32px;color:var(--gold);flex:none}.giftbanner .gifttext{flex:1}.giftbanner b{font-family:var(--font-sans);font-size:15px;font-weight:500;display:block}.giftbanner span{font-family:var(--font-sans);color:var(--ink-soft);font-size:12px;display:block}.giftbanner .arrow{color:var(--accent)}.asklink{border:1px solid var(--card-line);color:var(--white);text-align:left;background:#1b1a1d73;border-radius:18px;align-items:center;gap:12px;width:calc(100% - 24px);margin:0 12px 12px;padding:14px 16px;display:flex}.asklink-ico{width:30px;height:30px;color:var(--gold);flex:none}.asklink-text{flex:1}.asklink-text b{font-family:var(--font-sans);font-size:14.5px;font-weight:500;display:block}.asklink-text span{color:var(--ink-soft);margin-top:2px;font-size:12px;line-height:1.4;display:block}.asklink .arrow{color:var(--accent)}.dailycard{border:1px solid var(--card-line);background:linear-gradient(120deg,#2523268c,#17181cb3);border-radius:22px;width:calc(100% - 24px);margin:12px;padding:18px}.dailycard-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.dailycard-title{font-family:var(--font-sans);letter-spacing:1.5px;color:var(--accent);font-size:11.5px;font-weight:600}.dailycard-streak{color:var(--ink-soft);border:1px solid var(--card-line);border-radius:999px;padding:3px 10px;font-size:12px}.dailycard-row{text-align:left;perspective:700px;background:0 0;border:0;align-items:flex-start;gap:14px;width:100%;margin:0;padding:0;display:flex}.dailycard-art{border:1px solid var(--card-line);border-radius:12px;flex:none;justify-content:center;align-items:center;width:108px;height:162px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.dailycard-row.is-idle:hover .dailycard-art{transform:scale(1.035)translateY(-3px);box-shadow:0 10px 22px #00000059,0 0 0 1px #d9b5878c,0 0 18px #d9b58759}.dailycard-row.is-idle:active .dailycard-art{transform:scale(.97)}.dailycard-art:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff47 48%,#0000 66%);position:absolute;inset:0;transform:translate(-130%)}.dailycard-row.is-idle:hover .dailycard-art:after{animation:1.1s dailycard-shine}.dailycard-art.is-spinning{animation:.7s ease-in-out dailycard-spin}.dailycard-backimg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dailycard-sparkle{z-index:2;color:var(--gold-light);text-shadow:0 0 16px #d9b587bf;font-size:22px;animation:.9s ease-in-out infinite dailycard-twinkle;position:absolute}.dailycard-sparkle.s1{font-size:28px;animation-delay:0s;top:28%;left:30%}.dailycard-sparkle.s2{font-size:18px;animation-delay:.3s;top:55%;left:62%}.dailycard-sparkle.s3{font-size:15px;animation-delay:.55s;top:68%;left:24%}.dailycard-flash{z-index:2;pointer-events:none;background:radial-gradient(circle,#f2d2a5d9 0%,#d9b58740 40%,#0000 70%);animation:.5s ease-out dailycard-flashburst;position:absolute;inset:0}.dailycard-ambient{z-index:2;color:var(--gold-light);text-shadow:0 0 14px #d9b587d9;opacity:0;pointer-events:none;animation:2.4s ease-in-out infinite dailycard-ambient-twinkle;position:absolute}.dailycard-ambient.a1{font-size:16px;animation-delay:0s;top:18%;left:68%}.dailycard-ambient.a2{font-size:12px;animation-delay:.8s;top:48%;left:20%}.dailycard-ambient.a3{font-size:14px;animation-delay:1.6s;top:76%;left:58%}.dailycard-prompt,.dailycard-message{flex-direction:column;flex:1;min-width:0;padding-top:2px;display:flex}.dailycard-prompt b{font-family:var(--font-sans);color:var(--white);font-size:15px}.dailycard-prompt span{color:var(--ink-soft);margin-top:4px;font-size:13px;display:block}.dailycard-message{animation:.4s ease-out dailycard-fadein}.dailycard-message b{font-family:var(--font-sans);color:var(--white);margin-bottom:6px;font-size:15px}.dailycard-text{color:var(--ink-soft);font-size:13.5px;line-height:1.5}.dailycard-foot{margin-top:14px}.dailycard-full{background:var(--cta);color:var(--on-gold);border:0;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:500;display:inline-flex}.dailycard-mood{border-top:1px solid var(--card-line);margin-top:16px;padding-top:14px}.dailycard-mood>span{color:var(--ink-soft);margin-bottom:8px;font-size:12.5px;display:block}.dailycard-moodbtns{flex-wrap:wrap;gap:8px;display:flex}.dailycard-moodbtns button{border:1px solid var(--card-line);color:var(--ink-soft);background:0 0;border-radius:999px;padding:8px 14px;font-size:12.5px}.dailycard-moodbtns button.on{background:var(--cta);color:var(--on-gold);border-color:#0000}@keyframes dailycard-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes dailycard-twinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes dailycard-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes dailycard-shine{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes dailycard-flashburst{0%{opacity:0;transform:scale(.6)}35%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.4)}}@keyframes dailycard-ambient-twinkle{0%,55%,to{opacity:0;transform:scale(.7)}75%{opacity:1;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.dailycard-art.is-spinning,.dailycard-art:after,.dailycard-row.is-idle:hover .dailycard-art{animation:none;transform:none}.dailycard-sparkle,.dailycard-ambient,.dailycard-flash,.dailycard-message{animation:none}}.glass{border:1px solid var(--card-line);border-radius:var(--radius);color:var(--white);background:#15141c9e;margin:0 16px 14px;padding:16px 18px}.glass h3{margin-bottom:4px;font-size:22px}.glass .muted{color:var(--ink-soft);font-size:15px}.progress{background:#d8ac7024;border-radius:10px;height:26px;margin:12px 0 10px;overflow:hidden}.progress>i{background:var(--accent);border-radius:10px;height:100%;display:block}.split{color:var(--ink-soft);justify-content:space-between;font-size:14px;display:flex}.cta{background:var(--cta);width:calc(100% - 32px);color:var(--on-gold);border-radius:999px;justify-content:center;align-items:center;margin:0 16px 16px;padding:17px 20px;font-size:18px;font-weight:600;display:flex}.locks{gap:12px;margin:14px -18px 0;padding:0 18px 4px;display:flex;overflow-x:auto}.lockcard{border-radius:var(--radius-sm);border:1px solid var(--card-line);background:#d8ac7014;flex:none;width:66%;padding:12px}.lockcard .tag{color:var(--white);background:#d8ac702e;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:15px;font-weight:600;display:inline-flex}.lockcard p{color:var(--ink-soft);margin-top:10px;font-size:14px}.lockcard b{font-family:var(--font-serif);color:var(--white);margin-top:6px;font-size:22px;font-weight:500;display:block}.sheet{background:var(--bg);color:var(--ink);border-radius:0;min-height:50vh;padding:16px 14px 32px}.card{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius);margin-bottom:14px;padding:18px;position:relative;overflow:hidden}.card .label{color:var(--ink-soft);font-size:15px}.card h3{color:var(--ink);max-width:80%;margin:6px 0 12px;font-size:23px;line-height:1.2}.card .bignum{font-family:var(--font-serif);color:#d8ac7038;pointer-events:none;font-size:96px;line-height:1;position:absolute;top:34px;right:12px}.row-key{align-items:center;gap:6px;display:inline-flex}.profile-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 2px;font-size:12px}.profile-name{font-family:var(--font-serif);color:var(--ink);margin:0 0 14px;font-size:26px}.profile-dual{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.profile-dual-card{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius);text-align:center;padding:18px 12px}.profile-dual-symbol{color:var(--accent);margin-bottom:6px;font-size:34px}.profile-dual-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin:0 0 2px;font-size:11px}.profile-dual-value{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:17px}.profile-sub-row{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius);width:100%;color:var(--ink);text-align:left;justify-content:space-between;align-items:center;margin-bottom:14px;padding:14px 16px;font-size:14.5px;display:flex}.profile-sub-row-value{color:var(--accent);font-size:13px}.row-link{color:var(--accent);font-size:14px}.row-edit{align-items:center;gap:6px;display:inline-flex}.row-edit-input{background:var(--bg-alt);border:1px solid var(--card-line);color:var(--ink);border-radius:10px;width:120px;padding:5px 8px;font-size:13px}.row-edit-save{color:var(--accent);padding:4px 6px;font-size:18px;line-height:1}.key-icon{object-fit:contain;width:20px;height:20px}.pill-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:14px 0 8px;font-size:12px}.pill-group-label:first-of-type{margin-top:4px}.pill-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pill-choice{border:1px solid var(--card-line);color:var(--ink);text-align:center;background:#1b1a1d80;border-radius:999px;padding:11px 10px;font-size:13.5px;line-height:1.25}.pill-choice.on{border-color:var(--accent);color:var(--accent)}.outline{border:1px solid var(--accent-deep);color:var(--accent-deep);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:11px 22px;font-size:16px;display:inline-flex}.outline.light{border-color:var(--gold-light);color:var(--gold-light)}.presetgrid{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.presetgrid .outline{text-align:left;padding:9px 16px;font-size:14px}.primary{background:var(--cta);width:100%;color:var(--on-gold);border-radius:999px;justify-content:center;align-items:center;padding:16px;font-size:18px;font-weight:600;display:flex}.primary:disabled{opacity:.45}.fan{width:100%;height:auto;margin:-6px 0 6px;display:block}.card.fancard{text-align:center;padding-top:14px}.card.fancard h3{max-width:none;margin-top:0}.card.fancard p{color:var(--ink-soft);padding:0 6px 6px;font-size:16px}.card.starcard{color:var(--white);background:linear-gradient(160deg,#241b12 0%,#17141f 100%);flex-direction:column;justify-content:flex-end;min-height:260px;display:flex}.card.starcard .pattern{opacity:.4;width:100%;height:100%;position:absolute;inset:0}.card.starcard .inner{border:1px solid var(--card-line);border-radius:var(--radius-sm);text-align:center;background:#15141c8c;padding:16px;position:relative}.card.starcard h3{color:var(--white);max-width:none;margin:0 0 8px}.card.starcard p{margin-bottom:14px;font-size:16px}.pagehead{color:var(--white);padding:22px 20px 16px}.pagehead h1{font-size:34px}.pagehead p{color:var(--ink-soft);margin-top:8px;font-size:16px}.chiprow{scrollbar-width:none;gap:10px;padding:2px 16px 16px;display:flex;overflow-x:auto}.chiprow::-webkit-scrollbar{display:none}.pill{border:1px solid var(--card-line);color:var(--white);font-family:var(--font-serif);white-space:nowrap;background:#d8ac701a;border-radius:14px;flex:none;padding:12px 18px;font-size:17px}.pill.on{background:var(--cta);color:var(--on-gold);border-color:#0000}.dark .pill{color:var(--on-dark);background:#d8ac701a}.dark .pill.on{background:var(--cta);color:var(--on-gold)}.field{margin:12px 0;display:block}.field>span{color:var(--ink-soft);margin-bottom:4px;font-size:15px;display:block}.field-select{border:1px solid var(--card-line);width:100%;color:var(--ink);font-family:var(--font-sans);background:#1b1a1d80;border-radius:12px;padding:11px 12px;font-size:13.5px}.field-select option{background:var(--card);color:var(--ink)}input.text{border:0;border-bottom:1px solid var(--card-line);width:100%;color:var(--ink);letter-spacing:.5px;background:0 0;border-radius:0;padding:10px 2px;font-size:22px}input.text:focus{border-bottom:2px solid var(--accent);outline:0}input.text[readonly]{opacity:.85}.error{color:var(--danger);margin:6px 0;font-size:14px}.hint{color:var(--ink-soft);margin:6px 0 14px;font-size:14px}.formhead{color:var(--accent-deep);margin:8px 0 14px;font-size:26px;line-height:1.2}.formspace{height:34px}.overlay{z-index:20;background:var(--dark);color:var(--on-dark);flex-direction:column;animation:.22s ease-out rise;display:flex;position:fixed;inset:0}.overlay.light{background:linear-gradient(180deg, var(--hero-mid) 0%, var(--bg) 45%);color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.bar{justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:14px 14px 10px;display:flex}.bar h2{text-align:center;flex:1;font-size:19px;font-weight:500}.iconbtn{width:40px;height:40px;color:inherit;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.bar-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.pdfbtn{border:1px solid var(--card-line);height:36px;color:inherit;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.pdfbtn:disabled{opacity:.5}.pdfbtn svg{width:16px;height:16px}.overlay .body{flex:1;padding-bottom:32px;overflow-y:auto}.light .pagehead{color:var(--accent-deep);padding:4px 20px 12px}.light .pagehead h1{color:var(--accent-deep);font-size:34px}.light .pagehead p{color:var(--ink-soft)}.tabs{scrollbar-width:none;gap:10px;padding:6px 16px 14px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border:1px solid var(--card-line);color:var(--white);font-family:var(--font-serif);background:#d8ac701a;border-radius:14px;flex:none;padding:12px 18px;font-size:17px}.tab.on{background:var(--cta);color:var(--on-gold);box-shadow:0 0 0 1px var(--accent);border-color:#0000}.sheetbody{background:var(--bg);min-height:60vh;color:var(--ink);border-radius:0;padding:20px 16px 36px}.sheetbody h2{color:var(--accent-deep);margin:0 0 10px;font-size:26px}.selectbtn{font-family:var(--font-serif);color:var(--accent-deep);text-align:left;align-items:center;gap:8px;font-size:26px;display:inline-flex}.text-block{white-space:pre-line;font-size:17px;line-height:1.55}.text-block+.text-block{margin-top:12px}.reco{margin-top:12px;font-weight:600}.reporthead{text-align:center;padding:20px 20px 4px}.reportkicker{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.reporthead h1{color:var(--white);margin-top:6px;font-size:28px}.reportmeta{color:var(--ink-soft);margin-top:6px;font-size:13px}.numrow{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px;display:grid}.numtile{border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--card-line);flex-direction:column;align-items:center;gap:6px;padding:12px 4px;display:flex}.numtile b{font-family:var(--font-serif);font-size:26px;font-weight:500}.numtile span{text-align:center;color:var(--ink-soft);font-size:9.5px;line-height:1.2}.minicards{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.minicard{text-align:left;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--card-line);padding:14px 16px}.minicard b{font-family:var(--font-serif);font-size:17px;font-weight:500;display:block}.minicard p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.minicard .arrow{color:var(--accent);margin-top:8px;font-size:13px;display:inline-block}.strengths{flex-direction:column;gap:16px;margin-bottom:8px;display:flex}.strengthcol h4{font-family:var(--font-serif);color:var(--accent);margin:0 0 6px;font-size:17px;font-weight:500}.destcard{border-radius:var(--radius);border:1px solid var(--card-line);background:linear-gradient(160deg,#272425f0,#121317fa);margin-bottom:18px;padding:18px}.destcard h3{color:var(--white);margin-bottom:8px;font-size:22px}.destcard .text-block{color:var(--ink-soft);margin-bottom:14px}.recobanner{border-radius:var(--radius);border:1px solid var(--card-line);text-align:left;background:linear-gradient(120deg,#252326b3,#17181cd9);justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:18px;padding:16px 18px;display:flex}.recobanner b{font-family:var(--font-serif);color:var(--white);font-size:17px;font-weight:500;display:block}.recobanner>span>span{color:var(--ink-soft);margin-top:2px;font-size:13px;display:block}.recobanner .arrow{color:var(--accent);white-space:nowrap;flex:none;font-size:14px}.result-head{text-align:center;font-family:var(--font-serif);color:var(--on-dark);padding:0 24px 6px;font-size:20px}.star{width:min(100%,360px);margin:0 auto;display:block}.star .edge{stroke:#d8ac7099;stroke-width:1.2px;fill:none}.star .ring{stroke:#d8ac7047;fill:none}.star .node circle{fill:var(--bg);stroke:#f5ece699;stroke-width:1.5px}.star .node.active circle{fill:var(--gold-dark);stroke:var(--gold-light)}.star .node text{fill:var(--on-dark);font-family:var(--font-serif);text-anchor:middle;dominant-baseline:central;font-size:22px}.star .node text.cap{fill:var(--on-dark-soft);font-family:var(--font-sans);font-size:11px}.trio{width:min(100%,320px);margin:0 auto;display:block}.trio .edge{stroke:#d8ac7099;stroke-width:2px;fill:none}.trio circle{fill:var(--bg);stroke:#f5ece699;stroke-width:1.5px}.trio circle.top{fill:var(--gold-dark)}.trio text{fill:var(--on-dark);font-family:var(--font-serif);text-anchor:middle;dominant-baseline:central;font-size:24px}.numline{text-align:center;color:var(--gold);font-family:var(--font-serif);letter-spacing:10px;padding:4px 0 10px;font-size:26px}.chipnote{background:var(--card);border:1px solid var(--card-line);color:var(--accent-deep);border-radius:999px;margin-bottom:14px;padding:8px 14px;font-size:14px;display:inline-flex}.item{margin-bottom:20px}.item h3{color:var(--accent-deep);margin-bottom:6px;font-size:22px}.item h4{font-family:var(--font-serif);color:var(--ink);margin:12px 0 4px;font-size:18px;font-weight:500}.locked{border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--card-line);color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.notes{color:var(--ink-soft);margin-top:16px;font-size:13px}.notes p{margin-bottom:8px}.notes .warn{color:var(--gold-light)}.numtag{letter-spacing:.5px;text-transform:uppercase;border:1px solid;border-radius:999px;margin-top:6px;padding:3px 10px;font-size:10.5px;display:inline-block}.num-purple{color:var(--num-purple)}.num-blue{color:var(--num-blue)}.num-green{color:var(--num-green)}.num-gold{color:var(--gold)}.num-amber{color:var(--num-amber)}.cardgrid{grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 20px 24px;display:grid}.cardgrid button{aspect-ratio:.62;border-radius:12px;transition:transform .18s;overflow:hidden}.cardgrid button:active{transform:scale(.96)}.cardgrid svg{width:100%;height:100%;display:block}.slots{text-align:center;font-family:var(--font-serif);justify-content:space-around;padding:4px 16px 14px;display:flex}.slot{width:28%}.slot .ph{aspect-ratio:.62;border:1px dashed var(--card-line);background:#d8ac7014;border-radius:12px;margin-bottom:8px;overflow:hidden}.slot .ph svg{width:100%;height:100%;display:block}.deckrows{flex-direction:column;gap:8px;padding:0 12px 24px;display:flex}.deckrow{height:84px;padding-right:14px;display:flex}.deckrow button{border-radius:8px;flex:1;margin-right:-14px;overflow:hidden}.deckrow button svg{width:100%;height:100%;display:block}.deckrow button.picked{opacity:.25}.faceview{padding:0 24px 18px}.faces{justify-content:center;gap:10px;display:flex}.faces>*{flex:1;max-width:34%}.bigface{max-width:62%;margin:0 auto}.faceview svg{width:100%;height:auto;display:block}.tarot78-face{border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 4px 16px #00000040}.spreadcard{background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:18px;display:flex;overflow:hidden}.spreadcard h3{color:var(--ink);margin-bottom:6px;font-size:23px}.spreadcard p{color:var(--ink-soft);margin-bottom:14px;font-size:15px}.spreadcard svg{flex:none;width:36%;height:auto}.search{border:1px solid var(--card-line);color:var(--white);background:#d8ac701a;border-radius:16px;width:calc(100% - 32px);margin:0 16px 14px;padding:16px 18px;font-size:17px}.search::placeholder{color:var(--ink-soft)}.seg{border:1px solid var(--card-line);background:#d8ac7014;border-radius:14px;margin:0 16px 16px;padding:4px;display:flex}.seg button{color:var(--white);font-family:var(--font-serif);border-radius:11px;flex:1;padding:12px;font-size:17px}.seg button.on{background:var(--cta);color:var(--on-gold)}.empty{text-align:center;color:var(--ink-soft);padding:30px 20px}.empty .logo,.empty svg{color:var(--accent);margin:0 auto 12px;display:block}.nav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--nav-bg);border-top:1px solid var(--card-line);border-radius:28px 28px 0 0;display:flex;position:fixed;bottom:0;left:0;right:0}.nav button{min-width:0;color:var(--nav-inactive);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.nav button .navicon{object-fit:contain;opacity:.7;width:25px;height:25px}.nav button .navlabel{letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.nav button.on{color:var(--nav-active)}.nav button.on .navicon,.nav button.on .navlabel{opacity:1}.center{text-align:center;min-height:100%;color:var(--white);flex-direction:column;justify-content:center;gap:14px;padding:32px 22px;display:flex}.center h1{font-size:30px}.center p{color:var(--ink-soft)}.center .logo{margin:0 auto 6px}.birth{background:var(--card);border:1px solid var(--card-line);color:var(--ink);text-align:left;border-radius:26px;padding:20px}.onboard-dots{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.onboard-dots span{background:var(--card-line);border-radius:2px;width:18px;height:3px}.onboard-dots span.on{background:var(--accent)}.onboard-options{flex-direction:column;gap:10px;margin-top:6px;display:flex}.onboard-options button{border:1px solid var(--card-line);color:var(--white);font-family:var(--font-sans);text-align:left;background:#1b1a1d80;border-radius:16px;padding:15px 18px;font-size:14.5px}.onboard-hint{color:var(--ink-muted);margin-top:4px;font-size:12px}.wheel-date{gap:4px;height:220px;margin:10px 0;display:flex;position:relative}.wheel-date:before{content:"";border-top:1px solid var(--card-line);border-bottom:1px solid var(--card-line);pointer-events:none;background:#d9b58714;border-radius:14px;height:44px;position:absolute;top:88px;left:0;right:0}.wheel-date:after{content:"";background:linear-gradient(180deg, var(--card) 0%, transparent 28%, transparent 72%, var(--card) 100%);pointer-events:none;position:absolute;inset:0}.wheel-col{scroll-snap-type:y mandatory;scrollbar-width:none;text-align:center;flex:1;height:220px;overflow-y:scroll}.wheel-col::-webkit-scrollbar{display:none}.wheel-item{scroll-snap-align:center;color:var(--ink-muted);font-family:var(--font-serif);opacity:.55;justify-content:center;align-items:center;font-size:17px;transition:color .15s,opacity .15s;display:flex}.wheel-item.on{color:var(--accent);opacity:1;font-size:19px}.onboard-brand{font-family:var(--font-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:15px;font-weight:600}.onboard-moon{border:1px solid var(--card-line);background:radial-gradient(circle at 38% 32%,#d9b58759,#0000 60%),radial-gradient(circle at 60% 65%,#d9b5871f,#0000 55%);border-radius:50%;width:180px;height:180px;margin:4px auto 8px;position:relative;box-shadow:0 0 60px #d9b58726}.onboard-moon:after{content:"☾";color:var(--accent);opacity:.85;justify-content:center;align-items:center;font-size:72px;display:flex;position:absolute;inset:0}.building-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin:0;font-size:12px}.building-svg{width:100%;max-width:300px;margin:18px auto 0}.bm-node circle{fill:var(--card);stroke:var(--card-line);stroke-width:1.2px;transform-origin:50%;opacity:0;transition:stroke .4s,fill .4s,transform .4s;transform:scale(.4)}.bm-node text{fill:var(--ink-muted);font-family:var(--font-serif);opacity:0;font-size:16px;transition:opacity .4s .1s}.bm-node.on circle{stroke:var(--accent);fill:#d9b5871f;opacity:1;transform:scale(1)}.bm-node.on text{fill:var(--accent);opacity:1}.bm-center circle{stroke-width:1.6px}.bm-center.on circle{fill:#d9b58738;animation:1.6s ease-in-out infinite bm-pulse}.bm-center.on text{font-size:20px;font-weight:600}@keyframes bm-pulse{0%,to{filter:drop-shadow(0 0 #d9b58700)}50%{filter:drop-shadow(0 0 10px #d9b5878c)}}.spinner{border:3px solid #d8ac7033;border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;margin:28px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.overlay .spinner{border-color:#d8ac7033;border-top-color:var(--gold)}.plan{border:2px solid #0000}.plan.featured{border-color:var(--accent)}.plan ul{color:var(--ink-soft);margin:8px 0 12px;padding-left:18px;font-size:15px}.periods{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.periods button{border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--card-line);color:var(--ink);flex-direction:column;align-items:center;gap:2px;padding:10px 6px;font-size:13px;display:flex}.periods button b{font-size:17px}.periods button:disabled{opacity:.5}.sub{color:var(--ink-soft);font-size:14px}.row{border-bottom:1px solid var(--card-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.row:last-child{border-bottom:0}.switch{background:#d8ac702e;border-radius:999px;width:48px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent-deep)}.switch.on:after{transform:translate(20px)}.toast{left:16px;right:16px;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:40;background:var(--card);border:1px solid var(--card-line);color:var(--white);border-radius:var(--radius-sm);text-align:center;padding:12px 16px;animation:.2s ease-out rise;position:fixed}.sharecard{background:var(--card);border:1px solid var(--card-line);color:var(--ink);text-align:center;border-radius:24px;margin:8px 20px 20px;padding:22px 20px}.sharecard .bignum{font-family:var(--font-serif);color:var(--accent);font-size:88px;line-height:1}.sharecard h3{letter-spacing:1px;text-transform:uppercase;margin:8px 0 10px;font-size:22px}.sharecard p{font-size:16px;line-height:1.5}.sharecard .advice{letter-spacing:1px;margin-top:14px;font-weight:600}.histcard{border-radius:var(--radius);border:1px solid var(--card-line);background:linear-gradient(145deg,#272425f0,#121317fa);align-items:stretch;gap:4px;margin-bottom:12px;display:flex}.histmain{text-align:left;flex:1;min-width:0;padding:16px 8px 16px 18px}.histmain b{font-family:var(--font-serif);color:var(--white);font-size:20px;font-weight:500;display:block}.histmain p{color:var(--ink-soft);margin-top:4px;font-size:13.5px;line-height:1.35}.histdate{color:var(--ink-muted);margin-top:8px;font-size:12px;display:block}.favbtn{width:48px;color:var(--ink-muted);flex:none;justify-content:center;align-items:center;display:flex}.favbtn svg{width:26px;height:26px}.favbtn.on{color:var(--gold)}.favbtn.on svg{fill:currentColor}.iconbtn .favbtn{width:40px;height:40px}.skeletons{flex-direction:column;gap:12px;padding:8px 16px;display:flex}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg,#dcc1a30f 30%,#dcc1a324 50%,#dcc1a30f 70%) 0 0/300% 100%;height:64px;animation:1.4s ease-in-out infinite shimmer}.skeleton.tall{height:96px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.offlinebar{z-index:60;text-align:center;color:#fff;background:#e0685ceb;padding:8px 14px;font-size:12.5px;position:absolute;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.spherehero{align-items:center;gap:16px;margin:4px 0 14px;display:flex}.spherehero h2{margin:0 0 2px}.spherenum{width:68px;height:68px;font-family:var(--font-serif);border:1px solid var(--card-line);background:radial-gradient(circle at 30% 25%,#ffffff0f,#00000040);border-radius:50%;flex:none;place-items:center;font-size:34px;font-weight:500;display:grid}.spherename{font-family:var(--font-serif);color:var(--ink-soft);font-size:20px}.pullquote{border-left:2px solid var(--accent);font-family:var(--font-serif);color:var(--gold-light);margin:0 0 14px;padding:4px 0 4px 16px;font-size:23px;font-style:italic;line-height:1.3}.text-block.lead{color:var(--ink);margin-bottom:18px}.bullets,.steps{color:var(--ink);margin:0 0 6px;padding-left:0;font-size:16px;line-height:1.5;list-style:none}.bullets li,.steps li{margin-bottom:8px;padding-left:22px;position:relative}.bullets li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:4px}.steps{counter-reset:step}.steps li{counter-increment:step;padding-left:30px}.steps li:before{content:counter(step);width:20px;height:20px;color:var(--on-gold);background:var(--cta);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;top:.1em;left:0}.factcard,.practicecard{border-radius:var(--radius-sm);border:1px solid var(--card-line);background:linear-gradient(160deg,#272425b3,#121317d9);margin:0 0 14px;padding:14px 16px}.factcard h4,.practicecard h4{font-family:var(--font-serif);color:var(--accent);margin:0 0 6px;font-size:18px;font-weight:500}.practicecard{background:linear-gradient(160deg,#d9b5871a,#121317e6);border-color:#d9b58773}.minicard p{white-space:normal}.healthcard{border-radius:var(--radius-sm);border:1px solid var(--card-line);background:linear-gradient(160deg,#8bcda614,#121317e6);margin:4px 0 16px;padding:16px}.healthcard h3{font-family:var(--font-serif);color:var(--num-green);margin:0 0 8px;font-size:20px}.healthcard h4{font-family:var(--font-serif);color:var(--accent);margin:10px 0 4px;font-size:17px;font-weight:500}.healthnote{color:var(--ink-muted);margin:12px 0 0;font-size:13px;line-height:1.4}.kin{width:min(100%,340px);margin:0 auto 18px;display:block}.kin .edge{stroke:#d8ac7080;stroke-width:1.4px;fill:none}.kin circle{fill:var(--bg);stroke:#f5ece699;stroke-width:1.5px}.kin circle.me{fill:var(--gold-dark);stroke:var(--gold-light)}.kin circle.lesson{stroke:var(--num-amber)}.kin text{fill:var(--on-dark);font-family:var(--font-serif);text-anchor:middle;dominant-baseline:central;font-size:22px}.kin text.cap{fill:var(--on-dark-soft);font-family:var(--font-sans);font-size:11px}.kin text.who{fill:var(--gold-light);font-family:var(--font-sans);letter-spacing:3px;font-size:12px}.nav button .navsvg{opacity:.7;padding:1px}.nav button.on .navsvg{opacity:1}.nav button .navlabel{letter-spacing:-.2px}.calcsec{margin-bottom:22px}.calcsec h2{font-family:var(--font-serif);color:var(--gold-light);margin:4px 0 2px;font-size:26px}.calcitem{text-align:left;background:var(--card);border:1px solid var(--card-line);border-radius:var(--radius-sm);width:100%;color:var(--ink);margin-bottom:10px;padding:14px 16px;display:block}.calcitem b{font-family:var(--font-serif);color:var(--white);font-size:20px;font-weight:600;display:block}.calcitem span{color:var(--ink-soft);margin-top:3px;font-size:14px;line-height:1.35;display:block}.check{color:var(--ink);align-items:center;gap:10px;padding:6px 0;font-size:16px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.check i{font-style:normal}.timerow{align-items:center;gap:8px;margin-top:6px;display:flex}.timerow b{color:var(--ink-soft);font-size:22px}select.text{border:0;border-bottom:1px solid var(--card-line);color:var(--ink);background:0 0;flex:1;padding:10px 6px;font-size:22px}select.text option{background:var(--card);color:var(--ink)}.rp{padding:2px 2px 24px}.rp-sub{color:var(--ink-soft);margin:0 0 12px;font-size:15px}.rp-lead{color:var(--ink);margin:0 0 16px;font-size:16px;line-height:1.5}.rp-note{border-left:3px solid var(--accent-deep);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-soft);background:#d9b58712;margin:14px 0;padding:12px 14px;font-size:13.5px;line-height:1.45}.rp-sec{margin:20px 0}.rp-sec>h3{font-family:var(--font-serif);color:var(--gold-light);margin:0 0 10px;font-size:24px;font-weight:600}.rp-facts{margin:0}.rp-fact{border-bottom:1px solid #dcc1a324;justify-content:space-between;gap:14px;padding:10px 0;display:flex}.rp-fact dt{color:var(--ink-soft);flex:0 44%;font-size:15px}.rp-fact dd{text-align:right;flex:1;margin:0}.rp-fact dd b{font-family:var(--font-serif);color:var(--white);font-size:20px;display:block}.rp-fact dd span{color:var(--ink-muted);font-size:13px;line-height:1.35;display:block}.rp-grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rp-cell{text-align:center;border:1px solid var(--card-line);border-radius:var(--radius-sm);background:var(--card);min-height:88px;padding:18px 4px 10px;position:relative}.rp-cell em{color:var(--ink-muted);font-size:12px;font-style:normal;position:absolute;top:4px;left:8px}.rp-cell b{font-family:var(--font-serif);color:var(--gold-light);word-break:break-all;font-size:26px;display:block}.rp-cell span{color:var(--ink-soft);margin-top:2px;font-size:12.5px;display:block}.rp-cell.empty b{color:var(--ink-muted)}.rp-card{border:1px solid var(--card-line);border-radius:var(--radius-sm);background:var(--card);margin-bottom:10px;padding:14px 16px}.rp-card.good{border-color:#8bcda673}.rp-card.warn{border-color:#e0a45880}.rp-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rp-card h4{font-family:var(--font-serif);color:var(--white);margin:0;font-size:19px;font-weight:600;line-height:1.25}.rp-badge{border:1px solid var(--card-line);color:var(--gold-light);border-radius:999px;flex:none;padding:2px 10px;font-size:13px}.rp-card p{color:var(--ink);margin:8px 0 0;font-size:15px;line-height:1.5}.rp-pillars{gap:8px;display:grid}.rp-pillar{text-align:center;border:1px solid var(--card-line);border-radius:var(--radius-sm);background:var(--card);padding:10px 4px}.rp-pillar small{color:var(--ink-soft);font-size:13px;display:block}.rp-pillar span{color:var(--ink-muted);margin-bottom:6px;font-size:12px;line-height:1.25;display:block}.rp-hanzi{color:var(--gold-light);font-family:Noto Serif SC,Songti SC,SimSun,serif;font-size:40px;line-height:1.1}.rp-pnote{color:var(--ink-soft);margin:8px 0 0;font-size:13.5px;line-height:1.4}.rp-matrix{width:100%;height:auto;color:var(--accent-deep);display:block}.rp-mx-big{fill:var(--card);stroke:var(--gold);stroke-width:2px}.rp-mx-dot{fill:var(--bg);stroke:var(--card-line);stroke-width:1.5px}.rp-mx-num{fill:var(--gold-light);font-family:var(--font-serif);font-weight:600}.chatintro{padding:28px 20px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}.chatintro-eyebrow{text-align:center;letter-spacing:2px;color:var(--accent);margin:0;font-size:11.5px;font-weight:600}.chatintro-title{text-align:center;font-family:var(--font-serif);color:var(--white);margin:10px 0 0;font-size:26px}.chatintro-sub{text-align:center;color:var(--ink-soft);margin:10px 0 0;font-size:13.5px;line-height:1.5}.chatintro-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.chatintro-chips button{border:1px solid var(--card-line);color:var(--ink);background:#1b1a1d80;border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font-size:13px;display:flex}.chatintro-chips button svg{width:16px;height:16px;color:var(--accent)}.chatintro-textarea{border:1px solid var(--card-line);width:100%;color:var(--ink);font-family:var(--font-sans);resize:vertical;background:#1b1a1d80;border-radius:16px;margin-top:18px;padding:14px;font-size:13.5px;line-height:1.5}.chatintro-textarea::placeholder{color:var(--ink-muted)}.chatintro-hint{color:var(--ink-muted);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.chatintro-hint svg{width:16px;height:16px}.chatintro-send{background:var(--cta);width:100%;color:var(--on-gold);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:14px;font-size:14.5px;font-weight:500;display:flex}.chatintro-send:disabled{opacity:.5}.chatintro-send svg{width:18px;height:18px}.chatintro-footnote{text-align:center;color:var(--ink-muted);margin-top:10px;font-size:12px}.chaterror{color:var(--danger);background:#e0685c1f;border:1px solid #e0685c59;border-radius:12px;margin-top:12px;padding:10px 14px;font-size:12.5px;line-height:1.4}.chatthread{padding:16px 16px 0}.chatthread-scroll{flex-direction:column;flex:1;gap:10px;display:flex}.chatbubble{border-radius:16px;max-width:82%;padding:12px 14px;font-size:13.5px;line-height:1.5}.chatbubble p{margin:0}.chatbubble-user{border:1px solid var(--card-line);color:var(--white);background:linear-gradient(135deg,#a77a4f59,#29201a99);border-bottom-right-radius:4px;align-self:flex-end}.chatbubble-assistant{border:1px solid var(--card-line);color:var(--ink);background:#1b1a1d99;border-bottom-left-radius:4px;align-self:flex-start}.chattyping{border:1px solid var(--card-line);color:var(--ink-soft);background:#1b1a1d99;border-radius:16px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;display:flex}.chattyping-dot{background:var(--danger);border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite dailycard-twinkle}.chat-audio{border:1px solid var(--card-line);background:#00000040;border-radius:999px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.chat-audio-play{background:var(--cta);width:30px;height:30px;color:var(--on-gold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.chat-audio-wave{flex:1;align-items:center;gap:2px;height:20px;display:flex}.chat-audio-wave i{background:var(--accent);opacity:.6;border-radius:2px;flex:1;min-width:2px}.chat-audio-time{color:var(--ink-muted);flex:none;font-size:11px}.chatinput{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, var(--bg) 30%);margin:10px -16px 0;position:sticky}.chatinput-row{align-items:center;gap:8px;display:flex}.chatinput-row input{border:1px solid var(--card-line);color:var(--ink);background:#1b1a1db3;border-radius:999px;flex:1;padding:12px 16px;font-size:13.5px}.chatinput-row input::placeholder{color:var(--ink-muted)}.chatinput-mic,.chatinput-send{border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.chatinput-mic{border:1px solid var(--card-line);color:var(--ink-muted);background:#1b1a1db3}.chatinput-mic svg,.chatinput-send svg{width:18px;height:18px}.chatinput-send{background:var(--cta);color:var(--on-gold)}.chatinput-send:disabled{opacity:.5}.chatpaywall{bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));border-top:1px solid var(--card-line);background:linear-gradient(120deg,#252326e6,#17181cf2);margin:10px -16px 0;padding:16px;position:sticky}.chatpaywall p{color:var(--ink-soft);text-align:center;margin:0 0 10px;font-size:13px;line-height:1.5}.chatpaywall button{background:var(--cta);width:100%;color:var(--on-gold);border-radius:999px;padding:13px;font-size:14px;font-weight:500;display:block}.palmbody{padding:20px 20px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));text-align:center}.palmhero{background:radial-gradient(circle, var(--gold-glow) 0%, transparent 70%);border-radius:50%;width:220px;height:220px;margin:0 auto 18px;position:relative;overflow:hidden}.palmhero-img{object-fit:contain;width:100%;height:100%;display:block}.palmhero-scanline{background:linear-gradient(90deg, transparent, var(--gold-light) 20%, var(--gold-light) 80%, transparent);height:3px;box-shadow:0 0 10px 2px var(--gold-light);border-radius:999px;animation:2.6s ease-in-out infinite palm-scan;position:absolute;left:6%;right:6%}@keyframes palm-scan{0%{opacity:0;top:8%}10%{opacity:1}50%{opacity:1;top:90%}90%{opacity:1}to{opacity:0;top:8%}}.palmhero-scanning .palmhero-img{animation:2.6s ease-in-out infinite palm-pulse}.palmhero-idle .palmhero-img{animation:4.5s ease-in-out infinite palm-breathe}@keyframes palm-breathe{0%,to{filter:brightness()drop-shadow(0 0 #0000)}50%{filter:brightness(1.08)drop-shadow(0 0 14px #d9b58759)}}@keyframes palm-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}.palmhero-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.palmhero-line{fill:none;stroke:var(--gold-light);stroke-width:1.6px;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--gold-light));stroke-dasharray:140;stroke-dashoffset:140px;opacity:0;animation:3.6s ease-in-out infinite palm-draw}.palmhero-line.l2{animation-delay:.4s}.palmhero-line.l3{animation-delay:.8s}@keyframes palm-draw{0%{stroke-dashoffset:140px;opacity:0}15%{opacity:1}55%{stroke-dashoffset:0;opacity:1}85%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.palmhero-star{color:var(--gold-light);text-shadow:0 0 10px #d9b587cc;pointer-events:none;animation:1.1s ease-in-out infinite dailycard-twinkle;position:absolute}.palmhero-star.s1{font-size:14px;animation-delay:0s;top:18%;left:22%}.palmhero-star.s2{font-size:11px;animation-delay:.35s;top:65%;left:74%}.palmhero-star.s3{font-size:9px;animation-delay:.65s;top:40%;left:78%}.palmstage{border:1px solid var(--card-line);text-align:left;background:#1b1a1d99;border-radius:16px;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.palmstage-icon{border:2px solid #d9b58759;border-top-color:var(--gold-light);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;animation:1.1s linear infinite palmstage-spin;display:flex;position:relative}.palmstage-icon svg{width:14px;height:14px;color:var(--gold-light);animation:.9s ease-in-out infinite dailycard-twinkle}@keyframes palmstage-spin{to{transform:rotate(360deg)}}.palmstage-text{flex-direction:column;gap:2px;display:flex}.palmstage-text b{color:var(--ink);font-size:14.5px;font-weight:500}.palmstage-text small{color:var(--ink-soft);font-size:12px}@media (prefers-reduced-motion:reduce){.palmstage-icon,.palmhero-line,.palmhero-star,.palmhero-scanline,.palmhero-scanning .palmhero-img,.palmhero-idle .palmhero-img{animation:none!important}}.palmtoggle{border:1px solid var(--card-line);background:#1b1a1d80;border-radius:999px;margin:20px 0 14px;padding:4px;display:flex}.palmtoggle button{color:var(--ink-soft);border-radius:999px;flex:1;padding:11px 0;font-size:14.5px}.palmtoggle button.on{color:var(--gold-light);background:#d9b58729}.palmcheck{color:var(--ink);justify-content:center;align-items:center;gap:10px;margin-bottom:18px;font-size:14.5px;display:flex}.palmcheck input{width:20px;height:20px;accent-color:var(--accent)}.palmtips{text-align:left;flex-direction:column;gap:10px;margin:0 0 18px;display:flex}.palmtips li{color:var(--ink);align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.palmtips li svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}.palmdisclaimer{color:var(--ink-soft);margin:0 0 16px;font-size:12.5px;line-height:1.5}.palmerror{color:var(--gold-light);text-align:left;background:#d9b5871f;border:1px solid #d9b58773;border-radius:14px;margin:14px 0 0;padding:12px 14px;font-size:13.5px;line-height:1.5}.palmresult{border-radius:var(--radius);border:1px solid var(--card-line);text-align:left;color:var(--ink);background:#1b1a1d80;margin-top:12px;padding:18px;font-size:14.5px;line-height:1.6}.palmresult h3{font-family:var(--font-serif);color:var(--gold-light);margin:0 0 8px;font-size:18px}.palmresult p{margin:0}
