/* Shared customer experience: account, reading journeys, dialogs and checkout. */
.sn-workspace{--sn-surface:#100c1b;--sn-panel:#1b1526;--sn-raised:#251d31;--sn-text:#f6f1e8;--sn-copy:#c4bace;--sn-line:#ffffff24;--sn-accent:#e5bd73;--sn-on-accent:#2b2010;color:var(--sn-text);color-scheme:dark;font-family:Inter,system-ui,sans-serif;line-height:1.65}
html:not(.dark) .sn-workspace{--sn-surface:#f2ece1;--sn-panel:#fcf9f2;--sn-raised:#eee4d5;--sn-text:#302335;--sn-copy:#66576a;--sn-line:#5c40552c;--sn-accent:#755321;--sn-on-accent:#fffaf0;color-scheme:light}
.sn-account{background:var(--sn-surface);padding:112px 28px 60px;min-height:80vh}
.sn-account-wrap{max-width:1100px;margin:auto}
.sn-account-welcome{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-bottom:42px}
.sn-eyebrow{font-size:10px!important;letter-spacing:.17em;text-transform:uppercase;color:var(--sn-accent)!important;font-weight:600;margin:0 0 16px}
.sn-workspace h1,.sn-workspace h2,.sn-workspace h3{letter-spacing:-.025em}
.sn-account #account-heading{font:400 clamp(38px,4.5vw,64px)/1.1 Georgia,serif;margin:0 0 22px;max-width:780px;overflow-wrap:anywhere}
.sn-account-lede{font-size:15px;color:var(--sn-copy);max-width:610px;margin:0;line-height:1.8}
.sn-gold{color:var(--sn-accent)}
.sn-account-portrait{width:160px;flex:none;border:1px solid var(--sn-line);padding:8px;border-radius:48% 48% 7px 7px;margin:0;transform:rotate(3deg)}
.sn-account-portrait img{border-radius:48% 48% 4px 4px;width:100%;height:auto;display:block}
.sn-account-portrait figcaption{font:9px Georgia,serif;letter-spacing:.2em;text-align:center;padding:10px 0 4px;color:var(--sn-accent)}
.sn-account-actions{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}
.sn-reading-start{position:relative;overflow:hidden;padding:34px 36px;background:var(--sn-panel);border:1px solid var(--sn-line);border-radius:12px}
.sn-reading-start:after{content:'';position:absolute;width:240px;height:240px;border:1px solid var(--sn-line);border-radius:50%;inset-inline-end:-150px;top:40px;pointer-events:none}
.sn-reading-start .sn-card-symbol{font-size:36px;display:block;margin-bottom:20px}
.sn-card-symbol{color:var(--sn-accent);font:30px Georgia,serif;flex:none}
.sn-reading-start h2{font:400 34px/1.2 Georgia,serif;margin:0 0 14px}
.sn-account-actions p:not(.sn-eyebrow){font-size:14px;line-height:1.8;color:var(--sn-copy);max-width:390px;margin:0 0 24px}
.sn-reading-start small{display:block;font-size:11px;color:var(--sn-copy);margin-top:20px;max-width:350px}
.sn-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;background:var(--sn-accent);color:var(--sn-on-accent);border:1px solid transparent;border-radius:7px;padding:12px 20px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;text-align:start}
.sn-button:hover{filter:brightness(1.08)}
.sn-button-secondary{background:transparent;color:var(--sn-text);border-color:var(--sn-line)}
.sn-text-button{display:inline-flex;align-items:center;gap:16px;padding:9px 0;min-height:44px;font-size:13px;color:var(--sn-accent);background:transparent;border:0;text-align:start;cursor:pointer}
.sn-account-side{display:grid;gap:24px}
.sn-account-card{display:flex;align-items:flex-start;gap:25px;padding:27px 30px;background:var(--sn-panel);border:1px solid var(--sn-line);border-radius:12px}
.sn-account-card h2{font:400 24px/1.25 Georgia,serif;margin:0 0 12px}
.sn-account-card p{margin-bottom:5px!important}
.sn-account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-block:1px solid var(--sn-line);margin-top:36px;padding:24px 0}
.sn-account-stats>div{display:flex;flex-direction:column;gap:4px;padding-inline:24px;border-inline-start:1px solid var(--sn-line)}
.sn-account-stats>div:first-child{padding-inline-start:0;border:0}
.sn-account-stats strong{font:400 27px Georgia,serif;color:var(--sn-text)}
.sn-account-stats span{font-size:11px;color:var(--sn-copy)}
.sn-account-note{max-width:780px;color:var(--sn-copy);font-size:11px;margin:24px 0 0;line-height:1.8}
/* A single modal frame replaces the independent legacy frames. */
.sn-dialog{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#090610c9;backdrop-filter:blur(7px)}
.sn-dialog-panel{background:var(--sn-panel);border:1px solid var(--sn-line);border-radius:14px;width:100%;max-width:680px;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #0007;scrollbar-color:var(--sn-copy) var(--sn-panel)}
.sn-dialog-wide{max-width:940px}
.sn-dialog-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;border-bottom:1px solid var(--sn-line);background:var(--sn-panel)}
.sn-dialog-header .sn-eyebrow{margin-bottom:6px;font-size:9px!important}
.sn-dialog-header h2{font:400 29px/1.2 Georgia,serif;margin:0;color:var(--sn-text)!important}
.sn-dialog .modal-close{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--sn-raised);border:1px solid var(--sn-line);border-radius:50%;color:var(--sn-copy);cursor:pointer}
.sn-dialog .modal-body{padding:28px;max-height:none!important;overflow:visible!important}
#login-modal.sn-dialog>div,#register-modal.sn-dialog>div,#reset-modal.sn-dialog>div{background:var(--sn-panel);border-color:var(--sn-line)}
.sn-workspace p{line-height:1.8}
.sn-workspace :is(input,select,textarea){font:inherit;font-size:16px;max-width:100%;color:var(--sn-text)!important;background:var(--sn-surface)!important;border:1px solid var(--sn-line)!important;border-radius:7px;padding:11px 12px;min-height:44px}
.sn-workspace :is(input[type=checkbox],input[type=radio]){min-height:0;width:19px;height:19px;accent-color:var(--sn-accent);padding:0}
.sn-workspace input::placeholder{color:var(--sn-copy);opacity:.8}
.sn-workspace :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--sn-accent);outline-offset:3px}
.sn-workspace button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.sn-workspace button{min-height:44px;touch-action:manipulation}
.sn-workspace :is(.grid,.flex)>*{min-width:0}
.sn-workspace :is(.text-left,.text-right){text-align:start}
.sn-workspace .min-w-48{min-width:min(100%,180px)}
.sn-workspace :is(.shadow-lg,.shadow-xl,.shadow-md,.shadow-2xl){box-shadow:none}
/* Shared palette for existing result/transaction markup, scoped to customer panels. */
html .sn-workspace :is([class*="bg-gradient"],.glow-card,.cosmic-bg){background-image:none!important;background-color:var(--sn-raised)!important;border-color:var(--sn-line)!important;box-shadow:none!important;animation:none!important}
html .sn-workspace :is([class*="bg-white"],[class*="bg-gray-"],[class*="bg-slate-"],[class*="bg-indigo-"],[class*="bg-purple-"],[class*="bg-blue-"],[class*="bg-green-"],[class*="bg-yellow-"],[class*="bg-amber-"]){background-color:var(--sn-raised)!important}
html .sn-workspace :is([class*="text-gray-"],[class*="text-slate-"],[class*="text-indigo-"],[class*="text-blue-"],[class*="text-purple-"],[class*="text-yellow-"],[class*="text-amber-"],[class*="text-green-"],[class*="text-pink-"]){color:var(--sn-copy)!important}
html .sn-workspace :is(h1,h2,h3,h4,strong,[class*="text-white"],[class*="text-transparent"]){color:var(--sn-text)!important;background-clip:initial}
html .sn-workspace :is([class*="border-gray-"],[class*="border-slate-"],[class*="border-indigo-"],[class*="border-purple-"],[class*="border-blue-"],[class*="border-white"],[class*="border-amber-"]){border-color:var(--sn-line)!important}
html .sn-workspace :is(button[class*="bg-"],.premium-btn){background:var(--sn-accent)!important;color:var(--sn-on-accent)!important;border:1px solid transparent;border-radius:7px;box-shadow:none!important;transform:none!important}
html .sn-workspace :is(button[class*="bg-gray-"],button[class*="bg-white/"],button[class*="bg-indigo-500/"],button[class*="bg-slate-"]){background:var(--sn-raised)!important;color:var(--sn-text)!important;border-color:var(--sn-line)}
html .sn-workspace button[class*="bg-red-"]{background:#582c34!important;color:#ffe0e5!important}
html .sn-workspace :is([class*="bg-red-50"],[class*="bg-red-100"]){background:#582c3426!important}
html .sn-workspace :is([class*="text-red-"],.text-red-600){color:#d87183!important}
.sn-workspace .sn-dialog-header .modal-close{background:var(--sn-raised)!important;color:var(--sn-text)!important}
.sn-workspace .animate-pulse,.sn-workspace .animate-fade-in{animation:none}
.sn-workspace .radar-polygon{fill:#e5bd7333;stroke:var(--sn-accent)}
.sn-workspace .radar-point{fill:var(--sn-accent)}
.sn-workspace .radar-label{fill:var(--sn-copy)}
.sn-workspace .radar-grid,.sn-workspace .radar-axis{stroke:var(--sn-line)}
.sn-workspace :is(.analysis-type-card,.analysis-card,.credit-package-card){border:1px solid var(--sn-line);background:var(--sn-panel);border-radius:10px;transform:none!important;box-shadow:none!important}
.sn-workspace .analysis-type-card{width:100%;text-align:start;padding:20px;display:block;cursor:pointer}
.sn-workspace .analysis-type-card:hover{border-color:var(--sn-accent);background:var(--sn-raised)}
.sn-reading-option{display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center}
.sn-reading-option h3{font:400 22px Georgia,serif;margin:0 0 7px}
.sn-reading-option p{font-size:12px;color:var(--sn-copy);margin:0}
.sn-reading-price{font-size:11px;color:var(--sn-accent);white-space:nowrap}
.sn-reading-icon{font:30px Georgia,serif;color:var(--sn-accent)}
.sn-panel-intro{margin:0 0 24px;color:var(--sn-copy);font-size:14px}
.sn-balance-note{display:flex;justify-content:space-between;gap:20px;padding:16px 0 0;margin-top:20px;border-top:1px solid var(--sn-line);font-size:12px;color:var(--sn-copy)}
.sn-upload-guidance{border-top:1px solid var(--sn-line);padding-top:20px;color:var(--sn-copy);font-size:13px}
.sn-upload-choices{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sn-workspace #image-drop-zone{border-color:var(--sn-line);background:var(--sn-surface);padding:30px 22px}
.sn-workspace #image-drop-zone:hover{border-color:var(--sn-accent)}
.sn-workspace #preview-image{object-fit:contain}
.sn-workspace .sn-reading-paper{background:var(--sn-panel);max-width:72ch;margin-inline:auto;line-height:1.95;font-size:15px}
.sn-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sn-plan{border:1px solid var(--sn-line);border-radius:10px;padding:25px;display:flex;flex-direction:column;gap:15px}
.sn-plan h3{font:400 28px Georgia,serif;margin:0}
.sn-plan p{color:var(--sn-copy);font-size:13px;margin:0}
.sn-plan small{margin-top:auto;color:var(--sn-accent);font-size:11px}
.sn-horoscope{padding:112px 28px 60px;background:var(--sn-surface);min-height:75vh}
.sn-horoscope-wrap{max-width:1100px;margin:auto}
.sn-horoscope-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px;padding-bottom:30px;border-bottom:1px solid var(--sn-line)}
.sn-horoscope-heading [aria-level="1"]{font:400 clamp(36px,4vw,54px)/1.15 Georgia,serif;margin:0 0 15px}
.sn-horoscope-heading p:not(.sn-eyebrow){font-size:14px;color:var(--sn-copy);max-width:650px}
.sn-horoscope-actions{display:flex;gap:12px;flex-wrap:wrap}
.sn-workspace table{width:100%;font-size:12px;border-collapse:collapse}
.sn-workspace :is(td,th){border-color:var(--sn-line);white-space:normal;overflow-wrap:anywhere}
.sn-workspace .sn-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.sn-workspace .sn-filter-grid label{display:block;font-size:11px;margin-bottom:8px;color:var(--sn-copy)}
.sn-workspace .sn-filter-grid :is(input,select){width:100%}
#navbar #credits-display{background:#e5bd7314!important;border-color:#e5bd7340!important;color:#e5bd73!important;font-size:12px;min-height:36px;align-items:center}
#navbar #user-menu-button{max-width:210px;min-height:44px}#navbar #user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#navbar #user-dropdown :is(button,a){min-height:44px;text-align:start}
.sn-payment-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:30px 20px;background:#100c1b}
.sn-payment-page>.container{width:100%;max-width:540px;background:#1b1526;border:1px solid #ffffff24;color:#f6f1e8;border-radius:14px;padding:36px;box-shadow:none}
.sn-payment-page .sn-wordmark{justify-content:center;margin:0 0 32px}
.sn-payment-page h1{color:#f6f1e8;font:400 36px/1.2 Georgia,serif;margin-bottom:20px}
.sn-payment-page p{color:#c4bace;font-size:14px;line-height:1.8}
.sn-payment-page :is(.button,.pay-button,.payment-button){background:#e5bd73;color:#2b2010;border:0;border-radius:7px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;font-size:14px;font-weight:600;margin:6px}
.sn-payment-page .button.secondary{background:transparent;color:#e5bd73;border:1px solid #ffffff24}
.sn-payment-page :is(.order-info,.package-info){background:#251d31;color:#c4bace;border-color:#ffffff24}
.sn-payment-page :is(.order-info strong,.package-info strong){color:#f6f1e8}
@media(max-width:767px){.sn-account{padding:96px 20px 40px}.sn-account-welcome{gap:20px;align-items:flex-start;margin-bottom:28px}.sn-account-portrait{width:80px;margin-top:30px}.sn-account-portrait figcaption{font-size:7px;letter-spacing:.1em}.sn-account #account-heading{font-size:36px}.sn-account-lede{font-size:13px}.sn-account-actions{grid-template-columns:1fr;gap:16px}.sn-reading-start{padding:26px}.sn-reading-start h2{font-size:30px}.sn-reading-start .sn-button{width:100%}.sn-account-side{gap:16px}.sn-account-card{padding:24px;gap:20px}.sn-account-card h2{font-size:23px}.sn-account-stats{gap:10px}.sn-account-stats>div{padding-inline:10px}.sn-account-stats strong{font-size:21px}.sn-account-stats span{font-size:10px}.sn-account-note{font-size:10px}.sn-dialog{padding:12px;align-items:center}.sn-dialog-panel{max-height:calc(100dvh - 24px);border-radius:12px}.sn-dialog-header{padding:17px 19px}.sn-dialog-header h2{font-size:25px}.sn-dialog .modal-body{padding:20px}.sn-reading-option{grid-template-columns:30px 1fr;gap:12px}.sn-reading-price{grid-column:2;white-space:normal}.sn-workspace .analysis-type-card{padding:17px}.sn-reading-option h3{font-size:21px}.sn-plan-grid{grid-template-columns:1fr}.sn-plan{padding:22px}.sn-horoscope{padding:96px 20px 40px}.sn-horoscope-heading{align-items:flex-start;flex-direction:column;gap:18px}.sn-workspace .sn-filter-grid{grid-template-columns:1fr}.sn-workspace .modal-body .grid.md\:grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-workspace .modal-body .grid.md\:grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-workspace .modal-body .flex-1{min-width:0}.sn-workspace #credit-history-content{overflow-x:auto}.sn-workspace #credit-history-content table{min-width:620px}.sn-payment-page>.container{padding:26px}.sn-payment-page h1{font-size:30px}}
@media(max-width:380px){.sn-account-portrait{display:none}.sn-account-welcome{gap:0}.sn-account #account-heading{font-size:34px}}
@media(prefers-reduced-motion:reduce){.sn-dialog{backdrop-filter:none}}
.sn-profile-hero{padding:26px;background:var(--sn-raised);border:1px solid var(--sn-line);border-radius:10px;text-align:center}.sn-profile-hero h2{font:400 28px Georgia,serif}.sn-profile-hero p{font-size:13px;overflow-wrap:anywhere}.sn-profile-hero .w-24{width:64px;height:64px}.sn-result-heading{text-align:center;border-bottom:1px solid var(--sn-line);padding:8px 0 24px;margin-bottom:28px}.sn-result-heading h3{font:400 34px/1.25 Georgia,serif;margin:16px 0 12px}.sn-result-heading p{font-size:11px;color:var(--sn-copy)}.sn-reading-content{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--sn-text);font-size:15px;line-height:1.95}.sn-result-disclaimer{font-size:11px;color:var(--sn-copy);border-top:1px solid var(--sn-line);margin-top:30px;padding-top:18px}.sn-result-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:25px}.sn-workspace .modal-body h3{font-family:Georgia,serif;font-weight:400}.sn-payment-page{box-sizing:border-box;margin:0;font-family:Inter,system-ui,sans-serif}.sn-payment-page>.container{box-sizing:border-box}.sn-payment-page a{text-decoration:none}.sn-payment-page .button{margin-inline:0}.sn-dialog .sn-dialog-header{box-shadow:none}.sn-dialog .sn-dialog-header .sn-eyebrow{color:var(--sn-accent)!important}
html.dark #navbar,html:not(.dark) #navbar{background:#171221!important;box-shadow:none!important;border-bottom:1px solid #ffffff14!important}#navbar #current-language-flag,#navbar #mobile-current-language-flag{display:none!important}#navbar #language-selector{min-width:50px;min-height:44px;border:1px solid #ffffff24!important;background:#ffffff08!important;border-radius:7px!important;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px!important}#navbar .nav-links .is-active{color:#e5bd73!important;border-color:#e5bd73!important}.sn-dialog .sn-dialog-panel{background-color:var(--sn-panel)!important}
.sn-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px}.sn-footer-grid>div:first-child{max-width:330px}.sn-account-stats strong{overflow-wrap:normal}.sn-dialog .modal-body .sn-reading-paper{background:transparent}@media(max-width:767px){.sn-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.sn-footer-grid>div:first-child{grid-column:1/-1;max-width:100%}.sn-account-stats strong{font-size:19px}.sn-account-stats>div{padding-inline:7px}}
html .sn-workspace button[class*="bg-"] :is(span,div,i,strong){color:inherit!important}.sn-reading-option h3{color:var(--sn-text)}
.sn-language-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sn-language-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;padding:16px;background:var(--sn-panel);border:1px solid var(--sn-line);border-radius:9px;text-align:start;cursor:pointer;color:var(--sn-text)}.sn-language-option small{font-size:10px;color:var(--sn-copy)}.sn-language-option[aria-pressed=true]{border-color:var(--sn-accent);background:var(--sn-raised)}.sn-language-option:hover{border-color:var(--sn-accent)}@media(max-width:460px){.sn-language-grid{grid-template-columns:1fr}.sn-language-option{min-height:52px;padding:12px 16px}}
#login-modal .sn-dialog-panel,#register-modal .sn-dialog-panel,#reset-modal .sn-dialog-panel{max-width:470px}.sn-loading{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:#090610c9;padding:24px}.sn-loading.hidden{display:none}.sn-loading-panel{padding:32px;text-align:center;background:var(--sn-panel);border:1px solid var(--sn-line);border-radius:12px;min-width:240px}.sn-loading-panel p{margin:20px 0 0;color:var(--sn-copy)}
.sn-report-form{display:grid;gap:1rem}.sn-report-form fieldset{display:grid;gap:.75rem;border:1px solid var(--sn-border,#3d314c);padding:1rem;border-radius:.75rem}.sn-report-form fieldset label{display:flex;align-items:center;gap:.6rem;min-height:2.5rem}.sn-report-form textarea{box-sizing:border-box;width:100%;padding:.8rem;border-radius:.75rem;resize:vertical;background:#241c32;color:#f6f1e8;border:1px solid #3d314c;font:inherit}
.sn-consent-details{border-block:1px solid var(--sn-line,#3d314c);padding-block:.25rem}
.sn-consent-details summary{min-height:48px;align-content:center;color:var(--sn-accent,#e5bd73);cursor:pointer;font-weight:600;padding-block:.5rem}
.sn-consent-details summary:focus-visible{outline:3px solid var(--sn-accent,#e5bd73);outline-offset:3px;border-radius:4px}
.sn-consent-details p{margin:0 0 1rem;line-height:1.7;overflow-wrap:anywhere}
/* Horoscope text uses opaque theme colors on a known surface, including history dialogs. */
html .sn-workspace .sn-horoscope-card{background:var(--sn-panel);color:var(--sn-text);border:1px solid var(--sn-line);border-radius:12px;padding:24px}
html .sn-workspace .sn-horoscope-card .horoscope-section-title{color:var(--sn-accent);font-size:18px;line-height:1.5;font-weight:600;margin-bottom:12px}
html .sn-workspace .sn-horoscope-card p{color:var(--sn-text);opacity:1;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
html .sn-workspace .sn-horoscope-card .sn-lucky-element{background:var(--sn-raised);border:1px solid var(--sn-line);padding:12px}
html .sn-workspace .sn-lucky-element p:first-child{color:var(--sn-copy);font-size:12px;line-height:1.5;margin-bottom:6px}
@media(max-width:767px){html .sn-workspace .sn-horoscope-card{padding:20px}}
