@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg:#faf7ff;--bg-accent:#fff8f3;--surface:rgba(255,255,255,0.88);--surface-strong:rgba(255,255,255,0.96);--text:#1d1230;--muted:#756d8d;--line:rgba(40,26,72,0.1);--gold:#fcb045;--gold-deep:#9c45d9;--flag-blue:#2f5fbf;--flag-blue-soft:#eaf2ff;--sage:#346b52;--rose:#c13584;--shadow:0 24px 60px rgba(140,80,178,0.12);--accent-soft:#f7e4ff;--font-body:"Avenir Next","Segoe UI","SF Pro Text","Helvetica Neue",Arial,sans-serif;--font-display:"Avenir Next","SF Pro Display","Segoe UI","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at 12% 8%,rgba(131,58,180,.16),transparent 22%),radial-gradient(circle at 84% 16%,rgba(47,95,191,.16),transparent 20%),radial-gradient(circle at 88% 10%,rgba(255,220,128,.16),transparent 18%),radial-gradient(circle at 82% 82%,rgba(225,48,108,.11),transparent 22%),radial-gradient(circle at 14% 72%,rgba(47,95,191,.08),transparent 20%),radial-gradient(circle at 18% 92%,rgba(193,53,132,.08),transparent 18%),linear-gradient(180deg,#fffafe,#faf4ff 48%,#fff8f3);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 24% 20%,rgba(255,255,255,.22),transparent 14%),radial-gradient(circle at 72% 28%,rgba(255,255,255,.18),transparent 12%),linear-gradient(90deg,rgba(47,95,191,.04),transparent 18%,transparent 82%,rgba(193,53,132,.04))}a{color:inherit}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.7}.ad-rail{position:fixed;top:148px;width:160px;z-index:10;display:none;opacity:.78;transform:translateY(18px) scale(.975);transition:top .32s ease,opacity .32s ease,transform .32s ease,filter .32s ease;filter:saturate(.9);pointer-events:none}.ad-rail.is-settled{top:104px;opacity:.96;transform:translateY(0) scale(1);filter:saturate(1)}.ad-rail-left{left:max(14px,calc((100vw - 1180px) / 2 - 184px))}.ad-rail-right{right:max(14px,calc((100vw - 1180px) / 2 - 184px))}.ad-rail-card{min-height:600px;border-radius:28px;border:1px solid var(--line);background:radial-gradient(circle at top right,rgba(47,95,191,.08),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,247,255,.9));box-shadow:var(--shadow);overflow:hidden;pointer-events:auto;position:relative}.ad-rail-card:before{content:"";position:absolute;inset:0 0 auto;height:72px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));pointer-events:none}.ad-rail-card.is-placeholder{padding:20px 16px;display:grid;align-content:center;grid-gap:10px;gap:10px;text-align:center}.ad-rail-card.is-placeholder p,.ad-rail-card.is-placeholder strong{margin:0}.ad-rail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.ad-rail-unit{width:160px;min-height:600px}@media (min-width:1540px){.ad-rail{display:block}}.privacy-page-shell{width:min(980px,calc(100% - 32px));margin:24px auto}.privacy-page-card{border:1px solid var(--line);border-radius:32px;background:var(--surface);box-shadow:var(--shadow);padding:28px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.privacy-page-card h1,.privacy-page-card h2,.privacy-page-card p{margin-top:0}.privacy-page-intro{max-width:58ch;color:var(--muted);font-size:1.04rem;line-height:1.7}.privacy-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(40,26,72,.08)}.privacy-page-back,.privacy-section p{color:var(--muted);line-height:1.75}.privacy-inline-note{margin:-4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}.footer-links a,.privacy-inline-note a,.privacy-page-back a{color:var(--flag-blue);text-decoration:none;font-weight:600}.footer-links a:hover,.privacy-inline-note a:hover,.privacy-page-back a:hover{text-decoration:underline}.footer-links{margin:10px 0 0}.page-shell{width:min(1180px,calc(100% - 32px));margin:24px auto}.submit-disclaimer{margin-top:-2px;padding:16px 18px;border-radius:22px;border:1px solid rgba(178,75,88,.16);background:radial-gradient(circle at top right,rgba(178,75,88,.08),transparent 28%),linear-gradient(135deg,rgba(255,249,250,.96),rgba(255,252,247,.94))}.submit-disclaimer-text,.submit-disclaimer-title{margin:0}.submit-disclaimer-title{font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;color:#b24b58;font-weight:700}.submit-disclaimer-text{margin-top:8px;color:var(--muted);line-height:1.68;font-size:.94rem}.luck-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;pointer-events:none}.luck-overlay-dim{position:absolute;inset:0;background:rgba(14,12,26,.58);animation:overlayFadeIn .24s ease forwards}.luck-overlay-copy{position:absolute;top:20%;z-index:1;padding:0 20px;text-align:center;color:#fff2df;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:800;letter-spacing:-.04em;text-shadow:0 8px 28px rgba(0,0,0,.28);animation:overlayCopyPop .62s ease .12s both}.luck-overlay-copy p{margin:0}.luck-ticket{position:relative;z-index:1;width:min(460px,calc(100vw - 40px));pointer-events:auto;animation:ticketDropIn .9s cubic-bezier(.2,.9,.22,1) both}.luck-letter{position:absolute;z-index:1;width:min(420px,calc(100vw - 56px));pointer-events:none;opacity:0}.luck-overlay-close{position:absolute;top:-12px;right:-12px;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(20,18,36,.72);color:white;font-size:1.8rem;line-height:1;cursor:pointer}.luck-ticket-sparkles span{position:absolute;top:-16px;width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,#fff7da,#fcb045);box-shadow:0 0 20px rgba(252,176,69,.6);opacity:0}.luck-ticket-sparkles span:first-child{left:18%;animation:sparkleBlink .98s ease .32s infinite}.luck-ticket-sparkles span:nth-child(2){left:50%;animation:sparkleBlink .98s ease .52s infinite}.luck-ticket-sparkles span:nth-child(3){right:18%;animation:sparkleBlink .98s ease .7s infinite}.luck-ticket-card{position:relative;overflow:hidden;padding:34px 28px 30px;border-radius:28px;border:2px solid rgba(255,222,159,.92);background:radial-gradient(circle at top left,rgba(255,255,255,.88),transparent 28%),linear-gradient(135deg,rgba(255,250,240,.98),rgba(255,238,198,.98));box-shadow:0 24px 80px rgba(0,0,0,.24),0 0 0 8px rgba(255,215,132,.08);text-align:center}.luck-ticket-card:after,.luck-ticket-card:before{content:"";position:absolute;top:50%;width:18px;height:36px;border-radius:999px;background:#5b3a1a;opacity:.22;transform:translateY(-50%)}.luck-ticket-card:before{left:-9px}.luck-ticket-card:after{right:-9px}.luck-ticket-label{display:block;color:#a0764c;font-size:.86rem;text-transform:uppercase;letter-spacing:.12em}.luck-ticket-card strong{display:block;margin-top:10px;font-size:clamp(3rem,8vw,5rem);line-height:.95;letter-spacing:-.06em;color:#6d3310}.luck-ticket-card p{margin:12px 0 0;color:#8a6443;font-size:1.05rem}.luck-letter-envelope{position:relative;height:280px;border-radius:28px;background:linear-gradient(180deg,#fff6ea,#f6ddbe);box-shadow:0 24px 80px rgba(0,0,0,.24);overflow:hidden}.approval-fireworks{position:absolute;inset:0;pointer-events:none}.background-fireworks{z-index:0}.burst{width:180px;height:180px;opacity:0}.burst,.burst:after,.burst:before{position:absolute;border-radius:50%}.burst:after,.burst:before{content:"";inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.95) 0 8%,transparent 9%),conic-gradient(from 0deg,rgba(252,176,69,0) 0deg 12deg,rgba(252,176,69,.85) 12deg 18deg,rgba(47,95,191,0) 18deg 42deg,rgba(47,95,191,.82) 42deg 48deg,rgba(252,176,69,0) 48deg 72deg,rgba(255,244,168,.88) 72deg 78deg,rgba(47,95,191,0) 78deg 102deg,rgba(193,53,132,.78) 102deg 108deg,rgba(252,176,69,0) 108deg 1turn)}.burst:after{transform:scale(.68) rotate(18deg);opacity:.72}.burst-one{top:16%;left:12%}.burst-two{top:10%;right:10%}.burst-three{top:24%;right:28%}.burst-four{bottom:24%;left:16%}.burst-five{bottom:18%;right:16%}.luck-letter-flap{position:absolute;inset:0 0 auto 0;height:62%;-webkit-clip-path:polygon(0 0,100% 0,50% 72%);clip-path:polygon(0 0,100% 0,50% 72%);background:linear-gradient(180deg,#f0c992,#dba865);transform-origin:top center}.luck-letter-paper{position:absolute;left:8%;right:8%;bottom:10%;top:18%;padding:24px 22px;border-radius:20px;background:linear-gradient(180deg,#fffdf9,#fff7ef);border:1px solid rgba(109,51,16,.12);text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.luck-letter-paper span{display:block;color:#9d7b57;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.luck-letter-paper strong{display:block;margin-top:14px;font-size:clamp(2.8rem,7vw,4.4rem);line-height:.92;letter-spacing:-.06em;color:#2f5fbf}.luck-letter-paper p{margin:12px 0 0;color:#7c6a59;font-size:1rem}.stage-ticket .luck-ticket{opacity:1}.stage-letter .luck-ticket{animation:ticketFadeAway .42s ease forwards}.stage-letter .luck-letter{animation:letterAppear .56s ease .12s forwards}.stage-letter .luck-letter-flap{animation:flapOpen .7s ease .26s forwards}.stage-letter .luck-letter-paper{animation:paperRise .76s ease .22s forwards}.stage-letter .burst-one{animation:fireworkBurst .9s ease .62s forwards}.stage-letter .burst-two{animation:fireworkBurst .9s ease .76s forwards}.stage-letter .burst-three{animation:fireworkBurst .9s ease .9s forwards}.stage-letter .burst-four{animation:fireworkBurst .98s ease 1.08s forwards}.stage-letter .burst-five{animation:fireworkBurst .98s ease 1.24s forwards}.daily-panel,.faq-panel,.footer,.hero,.mode-card,.ritual-panel,.share-stage,.support-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.daily-panel,.faq-panel,.footer,.hero,.legal-notice,.ritual-panel,.share-stage{border:1px solid var(--line);border-radius:32px;background:var(--surface);box-shadow:var(--shadow)}.hero{padding:24px 24px 32px}.landing-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);grid-gap:36px;gap:36px;align-items:center}.landing-copy{display:grid;grid-gap:14px;gap:14px;align-content:center;max-width:43rem}.hero-meta-line{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.84rem}.hero-meta-line span{position:relative}.hero-meta-line span:not(:last-child):after{content:"";position:absolute;right:-10px;top:50%;width:4px;height:4px;border-radius:999px;background:rgba(157,77,169,.4);transform:translateY(-50%)}.hero-visual{position:relative;min-height:620px}.hero-luck-burst{position:absolute;inset:0;pointer-events:none;z-index:0}.hero-blob{position:absolute;inset:8% 2% 18% 8%;border-radius:44px;background:linear-gradient(135deg,rgba(131,58,180,.6),rgba(193,53,132,.46) 52%,rgba(252,176,69,.42));filter:blur(44px);opacity:.36}.luck-orb,.luck-star{position:absolute;opacity:0;transform:translateY(18px) scale(.88)}.luck-orb{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1px solid rgba(47,95,191,.16);background:rgba(255,255,255,.82);box-shadow:0 18px 40px rgba(47,95,191,.12);color:var(--flag-blue);font-size:1rem;font-weight:800}.luck-star{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,rgba(47,95,191,.95),rgba(252,176,69,.9));box-shadow:0 0 24px rgba(252,176,69,.4)}.orb-one{top:12%;left:4%}.orb-two{top:7%;right:14%}.orb-three{bottom:18%;right:6%}.star-one{top:18%;right:28%}.star-two{top:48%;left:8%}.star-three{bottom:14%;right:26%}.hero-visual.is-lucky .hero-blob{animation:heroBlobBloom 1.8s ease}.hero-visual.is-lucky .orb-one{animation:landingOrbFloat 1.45s ease 60ms forwards}.hero-visual.is-lucky .orb-two{animation:landingOrbFloat 1.45s ease .18s forwards}.hero-visual.is-lucky .orb-three{animation:landingOrbFloat 1.45s ease .3s forwards}.hero-visual.is-lucky .star-one{animation:landingSpark 1.1s ease .22s forwards}.hero-visual.is-lucky .star-two{animation:landingSpark 1.1s ease .36s forwards}.hero-visual.is-lucky .star-three{animation:landingSpark 1.1s ease .52s forwards}.hero-floating-card,.hero-mini-card,.hero-story-card{position:absolute;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-story-card{inset:8% 8% 6% 8%;border-radius:36px;padding:18px;transform:rotate(-2deg)}.hero-story-inner{height:100%;border-radius:30px;background:linear-gradient(180deg,#fff9ff,#ffffff 58%,#fff9f2);overflow:hidden}.hero-story-banner{height:30%;background:radial-gradient(circle at 70% 26%,rgba(255,255,255,.24),transparent 14%),linear-gradient(135deg,var(--flag-blue),#833ab4 42%,#c13584 72%,#fcb045)}.hero-story-content{padding:24px 24px 20px;display:grid;grid-gap:16px;gap:16px}.hero-story-head{display:flex;align-items:center;gap:10px}.small-mark{width:36px;height:36px;border-radius:12px;font-size:1rem}.hero-story-head strong{display:block;font-size:14px;letter-spacing:-.02em}.hero-story-head span{display:block;margin-top:2px;color:var(--muted);font-size:12px}.hero-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.hero-preview-grid span{display:block;color:var(--muted);font-size:.8rem}.hero-preview-grid strong{display:block;margin-top:4px}.hero-floating-card{right:2%;top:16%;width:220px;border-radius:24px;padding:18px}.hero-mini-card{left:6%;bottom:8%;width:180px;border-radius:24px;padding:18px}.daily-panel{padding:22px 24px;grid-template-columns:.9fr 1.1fr;grid-gap:20px;align-items:center}.daily-panel,.share-stage{margin-top:24px;display:grid;gap:20px}.share-stage{padding:24px;grid-template-columns:.92fr 1.08fr;grid-gap:20px;align-items:stretch}.card-stats,.companion-grid,.faq-list,.hero-actions,.hero-grid,.mode-strip,.result-actions,.support-grid,.topbar,.topbar-actions{display:grid;grid-gap:20px;gap:20px}.topbar{grid-template-columns:1fr auto;align-items:center;margin-bottom:44px}.topbar-actions{grid-template-columns:auto auto;align-items:center}.brand{display:flex;gap:14px;align-items:center}.brand-mark{width:48px;height:48px;display:inline-grid;place-items:center;border-radius:16px;font-family:var(--font-display);font-size:1.5rem;color:white;background:linear-gradient(135deg,var(--flag-blue),#833ab4 42%,#c13584 72%,#fcb045);box-shadow:0 12px 24px rgba(47,95,191,.18)}.language-toggle{display:inline-flex;padding:4px;border-radius:999px;background:rgba(255,247,252,.86);border:1px solid var(--line)}.lang-button{border:none;background:transparent;color:var(--muted);min-width:58px;min-height:40px;border-radius:999px;font-weight:700;cursor:pointer}.lang-button.active{background:linear-gradient(135deg,rgba(47,95,191,.1),rgba(193,53,132,.08));color:var(--text)}.card-label,.eyebrow,.hero-kicker,.mode-tag{margin:0;width:-moz-fit-content;width:fit-content;padding:8px 14px;border-radius:999px;background:rgba(255,247,252,.88);border:1px solid rgba(193,53,132,.1);color:#9d4da9;font-size:.84rem;box-shadow:0 10px 24px rgba(193,53,132,.08)}.hero-card-line,h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:.98;margin:0;letter-spacing:-.05em}h1{font-size:1.1rem}h2{font-size:clamp(24px,3.5vw,40px);max-width:14ch;text-wrap:balance;line-height:1.02;letter-spacing:-.045em}h3{font-size:clamp(1.04rem,1.7vw,1.4rem)}li,p{line-height:1.6}.hero-grid{grid-template-columns:1.4fr .95fr;align-items:end}.hero-copy{display:grid;grid-gap:18px;gap:18px}.hero-text{max-width:58ch;color:var(--muted);font-size:14px;line-height:1.48;font-weight:500}.hero-actions{grid-template-columns:repeat(2,max-content);gap:10px}.checkin-strip,.daily-actions,.share-stage-meta{display:grid;grid-gap:12px;gap:12px}.streak-ladder{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.streak-dot{min-height:54px;display:grid;place-items:center;border-radius:18px;border:1px solid rgba(80,58,38,.12);background:rgba(255,252,248,.5);color:var(--muted);font-weight:700}.streak-dot.active{background:linear-gradient(135deg,rgba(216,165,69,.24),rgba(199,122,103,.18));color:var(--text);border-color:rgba(184,119,17,.26)}.streak-caption{margin:12px 0 0;color:var(--muted);font-size:.92rem}.checkin-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.checkin-strip>div{padding:14px 16px;border-radius:20px;border:1px solid rgba(80,58,38,.12);background:rgba(255,252,248,.66)}.checkin-label{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.checkin-value{display:block;margin-top:6px;font-size:1rem}.daily-card,.ghost-button,.pill-link,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;cursor:pointer}.ghost-button,.pill-link,.secondary-button{color:var(--text);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(234,242,255,.72))}.primary-button{border:none;color:white;background:linear-gradient(135deg,var(--flag-blue),#833ab4 42%,#c13584 72%,#fcb045);box-shadow:0 20px 40px rgba(47,95,191,.16)}.ghost-button:hover,.lang-button:hover,.pill-link:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.ghost-button:disabled,.primary-button:disabled,.secondary-button:disabled{transform:none;box-shadow:none}.hero-card{padding:24px;border-radius:28px;border:1px solid var(--line);background:radial-gradient(circle at top left,rgba(255,255,255,.72),transparent 40%),linear-gradient(180deg,#fff9ff,#ffffff 58%,#fff9f2)}.hero-card-line{margin-top:16px;font-size:clamp(1.5rem,3vw,2.2rem)}.card-stats{grid-template-columns:repeat(3,1fr);margin-top:28px}.stat-number{display:block;font-size:1.7rem;font-weight:800}.stat-label{display:block;margin-top:6px;color:var(--muted);font-size:.9rem}.mode-strip,.support-grid{grid-template-columns:repeat(3,1fr);margin:26px 0}.compact-features,.legal-notice{margin-top:22px}.legal-notice{padding:22px 24px;background:radial-gradient(circle at top right,rgba(47,95,191,.08),transparent 28%),linear-gradient(135deg,rgba(255,247,247,.96),rgba(255,250,244,.94))}.legal-notice-label{margin:0 0 8px;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#b24b58;font-weight:700}.legal-notice-text{margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65;color:var(--text);font-weight:600}.config-panel{margin-top:22px;padding:24px;border-radius:28px;border:1px solid var(--line);background:radial-gradient(circle at top right,rgba(47,95,191,.09),transparent 26%),linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,249,255,.94));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:20px;gap:20px;align-items:flex-start}.config-panel-copy{display:grid;grid-gap:10px;gap:10px}.config-panel-copy h3,.config-panel-copy p{margin:0}.config-panel-copy p:last-child{color:var(--muted);max-width:48ch}.config-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.config-chip{padding:16px 18px;border-radius:22px;border:1px solid rgba(40,26,72,.08);background:rgba(255,255,255,.78);display:grid;grid-gap:8px;gap:8px}.config-chip span{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.config-chip strong{font-size:1.02rem;line-height:1.35}.config-chip-wide{grid-column:span 2}.daily-card,.mode-card,.support-card{padding:24px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.88)}.daily-card{display:grid;grid-gap:18px;gap:18px;align-items:flex-start}.daily-card p{margin:0;font-size:1.18rem;max-width:40ch}.daily-actions{grid-template-columns:repeat(2,max-content)}.daily-footnote{color:var(--muted);font-size:.92rem}.share-stage-copy{display:grid;align-content:flex-start;grid-gap:12px;gap:12px}.share-stage-card{position:relative;overflow:hidden;padding:28px;border-radius:28px;border:1px solid rgba(40,26,72,.1);background:radial-gradient(circle at top left,rgba(255,255,255,.82),transparent 36%),linear-gradient(135deg,rgba(255,249,255,.98),rgba(255,246,252,.94));min-height:260px;display:grid;align-content:space-between;grid-gap:16px;gap:16px}.share-stage-brand{margin:0;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.78rem}.share-stage-card h3{max-width:12ch}.share-stage-meta{grid-template-columns:repeat(3,max-content)}.share-stage-meta span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(80,58,38,.08);font-size:.88rem}.share-stage-glow{position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(193,53,132,.28),rgba(193,53,132,0));pointer-events:none}.faq-panel,.ritual-panel{margin-top:20px;padding:30px}.generator-intro,.section-heading{margin-bottom:24px}.generator-intro{display:grid;grid-gap:12px;gap:12px}.generator-copy{max-width:46rem;margin:0;color:var(--muted);font-size:16px;line-height:1.58}.section-heading h2{font-size:clamp(1.9rem,3vw,2.8rem);max-width:14ch;margin-top:10px}.companion-grid{grid-template-columns:1fr 1fr;align-items:flex-start;gap:24px}.companion-form,.faq-item,.result-card{border:1px solid var(--line);border-radius:28px;padding:24px;background:var(--surface-strong)}.companion-form{display:grid;grid-gap:18px;gap:18px;box-shadow:0 24px 60px rgba(140,80,178,.08)}.field-group{display:grid;grid-gap:10px;gap:10px;color:var(--muted);font-size:.95rem}.field-hint{margin:-2px 0 0;font-size:.88rem}.field-group input,.field-group select{width:100%;min-height:52px;border-radius:18px;border:1px solid rgba(40,26,72,.1);padding:0 16px;background:#f8fafc;color:var(--text)}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.segmented-control label{cursor:pointer}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control span{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 16px;border-radius:18px;border:1px solid rgba(40,26,72,.1);background:rgba(255,247,252,.86);color:var(--text);font-weight:700}.segmented-control input:checked+span{border-color:rgba(156,69,217,.28);background:linear-gradient(135deg,rgba(131,58,180,.14),rgba(193,53,132,.1))}.wide-button{width:100%}.ritual-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.ritual-compact select{width:100%;min-height:52px;border-radius:18px;border:1px solid rgba(40,26,72,.1);padding:0 16px;background:#f8fafc;color:var(--text)}.ritual-wish-group{margin-top:4px}.lucky-number-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.optional-panel{border:1px solid rgba(40,26,72,.08);border-radius:18px;background:rgba(255,255,255,.55)}.optional-toggle{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:18px;background:transparent;color:var(--text);padding:0 16px;text-align:left}.optional-toggle strong{font-size:1.2rem;color:var(--flag-blue)}.optional-toggle.is-open{border-bottom:1px solid rgba(40,26,72,.08);border-bottom-left-radius:0;border-bottom-right-radius:0}.optional-fields{display:grid;grid-gap:12px;gap:12px;padding:12px 14px 14px}.optional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.ritual-chip{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid rgba(40,26,72,.08);background:rgba(255,247,252,.72)}.ritual-chip strong{color:var(--text)}.ritual-chip span{color:var(--muted);font-size:.9rem}.result-card{display:grid;grid-gap:18px;gap:18px;position:-webkit-sticky;position:sticky;top:18px;box-shadow:0 24px 60px rgba(140,80,178,.1);overflow:hidden}.result-card:after{content:"";position:absolute;inset:-25% auto auto -10%;width:42%;height:180%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.48),rgba(255,255,255,0));opacity:0;transform:rotate(14deg) translateX(-140%);pointer-events:none}.result-card.is-drawing:after{opacity:1;animation:cardShimmer 1.1s ease-in-out infinite}.result-card.is-boosting{animation:resultPulse .72s ease}.result-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.result-score{min-width:92px;padding:12px 14px;border-radius:20px;background:linear-gradient(135deg,rgba(47,95,191,.1),rgba(131,58,180,.08));border:1px solid rgba(47,95,191,.12)}.result-score span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.result-score strong{display:block;margin-top:6px;font-size:1.5rem;line-height:1}#result-content{min-height:210px;display:grid;align-content:flex-start;grid-gap:12px;gap:12px}#result-content.has-result{animation:revealUp .42s ease}.reading-badge{width:-moz-fit-content;width:fit-content;padding:8px 12px;border-radius:999px;background:linear-gradient(180deg,rgba(234,242,255,.92),rgba(247,228,255,.92));color:var(--flag-blue);font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.predicted-month-hero{display:grid;grid-gap:6px;gap:6px;padding:18px 20px;border-radius:24px;border:1px solid rgba(47,95,191,.14);background:radial-gradient(circle at top left,rgba(255,255,255,.78),transparent 42%),linear-gradient(135deg,rgba(234,242,255,.92),rgba(255,246,252,.96))}.predicted-month-hero span{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.predicted-month-hero strong{font-size:clamp(2.8rem,6vw,4.8rem);line-height:.9;letter-spacing:-.06em;color:var(--flag-blue)}.reading-date{margin-top:-2px;font-size:.95rem;color:var(--muted)}.fortune-meter{display:grid;grid-gap:10px;gap:10px}.fortune-meter-copy{display:flex;justify-content:space-between;align-items:center}.meter-track{overflow:hidden;height:14px;border-radius:999px;background:rgba(40,26,72,.08)}.meter-fill{width:62%;height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--flag-blue),#833ab4 42%,#c13584 72%,#fcb045);transition:width .32s ease}.result-card.is-boosting .meter-fill{animation:meterGlow .78s ease}.result-actions{grid-template-columns:1fr}.result-summary-card{border:1px solid rgba(40,26,72,.1);border-radius:24px;padding:18px;background:radial-gradient(circle at top left,rgba(255,255,255,.7),transparent 44%),linear-gradient(180deg,rgba(255,249,255,.98),rgba(255,244,250,.88))}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-top:14px}.summary-grid span{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.summary-grid strong{display:block;margin-top:6px;line-height:1.4}.summary-closing{margin:16px 0 0;color:var(--muted)}.summary-subcard{margin-top:16px;padding:14px;border-radius:20px;border:1px solid rgba(40,26,72,.08);background:rgba(255,255,255,.56)}.summary-subcard-label{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.summary-grid-tight{margin-top:12px}.estimate-card{border:1px solid rgba(47,95,191,.12);border-radius:24px;padding:18px;background:radial-gradient(circle at top left,rgba(255,255,255,.72),transparent 40%),linear-gradient(180deg,rgba(234,242,255,.72),rgba(255,249,255,.98))}.estimate-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-top:14px}.estimate-grid span{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.estimate-grid strong{display:block;margin-top:6px;line-height:1.4}.estimate-basis,.estimate-disclaimer{margin:14px 0 0;color:var(--muted)}.estimate-shift{margin:14px 0 0;padding:12px 14px;border-radius:18px;border:1px solid rgba(47,95,191,.12);background:rgba(255,255,255,.66);color:var(--text)}.estimate-factors{margin-top:14px}.estimate-factors-label{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.estimate-factor-list{margin:10px 0 0;padding-left:18px;color:var(--text);display:grid;grid-gap:8px;gap:8px}.estimate-factor-list li{line-height:1.45}.draw-animation{position:relative;display:grid;grid-gap:12px;gap:12px;padding:8px 0 6px}.draw-lane{display:flex;gap:12px;overflow:hidden;padding:10px 0 4px;-webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}.draw-lane span{flex:0 0 auto;width:68px;height:68px;display:grid;place-items:center;border-radius:999px;font-weight:800;color:white;letter-spacing:.04em;background:linear-gradient(135deg,var(--flag-blue),#833ab4 42%,#c13584 72%,#fcb045);box-shadow:0 18px 32px rgba(47,95,191,.18);animation:drawBallRoll .98s cubic-bezier(.2,.8,.2,1) infinite}.draw-lane span:nth-child(2){animation-delay:80ms}.draw-lane span:nth-child(3){animation-delay:.16s}.draw-lane span:nth-child(4){animation-delay:.24s}.draw-lane span:nth-child(5){animation-delay:.32s}.draw-lane span:nth-child(6){animation-delay:.4s}.draw-glow{position:absolute;right:-28px;top:56px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(47,95,191,.22),rgba(193,53,132,.14),transparent 72%);filter:blur(8px);animation:glowBreath 1.2s ease-in-out infinite;pointer-events:none}@keyframes drawBallRoll{0%{transform:translateX(0) scale(.96)}40%{transform:translateX(-12px) translateY(-4px) scale(1)}70%{transform:translateX(10px) translateY(3px) scale(.98)}to{transform:translateX(0) scale(.96)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayCopyPop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ticketDropIn{0%{opacity:0;transform:translateY(30px) scale(.86)}46%{opacity:1;transform:translateY(-12px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sparkleBlink{0%,to{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.3)}}@keyframes ticketFadeAway{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}@keyframes letterAppear{0%{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flapOpen{0%{transform:rotateX(0deg)}to{transform:rotateX(180deg)}}@keyframes paperRise{0%{transform:translateY(34px)}to{transform:translateY(-10px)}}@keyframes fireworkBurst{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(1.28)}}@keyframes landingOrbFloat{0%{opacity:0;transform:translateY(24px) scale(.82) rotate(-10deg)}45%{opacity:1;transform:translateY(-8px) scale(1.02) rotate(4deg)}to{opacity:.92;transform:translateY(0) scale(1) rotate(0deg)}}@keyframes landingSpark{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(.65)}}@keyframes heroBlobBloom{0%{opacity:.18;transform:scale(.9)}45%{opacity:.5;transform:scale(1.05)}to{opacity:.36;transform:scale(1)}}@keyframes glowBreath{0%,to{opacity:.48;transform:scale(.94)}50%{opacity:.9;transform:scale(1.06)}}@keyframes cardShimmer{0%{transform:rotate(14deg) translateX(-140%)}to{transform:rotate(14deg) translateX(420%)}}@keyframes resultPulse{0%{box-shadow:0 24px 60px rgba(140,80,178,.1);transform:translateY(0)}42%{box-shadow:0 28px 72px rgba(47,95,191,.2);transform:translateY(-2px)}to{box-shadow:0 24px 60px rgba(140,80,178,.1);transform:translateY(0)}}@keyframes meterGlow{0%,to{filter:saturate(1)}45%{filter:saturate(1.3) brightness(1.08)}}@keyframes revealUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){#result-content.has-result,.draw-glow,.draw-lane span,.hero-visual.is-lucky .hero-blob,.hero-visual.is-lucky .luck-orb,.hero-visual.is-lucky .luck-star,.luck-overlay-copy,.luck-overlay-dim,.luck-ticket,.luck-ticket-sparkles span,.result-card.is-boosting,.result-card.is-boosting .meter-fill,.result-card:after{animation:none!important}}.flat-list{margin:0;padding-left:18px}.warning-card{background:linear-gradient(180deg,rgba(255,247,252,.88),rgba(255,242,248,.96))}.faq-list{grid-template-columns:repeat(3,1fr)}.faq-item h3{font-size:1.5rem;margin-bottom:12px}.footer{margin:26px 0 40px;padding:22px 24px;color:var(--muted)}@media (max-width:960px){.companion-grid,.daily-panel,.faq-list,.hero-actions,.hero-grid,.landing-hero,.mode-strip,.share-stage,.support-grid,.topbar,.topbar-actions{grid-template-columns:1fr}.page-shell{width:min(100% - 20px,1180px)}.faq-panel,.hero,.ritual-panel{padding:20px}.result-card{position:static}.hero-visual{min-height:540px}}@media (max-width:640px){.card-stats,.checkin-strip,.daily-actions,.estimate-grid,.lucky-number-row,.optional-grid,.ritual-compact,.segmented-control,.share-stage-meta,.streak-ladder,.summary-grid{grid-template-columns:1fr}h2{max-width:12ch}.language-toggle{width:-moz-fit-content;width:fit-content}.hero-floating-card,.hero-mini-card,.hero-story-card{position:static;width:auto;inset:auto;transform:none;margin-top:16px}.hero-visual{min-height:auto;display:grid;grid-gap:16px;gap:16px}.hero-preview-grid{grid-template-columns:1fr}}