:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0918;--color-surface:#141230;--color-surface-raised:#1d1a3f;--color-surface-sunken:#08071a;--color-border:#ffffff14;--color-border-strong:#ffffff2e;--color-text:#f3f0ff;--color-text-muted:#a6a0c8;--color-text-faint:#6f6a92;--color-text-on-accent:#1a1305;--color-accent:#d9b25f;--color-accent-bright:#f2cf8a;--color-accent-dim:#d9b25f29;--color-violet:#7c5cff;--color-violet-dim:#7c5cff2e;--color-danger:#ff6f6f;--color-danger-dim:#ff6f6f24;--color-success:#58d3a0;--gradient-accent:linear-gradient(135deg, #f2cf8a 0%, #d9b25f 55%, #b98f3f 100%);--gradient-surface:linear-gradient(160deg, #7c5cff29 0%, #7c5cff00 62%);--gradient-backdrop:radial-gradient(90% 55% at 12% -8%, #7c5cff47 0%, transparent 70%), radial-gradient(70% 45% at 92% 6%, #d9b25f24 0%, transparent 68%);--font-display:"Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, Palatino, Georgia, serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:21px;--text-2xl:27px;--text-3xl:34px;--leading-tight:1.2;--leading-normal:1.45;--leading-relaxed:1.65;--tracking-wide:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-full:999px;--shadow-card:0 1px 2px #0006, 0 8px 24px #00000047;--shadow-raised:0 2px 6px #00000073, 0 16px 40px #00000059;--shadow-accent-glow:0 6px 20px #d9b25f47;--duration-fast:.12s;--duration-base:.22s;--duration-slow:.6s;--ease-out:cubic-bezier(.2, .8, .2, 1);--measure:34rem}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}.ui-screen{gap:var(--space-4);padding-bottom:var(--space-8);flex-direction:column;display:flex}.ui-screen__header{gap:var(--space-2);flex-direction:column;display:flex}.ui-screen__eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);font-weight:600}.ui-screen__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.01em;margin:0}.ui-screen__subtitle{max-width:var(--measure);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0}.ui-screen__rule{background:linear-gradient(90deg, var(--color-accent) 0%, transparent 72%);opacity:.55;border:0;height:1px;margin:0}.ui-screen__body{gap:var(--space-4);flex-direction:column;display:flex}.ui-section{gap:var(--space-3);flex-direction:column;display:flex}.ui-section__title{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-faint);margin:0;font-weight:600}.ui-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);background-image:var(--gradient-surface);box-shadow:var(--shadow-card);color:inherit;text-decoration:none;display:block;position:relative;overflow:hidden}.ui-card--interactive{all:unset;box-sizing:border-box;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);background-image:var(--gradient-surface);box-shadow:var(--shadow-card);color:var(--color-text);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);display:block;position:relative;overflow:hidden}.ui-card--interactive:active{border-color:var(--color-border-strong);transform:scale(.985)}.ui-card--interactive:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-card--selected{border-color:var(--color-accent);box-shadow:var(--shadow-card), var(--shadow-accent-glow)}.ui-card--muted{background-image:none;background-color:var(--color-surface-sunken);box-shadow:none}.ui-card__title{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight);margin:0}.ui-card__icon{margin-bottom:var(--space-1);font-size:26px;line-height:1;display:block}.ui-card__text{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.ui-button{all:unset;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);text-align:center;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.ui-button:active:not(:disabled){transform:scale(.98)}.ui-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.5;cursor:default}.ui-button--block{width:100%;display:flex}.ui-button--primary{background:var(--gradient-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-accent-glow)}.ui-button--secondary{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text)}.ui-button--ghost{padding-inline:var(--space-2);min-height:40px;color:var(--color-accent)}.ui-field{gap:var(--space-2);flex-direction:column;display:flex}.ui-field__label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.ui-field__hint{font-size:var(--text-xs);color:var(--color-text-faint)}.ui-field__error{font-size:var(--text-xs);color:var(--color-danger)}.ui-input,.ui-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:inherit;transition:border-color var(--duration-fast) var(--ease-out)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-faint)}.ui-input:focus,.ui-textarea:focus{border-color:var(--color-accent);outline:none}.ui-field--invalid .ui-input,.ui-field--invalid .ui-textarea{border-color:var(--color-danger)}.ui-textarea{resize:vertical;min-height:104px}.ui-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-raised);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;display:inline-flex}.ui-chip--accent{background:var(--color-accent-dim);color:var(--color-accent-bright)}.ui-chip--filter{font:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:none;margin:0}.ui-chip--filter.ui-chip--selected{background:var(--color-accent-dim);color:var(--color-accent-bright)}.ui-paywall{gap:var(--space-3);flex-direction:column;display:flex}.ui-paywall__bullets{padding-left:var(--space-5);gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;margin:0;display:flex}.ui-paywall__eta{font-size:var(--text-xs);color:var(--color-text-faint);margin:0}.ui-paywall__requirements{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-faint);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ui-paywall__requirement--met{color:var(--color-text-muted)}.ui-paywall__requirement-mark{width:1.4em;display:inline-block}.ui-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);margin:0}.ui-note--error{background:var(--color-danger-dim);color:var(--color-danger)}.ui-prose{max-width:var(--measure);font-size:var(--text-base);line-height:var(--leading-relaxed);white-space:pre-wrap}.ui-skeleton{border-radius:var(--radius-sm);background:var(--color-surface);position:relative;overflow:hidden}.ui-skeleton:after{content:"";animation:ui-skeleton-sweep 1.4s var(--ease-out) infinite;background:linear-gradient(90deg,#0000 0%,#ffffff12 50%,#0000 100%);position:absolute;inset:0;transform:translate(-100%)}@keyframes ui-skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ui-skeleton:after{animation:none}}.ui-skeleton--text{height:14px;margin-block:var(--space-1)}.ui-skeleton--title{border-radius:var(--radius-sm);width:60%;height:26px}.ui-skeleton--row{border-radius:var(--radius-md);height:44px}.ui-skeleton--card{border-radius:var(--radius-lg);height:96px}.ui-skeleton-stack{gap:var(--space-3);flex-direction:column;display:flex}.ui-skeleton-stack .ui-skeleton--text:last-child{width:72%}.ui-stack{gap:var(--space-3);flex-direction:column;display:flex}.ui-center{text-align:center;flex-direction:column;align-items:center;display:flex}.ui-screen__title-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);background-color:var(--color-bg);background-image:var(--gradient-backdrop);color:var(--color-text);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;background-attachment:fixed;margin:0}a{color:var(--color-accent)}.app-layout{min-height:100dvh;min-height:var(--tg-viewport-stable-height,100dvh);flex-direction:column;display:flex}.app-content{padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.screen{gap:var(--space-3);padding-bottom:var(--space-8);flex-direction:column;display:flex}.screen h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);margin:0}.screen h2{margin:var(--space-5) 0 0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.muted{color:var(--color-text-muted)}.error-text{color:var(--color-danger)}.service-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.service-grid .ui-card--interactive{min-height:96px;padding:var(--space-5) var(--space-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.service-grid .ui-card__title{font-size:var(--text-base);font-weight:500}.home-logo{padding-top:var(--space-2);justify-content:center;display:flex}.home-logo img{filter:drop-shadow(0 0 20px var(--color-violet-dim))}.home-group-list{gap:var(--space-3);flex-direction:column;display:flex}.home-group-card{align-items:center;gap:var(--space-4);display:flex}.home-group-card__icon{width:44px;height:44px;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-violet-dim);color:var(--color-accent-bright);flex:none}.service-card{text-align:center;padding:var(--space-6) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);background-image:var(--gradient-surface);min-height:88px;box-shadow:var(--shadow-card);color:var(--color-text);justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.tab-bar{border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom);background:#0a0918db;display:flex}.tab-link{text-align:center;padding:var(--space-2) var(--space-1);font-size:var(--text-xs);color:var(--color-text-faint);transition:color var(--duration-fast) var(--ease-out);flex-direction:column;flex:1;align-items:center;gap:2px;font-weight:500;text-decoration:none;display:flex}.tab-link__icon{width:22px;height:22px}.tab-link.active{color:var(--color-accent)}.deck-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.deck-card{all:unset;box-sizing:border-box;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-card);text-align:center;cursor:pointer;flex-direction:column;display:flex}.deck-card--locked{opacity:.6}.deck-card__cover{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-md);width:100%}.deck-card__name{font-weight:500;font-size:var(--text-sm)}.deck-card__badge{font-size:var(--text-xs);color:var(--color-text-muted)}.spread-list{gap:var(--space-2);flex-direction:column;display:flex}.spread-row{all:unset;box-sizing:border-box;gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;flex-direction:column;display:flex}.spread-row__name{font-weight:500}.spread-row__meta{font-size:var(--text-xs);color:var(--color-text-muted)}.spread-row__footer{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.question-form{gap:var(--space-3);flex-direction:column;display:flex}.profile-form{gap:var(--space-2);flex-direction:column;display:flex}.profile-form label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.profile-form label:first-child{margin-top:0}.question-form textarea,.profile-form input{min-height:104px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:inherit;resize:vertical}.question-form textarea:focus,.profile-form input:focus{border-color:var(--color-accent);outline:none}.profile-form input{min-height:unset;padding:var(--space-3)}.question-form button,.profile-form button,.reveal-all-button,.primary-button{min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--gradient-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-accent-glow);font-weight:600;font-size:var(--text-base);cursor:pointer;border:none}.question-form button:disabled,.profile-form button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:default}.reveal-all-button{margin-bottom:var(--space-4)}.secondary-button{min-height:48px;padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);font-weight:600;font-size:var(--text-base);cursor:pointer}.history-empty{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.history-list{gap:var(--space-3);flex-direction:column;display:flex}.history-entry{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex}.history-entry__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.history-entry__spread{font-weight:600}.history-entry__date{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.history-entry__question{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;font-style:italic}.history-entry__cards{gap:var(--space-1);flex-wrap:wrap;display:flex}.history-card-chip{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-muted)}.history-entry--link{color:inherit;text-decoration:none}.results-filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.reading-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.reading-card{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.card-flip{all:unset;aspect-ratio:2/3;perspective:1000px;cursor:pointer;width:100%;display:block}.card-flip-inner{width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out);transform-style:preserve-3d;display:block;position:relative}.card-flip.flipped .card-flip-inner{transform:rotateY(180deg)}.card-face{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%;box-shadow:var(--shadow-card);backface-visibility:hidden;position:absolute;inset:0}.card-face--front{transform:rotateY(180deg)}.reading-card__label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);font-weight:500}.reading-interpretation{margin-top:var(--space-6);max-width:var(--measure);line-height:var(--leading-relaxed);white-space:pre-wrap}.daily-card{max-width:160px;margin:var(--space-5) auto 0}.period-toggle{gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-sunken);display:flex}.period-toggle button{min-height:40px;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:1;font-weight:500}.period-toggle button.active{background:var(--color-surface-raised);color:var(--color-accent)}.sign-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.sign-card{all:unset;box-sizing:border-box;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:center;cursor:pointer;font-size:var(--text-sm);flex-direction:column;display:flex}.sign-card.selected{border-color:var(--color-accent);box-shadow:var(--shadow-accent-glow);color:var(--color-accent-bright)}.sign-card__emoji{font-size:22px}.result-number{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-accent);margin:var(--space-2) 0;font-weight:700}.detail-list{gap:var(--space-2);flex-direction:column;display:flex}.detail-row{justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);display:flex}.detail-row__meta{color:var(--color-text-muted);text-align:right}.pythagorean-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);max-width:280px;display:grid}.pythagorean-cell{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);text-align:center;padding:var(--space-1);word-break:break-all;justify-content:center;align-items:center;font-weight:600;display:flex}.election-list{gap:var(--space-3);flex-direction:column;display:flex}.election-candidate{gap:var(--space-1);flex-direction:column;display:flex}.election-candidate__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.election-candidate__date{font-weight:600}.election-candidate__score{font-size:var(--text-xs);color:var(--color-accent);white-space:nowrap}
