:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f6f0e8;--app-color:#f6f0e8;--app-muted:#ffffff94;--app-faint:#ffffff57;--bg-radial:#362e423d;--bg-start:#111015;--bg-middle:#09090c;--bg-end:#050507;--control-border:#ffffff29;--control-bg:#07070ab8;--control-color:#ffffff8f;--control-hover:#ffffff1c;--active-bg:#ffffffe6;--active-color:#111014;--input-line:#ffffff3d;--input-focus:#ffffffc2;--panel-bg:#09090ced;--panel-line:#ffffff24;--row-line:#ffffff1c;--sheet-bg:#100f14fa;--scrim:#0000008a;--shadow:#0000008a;--focus:#e1cfffa8;background:#0a090d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#211f24;--app-color:#211f24;--app-muted:#211f24a8;--app-faint:#211f246b;--bg-radial:#ae9dbe33;--bg-start:#f7f4ef;--bg-middle:#eeeae3;--bg-end:#e4ded5;--control-border:#211f242e;--control-bg:#faf8f4e0;--control-color:#211f24a8;--control-hover:#211f2417;--active-bg:#242127;--active-color:#fff;--input-line:#211f2440;--input-focus:#211f24c2;--panel-bg:#f6f2ecf5;--panel-line:#211f2424;--row-line:#211f241f;--sheet-bg:#f9f7f2fc;--scrim:#1e1b2152;--shadow:#2b252f3d;--focus:#5335746b;background:#eeeae3}*{box-sizing:border-box}@font-face{font-family:AstroChartFont;src:url(/astro-font/chartfont.woff)format("woff");font-weight:400;font-style:normal;font-display:block}html,body,#root{width:100%;min-height:100%;margin:0}body{overscroll-behavior:none;min-height:100dvh;color:var(--app-color);background:radial-gradient(circle at 68% 42%, var(--bg-radial), transparent 38%), linear-gradient(145deg, var(--bg-start) 0%, var(--bg-middle) 58%, var(--bg-end) 100%);transition:color .22s,background-color .22s;overflow:hidden}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.tarot-table{isolation:isolate;width:100%;height:100dvh;position:relative;overflow:hidden}.tarot-table:before{content:"";z-index:-1;pointer-events:none;opacity:.28;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:absolute;inset:0}.canvas-zone{width:100%;height:100dvh;position:absolute;inset:0}.tarot-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:100%;height:100%;display:block}.tarot-canvas:active{cursor:grabbing}.tarot-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.utility-bar{z-index:40;top:max(10px, env(safe-area-inset-top));align-items:center;gap:7px;width:min(600px,100vw - 240px);transition:left .42s cubic-bezier(.2,.8,.2,1),width .32s;display:flex;position:fixed;left:calc(50vw + 100px);transform:translate(-50%)}.cards-complete .utility-bar{width:max-content;left:50%}.intention-input{border:0;border-bottom:1px solid var(--input-line);min-width:0;height:38px;color:var(--app-color);letter-spacing:.015em;background:0 0;border-radius:0;outline:none;flex:1;padding:0 4px;font-size:.82rem;transition:opacity .25s,width .3s,flex-basis .3s,border-color .16s}.cards-complete .intention-input{opacity:0;pointer-events:none;border:0;flex:0 0 0;width:0;padding:0}.intention-input::placeholder{color:var(--app-faint)}.intention-input:focus{border-color:var(--input-focus)}.spread-toggle{border:1px solid var(--control-border);background:var(--control-bg);-webkit-backdrop-filter:blur(12px);border-radius:999px;align-items:center;padding:3px;display:flex}.spread-toggle button,.reset-button,.theme-button,.account-button{width:31px;height:31px;color:var(--control-color);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.spread-toggle button{font-size:.73rem;font-weight:600}.spread-toggle button.active{color:var(--active-color);background:var(--active-bg)}.reset-button:hover,.reset-button:focus-visible,.theme-button:hover,.theme-button:focus-visible,.account-button:hover,.account-button:focus-visible,.account-button.signed-in{color:var(--app-color);background:var(--control-hover)}.reading-panel{z-index:20;border-left:1px solid var(--panel-line);width:52%;color:var(--app-color);background:linear-gradient(90deg, transparent 0, var(--panel-bg) 12%, var(--panel-bg) 100%);scrollbar-width:thin;padding:18px clamp(22px,4vw,58px) 70px 28px;position:absolute;top:58px;bottom:0;right:0;overflow-y:auto}.reading-header{max-width:720px;margin-bottom:22px}.reading-header h1{margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,2.4vw,2.25rem);font-weight:500;line-height:1.05}.reading-header blockquote{color:var(--app-muted);margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-style:italic}.reading-header p,.reading-advice{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.02rem;line-height:1.55}.reading-card-list{max-width:760px;display:grid}.reading-card-row{border-top:1px solid var(--row-line);grid-template-columns:76px minmax(0,1fr);gap:16px;padding:18px 0;display:grid}.reading-card-row>img{aspect-ratio:7/12;object-fit:contain;image-rendering:auto;width:76px;height:auto;box-shadow:0 3px 8px var(--shadow);border:0;border-radius:2px;display:block}.reading-position{color:var(--app-muted);letter-spacing:.11em;text-transform:uppercase;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.58em;font-weight:700}.reading-separator{color:var(--app-faint);margin:0 .34em;font-weight:400}.reading-card-row h2{margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:500}.reading-card-row p{margin:5px 0 0;line-height:1.48}.position-description,.qualities{color:var(--app-muted);font-size:.84rem}.reading-card-row .interpretation{margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:1rem}.reading-advice{border-top:1px solid var(--row-line);max-width:720px;margin-top:8px;padding:20px 0}.reading-title-slot{min-height:2.5rem}.overview-slot{min-height:5rem}.interpretation-slot{min-height:4.8rem}.advice-slot{min-height:6.4rem}.ghost-line,.ghost-copy i,.history-skeleton i{background:linear-gradient(90deg, var(--row-line), var(--control-hover), var(--row-line));background-size:220% 100%;border-radius:999px;animation:1.7s ease-in-out infinite ghost-drift;display:block}.ghost-title{width:min(280px,68%);height:1.75rem;margin-top:4px}.ghost-copy{gap:9px;padding-top:5px;display:grid}.ghost-copy i{height:10px}.ghost-copy i:nth-child(2){width:92%}.ghost-copy i:nth-child(3){width:68%}.ghost-card{max-width:540px;padding-top:15px}.ghost-advice{border-top:1px solid var(--row-line);max-width:680px;padding-top:25px}@keyframes ghost-drift{0%{opacity:.5;background-position:100% 0}50%{opacity:.82}to{opacity:.5;background-position:-120% 0}}.reading-chat{border-top:1px solid var(--row-line);max-width:720px;margin-top:30px;padding:22px 0 92px}.reading-chat-thread{gap:12px;margin-bottom:14px;display:grid}.chat-message{border-radius:14px;width:fit-content;max-width:min(88%,620px);font-family:Georgia,Times New Roman,serif;font-size:.98rem;line-height:1.55}.chat-message.user{color:var(--active-color);background:var(--active-bg);border-bottom-right-radius:4px;justify-self:end;padding:9px 12px}.chat-message.user p,.chat-message.assistant p{margin:0}.chat-message.assistant{color:var(--app-color);justify-self:start}.chat-message.assistant p+p,.chat-message.assistant p+ul,.chat-message.assistant p+ol,.chat-message.assistant ul+p,.chat-message.assistant ol+p{margin-top:.72em}.chat-message.assistant h3{letter-spacing:.09em;text-transform:uppercase;margin:0 0 .42em;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:700}.chat-message.assistant ul,.chat-message.assistant ol{gap:.34em;margin:.55em 0 0;padding-left:1.25em;display:grid}.chat-message.assistant strong{font-weight:700}.chat-message.assistant code{background:var(--control-hover);border-radius:4px;padding:.08em .28em;font-family:ui-monospace,monospace;font-size:.88em}.chat-end{height:1px;scroll-margin-bottom:96px}.reading-chat-form{z-index:45;right:clamp(22px,4vw,58px);bottom:max(12px, env(safe-area-inset-bottom));border:1px solid var(--control-border);background:var(--sheet-bg);width:min(720px,52vw - clamp(58px,8vw,112px));box-shadow:0 10px 34px color-mix(in srgb, var(--shadow) 42%, transparent);border-radius:18px;grid-template-columns:minmax(0,1fr) auto 32px;align-items:end;gap:7px;padding:5px 5px 5px 13px;transition:opacity .24s,transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .22s;display:grid;position:fixed}.reading-chat-form textarea{resize:none;width:100%;min-height:31px;max-height:110px;color:var(--app-color);appearance:none;background:0 0;border:0;outline:0;padding:6px 0 4px;line-height:1.3;overflow-y:auto}.reading-chat-form textarea::placeholder{color:var(--app-faint)}.reading-chat-form>button[type=submit]{width:32px;height:32px;color:var(--active-color);background:var(--active-bg);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.reading-chat-form .birth-chart-trigger{border:1px solid var(--control-border);width:auto;height:32px;color:var(--control-color);background:var(--control-bg);letter-spacing:.01em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.68rem;font-weight:650;transition:color .18s,border-color .18s,background .18s;display:flex}.reading-chat-form .birth-chart-trigger:hover,.reading-chat-form .birth-chart-trigger.active{color:var(--active-color);border-color:var(--active-bg);background:var(--active-bg)}.reading-chat-form button:disabled{opacity:.28}.reading-chat>small{color:var(--app-faint);margin:8px 4px 0;font-size:.68rem;display:block}.chat-thinking,.account-loading{align-items:center;gap:4px;min-height:26px;display:flex}.chat-thinking i,.account-loading i{background:var(--app-muted);border-radius:50%;width:4px;height:4px;animation:1.05s ease-in-out infinite breathe}.chat-thinking i:nth-child(2),.account-loading i:nth-child(2){animation-delay:.12s}.chat-thinking i:nth-child(3),.account-loading i:nth-child(3){animation-delay:.24s}.reading-status{z-index:45;right:max(18px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));max-width:min(420px,100vw - 36px);color:var(--app-muted);align-items:center;gap:5px;font-size:.74rem;display:flex;position:fixed}.reading-status i{background:var(--app-muted);border-radius:50%;width:5px;height:5px;animation:1.05s ease-in-out infinite breathe}.reading-status i:nth-child(2){animation-delay:.12s}.reading-status i:nth-child(3){animation-delay:.24s}.reading-status.failed{color:#b9483f}@keyframes breathe{0%,to{opacity:.24;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.birth-chart-backdrop{z-index:110;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--scrim) 92%, transparent);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.birth-chart-sheet{border:1px solid var(--panel-line);width:min(520px,100%);color:var(--app-color);background:radial-gradient(circle at 50% -22%, color-mix(in srgb, var(--active-bg) 9%, transparent), transparent 48%), var(--sheet-bg);box-shadow:0 28px 90px var(--shadow);border-radius:26px;padding:30px;position:relative;overflow:hidden}.birth-chart-close{z-index:1;width:32px;height:32px;color:var(--control-color);background:var(--control-hover);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.birth-chart-orbit{border:1px solid var(--control-border);width:58px;height:58px;color:var(--app-color);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid;position:relative}.birth-chart-orbit:before,.birth-chart-orbit:after{content:"";border:1px solid color-mix(in srgb, var(--app-faint) 44%, transparent);border-radius:50%;position:absolute;transform:rotate(-28deg)}.birth-chart-orbit:before{width:74px;height:28px}.birth-chart-orbit:after{width:28px;height:74px}.birth-chart-orbit i{background:var(--app-color);border-radius:50%;width:5px;height:5px;position:absolute}.birth-chart-orbit i:first-child{top:5px;left:11px}.birth-chart-orbit i:nth-child(2){width:3px;height:3px;bottom:15px;right:2px}.birth-chart-sheet header{text-align:center}.birth-chart-sheet header>span{color:var(--app-faint);letter-spacing:.16em;text-transform:uppercase;font-size:.64rem;font-weight:700}.birth-chart-sheet h2{margin:6px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,5vw,2rem);font-weight:500}.birth-chart-sheet header p{max-width:390px;color:var(--app-muted);margin:0 auto;font-size:.78rem;line-height:1.5}.birth-chart-sheet form{gap:16px;margin-top:24px;display:grid}.birth-chart-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.birth-chart-fields label{gap:7px;min-width:0;display:grid}.birth-chart-fields label>span{color:var(--app-muted);align-items:center;gap:6px;font-size:.68rem;font-weight:650;display:flex}.birth-chart-fields input{border:1px solid var(--control-border);width:100%;min-width:0;height:45px;color:var(--app-color);background:var(--control-bg);font:inherit;border-radius:13px;outline:0;padding:0 13px;font-size:.82rem}.birth-chart-fields input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--input-focus) 12%, transparent)}.birth-location-field{grid-column:1/-1;position:relative}.birth-place-suggestions{z-index:12;border:1px solid var(--control-border);max-height:190px;color:var(--app-color);background:var(--sheet-bg);box-shadow:0 16px 36px color-mix(in srgb, var(--shadow) 56%, transparent);border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto}.birth-place-suggestion{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:10px 11px;font-size:.76rem;display:flex}.birth-place-suggestion svg{color:var(--app-faint);flex:none}.birth-place-suggestion:hover,.birth-place-suggestion:focus-visible{background:var(--control-hover);outline:0}.birth-chart-error{color:#b9483f;margin:-3px 2px 0;font-size:.74rem;line-height:1.4}.birth-chart-submit{min-height:45px;color:var(--active-color);background:var(--active-bg);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:680;display:flex}.birth-chart-submit:disabled,.birth-chart-close:disabled{opacity:.42}.birth-chart-sheet form>small{color:var(--app-faint);text-align:center;font-size:.64rem;line-height:1.4}.birth-chart-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite birth-chart-spin}@keyframes birth-chart-spin{to{transform:rotate(360deg)}}.account-backdrop{z-index:80;background:var(--scrim);justify-content:flex-end;display:flex;position:fixed;inset:0}.account-sheet{width:min(390px,100% - 18px);height:100dvh;padding:max(56px, calc(env(safe-area-inset-top) + 42px)) 18px max(24px, env(safe-area-inset-bottom));border-left:1px solid var(--panel-line);color:var(--app-color);background:var(--sheet-bg);box-shadow:-20px 0 70px var(--shadow);position:relative;overflow-y:auto}.sheet-close{top:max(13px, env(safe-area-inset-top));width:32px;height:32px;color:var(--control-color);background:var(--control-hover);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;right:13px}.account-header{border-bottom:1px solid var(--row-line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;display:flex}.account-header>span{min-width:0;color:var(--app-muted);text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.account-header button{color:var(--control-color);background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:7px 9px;font-size:.75rem;display:flex}.saved-readings h2{margin:24px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:500}.saved-readings>button{border:0;border-bottom:1px solid var(--row-line);width:100%;color:var(--app-color);text-align:left;background:0 0;gap:4px;padding:13px 3px;display:grid}.saved-readings>button.active{border-left:2px solid var(--app-color);padding-left:10px}.saved-readings>button span{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:1rem;overflow:hidden}.saved-readings>button small,.empty-history{color:var(--app-faint);font-size:.7rem}.history-skeleton{gap:16px;padding-top:10px;display:grid}.history-skeleton i{border-radius:7px;height:42px}.auth-toggle{border:1px solid var(--control-border);background:var(--control-bg);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.auth-toggle button{color:var(--control-color);background:0 0;border:0;border-radius:999px;padding:9px 10px;font-size:.76rem}.auth-toggle button.active{color:var(--active-color);background:var(--active-bg)}.auth-form{gap:10px;margin-top:22px;display:grid}.auth-form input{border:0;border-bottom:1px solid var(--input-line);width:100%;color:var(--app-color);background:0 0;border-radius:0;outline:0;padding:12px 2px}.auth-form input:focus{border-color:var(--input-focus)}.auth-form>button[type=submit]{color:var(--active-color);background:var(--active-bg);border:0;border-radius:999px;margin-top:8px;padding:11px}.auth-form button:disabled{opacity:.5}.auth-form .reset-link{color:var(--app-muted);background:0 0;border:0;justify-self:center;padding:6px;font-size:.72rem}.auth-notice{color:var(--app-muted);margin:14px 0 0;font-size:.78rem;line-height:1.4}.account-footer{border-top:1px solid var(--row-line);gap:14px;margin-top:28px;padding-top:16px;display:flex}.account-footer a{color:var(--app-faint);font-size:.68rem;text-decoration:none}.interpretation-backdrop{z-index:70;background:var(--scrim);justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.interpretation-sheet{border:1px solid var(--panel-line);width:min(560px,100%);max-height:56dvh;color:var(--app-color);background:var(--sheet-bg);box-shadow:0 -22px 70px var(--shadow);border-radius:18px 18px 8px 8px;padding:22px;position:relative;overflow:auto}.interpretation-sheet button{width:32px;height:32px;color:var(--control-color);background:var(--control-hover);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.interpretation-sheet strong,.interpretation-sheet small{padding-right:36px;display:block}.interpretation-sheet strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.interpretation-sheet small{color:var(--app-faint);margin-top:3px}.interpretation-sheet p{margin:15px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.55}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.utility-bar{width:calc(100vw - 116px);left:105px;transform:none}.cards-complete .utility-bar{justify-content:flex-end;width:calc(100vw - 16px);left:8px;transform:none}.intention-input{font-size:.76rem}.reading-complete{-webkit-overflow-scrolling:touch;overflow:hidden auto}.reading-complete .canvas-zone{height:min(66dvh,580px);min-height:430px;position:relative;inset:auto}.reading-complete .tarot-canvas{touch-action:manipulation}.reading-panel{width:100%;padding:24px 16px max(110px, calc(env(safe-area-inset-bottom) + 92px));border-top:1px solid var(--panel-line);background:var(--panel-bg);border-left:0;position:relative;inset:auto;overflow:visible}.reading-chat-form{left:14px;right:14px;bottom:max(10px, env(safe-area-inset-bottom));opacity:0;pointer-events:none;width:auto;transform:translateY(calc(100% + 24px))}.reading-chat-form.chat-dock-visible{opacity:1;pointer-events:auto;transform:none}.reading-chat-form .birth-chart-trigger{padding-inline:8px;font-size:.64rem}.birth-chart-backdrop{align-items:flex-end;padding:0}.birth-chart-sheet{width:100%;max-height:min(88dvh,690px);padding:26px 18px max(22px, env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:24px 24px 0 0;overflow-y:auto}.birth-chart-fields{gap:10px}.reading-chat{padding-bottom:22px}.reading-card-row{grid-template-columns:64px minmax(0,1fr);gap:13px}.reading-card-row>img{width:64px}.reading-header h1{font-size:1.55rem}}@media (height<=620px) and (orientation:landscape) and (width>=721px){.reading-panel{top:50px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
