:root{--bg-void: #0B0A1A;--bg-deep: #12112A;--bg-surface: #1A1940;--bg-elevated: #242357;--gold: #C9A84C;--gold-bright: #E2C06E;--gold-dim: #8A7235;--gold-glow: rgba(201, 168, 76, .25);--violet: #7C5CFC;--violet-dim: #5B3FD4;--violet-glow: rgba(124, 92, 252, .2);--text-primary: #E8E6F0;--text-secondary:#9896AD;--text-tertiary: #7A7890;--text-gold: #E2C06E;--border-subtle: rgba(232, 230, 240, .06);--border-medium: rgba(232, 230, 240, .12);--border-accent: rgba(201, 168, 76, .25);--shadow-card: 0 4px 24px rgba(11, 10, 26, .6), 0 0 0 1px rgba(201, 168, 76, .08);--shadow-glow: 0 0 24px rgba(124, 92, 252, .15), 0 0 48px rgba(201, 168, 76, .08);--shadow-button: 0 2px 12px rgba(124, 92, 252, .3);--font-display: "Newsreader", "Georgia", serif;--font-body: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 20px;--text-xl: 28px;--text-2xl: 36px;--text-3xl: 48px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-snap: cubic-bezier(.2, 0, 0, 1);--dur-instant: 80ms;--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s;--dur-card: .8s;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),radial-gradient(ellipse 80% 50% at 50% 0%,rgba(124,92,252,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(201,168,76,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 20% 90%,rgba(124,92,252,.05) 0%,transparent 50%),linear-gradient(175deg,#08071a 0%,var(--bg-deep) 30%,#0e0d28 50%,#0a0920 70%,var(--bg-void) 100%);background-color:var(--bg-void);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column;position:relative}#root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 10% 15%,rgba(232,230,240,.5),transparent),radial-gradient(1px 1px at 25% 35%,rgba(232,230,240,.4),transparent),radial-gradient(1px 1px at 55% 45%,rgba(232,230,240,.35),transparent),radial-gradient(1px 1px at 70% 20%,rgba(232,230,240,.5),transparent),radial-gradient(1px 1px at 15% 65%,rgba(232,230,240,.3),transparent),radial-gradient(1px 1px at 45% 75%,rgba(232,230,240,.4),transparent),radial-gradient(1px 1px at 65% 85%,rgba(232,230,240,.35),transparent),radial-gradient(1px 1px at 5% 90%,rgba(232,230,240,.3),transparent),radial-gradient(1px 1px at 35% 55%,rgba(232,230,240,.25),transparent),radial-gradient(1px 1px at 78% 70%,rgba(232,230,240,.4),transparent),radial-gradient(1px 1px at 50% 30%,rgba(232,230,240,.3),transparent),radial-gradient(1px 1px at 92% 42%,rgba(232,230,240,.35),transparent),radial-gradient(1px 1px at 18% 88%,rgba(232,230,240,.25),transparent),radial-gradient(1px 1px at 62% 12%,rgba(232,230,240,.4),transparent);animation:stars-layer1 6s ease-in-out infinite alternate}#root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(4px 4px at 12% 22%,rgba(201,168,76,.8),rgba(201,168,76,.15) 50%,transparent),radial-gradient(3.5px 3.5px at 88% 15%,rgba(226,192,110,.7),rgba(201,168,76,.1) 50%,transparent),radial-gradient(3px 3px at 75% 78%,rgba(201,168,76,.6),rgba(201,168,76,.1) 50%,transparent),radial-gradient(4px 4px at 30% 85%,rgba(170,140,200,.5),rgba(124,92,252,.1) 50%,transparent),radial-gradient(3px 3px at 55% 38%,rgba(226,192,110,.55),rgba(201,168,76,.08) 50%,transparent),radial-gradient(2px 2px at 40% 8%,rgba(201,168,76,.7),transparent),radial-gradient(2px 2px at 82% 55%,rgba(201,168,76,.6),transparent),radial-gradient(2px 2px at 90% 10%,rgba(201,168,76,.5),transparent),radial-gradient(1.5px 1.5px at 20% 65%,rgba(201,168,76,.5),transparent),radial-gradient(2px 2px at 58% 62%,rgba(201,168,76,.4),transparent),radial-gradient(1.5px 1.5px at 35% 28%,rgba(201,168,76,.55),transparent),radial-gradient(2.5px 2.5px at 72% 42%,rgba(201,168,76,.65),transparent),radial-gradient(2px 2px at 48% 92%,rgba(226,192,110,.5),transparent),radial-gradient(1.5px 1.5px at 95% 68%,rgba(201,168,76,.45),transparent);animation:stars-layer2 4s ease-in-out infinite alternate}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 50% 30% at 15% 75%,rgba(124,92,252,.08) 0%,transparent 70%),radial-gradient(ellipse 45% 35% at 85% 20%,rgba(201,168,76,.06) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 50% 50%,rgba(124,92,252,.04) 0%,transparent 80%),radial-gradient(ellipse 30% 25% at 70% 85%,rgba(201,168,76,.05) 0%,transparent 60%),radial-gradient(ellipse 35% 30% at 25% 30%,rgba(170,140,200,.04) 0%,transparent 60%);animation:nebula-drift 20s ease-in-out infinite alternate}@keyframes stars-layer1{0%{opacity:.7}to{opacity:1}}@keyframes stars-layer2{0%{opacity:.5}50%{opacity:1}to{opacity:.6}}@keyframes nebula-drift{0%{transform:scale(1) translate(0);opacity:1}50%{transform:scale(1.05) translate(-1%,1%);opacity:.8}to{transform:scale(1) translate(1%,-.5%);opacity:1}}.screen{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);padding-top:calc(var(--space-6) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));width:100%;max-width:430px;margin:0 auto;animation:screen-enter var(--dur-slow) var(--ease-out) both;overflow-y:auto}.screen-centered{justify-content:center;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px))}@keyframes screen-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.title-hero{font-family:var(--font-display);font-size:clamp(42px,12vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.04em;background:linear-gradient(160deg,var(--gold-bright) 0%,var(--gold) 40%,rgba(201,168,76,.7) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:var(--space-2);filter:drop-shadow(0 0 20px rgba(201,168,76,.15))}.title-display{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;line-height:1.2;letter-spacing:-.02em;background:linear-gradient(135deg,var(--gold-bright) 0%,var(--gold) 45%,var(--violet) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:var(--space-2)}.subtitle{font-family:var(--font-display);font-size:var(--text-base);font-weight:400;font-style:italic;line-height:1.5;color:var(--text-secondary);text-align:center;margin-bottom:var(--space-6)}.label-position{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary);margin-bottom:var(--space-2)}.card-name-text{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;line-height:1.2;color:var(--text-gold);text-align:center;margin-top:var(--space-2)}.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;max-width:320px;padding:var(--space-4) var(--space-6);border:none;border-radius:14px;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-spring),box-shadow .2s ease-out;position:relative;overflow:hidden}.btn:active{transform:scale(.96);transition:transform var(--dur-instant) var(--ease-snap)}.btn-primary{background:linear-gradient(135deg,var(--violet) 0%,var(--violet-dim) 100%);color:#fff;box-shadow:var(--shadow-button),inset 0 1px #ffffff1a}.btn-primary:active{filter:brightness(.9)}.btn-gold{background:linear-gradient(135deg,var(--gold-bright) 0%,var(--gold) 100%);color:#1a1a2e;box-shadow:0 2px 12px var(--gold-glow),0 0 24px #c9a84c14,inset 0 1px #fff3;font-weight:700}.btn-gold:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:btn-shimmer 4s ease-in-out infinite}@keyframes btn-shimmer{0%,to{left:-100%}50%{left:150%}}.btn-gold:active{filter:brightness(.9)}.btn-secondary{background:#e8e6f00d;color:var(--text-secondary);border:1px solid var(--border-medium);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-secondary:active{background:#e8e6f014}.btn-gold-text{color:var(--text-gold)}.btn-share{background:#e8e6f014;color:var(--text-gold);border:1px solid var(--border-accent)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.tarot-card-container{perspective:1200px;width:260px;height:446px;cursor:pointer;-webkit-tap-highlight-color:transparent}.tarot-card-container[data-size=small]{width:88px;height:151px}.tarot-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--dur-card) var(--ease-spring)}.tarot-card-inner.flipped{transform:rotateY(180deg)}.tarot-card-front,.tarot-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 1px 2px #0000004d,0 4px 16px #0003,0 0 0 1px var(--border-accent)}.tarot-card-front{background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(226,192,110,.15) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 50% 80%,rgba(201,168,76,.08) 0%,transparent 50%),linear-gradient(175deg,#1a1535,#15122a,#100e20 60%,#0d0b1a);display:flex;align-items:center;justify-content:center;overflow:hidden}.tarot-card-front:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:2px solid var(--gold);border-radius:7px;pointer-events:none;box-shadow:inset 0 0 12px #c9a84c1a,0 0 8px #c9a84c0f;background:radial-gradient(circle at 14px 14px,var(--gold) 2.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 14px) 14px,var(--gold) 2.5px,transparent 2.5px),radial-gradient(circle at 14px calc(100% - 14px),var(--gold) 2.5px,transparent 2.5px),radial-gradient(circle at calc(100% - 14px) calc(100% - 14px),var(--gold) 2.5px,transparent 2.5px)}.tarot-card-front:after{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:1.5px solid rgba(201,168,76,.3);border-radius:4px;pointer-events:none;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(201,168,76,.07) 8px,rgba(201,168,76,.07) 9px),repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(201,168,76,.07) 8px,rgba(201,168,76,.07) 9px),radial-gradient(ellipse 70% 50% at 50% 50%,rgba(201,168,76,.06) 0%,transparent 80%);box-shadow:inset 0 0 20px #c9a84c0a}.tarot-card-front .star{font-size:0;display:block;width:56px;height:56px;position:relative;z-index:1}.tarot-card-front .star:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--gold);opacity:.7;animation:emblem-rotate 30s linear infinite;box-shadow:0 0 12px #c9a84c26}.tarot-card-front .star:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:linear-gradient(var(--gold),var(--gold)) center/1px 100% no-repeat,linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat,linear-gradient(45deg,transparent 47%,var(--gold) 47%,var(--gold) 53%,transparent 53%),linear-gradient(-45deg,transparent 47%,var(--gold) 47%,var(--gold) 53%,transparent 53%),radial-gradient(circle,rgba(201,168,76,.3) 30%,var(--gold) 30%,var(--gold) 34%,transparent 34%);opacity:.45;box-shadow:0 0 8px #c9a84c1a}@keyframes emblem-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-size=small] .tarot-card-front:before{top:3px;right:3px;bottom:3px;left:3px;border-width:1.5px}[data-size=small] .tarot-card-front:after{top:8px;right:8px;bottom:8px;left:8px;border-width:1px}[data-size=small] .tarot-card-front .star{width:22px;height:22px}[data-size=small] .tarot-card-front .star:before{border-width:1px}[data-size=small] .tarot-card-front .star:after{top:4px;right:4px;bottom:4px;left:4px}.card-glow{animation:card-breathe 3s ease-in-out infinite}@keyframes card-breathe{0%,to{box-shadow:0 1px 2px #0000004d,0 4px 16px #0003,0 0 0 1px #c9a84c4d,0 0 15px #c9a84c14}50%{box-shadow:0 1px 2px #0000004d,0 8px 24px #0000004d,0 0 0 1px #c9a84c80,0 0 30px #c9a84c33,0 0 60px #c9a84c14}}.next-to-flip .tarot-card-front{animation:card-breathe 1.5s ease-in-out infinite}.tarot-card-container:not(.is-flipped) .tarot-card-inner:not(.flipped){animation:card-float 4s ease-in-out infinite}@keyframes card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tarot-card-container{position:relative}.tarot-card-container.is-flipped:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:radial-gradient(circle,rgba(226,192,110,.4) 0%,rgba(124,92,252,.15) 30%,transparent 70%);animation:reveal-burst 1s var(--ease-out) forwards;pointer-events:none;z-index:10}@keyframes reveal-burst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}40%{transform:translate(-50%,-50%) scale(.6);opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.is-flipped .tarot-card-back{box-shadow:0 1px 2px #0000004d,0 4px 16px #0003,0 0 0 1px var(--border-accent),0 0 30px #c9a84c33,0 0 60px #c9a84c14;animation:glow-settle 2s var(--ease-out) forwards}@keyframes glow-settle{0%{box-shadow:0 1px 2px #0000004d,0 4px 16px #0003,0 0 0 1px var(--border-accent),0 0 60px #c9a84c80,0 0 120px #7c5cfc33}to{box-shadow:0 1px 2px #0000004d,0 4px 16px #0003,0 0 0 1px var(--border-accent),0 0 20px #c9a84c1f}}.tarot-card-back{transform:rotateY(180deg)}.tarot-card-back img{width:100%;height:100%;object-fit:cover}.tarot-card-back.reversed img{transform:rotate(180deg)}.tarot-card-container:active .tarot-card-inner{transform:scale(.96);transition:transform .1s ease-out}.spread-row{display:flex;gap:var(--space-3);justify-content:center;align-items:flex-start;margin:var(--space-5) 0}.spread-card-slot{display:flex;flex-direction:column;align-items:center;opacity:0;animation:card-enter .5s var(--ease-spring) both}.spread-card-slot:nth-child(1){animation-delay:.1s}.spread-card-slot:nth-child(2){animation-delay:.25s}.spread-card-slot:nth-child(3){animation-delay:.4s}@keyframes card-enter{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.interpretation-section{width:100%;max-width:400px;margin-top:var(--space-5);background:#1a194099;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}@supports not (backdrop-filter: blur(12px)){.interpretation-section{background:#1a1940eb}}.interpretation-tab-bar{display:flex;gap:2px;padding:3px;background:#1a1940f2;border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin-bottom:var(--space-5);position:sticky;top:0;z-index:2}.interpretation-tab{flex:1;padding:10px var(--space-3);border:none;border-radius:10px;background:transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-tertiary);cursor:pointer;transition:color .2s ease-out,background .2s ease-out;-webkit-tap-highlight-color:transparent;min-height:44px;display:flex;align-items:center;justify-content:center}.interpretation-tab.active{background:#7c5cfc26;color:var(--text-primary);box-shadow:0 0 12px #7c5cfc1a}.interpretation-tab:active{transform:scale(.96)}.interpretation-text{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;animation:content-reveal .6s var(--ease-out) both}@keyframes content-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.oracle-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-6) var(--space-5)}.oracle-ritual{width:120px;height:120px;position:relative;display:flex;align-items:center;justify-content:center}.oracle-ring{position:absolute;border-radius:50%;border-style:solid;border-color:transparent}.oracle-ring-outer{top:0;right:0;bottom:0;left:0;border-width:1px;border-top-color:var(--gold-dim);border-bottom-color:#7c5cfc4d;animation:ring-spin 12s linear infinite}.oracle-ring-middle{top:12px;right:12px;bottom:12px;left:12px;border-width:1px;border-right-color:var(--gold-dim);border-left-color:#7c5cfc33;animation:ring-spin 8s linear infinite reverse}.oracle-ring-inner{top:24px;right:24px;bottom:24px;left:24px;border-width:1px;border-top-color:#e2c06e80;animation:ring-spin 5s linear infinite}.oracle-cardinal{position:absolute;width:2px;height:6px;background:var(--gold-dim);border-radius:1px;opacity:.6}.oracle-n{top:-1px;left:50%;transform:translate(-50%)}.oracle-e{right:-1px;top:50%;transform:translateY(-50%) rotate(90deg)}.oracle-s{bottom:-1px;left:50%;transform:translate(-50%)}.oracle-w{left:-1px;top:50%;transform:translateY(-50%) rotate(90deg)}.oracle-core{width:40px;height:40px;border-radius:50%;position:relative;overflow:hidden}.oracle-core-light{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--gold-bright) 0%,var(--violet) 50%,var(--bg-deep) 100%);animation:core-breathe 3s ease-in-out infinite}.oracle-core:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,rgba(226,192,110,.5) 15%,transparent 30%);animation:ring-spin 4s linear infinite}@keyframes ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes core-breathe{0%,to{transform:scale(1);box-shadow:0 0 20px #c9a84c33,0 0 40px #7c5cfc1a}50%{transform:scale(1.08);box-shadow:0 0 30px #c9a84c66,0 0 60px #7c5cfc33}}.oracle-message{font-family:var(--font-display);font-size:var(--text-base);font-style:italic;color:var(--text-secondary);text-align:center;min-height:24px;line-height:1.5}.oracle-cursor{display:inline-block;width:1px;height:1em;background:var(--gold);margin-left:2px;vertical-align:text-bottom;animation:cursor-blink .8s steps(2) infinite}@keyframes cursor-blink{0%{opacity:1}to{opacity:0}}.skeleton-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:10px;padding:var(--space-5)}.skeleton-line{height:14px;border-radius:7px;background:linear-gradient(90deg,#e8e6f00a 25%,#e8e6f014,#e8e6f00a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite}.skeleton-line:nth-child(1){width:100%}.skeleton-line:nth-child(2){width:92%}.skeleton-line:nth-child(3){width:85%}.skeleton-line:nth-child(4){width:96%}.skeleton-line:nth-child(5){width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.daily-card-area{display:flex;flex-direction:column;align-items:center;margin:var(--space-6) 0}.daily-interpretation{width:100%;max-width:400px;padding:var(--space-5);margin-top:var(--space-5);background:#1a194099;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);animation:content-reveal .6s var(--ease-out) both}.daily-interpretation p{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;white-space:pre-wrap}.home-buttons{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:320px;margin-top:var(--space-8)}.spreads-counter{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin:var(--space-2) 0;letter-spacing:.02em}.pack-selector{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:320px;margin:var(--space-4) 0}.pack-option{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 18px;background:#e8e6f00a;border:1px solid var(--border-medium);border-radius:14px;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring),border-color .2s ease-out,background .2s ease-out;color:var(--text-primary);-webkit-tap-highlight-color:transparent;min-height:56px}.pack-option:active{transform:scale(.97);background:#7c5cfc1a;border-color:var(--violet);transition:transform var(--dur-instant) var(--ease-snap)}.pack-option .pack-title{font-family:var(--font-body);font-weight:600;font-size:var(--text-base)}.pack-option .pack-price{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--text-gold)}.pack-option.best-value{border-color:var(--gold-dim);background:#c9a84c0f;position:relative}.pack-badge{position:absolute;top:-9px;right:16px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--bg-void);background:var(--gold);padding:2px 8px;border-radius:4px}.bottom-action{margin-top:auto;padding-top:var(--space-5);width:100%;max-width:320px}.cal-nav{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:360px;margin-bottom:var(--space-4)}.cal-nav-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.cal-nav-btn{background:#e8e6f00f;border:1px solid var(--border-medium);color:var(--text-primary);width:44px;height:44px;border-radius:10px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-spring)}.cal-nav-btn:active{transform:scale(.92)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;max-width:360px}.cal-weekday{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);text-align:center;padding:4px 0;text-transform:uppercase;letter-spacing:.1em}.cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:#e8e6f008;border-radius:var(--radius-sm);cursor:default;padding:2px;position:relative;-webkit-tap-highlight-color:transparent;transition:background .2s,border-color .2s}.cal-day-empty{background:transparent}.cal-day.has-card{cursor:pointer;background:#c9a84c0f;border:1px solid rgba(201,168,76,.15)}.cal-day.has-card:active{transform:scale(.94)}.cal-day.today{border:1px solid var(--violet);box-shadow:0 0 8px var(--violet-glow)}.cal-day.selected{background:#7c5cfc26;border-color:var(--violet)}.cal-day-num{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);line-height:1}.cal-day.has-card .cal-day-num{color:var(--text-gold)}.cal-day-thumb{width:22px;height:32px;object-fit:cover;border-radius:3px;opacity:.85}.cal-day-rating{font-size:6px;color:var(--gold);line-height:1;letter-spacing:-1px}.cal-detail{width:100%;max-width:360px;margin-top:var(--space-4);padding:var(--space-4);background:#1a194099;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);animation:content-reveal .4s var(--ease-out) both}.cal-detail-header{display:flex;gap:var(--space-3);align-items:flex-start}.cal-detail-img{width:50px;height:86px;object-fit:cover;border-radius:6px;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.rating-stars{display:flex;align-items:center;margin-top:var(--space-3)}.rating-star{background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:color .15s,transform .15s var(--ease-spring);-webkit-tap-highlight-color:transparent}.rating-star.active{color:var(--gold)}.rating-star:active{transform:scale(1.3)}.home-sigil{position:relative;width:80px;height:80px;margin-bottom:var(--space-5)}.home-sigil-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(201,168,76,.3);border-radius:50%;animation:sigil-rotate 20s linear infinite}.home-sigil-ring:before{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;background:var(--gold);border-radius:50%;transform:translate(-50%);box-shadow:0 0 6px var(--gold-glow)}.home-sigil-ring-2{top:12px;right:12px;bottom:12px;left:12px;border-color:#7c5cfc40;animation-direction:reverse;animation-duration:15s}.home-sigil-ring-2:before{background:var(--violet);box-shadow:0 0 6px var(--violet-glow)}.home-sigil-dot{position:absolute;top:50%;left:50%;width:8px;height:8px;background:var(--gold);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px var(--gold-glow),0 0 24px #c9a84c1a;animation:sigil-pulse 3s ease-in-out infinite}@keyframes sigil-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sigil-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.divider-gold{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:var(--space-3) 0 var(--space-6);position:relative}.divider-gold:before{content:"";position:absolute;top:-2px;left:50%;width:5px;height:5px;transform:translate(-50%) rotate(45deg);background:var(--gold-dim)}.step-indicator{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:.1em;margin-bottom:var(--space-2)}.hint-text{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--text-secondary);text-align:center;letter-spacing:.01em}.card-info{text-align:center;margin-top:var(--space-4);animation:content-reveal .6s var(--ease-out) both}.card-info .card-name-text{font-size:var(--text-md)}.card-keywords{font-family:var(--font-display);font-style:italic;font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);line-height:1.4;text-align:center}.link-gold{background:none;border:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-gold);cursor:pointer;padding:var(--space-3) var(--space-4);min-height:44px;display:inline-flex;align-items:center;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;opacity:.8}.greeting-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;font-style:italic;color:var(--text-secondary);margin-bottom:var(--space-2);letter-spacing:.02em}.streak-section{display:flex;flex-direction:column;align-items:center;margin:var(--space-3) 0;width:100%;max-width:280px}.streak-main{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.streak-fire{font-size:28px;line-height:1}.streak-number{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;background:linear-gradient(135deg,var(--gold-bright),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.streak-progress-bar{width:100%;height:4px;background:#c9a84c1a;border-radius:2px;overflow:hidden;margin-bottom:var(--space-1)}.streak-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));border-radius:2px;transition:width .5s var(--ease-spring)}.streak-hint{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);letter-spacing:.02em}.offering-text{font-family:var(--font-display);font-size:var(--text-sm);font-style:italic;color:var(--text-secondary);text-align:center;line-height:1.6;margin-bottom:var(--space-4);padding:0 var(--space-2);opacity:.8}.cal-empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-tertiary)}.cal-empty-state p{font-family:var(--font-display);font-style:italic;font-size:var(--text-base);margin-bottom:var(--space-4)}.bottom-actions{margin-top:auto;padding-top:var(--space-5);width:100%;max-width:320px;display:flex;flex-direction:column;gap:var(--space-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
