:root{color-scheme:dark;--bg:#171424;--text:#f8eef4;--muted:#b9adc7;--accent:#edbace;--border:#ffffff16}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;min-height:100vh}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--border);background:#ffffff08;border-radius:16px;padding:12px 16px;transition:transform .25s,background .25s}button:hover{background:#ffffff14;transform:translateY(-2px)}button:active{transform:scale(.96)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.6;cursor:wait}.shell{max-width:860px;margin:auto;padding:28px 24px 120px;position:relative}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;font:24px Prata,Georgia,serif}.brand small{display:block;font:10px Manrope,sans-serif;letter-spacing:2px;color:var(--muted);margin-top:8px}.demo{font-size:11px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:16px}.roles{display:flex;gap:8px;margin:20px 0;overflow:auto}.roles button{font-size:12px;white-space:nowrap}.roles .active{background:#edbace22;border-color:#edbace77;color:var(--accent)}main{animation:arrive .45s ease both}h1,h2,h3{font-family:Prata,Georgia,serif;font-weight:400}h1{font-size:clamp(32px,6vw,52px);line-height:1.3;margin:14px 0}h2{font-size:24px}h3{font-size:19px}p{color:var(--muted);line-height:1.8;font-size:14px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:3px;font-size:10px}.hero{padding:38px;border:1px solid var(--border);border-radius:30px;background:linear-gradient(125deg,#47314b80,#211b3680);position:relative;overflow:hidden}.hero:after{content:'☾';font:210px Georgia;position:absolute;right:-25px;top:5px;color:#edbace0d;pointer-events:none;animation:float 7s ease-in-out infinite}.hero p{max-width:460px}.primary{background:linear-gradient(110deg,#eebacf,#c9b7ef);color:#30243e;font-weight:700;border:0;box-shadow:0 6px 28px #eebacf22}.primary:hover{background:linear-gradient(110deg,#f7cadb,#d8c9f6)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0}.panel{background:#ffffff05;border:1px solid var(--border);border-radius:24px;padding:24px;backdrop-filter:blur(12px);transition:transform .3s,border-color .3s}.panel:hover{transform:translateY(-3px);border-color:#edbace44}.symbol{font-size:30px;color:var(--accent)}.pill{font-size:11px;background:#edbace14;color:var(--accent);border-radius:20px;padding:6px 10px;display:inline-block}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:18px 0}.row:last-child{padding-bottom:0}.row p{margin:4px 0;font-size:12px}.balance{font-size:44px;font-family:Prata,serif;margin:16px 0}.muted{color:var(--muted);font-size:12px}nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));padding:8px;display:flex;border:1px solid #ffffff20;border-radius:24px;background:#272137ee;backdrop-filter:blur(22px);z-index:10;padding-bottom:max(8px,env(safe-area-inset-bottom))}nav button{flex:1;border:0;background:none;font-size:22px;padding:8px}nav span{display:block;font-size:10px;margin-top:6px}nav .active{color:var(--accent);background:#ffffff09}.glow{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(110px);opacity:.2;pointer-events:none;animation:float 12s ease-in-out infinite}.one{background:#b16f9f;left:-160px;top:40px}.two{background:#776ac6;right:-140px;bottom:20px;animation-delay:-6s}.stars{position:fixed;inset:0;pointer-events:none;overflow:hidden}.star{position:absolute;width:3px;height:3px;border-radius:50%;background:#e8cde9;animation:twinkle 4s ease-in-out infinite}.deck{display:flex;justify-content:center;gap:18px;margin:35px 0;perspective:800px}.tarot{width:110px;height:175px;padding:0;background:none;border:0;perspective:800px}.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.tarot.revealed .card-inner{transform:rotateY(180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;border-radius:16px;border:1px solid #eac2df66;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(150deg,#503955,#252037);box-shadow:0 12px 25px #0003;gap:14px}.back{transform:rotateY(180deg);background:linear-gradient(145deg,#e8bfd4,#b8a4dd);color:#34253e}.face .symbol{font-size:48px;color:inherit}.face small{font-size:10px}.tarot:hover{transform:translateY(-8px)}input,textarea{width:100%;background:#ffffff08;border:1px solid var(--border);border-radius:14px;padding:14px;color:var(--text);margin:8px 0 18px}label{font-size:13px;color:var(--muted)}dialog{border:1px solid #edbace44;background:#282036;color:var(--text);border-radius:24px;padding:28px;width:min(450px,calc(100% - 32px));box-shadow:0 30px 100px #0006}dialog::backdrop{background:#100c20bb;backdrop-filter:blur(8px)}dialog[open]{animation:arrive .3s ease}.close{float:right;padding:4px 12px;font-size:24px}.amounts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}#toast{position:fixed;bottom:112px;left:50%;transform:translate(-50%,15px);background:#edbace;color:#30243e;border-radius:16px;padding:12px 20px;opacity:0;pointer-events:none;transition:.3s;width:max-content;max-width:90%;font-size:13px;z-index:30}#toast.show{opacity:1;transform:translate(-50%,0)}.low-motion *, .low-motion *:before,.low-motion *:after{animation:none!important;transition:none!important}@keyframes float{50%{transform:translateY(-25px)}}@keyframes twinkle{50%{opacity:.15;transform:scale(.5)}}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:540px){.shell{padding:20px 16px 120px}.hero{padding:26px}.grid{gap:12px}.panel{padding:20px}.deck{gap:10px}.tarot{width:88px;height:145px}header #motion{font-size:10px;padding:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
nav[hidden]{display:none}
select{display:block;width:100%;background:#30263f;color:var(--text);padding:12px;border:1px solid var(--border);border-radius:14px;margin:8px 0 18px}input[type=checkbox]{width:auto;margin-right:8px}.paused *{animation-play-state:paused!important}textarea{resize:vertical}nav[hidden]{display:none}
.reading-history-item{display:block;width:100%;text-align:left;margin:14px 0}.loading-orbit{width:55px;height:55px;display:grid;place-items:center;font-size:30px;color:var(--accent);animation:orbit 4s linear infinite}.interpretation{animation:arrive .5s ease both}.tarot small{text-align:center;padding:0 5px}.low-motion .loading-orbit{animation:none}nav button{min-width:0}nav span{white-space:nowrap;font-size:9px}@keyframes orbit{to{transform:rotate(360deg)}}
.card-inner{display:block}
.real-card{margin:0;text-align:center}.real-card figcaption{margin:12px 0;color:var(--muted);font-size:14px}.real-card .tarot,.daily-panel .tarot{width:210px;height:370px;animation:none;padding:0;border:0;background:none}.tarot .face img{width:100%;height:100%;object-fit:contain;border-radius:10px}.tarot .back small{position:absolute;bottom:0;left:0;right:0;background:#211b36e8;color:#fff;padding:8px;font-size:13px}.tarot .face:has(img){padding:0}.card-pick{margin:24px 0;padding:16px;border:1px solid var(--border);border-radius:16px;min-width:0}.card-pick legend{padding:0 8px;color:var(--accent)}.card-pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card-pick-grid button{padding:0;border:0;background:none;position:relative}.card-pick-grid img{width:100%;display:block;aspect-ratio:3/5}.card-pick-grid span{position:absolute;bottom:12px;left:0;right:0;color:#f8e9f1;font-weight:700}.card-pick-grid button[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px;transform:translateY(-3px)}.card-pick-grid button[aria-pressed=true] span{background:#edbace;color:#211b36;padding:4px;border-radius:8px}.card-pick [data-card-count]{color:var(--accent);font-weight:600}

.daily-panel{margin-top:20px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.daily-panel .deck{margin:10px}.daily-reflection{grid-column:1 / -1;animation:arrive .5s ease both}.daily-reflection[hidden]{display:none}@media(max-width:540px){.daily-panel{grid-template-columns:1fr}.daily-panel .tarot{width:125px;height:200px}}

.payment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:18px 0}.payment-row p{margin:6px 0}.payment-row strong{font-size:13px}.payment-row button{font-size:12px}@media(max-width:540px){.payment-row{align-items:flex-start;flex-direction:column}}

header{gap:8px}header .brand{margin-right:auto}header [data-page=settings]{padding:9px 12px;font-size:18px}.check-row{display:flex;align-items:flex-start;gap:10px;margin:14px 0;line-height:1.6}.check-row input{flex:none;margin:5px 0 0}.data-panel{margin-top:20px}.danger{background:#dc8d9b18;color:#f5b5c2;border-color:#dc8d9b55}#pref-timezone{margin-bottom:8px}#pref-time{margin-top:10px}#preferences-form [data-detect-timezone]{margin-bottom:20px}

/* Motion is part of the scene, enabled by default; accessibility follows OS preference. */
.hero-art{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:20px;margin:18px 0;display:block}.hero:after{display:none}.celestial{display:flex;align-items:center;justify-content:center;gap:26px;margin:22px 0;position:relative}.celestial .sun{font-size:72px;color:#e9c895;animation:orbit 24s linear infinite}.celestial .moon{font-size:64px;color:#ead2ec;animation:moon-sway 10s ease-in-out infinite}.celestial:before{content:'';position:absolute;width:180px;height:180px;border:1px solid #edbace22;border-radius:50%;animation:orbit 30s linear infinite;border-top-color:#edbaceaa}.tarot{animation:card-drift 5s ease-in-out infinite}.tarot:nth-child(2){animation-delay:-1.5s}.tarot:nth-child(3){animation-delay:-3s}.face{overflow:hidden}.face:after{content:'';position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 44%,#fff2 50%,transparent 56%);animation:card-shine 8s ease-in-out infinite;pointer-events:none}.manager-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.manager-nav .active{background:#edbace22;color:var(--accent)}.studio-field{margin:18px 0}.studio-field textarea{min-height:170px;line-height:1.6}.astro-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.astro-table div{padding:12px;border:1px solid var(--border);border-radius:16px}.astro-table small{display:block;color:var(--muted);margin-top:8px}.astro-form label:not(.check-row),#preferences-form label:not(.check-row){display:block}input[type=date],input[type=time]{min-width:0;max-width:100%;appearance:none;min-height:48px}.inline-note{padding:14px;border-left:2px solid var(--accent);background:#edbace08;border-radius:0 12px 12px 0}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.service-editor{margin:18px 0}.studio-field textarea{font-size:13px}.astro-panel{margin-top:20px}main p,main h3{overflow-wrap:anywhere}button:disabled{cursor:not-allowed}.shell{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:calc(125px + env(safe-area-inset-bottom))}@keyframes card-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes moon-sway{50%{transform:rotate(18deg) translateY(-8px)}}@keyframes card-shine{0%,55%,100%{transform:translateX(-60%)}75%{transform:translateX(60%)}}@media(max-width:540px){.hero-art{border-radius:16px}.celestial{margin:28px 0}.astro-table{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:23px}.hero{padding:22px}.studio-field textarea{min-height:200px}}

.brand-moon{display:inline-block;font-size:28px;animation:orbit 32s linear infinite}.brand .brand-moon{flex:none}

a.primary{display:inline-block;text-decoration:none;border-radius:16px;padding:14px 18px;font-weight:600;margin:8px 0}a.primary:focus-visible{outline:2px solid white;outline-offset:4px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* All Mini App cards use the full reading width, including tablet and desktop. */
.grid,.astro-table,.daily-panel{grid-template-columns:minmax(0,1fr)}
#content .guide-choices,#content .guide-branches,#content .birth-cards,#content .birth-form,#content .birth-manual:not([hidden]){grid-template-columns:minmax(0,1fr)}
#content .deck{flex-direction:column;align-items:center}.panel h3{overflow-wrap:normal;word-break:normal}.panel .primary{width:100%;margin-top:12px}
#content .guide-topics{grid-template-columns:minmax(0,1fr)}
.consultation-thread{display:grid;gap:20px}.thread-messages{display:grid;gap:14px}.thread-message{padding:18px;border:1px solid var(--border);border-radius:18px;background:#ffffff05}.thread-message.from-practitioner{background:#edbace10;border-left:3px solid var(--accent)}.thread-message small{display:block;margin-top:8px;color:var(--muted)}.thread-message p{white-space:normal;overflow-wrap:anywhere}.thread-message audio,.thread-message video{width:100%;max-width:100%;margin-top:14px}.thread-natal svg{width:100%;height:auto}.thread-offer{margin-bottom:16px}.thread-offer strong{display:block;font-size:24px}.thread-message-form,.thread-offer-form{border-top:1px solid var(--border);padding-top:20px}.thread-feedback{color:var(--accent)}.thread-offer-editor summary{cursor:pointer;padding:16px 0}.thread-file{display:block;margin-top:18px}.thread-message-form textarea{min-height:100px}
