
:root{
  color-scheme:dark;
  --bg-0:#02050b;
  --bg-1:#06101d;
  --bg-2:#0a1b2d;
  --surface:rgba(9,17,29,.88);
  --surface-2:rgba(13,24,39,.94);
  --surface-soft:rgba(255,255,255,.045);
  --line:rgba(178,207,232,.15);
  --line-strong:rgba(206,226,242,.24);
  --text:#f7f9fb;
  --text-soft:#c3ced9;
  --muted:#8f9eae;
  --dim:#667587;
  --gold:#ddb964;
  --gold-bright:#f2d58d;
  --accent:#70cfe1;
  --accent-2:#7097ff;
  --accent-soft:rgba(112,207,225,.12);
  --danger:#e3a7a7;
  --good:#93d6b2;
  --shadow:0 24px 72px rgba(0,0,0,.34);
  --radius:22px;
  --nav-height:76px;
  --header-height:92px;
  --font-ui:Inter,"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
}
:root[data-sorix-theme="earth"]{--accent:#9bb98b;--accent-2:#667d59;--gold:#c3a45c;--gold-bright:#e1ca92}
:root[data-sorix-theme="air"]{--accent:#a9d5e9;--accent-2:#7ba6c5;--gold:#d1bb79;--gold-bright:#e8d7a4}
:root[data-sorix-theme="fire"]{--accent:#e17b64;--accent-2:#a94937;--gold:#d3a255;--gold-bright:#edc981}
:root[data-sorix-theme="water"]{--accent:#65d0d1;--accent-2:#2e8294;--gold:#c7ae6e;--gold-bright:#e0d19a}
:root[data-sorix-theme="sovereignty"]{--accent:#70cfe1;--accent-2:#7097ff;--gold:#ddb964;--gold-bright:#f2d58d}

*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;background:#02050b}
body{
  color:var(--text);
  font-family:var(--font-ui);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(900px 560px at 72% -8%,rgba(48,91,145,.25),transparent 62%),
    radial-gradient(620px 520px at -12% 70%,rgba(40,137,153,.10),transparent 68%),
    linear-gradient(180deg,#07101d 0%,#03070e 52%,#020408 100%);
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 75%,white);
  outline-offset:2px
}
a{color:inherit}
[hidden]{display:none!important}

.app{
  position:relative;
  isolation:isolate;
  width:min(100%,660px);
  height:calc(100vh - 28px);
  height:calc(100dvh - 28px);
  min-height:0;
  margin:14px auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:30px;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(620px 430px at 88% 10%,rgba(40,111,148,.12),transparent 64%),
    radial-gradient(520px 420px at 0% 85%,rgba(60,64,137,.08),transparent 66%),
    linear-gradient(180deg,rgba(5,11,20,.18),rgba(2,6,12,.5)),
    url("/assets/celestial-sky.svg") center top / cover no-repeat;
  box-shadow:0 34px 100px rgba(0,0,0,.48)
}
.app::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.65;
  background-image:
    radial-gradient(circle,rgba(255,246,211,.85) 0 1px,transparent 1.35px),
    radial-gradient(circle,rgba(184,225,255,.55) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(224,185,94,.5) 0 1px,transparent 1.45px);
  background-size:132px 132px,197px 197px,263px 263px;
  background-position:14px 28px,58px 101px,117px 33px
}
.app::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  width:420px;
  height:420px;
  right:-250px;
  top:80px;
  border-radius:50%;
  border:1px solid rgba(224,187,98,.12);
  box-shadow:0 0 0 55px rgba(100,181,210,.025),0 0 0 112px rgba(224,187,98,.018)
}

.topbar{
  flex:0 0 var(--header-height);
  min-height:var(--header-height);
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-bottom:1px solid rgba(222,187,100,.13);
  background:linear-gradient(180deg,rgba(5,10,18,.96),rgba(5,10,18,.84));
  backdrop-filter:blur(28px) saturate(130%);
  -webkit-backdrop-filter:blur(28px) saturate(130%);
  z-index:30
}
.menu-btn,.iconbtn,.drawer-close{
  border:1px solid rgba(196,215,232,.14);
  background:rgba(255,255,255,.035);
  color:#e7eef4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 24px rgba(0,0,0,.18)
}
.menu-btn{
  width:50px;height:50px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:24px;line-height:1
}
.brand{
  min-width:0;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:10px
}
.sigil{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  font:26px/1 var(--font-display);
  color:var(--gold-bright);
  border:1px solid rgba(230,194,108,.74);
  background:
    radial-gradient(circle at 32% 24%,rgba(255,255,255,.13),transparent 34%),
    radial-gradient(circle at 50% 50%,#0e3151,#07121f 72%);
  box-shadow:0 0 0 2px rgba(222,185,96,.07),0 0 28px rgba(74,160,195,.13)
}
.brand>div:last-child{min-width:0}
.brand h1{
  margin:0;
  color:#fffaf0;
  font:500 25px/1 var(--font-display);
  letter-spacing:.12em;
  white-space:nowrap
}
.brand small{
  display:block;
  margin-top:5px;
  color:#8998a9;
  font:600 8px/1.1 var(--font-ui);
  letter-spacing:.19em;
  white-space:nowrap
}
.topactions{display:grid;grid-template-columns:48px 48px;gap:8px}
.iconbtn{width:48px;height:48px;min-width:48px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:18px}

main{position:relative;flex:1 1 0;min-height:0;min-width:0;overflow:hidden;background:transparent}
.screen{display:none;width:100%}
.screen.active{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:18px 18px calc(var(--nav-height) + 38px + env(safe-area-inset-bottom))
}
.screen.active::-webkit-scrollbar{display:none}

.nav{
  position:absolute;
  z-index:50;
  left:14px;right:14px;bottom:calc(10px + env(safe-area-inset-bottom,0px));
  height:var(--nav-height);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(205,221,235,.12);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(16,23,35,.95),rgba(5,9,16,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 24px 58px rgba(0,0,0,.44);
  backdrop-filter:blur(30px) saturate(138%);
  -webkit-backdrop-filter:blur(30px) saturate(138%)
}
.nav button{
  min-width:0;
  height:100%;
  padding:8px 4px;
  border:0;
  border-radius:20px;
  background:transparent;
  color:#77889b;
  font:500 9px/1.15 var(--font-ui)
}
.nav button b{display:block;margin-bottom:5px;color:#8ca1b6;font-size:18px;line-height:1;font-weight:500}
.nav button.active{
  color:#f1f5f8;
  background:
    radial-gradient(circle at 50% 15%,rgba(219,184,98,.13),transparent 58%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.016));
  box-shadow:inset 0 0 0 1px rgba(219,184,98,.15)
}
.nav button.active b{color:var(--gold-bright);text-shadow:0 0 18px rgba(219,184,98,.30)}

.drawer-backdrop{
  position:fixed;inset:0;z-index:80;
  opacity:0;pointer-events:none;
  background:rgba(0,3,8,.62);
  backdrop-filter:blur(8px);
  transition:.18s
}
.drawer{
  position:fixed;z-index:90;left:0;top:0;bottom:0;
  width:min(86vw,340px);
  padding:max(20px,env(safe-area-inset-top)) 16px 28px;
  overflow:auto;
  transform:translateX(-104%);
  transition:.2s ease;
  color:var(--text);
  border-right:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(100% 70% at 0 0,rgba(72,119,174,.11),transparent 55%),
    linear-gradient(180deg,rgba(11,17,27,.99),rgba(4,7,12,.995));
  box-shadow:28px 0 80px rgba(0,0,0,.48)
}
body.drawer-open .drawer{transform:none}
body.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}
.drawer-brand{display:flex;align-items:center;gap:10px}
.drawer-brand strong{display:block;color:#f7f9fb;font:500 20px/1 var(--font-display);letter-spacing:.09em}
.drawer-brand small{display:block;margin-top:4px;color:#7f90a3;font-size:8px;letter-spacing:.15em}
.drawer-close{width:40px;height:40px;border-radius:13px;font-size:22px}
.drawer-group{margin:18px 0 8px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.drawer-nav{display:grid;gap:5px}
.drawer-nav button{
  width:100%;min-height:44px;padding:10px 11px;
  display:flex;align-items:center;gap:10px;
  border:1px solid transparent;border-radius:13px;
  background:transparent;color:#d8e2ea;text-align:left;font-size:13px
}
.drawer-nav button:hover,.drawer-nav button:focus-visible{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
.drawer-nav i{width:22px;color:var(--gold);font-style:normal;text-align:center;font-size:16px}
.drawer-signout{margin-top:4px}

.eyebrow,.sectiontag,.planner-kicker,.snap-label{
  color:var(--gold);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase
}
.title{
  margin:0 0 8px;
  color:#f7f9fb;
  font:600 30px/1.05 var(--font-ui);
  letter-spacing:-.035em
}
.sub{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.55}
.divider{height:1px;margin:14px 0;background:rgba(255,255,255,.07)}
.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}

.card,.wizard-card,.result-card,.practice-card,.archive-detail,.settings-card,.focused-planner-card,.reference-card{
  position:relative;
  overflow:hidden;
  margin:0 0 12px;
  padding:16px;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:20px;
  background:
    radial-gradient(115% 100% at 100% 0,rgba(78,126,184,.065),transparent 50%),
    linear-gradient(145deg,rgba(17,26,41,.95),rgba(7,12,21,.93));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 42px rgba(0,0,0,.22)
}
.card h3,.wizard-card h3,.result-card h3,.practice-card h3,.archive-detail h3,.settings-card h3{margin:0 0 8px;color:#f4f7fa}
.card p,.wizard-card p,.result-card p,.practice-card p,.archive-detail p,.settings-card p{margin:0;color:#9eacba;font-size:13px;line-height:1.5}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 9px;border:1px solid rgba(255,255,255,.085);border-radius:999px;
  background:rgba(255,255,255,.035);color:#aab8c6;font-size:10px
}
.pill.gold{border-color:rgba(221,185,100,.25);color:#e6cf98}
.pill.good{border-color:rgba(147,214,178,.25);color:#bfe4cf}

.btn,.answer-choice,.multi-choice,.theme-choice{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.038);
  color:#e1e8ef;
  min-height:44px;
  padding:10px 13px;
  transition:.16s ease
}
.btn:hover,.answer-choice:hover,.multi-choice:hover,.theme-choice:hover{border-color:rgba(112,207,225,.28);background:rgba(255,255,255,.055)}
.btn.primary{
  color:#11100d;
  font-weight:750;
  border-color:rgba(255,224,145,.42);
  background:linear-gradient(180deg,#edcf83,#c9a04d);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 10px 26px rgba(100,67,13,.18)
}
.btn.ghost{color:#dce5ed}
.btn.danger{color:#efbcbc;border-color:rgba(227,167,167,.28)}
.btn.selected,.answer-choice.selected,.multi-choice.selected,.theme-choice.selected{border-color:rgba(112,207,225,.45);background:rgba(112,207,225,.08)}
.btn.block{width:100%}
.btn.small{min-height:34px;padding:7px 10px;border-radius:11px;font-size:11px}
.btn:disabled{opacity:.45;cursor:not-allowed}

.field{margin:0 0 14px}
.field label,label{color:#aebbc8;font-size:11px}
.field label{display:block;margin-bottom:7px}
input,textarea,select{
  width:100%;
  min-height:46px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:13px;
  background:rgba(255,255,255,.045);
  color:#eff4f8;
  outline:none
}
textarea{min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:#657588}
input[type="checkbox"],input[type="radio"]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--gold)}
input[type="range"]{padding:0;background:transparent;border:0}

.notice,.wizard-status{
  margin:10px 0;
  padding:12px 13px;
  border:1px solid rgba(112,207,225,.15);
  border-radius:15px;
  background:rgba(112,207,225,.045);
  color:#aebdca;
  font-size:12px;
  line-height:1.45
}
.notice.warn,.wizard-status.warn{border-color:rgba(221,185,100,.22);background:rgba(221,185,100,.055);color:#dac89c}
.notice.good,.wizard-status.good{border-color:rgba(147,214,178,.22);background:rgba(147,214,178,.055);color:#b9dcc8}

.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.checklist{display:grid;gap:8px}
.checkrow,.review-task{
  display:flex;gap:9px;align-items:flex-start;
  padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:13px;
  background:rgba(255,255,255,.026);color:#d9e2e9;font-size:12px;line-height:1.4
}

.wizard-screen,.result-deck,.astro-lesson{width:100%;min-height:0}
.wizard-head,.result-deck>.wizard-head{
  margin:0 0 14px;
  padding:0;
  color:var(--text)
}
.wizard-progress{
  height:4px;margin:9px 0 6px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)
}
.wizard-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--accent))}
.wizard-head small{color:#8293a5;font-size:10px}
.wizard-card>label{display:block;margin:0 0 12px;color:#f3f6f8;font-size:18px;font-weight:650;line-height:1.35}
.wizard-help{margin-top:8px;color:#8293a4;font-size:11px;line-height:1.4}
.wizard-summary{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.wizard-summary:last-child{border-bottom:0}
.wizard-summary b{color:#e5ebf0;font-size:11px}
.wizard-summary span{color:#8998a8;font-size:11px}
.wizard-controls,.deck-controls{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  margin-top:12px
}
.wizard-controls.three{grid-template-columns:repeat(3,1fr)}
.deck-controls{align-items:center}
.deck-controls span{text-align:center;color:#8697a8;font-size:10px}
.answer-stack{display:grid;gap:8px}
.answer-choice,.multi-choice{width:100%;text-align:left;font-size:13px}
.multi-answer{display:grid;gap:8px}
.multi-answer-help{color:#798a9b;font-size:10px;line-height:1.35}
.range-answer{display:grid;gap:9px}
.two-selects,.two-row,.quiet-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.result-facts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.result-facts span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:#98a9b8;font-size:9px}

.auth-gate{display:grid;align-content:start;min-height:100%;padding:6px 0 22px}
.auth-gate-card{
  width:min(100%,480px);margin:0 auto;
  padding:clamp(18px,4vw,26px);border:1px solid rgba(116,174,205,.16);border-radius:22px;
  background:linear-gradient(145deg,rgba(17,29,47,.96),rgba(7,13,23,.96));
  box-shadow:0 24px 60px rgba(0,0,0,.28)
}
.auth-gate-card h2{margin:10px 0 9px;font-size:clamp(24px,6.5vw,30px);line-height:1.15;letter-spacing:-.035em}
.auth-gate-card .auth-gate-copy{margin:0;color:#c3ced9;font-size:14px;line-height:1.55}
.auth-gate-fields{display:grid;gap:8px;margin-top:20px}
.auth-gate-fields label{margin:0;font-size:12px;font-weight:600}
.auth-gate-fields input{display:block;width:100%;min-width:0;min-height:50px}
.auth-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}
.auth-gate-actions .btn{min-width:0;white-space:normal;padding:10px 8px;font-size:12px}
.auth-alternative{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.09)}
.auth-alternative summary{cursor:pointer;min-height:40px;color:var(--gold);font-size:12px;display:flex;align-items:center}
.auth-alternative .btn{width:100%;margin-top:4px}
.auth-gate-fields .btn{min-height:50px;margin-top:2px}
.auth-privacy,.auth-return-note{color:#8f9ead;font-size:11px;line-height:1.5}
.auth-return-note{margin:12px 0 0}
.auth-privacy{margin:10px 0 0}
.auth-theme-picker{margin-top:10px;border-top:1px solid rgba(255,255,255,.07);padding-top:4px}
.auth-theme-picker summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--gold);font-size:12px;font-weight:600}

.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.theme-choice{text-align:left;padding:10px}
.theme-choice strong{display:block;color:#e7edf2;font-size:11px}
.theme-choice small{display:block;margin-top:4px;color:#7f8fa0;font-size:9px;line-height:1.3}
.theme-swatches{display:flex;gap:4px;margin-top:8px}
.theme-swatches i{display:block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.12)}

.today-snapshot{display:grid;gap:12px;width:100%;max-width:760px;margin:0 auto}
.today-snapshot-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:4px 2px}
.today-snapshot-head .eyebrow{margin-bottom:4px}
.today-snapshot-head h2{margin:0;color:#fbfcfd;font:650 28px/1.02 var(--font-ui);letter-spacing:-.045em}
.today-snapshot-head small{color:#98a7b6;font-size:11px;text-align:right}
.today-celestial-lead{
  position:relative;overflow:hidden;
  padding:18px;border:1px solid rgba(104,188,215,.68);border-radius:26px;
  background:
    radial-gradient(280px 220px at 93% 16%,rgba(77,179,201,.11),transparent 66%),
    radial-gradient(220px 200px at 4% 100%,rgba(73,92,190,.09),transparent 70%),
    linear-gradient(145deg,rgba(15,31,51,.78),rgba(5,13,24,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 28px 70px rgba(0,0,0,.30)
}
.today-celestial-lead::before{
  content:"";
  position:absolute;left:5%;right:5%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--gold-bright),transparent);
  box-shadow:0 0 18px rgba(112,207,225,.20)
}
.today-celestial-lead::after{
  content:attr(data-zodiac);
  position:absolute;right:22px;top:42px;
  width:106px;height:106px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--gold-bright);
  font:52px/1 var(--font-display);
  opacity:.62;
  border:1px solid rgba(221,185,100,.24);
  box-shadow:0 0 0 18px rgba(221,185,100,.025),0 0 0 38px rgba(112,207,225,.018),0 0 34px rgba(221,185,100,.09)
}
.today-celestial-lead .snap-label{display:block;margin-bottom:8px;color:#a9c8d6}
.today-celestial-lead h3{position:relative;z-index:1;max-width:72%;margin:0;color:#fbfcfd;font:600 27px/1.1 var(--font-display);letter-spacing:-.02em}
.today-celestial-lead .celestial-plain{position:relative;z-index:1;margin:10px 0 0;max-width:76%;color:#c8d4de;font-size:14px;line-height:1.4}
.today-celestial-lead .celestial-use{position:relative;z-index:1;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);color:#9daebe;font-size:11px;line-height:1.4}
.today-celestial-lead .celestial-use b{color:#dce6ed}
.today-celestial-facts{position:relative;z-index:1;display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.today-celestial-facts span{
  min-height:36px;padding:7px 10px;display:flex;align-items:center;
  border:1px solid rgba(120,187,214,.18);border-radius:999px;
  background:rgba(5,14,26,.54);color:#aebdca;font-size:10px
}
.today-snapshot-now,.today-snapshot-alert,.today-snapshot-tile,.today-snapshot-priorities{
  position:relative;overflow:hidden;
  padding:15px;border:1px solid rgba(174,202,226,.12);border-radius:22px;
  background:
    radial-gradient(120% 100% at 100% 0,rgba(73,126,185,.07),transparent 50%),
    linear-gradient(145deg,rgba(15,24,39,.95),rgba(6,11,20,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 44px rgba(0,0,0,.22)
}
.today-snapshot-now{padding:17px;border-color:rgba(221,185,100,.65);background:radial-gradient(ellipse at 90% 0,rgba(221,185,100,.14),transparent 55%),linear-gradient(145deg,rgba(9,24,39,.82),rgba(2,8,16,.94));box-shadow:inset 0 1px 0 rgba(255,222,155,.2),0 0 22px rgba(221,185,100,.08)}
.today-snapshot-now::after{
  content:"";position:absolute;right:-85px;top:-125px;width:240px;height:240px;border-radius:50%;
  border:1px solid rgba(221,185,100,.16);box-shadow:0 0 0 30px rgba(221,185,100,.02),0 0 42px rgba(221,185,100,.06)
}
.today-snapshot-now .snap-label,.today-snapshot-alert .snap-label,.today-snapshot-tile .snap-label,.today-snapshot-priorities .snap-label{display:block;margin-bottom:6px;color:#91b0c1}
.today-snapshot-now h3{position:relative;z-index:1;margin:0;max-width:88%;color:#f8fafc;font:650 23px/1.12 var(--font-ui);letter-spacing:-.035em}
.today-snapshot-now .snap-meta{position:relative;z-index:1;margin-top:8px;color:var(--gold-bright);font-size:11px;font-weight:700}
.today-snapshot-now p{position:relative;z-index:1;margin:5px 0 0;color:#99a8b7;font-size:12px;line-height:1.4}
.today-snapshot-alert{border-color:rgba(92,166,213,.58);padding:13px 15px}
.today-snapshot-alert::after{
  content:"";position:absolute;right:-38px;bottom:-72px;width:180px;height:120px;border-radius:50%;
  background:radial-gradient(ellipse at 40% 20%,rgba(64,148,208,.22),rgba(16,57,95,.06) 50%,transparent 72%)
}
.today-snapshot-alert strong{position:relative;z-index:1;color:#e8edf2;font-size:12px;line-height:1.35}
.today-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.today-snapshot-tile strong{display:block;color:#eef3f7;font-size:13px;line-height:1.25}
.today-snapshot-tile p{margin:4px 0 0;color:#8797a7;font-size:10px;line-height:1.35}
.today-snapshot-priorities{grid-column:1/-1}
.today-snapshot-priority-list{display:grid;gap:6px;margin-top:5px}
.today-snapshot-priority{padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.032);color:#ced8e1;font-size:11px;line-height:1.35}
.today-snapshot-priority b{color:var(--gold)}
.today-snapshot-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.focused-planner{
  width:100%;display:grid;gap:12px
}
.focused-planner-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  padding:3px 2px 8px;border:0;background:transparent
}
.focused-planner-head span{display:block;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.16em}
.focused-planner-head strong{display:block;margin-top:4px;color:#f7f9fb;font:650 24px/1.05 var(--font-ui);letter-spacing:-.035em}
.focused-planner-head small{color:#8494a5;font-size:10px;text-align:right}
.focused-planner-card{margin:0;padding:16px}
.focused-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.focused-card-head h3{margin:0;color:#b9cad5;font-size:11px;letter-spacing:.15em}
.focused-card-head small{color:#718294;font-size:9px;text-align:right}
.focused-priority-grid,.focused-schedule-list{display:grid;gap:7px}
.planner-task{
  display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;
  color:#d8e1e8;font-size:12px;line-height:1.4
}
.planner-task input{margin-top:1px}
.planner-open-time{padding:10px 0;color:#718191;font-style:italic;font-size:12px}
.planner-schedule-row{padding:9px 0;border-top:1px solid rgba(255,255,255,.055)}
.planner-schedule-row:first-child{border-top:0}
.schedule-actions{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 0 29px}
.planner-more{
  width:100%;margin-top:8px;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:11px;
  background:rgba(255,255,255,.025);color:#8fa1b1;font-size:10px
}
.focused-intention{margin-top:10px}
.focused-intention label{display:block;margin-bottom:6px;color:#8092a2;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.focused-intention input{min-height:42px}
.focused-planner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.planner-energy-field{padding:10px 0;border-top:1px solid rgba(255,255,255,.055)}
.planner-energy-field:first-child{border-top:0}
.planner-energy-field strong{display:block;color:#d8e1e8;font-size:11px}
.planner-energy-field small{display:block;margin-top:3px;color:#728395;font-size:9px}
.planner-energy-dots{display:flex;gap:5px;margin-top:7px}
.planner-energy-dots button{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#7f91a4}
.planner-energy-dots button.selected{border-color:rgba(221,185,100,.42);color:var(--gold-bright);background:rgba(221,185,100,.07)}

.astro-basics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.astro-basics span,.astro-learn-card,.astro-lesson-block{
  border:1px solid rgba(255,255,255,.09);border-radius:16px;
  background:linear-gradient(145deg,rgba(16,25,40,.94),rgba(7,12,20,.94));
  color:#a5b4c2
}
.astro-basics span{padding:11px;font-size:11px;line-height:1.35}
.astro-basics b,.astro-lesson-block b{display:block;margin-bottom:4px;color:#96b8c8;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.astro-learn-list{display:grid;gap:8px;margin-top:8px}
.astro-learn-card{width:100%;padding:12px;text-align:left;display:grid;gap:4px;background:#101a28}
.astro-learn-card strong{color:#edf2f6;font-size:14px;line-height:1.3}
.astro-learn-card span{color:#c3ced9;font-size:14px;line-height:1.4}
.astro-learn-card small{color:#a7b7c7;font-size:12px}
.astro-lesson{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;height:100%;min-height:0}
.astro-lesson-scroll{min-height:0;overflow-y:auto;padding-right:2px}
.astro-lesson-block{padding:12px;margin-bottom:8px}
.astro-lesson-block p{margin:0;color:#9eacba;font-size:11px;line-height:1.45}

.calendarlist,.entrylist,.library-grid,.focus-history{display:grid;gap:9px}
.calitem{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px}
.caldate{
  min-height:62px;padding:7px;border:1px solid rgba(221,185,100,.18);border-radius:15px;
  display:grid;place-items:center;text-align:center;color:#e2ca91;background:rgba(221,185,100,.04)
}
.caldate b{font-size:18px}.caldate span{font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.calbody,.entry,.library-item,.focus-session,.memory-item{
  padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.027)
}
.calbody strong,.entry strong,.library-item strong,.focus-session strong,.memory-item strong{display:block;color:#e0e7ed}
.calbody small,.entry small,.library-item small,.focus-session small,.memory-item small{display:block;margin-top:4px;color:#778899;font-size:10px;line-height:1.4}
.archive-toolbar{display:grid;grid-template-columns:1fr 150px 150px;gap:8px;margin-bottom:12px}
.archive-detail pre{white-space:pre-wrap;margin:10px 0 0;color:#cbd5dd;font:inherit;line-height:1.5}
.privacy-badge{text-transform:uppercase;letter-spacing:.08em;font-size:9px}
.practice-steps{counter-reset:practice-step;display:grid;gap:8px;margin-top:10px}
.practice-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:start}
.practice-step::before{
  counter-increment:practice-step;content:counter(practice-step);
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(221,185,100,.28);color:#dbc486;font-size:10px
}
.memory-controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.memory-item.hidden{opacity:.62}
.focus-shell{display:grid;gap:12px}
.focus-timer{text-align:center;margin:10px 0;color:#f3d693;font:500 54px/1 var(--font-ui);letter-spacing:-.04em}
.focus-title{text-align:center;color:#f1f5f8;font-size:20px;font-weight:650}
.focus-meta{text-align:center;color:#7f90a1;font-size:11px}
.focus-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ground-panel{text-align:center;padding:20px 14px}
.ground-orb{
  width:88px;height:88px;margin:12px auto 18px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(221,185,100,.46);color:#f0d28a;font:38px var(--font-display);
  box-shadow:0 0 38px rgba(221,185,100,.10)
}
.lowstim *{animation:none!important;transition:none!important}

.toast{
  position:fixed;z-index:120;left:50%;bottom:104px;transform:translate(-50%,10px);
  max-width:min(88vw,520px);padding:9px 12px;border-radius:999px;
  opacity:0;pointer-events:none;
  color:#e7d29d;background:#07121f;border:1px solid rgba(221,185,100,.22);
  font-size:11px;text-align:center;transition:.16s
}
.toast.show{opacity:1;transform:translate(-50%,0)}

.loadingline{height:4px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)}
.loadingline::before{content:"";display:block;width:38%;height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));animation:sorixload 1.1s ease-in-out infinite alternate}
@keyframes sorixload{from{transform:translateX(-20%)}to{transform:translateX(190%)}}

@media(max-width:700px){
  .app{width:100%;height:100vh;height:100dvh;min-height:0;margin:0;border:0;border-radius:0}
}
@media(max-width:560px){
  :root{--header-height:88px}
  .topbar{grid-template-columns:46px minmax(0,1fr) auto;padding:10px 12px;gap:8px}
  .menu-btn{width:46px;height:46px;border-radius:15px}
  .brand{grid-template-columns:44px minmax(0,1fr);gap:8px}
  .sigil{width:44px;height:44px;font-size:22px}
  .brand h1{font-size:22px;letter-spacing:.10em}
  .brand small{font-size:7px;letter-spacing:.16em}
  .topactions{grid-template-columns:44px 44px;gap:6px}
  .iconbtn{width:44px;height:44px;min-width:44px;border-radius:15px}
  .screen.active{padding:16px 14px calc(var(--nav-height) + 36px + env(safe-area-inset-bottom))}
  .nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .grid2,.grid3,.quiet-grid,.two-selects,.two-row{grid-template-columns:1fr}
  .archive-toolbar{grid-template-columns:1fr}
  .today-snapshot-head h2{font-size:24px}
  .today-celestial-lead{padding:16px}
  .today-celestial-lead h3{max-width:78%;font-size:24px}
  .today-celestial-lead .celestial-plain{max-width:82%;font-size:13px}
  .today-celestial-lead::after{right:14px;top:48px;width:88px;height:88px;font-size:44px}
  .today-snapshot-grid{gap:8px}
  .today-snapshot-now h3{font-size:21px}
  .focused-planner-head strong{font-size:22px}
  input,textarea,select{font-size:16px}
}
@media(max-width:390px){
  .topbar{grid-template-columns:44px minmax(0,1fr) auto;padding:9px 10px}
  .menu-btn{width:44px;height:44px}
  .brand{grid-template-columns:42px minmax(0,1fr);gap:7px}
  .sigil{width:42px;height:42px;font-size:21px}
  .brand h1{font-size:20px}
  .brand small{font-size:6.5px}
  .topactions{grid-template-columns:42px 42px}
  .iconbtn{width:42px;height:42px;min-width:42px}
  .screen.active{padding-left:12px;padding-right:12px}
  .today-snapshot{gap:10px}
  .today-snapshot-head h2{font-size:22px}
  .today-snapshot-head small{font-size:9px}
  .today-celestial-lead{border-radius:23px;padding:14px}
  .today-celestial-lead h3{max-width:84%;font-size:22px}
  .today-celestial-lead .celestial-plain{max-width:88%;font-size:12px}
  .today-celestial-lead::after{opacity:.45;width:76px;height:76px;font-size:38px;right:10px;top:50px}
  .today-celestial-facts{gap:5px}
  .today-celestial-facts span{min-height:32px;padding:6px 8px;font-size:9px}
  .today-snapshot-grid{grid-template-columns:1fr}
  .today-snapshot-priorities{grid-column:auto}
  .astro-basics{grid-template-columns:1fr}
  .theme-grid{grid-template-columns:1fr}
  .wizard-controls.three{grid-template-columns:1fr}
}
@media(max-height:620px) and (max-width:700px){
  :root{--header-height:78px;--nav-height:68px}
  .topbar{padding-top:7px;padding-bottom:7px}
  .screen.active{padding-top:12px;padding-bottom:calc(var(--nav-height) + 30px + env(safe-area-inset-bottom))}
  .nav{bottom:calc(6px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

