/* Prajñāstra — Victorian Esoteric Observatory theme */
:root{
  --victorian-ink:#2b201b;
  --victorian-mahogany:#35171a;
  --victorian-wine:#5b2028;
  --victorian-wine-dark:#2a1115;
  --victorian-brass:#a6782d;
  --victorian-gold:#c8a35b;
  --victorian-gold-soft:#e0c98f;
  --victorian-ivory:#f5eedc;
  --victorian-paper:#fbf6e8;
  --victorian-paper-deep:#eadfc4;
  --victorian-green:#263d35;
  --victorian-line:#b69a64;
  --bg:#e9dfc8;
  --paper:#fbf6e8;
  --ink:#2b201b;
  --muted:#6f6254;
  --line:#c4ae7b;
  --accent:#722c34;
}
html{background:#261416}
body{
  color:var(--victorian-ink);
  background:
    radial-gradient(circle at 15% 12%,rgba(255,255,255,.42),transparent 28%),
    radial-gradient(circle at 82% 4%,rgba(126,83,33,.09),transparent 25%),
    repeating-linear-gradient(0deg,rgba(77,47,18,.022) 0,rgba(77,47,18,.022) 1px,transparent 1px,transparent 4px),
    linear-gradient(135deg,#efe6d2 0%,#e5d8bc 52%,#eee4ce 100%);
  font-family:"Sarabun","Noto Sans Thai",Tahoma,sans-serif;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.22;mix-blend-mode:multiply;
  background-image:radial-gradient(rgba(55,34,15,.14) .45px,transparent .7px);background-size:4px 4px;
}
h1,h2,h3,h4,.landing-title,.sanskrit,.card-head b,.collapsible-module>summary b,.member-dialog-head h2{
  font-family:"Trirong","Times New Roman",serif;
  letter-spacing:.02em;
}

/* Landing: a Victorian occult book cover */
.landing-page{
  isolation:isolate;
  min-height:100svh;
  color:#f7edcf;
  background:#000523;
  border:0;
  box-shadow:none;
}
.landing-page:before,.landing-page:after{
  content:"✦";position:absolute;z-index:-1;color:#caa65e;font-family:serif;font-size:34px;line-height:1;
  width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(202,166,94,.72);transform:rotate(45deg);
}
.landing-page:before{top:36px;left:36px}.landing-page:after{right:36px;bottom:36px}
.landing-page:before,.landing-page:after{display:none}
.nataraja-welcome-art{filter:none}
.landing-copy{position:relative;max-width:920px;padding:28px 42px 24px;text-align:center}
.landing-copy:before,.landing-copy:after{content:"";display:block;width:min(520px,75vw);height:9px;margin:0 auto 22px;background:linear-gradient(90deg,transparent,#8d682d 18%,#d8bd7c 50%,#8d682d 82%,transparent);clip-path:polygon(0 45%,42% 45%,47% 0,50% 45%,53% 0,58% 45%,100% 45%,100% 55%,58% 55%,53% 100%,50% 55%,47% 100%,42% 55%,0 55%)}
.landing-copy:after{margin:22px auto 0;transform:rotate(180deg)}
.landing-title{color:#f6e7bd;text-shadow:0 2px 0 #4a2117,0 0 22px rgba(212,174,91,.26);font-weight:700}
.landing-subtitle{color:#dfd0aa;font-family:"Trirong",serif;letter-spacing:.025em}
.enter-chart-button{
  color:#251216!important;background:linear-gradient(#e1c57e,#a9782f)!important;border:1px solid #f4dfaa!important;
  border-radius:3px!important;box-shadow:0 0 0 3px #3b1919,0 0 0 4px #9e7738,0 10px 26px rgba(0,0,0,.4)!important;
  font-family:"Trirong",serif;font-weight:700;letter-spacing:.06em;text-transform:none;
}
.enter-chart-button:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* Login panel */
.member-gate{background:radial-gradient(circle at 50% 26%,#5b2930 0,#251014 58%,#15090b 100%)}
.member-auth-card{
  position:relative;background:linear-gradient(145deg,#fffaf0,#eee2c7)!important;color:#2d211b!important;
  border:1px solid #c9a967!important;border-radius:5px!important;box-shadow:0 0 0 6px #35171a,0 0 0 8px #a77e39,0 28px 65px #0009!important;
}
.member-auth-card:before{content:"✦  PRAJÑĀSTRA  ✦";display:block;margin:-4px 0 18px;text-align:center;color:#8b6326;font:700 12px/1.4 "Trirong",serif;letter-spacing:.16em}
.member-auth-card input{background:#fffaf0!important;border:1px solid #b99b63!important;border-radius:2px!important;box-shadow:inset 0 1px 4px rgba(60,35,13,.08)}
.member-back-landing,.member-auth-links button{color:#6a2830!important}

/* App chrome */
.topbar{
  background:
    linear-gradient(90deg,rgba(255,255,255,.035),transparent 35%,rgba(255,255,255,.025)),
    linear-gradient(#3b181d,#251014)!important;
  border-bottom:3px double #b68b45;
  box-shadow:0 5px 18px rgba(36,15,13,.38)!important;
}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:4px;background:linear-gradient(90deg,transparent,#c3a15c 12%,#7d5725 50%,#c3a15c 88%,transparent);opacity:.7}
.brand-mark{border:1px solid #d5bb79;border-radius:50%;padding:3px;background:#241013;box-shadow:0 0 0 3px #5a2d25,0 0 0 4px #9f793d}
.topbar h1{color:#f1dfaf;text-shadow:0 1px 0 #000;font-weight:700}.sanskrit{color:#ceb474!important}
.nav-btn{border:1px solid rgba(204,173,107,.55)!important;border-radius:2px!important;color:#f2e3bd!important;background:linear-gradient(rgba(255,255,255,.035),rgba(0,0,0,.08))!important;font-family:"Trirong",serif}
.nav-btn:hover{background:#4b2428!important;border-color:#d7b970!important}.nav-btn.active{color:#2d1518!important;background:linear-gradient(#e6d199,#b98c44)!important;border-color:#f0dca5!important;box-shadow:inset 0 0 0 1px #7d5621}

.wrap{max-width:1500px}
.card,.collapsible-module,.planet-table-card,.member-dialog,.dasha-aspect-module{
  background:
    linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.12)),
    var(--victorian-paper)!important;
  border:1px solid #bba16d!important;border-radius:5px!important;
  box-shadow:0 0 0 3px rgba(87,52,25,.035),0 7px 18px rgba(68,42,23,.09)!important;
}
.card{position:relative}
.card:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(158,123,58,.2);border-radius:2px}
.card-head,.collapsible-module>summary,.dasha-aspect-module>summary{
  background:linear-gradient(90deg,#f3e8cc,#fffaf0 48%,#eee0c0)!important;
  border-bottom:1px solid #c3a970!important;
}
.card-head h2,.collapsible-module>summary b,.dasha-section-head h3,.dasha-aspect-module>summary h3{color:#54222a}
.card-head h2:after,.collapsible-module>summary b:after{content:"  ❦";color:#a47a32;font-size:.8em}
.hint,.card-head p,.collapsible-module>summary small{color:#716253!important}

button,.primary,input,select,textarea{font-family:inherit}
button{border-radius:3px!important;border-color:#ad9362!important}
button.primary,.primary{
  background:linear-gradient(#7b3440,#4e1d25)!important;color:#fff4d7!important;border:1px solid #9f7440!important;
  box-shadow:inset 0 0 0 1px rgba(242,214,151,.18),0 2px 4px rgba(46,24,16,.16)!important;
}
button.primary:hover,.primary:hover{background:linear-gradient(#8e404b,#5d222b)!important;filter:none!important}
input,select,textarea{
  background:#fffaf0!important;color:#31231d!important;border:1px solid #b9a170!important;border-radius:2px!important;
  box-shadow:inset 0 1px 3px rgba(61,39,18,.08)!important;
}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(166,120,45,.28)!important;border-color:#8d672b!important}
label{color:#47382e}

.chart-view-tabs,.tabs,.yoga-mode-tabs{gap:5px}
.chart-view-tab,.tab-btn,.yoga-mode-tab{
  color:#56302d!important;background:linear-gradient(#fffaf0,#e8dcc1)!important;border:1px solid #b99c63!important;border-radius:2px!important;
}
.chart-view-tab.active,.tab-btn.active,.yoga-mode-tab.active{color:#fff1d0!important;background:linear-gradient(#702c36,#451920)!important;border-color:#936b32!important;box-shadow:inset 0 -2px #c39a4d}

/* Tables and data instruments */
.planet-table-wrap,.house-lord-table-wrap{border:1px solid #ae9460;border-radius:3px;background:#fffaf0}
table{background:#fffaf0}
th{background:linear-gradient(#4d2426,#321416)!important;color:#f0dfb5!important;border-color:#775b36!important;font-family:"Trirong",serif;letter-spacing:.01em}
td{border-color:#d7c7a5!important}.planet-table tbody tr:nth-child(even) td,.house-lord-table tbody tr:nth-child(even){background:#f0e7d2!important}.planet-table tbody tr:hover td{background:#e9dcc0!important}

/* Charts: brass instrument feel without changing calculations */
.chart{background:radial-gradient(circle,#fffaf0 0,#f2e6c9 70%,#e4d4b3 100%);border-radius:4px;border:1px solid #b89a62;box-shadow:inset 0 0 35px rgba(95,61,24,.1)}
.chart svg{filter:sepia(.08) saturate(.9)}
.chart-view-note{border-left:4px double #9b7432!important;background:#f2e7cf!important;color:#594638!important;border-radius:0!important}

/* Details, dialogs and dasha */
dialog::backdrop{background:rgba(24,9,11,.72);backdrop-filter:blur(3px)}
.member-dialog-head{background:linear-gradient(#472025,#281114)!important;color:#f2dfac!important;border-bottom:2px double #a67c37!important}
.dasha-major-nested{border-radius:3px!important;border-color:#baa06e!important;background:#fffaf0!important}.dasha-nested-body{background:#f5ecd8!important}.dasha-major-nested>summary{background:linear-gradient(90deg,#fffaf0,#eee2c8)}
.dasha-current-major-label,.dasha-now-badge{border-radius:2px!important;background:#6a2933!important;color:#fff0cf!important}
.dasha-aspect-message{border-radius:3px!important;border:1px solid #ccb275;background:#f5e8c5!important;color:#5a341e!important}

.site-legal-footer{background:#241013!important;color:#d8c79f!important;border-top:3px double #a67f3e!important}.site-legal-footer a{color:#e1bf72!important}

/* Victorian ornamental dividers */
.view>h1:after,.view>h2:after{content:"";display:block;width:180px;height:8px;margin:10px 0;background:linear-gradient(90deg,#a47b35,transparent);clip-path:polygon(0 42%,42% 42%,48% 0,52% 42%,100% 42%,100% 58%,52% 58%,48% 100%,42% 58%,0 58%)}

@media(max-width:760px){
  .landing-page{border:0;box-shadow:none}
  .landing-page:before,.landing-page:after{width:44px;height:44px;font-size:20px}.landing-page:before{top:18px;left:18px}.landing-page:after{right:18px;bottom:18px}
  .landing-copy{padding:18px 16px}.topbar:after{display:none}.card:before{inset:3px}
  .card,.collapsible-module,.planet-table-card{border-radius:3px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
