  :root { --gold:#c9a84c; --gold-pale:#e8d49a; --gold-deep:#9b7a28; --sat:env(safe-area-inset-top); --sab:env(safe-area-inset-bottom); --sal:env(safe-area-inset-left); --sar:env(safe-area-inset-right); --spring:cubic-bezier(0.16,1,0.3,1); }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{background:#0f0c09;color:#1a1410;font-family:'EB Garamond',serif;min-height:100vh;min-height:100dvh;overflow-x:hidden;padding-top:var(--sat);padding-bottom:var(--sab);}
  .starfield{position:fixed;inset:0;background:radial-gradient(ellipse at 15% 20%,rgba(26,18,48,.7) 0%,transparent 50%),radial-gradient(ellipse at 80% 65%,rgba(40,20,10,.4) 0%,transparent 45%),radial-gradient(ellipse at 50% 50%,#0e0b08 0%,#0a0806 60%,#050403 100%);z-index:0;}
  .starfield::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:.35;mix-blend-mode:overlay;pointer-events:none;}
  .starfield::before{content:'';position:absolute;inset:0;background-image:radial-gradient(1px 1px at 15% 20%,rgba(255,240,200,.7) 0%,transparent 100%),radial-gradient(1px 1px at 35% 45%,rgba(255,240,200,.5) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 55% 15%,rgba(255,240,200,.8) 0%,transparent 100%),radial-gradient(1px 1px at 75% 60%,rgba(255,240,200,.4) 0%,transparent 100%),radial-gradient(1px 1px at 85% 30%,rgba(255,240,200,.6) 0%,transparent 100%),radial-gradient(1px 1px at 10% 70%,rgba(255,240,200,.5) 0%,transparent 100%),radial-gradient(1px 1px at 90% 80%,rgba(255,240,200,.3) 0%,transparent 100%),radial-gradient(1px 1px at 45% 85%,rgba(255,240,200,.6) 0%,transparent 100%),radial-gradient(1px 1px at 25% 55%,rgba(255,240,200,.4) 0%,transparent 100%),radial-gradient(1px 1px at 65% 40%,rgba(255,240,200,.5) 0%,transparent 100%),radial-gradient(1px 1px at 50% 70%,rgba(255,240,200,.3) 0%,transparent 100%),radial-gradient(1px 1px at 30% 10%,rgba(255,240,200,.6) 0%,transparent 100%),radial-gradient(1px 1px at 70% 90%,rgba(255,240,200,.4) 0%,transparent 100%),radial-gradient(1px 1px at 5% 40%,rgba(255,240,200,.5) 0%,transparent 100%),radial-gradient(1px 1px at 95% 55%,rgba(255,240,200,.4) 0%,transparent 100%);}
  .app-shell{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 16px 80px;}
  .site-header{padding:12px 0 4px;}
  .site-header-left{height:clamp(60px,15vw,100px);width:auto;display:block;mix-blend-mode:screen;filter:brightness(1.1) contrast(1.1);opacity:.9;}
  .moon-glyph{font-size:48px;display:block;margin-bottom:12px;filter:drop-shadow(0 0 20px rgba(201,168,76,.4));animation:moonPulse 4s ease-in-out infinite;}
  @keyframes moonPulse{0%,100%{filter:drop-shadow(0 0 20px rgba(201,168,76,.4))}50%{filter:drop-shadow(0 0 35px rgba(201,168,76,.7))}}
  .site-title{font-family:'Cinzel',serif;font-size:clamp(28px,5vw,48px);color:var(--gold);letter-spacing:.12em;text-transform:uppercase;line-height:1;text-shadow:0 0 40px rgba(201,168,76,.3);}
  .site-subtitle{font-family:'EB Garamond',serif;font-style:italic;color:rgba(245,240,232,.5);font-size:16px;margin-top:8px;letter-spacing:.05em;}
  .header-rule{width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:20px auto 0;}
  .nav-tabs{display:flex;border-bottom:none;margin-bottom:0;overflow:hidden;background:rgba(15,12,9,.75);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(245,240,232,.07);border-radius:20px;padding:4px;gap:1px;}
  .nav-tabs::-webkit-scrollbar{display:none;}
  .nav-tab{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.04em;color:rgba(245,240,232,.4);padding:9px 0;background:none;border:none;border-bottom:none;border-radius:16px;cursor:pointer;transition:all .25s var(--spring);white-space:nowrap;flex:1;text-align:center;min-width:0;}
  .nav-tab:hover{color:rgba(245,240,232,.7);background:rgba(245,240,232,.03);}
  .nav-tab.active{color:var(--gold);background:rgba(201,168,76,.1);box-shadow:0 0 16px rgba(201,168,76,.08);border-bottom-color:transparent;}
  .view{display:none;}.view.active{display:block;}
  .today-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px;}
  @media(max-width:600px){.today-grid,.form-row,.comparison-grid{grid-template-columns:1fr!important}}
  .astro-card{background:rgba(245,240,232,.05);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid rgba(245,240,232,.08);border-radius:16px;padding:20px 22px;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.15),0 4px 24px rgba(0,0,0,.25);transition:transform .25s var(--spring),box-shadow .25s ease;}
  .astro-card:active{transform:scale(0.98);}
  .astro-card::before{content:'';position:absolute;top:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.5),rgba(232,212,154,.3),rgba(201,168,76,.5),transparent);filter:blur(0.5px);border-radius:16px 16px 0 0;}
  .card-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.15em;color:var(--gold);opacity:.7;margin-bottom:8px;text-transform:uppercase;}
  .card-value{font-size:22px;color:rgba(245,240,232,.9);line-height:1.2;}
  .card-sub{font-style:italic;font-size:14px;color:rgba(245,240,232,.45);margin-top:4px;}
  .moon-phase-display{display:flex;align-items:center;gap:16px;}
  .moon-svg-wrap{flex-shrink:0;}
  /* PLANET GRID */
  .planet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:0;}
  .planet-card{background:rgba(245,240,232,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(245,240,232,.06);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .25s var(--spring);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
  .planet-card:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 20px rgba(201,168,76,.05);}
  .planet-card:active{transform:scale(0.97);}
  .planet-name{font-family:'Cinzel',serif;font-size:10px;color:rgba(245,240,232,.4);letter-spacing:.1em;margin-bottom:4px;}
  .planet-sign{font-size:15px;color:rgba(245,240,232,.75);}
  .planet-symbol{font-size:18px;float:right;opacity:.5;}
  .planet-tap-hint{font-size:10px;color:rgba(245,240,232,.2);margin-top:4px;font-style:italic;}
  /* PLANET POPUP */
  .planet-popup{display:none;position:fixed;z-index:200;background:rgba(20,17,12,.78);backdrop-filter:blur(40px) saturate(1.3);-webkit-backdrop-filter:blur(40px) saturate(1.3);border:1px solid rgba(201,168,76,.18);border-radius:16px;padding:20px;max-width:340px;width:90vw;box-shadow:0 8px 40px rgba(0,0,0,.5),0 0 1px rgba(201,168,76,.15);}
  .planet-popup.open{display:block;}
  .planet-popup-title{font-family:'Cinzel',serif;font-size:14px;color:var(--gold-pale);margin-bottom:10px;letter-spacing:.06em;}
  .planet-popup-body{font-size:15px;color:rgba(245,240,232,.7);line-height:1.75;}
  .planet-popup-close{position:absolute;top:10px;right:14px;background:none;border:none;color:rgba(245,240,232,.3);font-size:18px;cursor:pointer;}
  .planet-popup-natal{margin-top:12px;padding-top:12px;border-top:1px solid rgba(245,240,232,.08);font-size:13px;color:rgba(245,240,232,.45);font-style:italic;line-height:1.7;}
  /* DAILY READING */
  .reading-card{background:rgba(245,240,232,.045);backdrop-filter:blur(32px) saturate(1.3);-webkit-backdrop-filter:blur(32px) saturate(1.3);border:1px solid rgba(201,168,76,.12);border-radius:16px;padding:24px;margin-bottom:28px;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.12),0 0 40px rgba(201,168,76,.04),0 4px 24px rgba(0,0,0,.25);}
  .reading-card::before{content:'';position:absolute;top:-1px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.6),rgba(232,212,154,.35),rgba(201,168,76,.6),transparent);filter:blur(0.5px);}
  .reading-card::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:.3;mix-blend-mode:overlay;border-radius:inherit;pointer-events:none;}
  .reading-text{font-size:17px;color:rgba(245,240,232,.82);line-height:1.9;}
  .reading-loading{font-style:italic;color:rgba(245,240,232,.3);font-size:15px;}
  .reading-refresh{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;color:rgba(201,168,76,.45);background:none;border:none;cursor:pointer;margin-top:14px;display:block;text-transform:uppercase;}
  .reading-refresh:hover{color:var(--gold);}
  /* PATTERN INSIGHT EXPAND/COLLAPSE */
  .pattern-insight-wrap{position:relative;overflow:hidden;transition:max-height .4s ease;}
  .pattern-insight-wrap.collapsed{max-height:260px;}
  .pattern-insight-fade{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,rgba(15,14,20,.95));pointer-events:none;transition:opacity .3s ease;}
  .pattern-insight-wrap:not(.collapsed) .pattern-insight-fade{opacity:0;}
  .pattern-insight-toggle{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.08em;color:rgba(201,168,76,.55);background:none;border:none;cursor:pointer;margin-top:8px;display:block;text-transform:uppercase;transition:color .2s ease;padding:0;}
  .pattern-insight-toggle:hover{color:var(--gold);}
  /* NATAL BADGE */
  .natal-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.2);border-radius:20px;padding:5px 14px;font-size:13px;color:rgba(245,240,232,.6);margin-bottom:20px;cursor:pointer;}
  .natal-badge:hover{border-color:rgba(201,168,76,.4);}
  /* COMPARISON */
  .comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}
  .comparison-col{background:rgba(245,240,232,.03);border:1px solid rgba(245,240,232,.07);border-radius:8px;padding:18px;}
  .comparison-col.now{border-color:rgba(201,168,76,.2);}
  .comparison-col-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:rgba(245,240,232,.35);text-transform:uppercase;margin-bottom:14px;}
  .comparison-col.now .comparison-col-label{color:var(--gold);opacity:.7;}
  .compare-metric{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(245,240,232,.05);}
  .compare-metric-name{font-size:13px;color:rgba(245,240,232,.4);}
  .compare-metric-val{font-family:'Cinzel',serif;font-size:16px;color:rgba(245,240,232,.8);}
  .compare-delta{font-size:12px;padding:2px 7px;border-radius:20px;margin-left:8px;}
  .compare-delta.up{background:rgba(60,120,60,.2);color:#7acc7a;}
  .compare-delta.down{background:rgba(120,60,60,.2);color:#cc7a7a;}
  .compare-delta.same{background:rgba(100,100,100,.15);color:rgba(245,240,232,.35);}
  .compare-bar{height:3px;border-radius:2px;background:rgba(245,240,232,.08);margin-top:4px;}
  .compare-bar-fill{height:100%;border-radius:2px;background:var(--gold);}
  /* ENTRY FORM */
  .entry-form{background:rgba(245,240,232,.03);border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:24px;margin-bottom:28px;}
  .form-title{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.1em;color:var(--gold);opacity:.8;margin-bottom:20px;text-transform:uppercase;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .form-group{display:flex;flex-direction:column;gap:6px;}
  .form-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:rgba(245,240,232,.5);text-transform:uppercase;}
  .slider-wrap{display:flex;align-items:center;gap:12px;}
  .slider-wrap input[type=range]{
    flex:1;-webkit-appearance:none;appearance:none;
    height:36px;background:transparent;outline:none;cursor:pointer;
    padding:0;margin:0;
  }
  /* Track */
  .slider-wrap input[type=range]::-webkit-slider-runnable-track{
    height:3px;border-radius:3px;
    background:linear-gradient(90deg,rgba(201,168,76,.6) var(--pct,50%),rgba(245,240,232,.1) var(--pct,50%));
  }
  .slider-wrap input[type=range]::-moz-range-track{
    height:3px;border-radius:3px;background:rgba(245,240,232,.1);
  }
  .slider-wrap input[type=range]::-moz-range-progress{
    height:3px;border-radius:3px;background:rgba(201,168,76,.6);
  }
  /* Thumb */
  .slider-wrap input[type=range]::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;
    width:22px;height:22px;border-radius:50%;
    background:var(--gold);
    border:2px solid rgba(15,12,9,.8);
    cursor:pointer;
    box-shadow:0 0 0 3px rgba(201,168,76,.15), 0 2px 8px rgba(0,0,0,.4);
    transition:box-shadow .15s, transform .15s;
    margin-top:-10px;
  }
  .slider-wrap input[type=range]::-moz-range-thumb{
    width:22px;height:22px;border-radius:50%;
    background:var(--gold);
    border:2px solid rgba(15,12,9,.8);
    cursor:pointer;
    box-shadow:0 0 0 3px rgba(201,168,76,.15);
  }
  .slider-wrap input[type=range]:active::-webkit-slider-thumb{
    box-shadow:0 0 0 6px rgba(201,168,76,.2), 0 2px 12px rgba(0,0,0,.4);
    transform:scale(1.1);
  }
  .slider-wrap input[type=range]:focus::-webkit-slider-thumb{
    box-shadow:0 0 0 5px rgba(201,168,76,.25);
  }
  .slider-val{
    font-family:'Cinzel',serif;font-size:14px;color:var(--gold);
    min-width:24px;text-align:center;
    background:rgba(201,168,76,.08);
    border:1px solid rgba(201,168,76,.2);
    border-radius:6px;padding:2px 6px;
    line-height:1.4;
  }
  .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
  .tag-btn{font-family:'EB Garamond',serif;font-size:13px;padding:5px 14px;background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.1);border-radius:20px;color:rgba(245,240,232,.45);cursor:pointer;transition:all .25s var(--spring);}
  .tag-btn:active{transform:scale(0.95);}
  .tag-btn:hover,.tag-btn.selected{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.4);color:#e8d49a;}
  textarea.journal-text{width:100%;background:rgba(245,240,232,.03);border:1px solid rgba(245,240,232,.1);border-radius:4px;color:rgba(245,240,232,.8);font-family:'EB Garamond',serif;font-size:16px;line-height:1.7;padding:14px 16px;resize:vertical;min-height:120px;outline:none;transition:border-color .2s;}
  textarea.journal-text::placeholder{color:rgba(245,240,232,.2);font-style:italic;}
  textarea.journal-text:focus{border-color:rgba(201,168,76,.3);}
  .save-btn{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:11px 28px;background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.35);border-radius:10px;color:var(--gold);cursor:pointer;transition:all .25s var(--spring);margin-top:16px;}
  .save-btn:active{transform:scale(0.96);}
  .save-btn:hover{background:rgba(201,168,76,.1);border-color:var(--gold);box-shadow:0 0 20px rgba(201,168,76,.15);}
  .save-confirm{display:inline-block;font-style:italic;color:rgba(245,240,232,.4);font-size:14px;margin-left:12px;opacity:0;transition:opacity .3s;}
  /* CYCLE CALENDAR */
  /* CALENDAR */
  .cycle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px;}
  .cycle-nav{display:flex;align-items:center;gap:16px;}
  .cycle-nav button{background:none;border:1px solid rgba(201,168,76,.2);color:var(--gold);font-size:18px;width:44px;height:44px;border-radius:50%;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;}
  .cycle-nav button:hover{background:rgba(201,168,76,.1);}
  .cycle-name{font-family:'Cinzel',serif;font-size:16px;color:#e8d49a;letter-spacing:.05em;}
  /* Lunar cycle grid — DOMINANT */
  .cycle-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;}
  .day-cell{border-radius:8px;background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.06);cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;overflow:hidden;padding:8px 4px 10px;}
  .day-cell:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05);}
  .day-cell.today{border-color:rgba(201,168,76,.55);background:rgba(201,168,76,.07);box-shadow:0 0 12px rgba(201,168,76,.08);}
  .day-cell.has-entry{background:rgba(201,168,76,.06);}
  .day-cell.has-entry::after{content:'';position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7;}
  .day-num{font-family:'Cinzel',serif;font-size:12px;color:rgba(245,240,232,.55);line-height:1;}
  .day-moon{font-size:18px;line-height:1;margin:2px 0;}
  .day-greg{font-size:9px;color:rgba(245,240,232,.2);line-height:1;letter-spacing:.02em;}
  .day-energy-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);opacity:0;}
  .day-cell.has-entry .day-energy-bar{opacity:.5;}
  /* Gregorian month — matches lunar cell style */
  .greg-month-strip{margin-bottom:24px;}
  .greg-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .greg-month-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:rgba(245,240,232,.35);text-transform:uppercase;}
  .greg-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
  .greg-cell{border-radius:8px;background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.06);cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;overflow:hidden;padding:8px 4px 10px;}
  .greg-cell:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05);}
  .greg-cell.greg-today{border-color:rgba(201,168,76,.55);background:rgba(201,168,76,.07);box-shadow:0 0 12px rgba(201,168,76,.08);}
  .greg-cell.greg-other-month{opacity:.22;}
  .greg-cell.greg-has-entry{background:rgba(201,168,76,.06);}
  .greg-cell.greg-has-entry::after{content:'';position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.7;}
  .greg-day-num{font-family:'Cinzel',serif;font-size:12px;color:rgba(245,240,232,.55);line-height:1;}
  .greg-day-moon{font-size:18px;line-height:1;margin:2px 0;}
  .greg-energy-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);opacity:0;}
  .greg-cell.greg-has-entry .greg-energy-bar{opacity:.5;}
  .greg-month-nav{display:flex;gap:6px;}
  .greg-month-nav button{background:none;border:1px solid rgba(201,168,76,.2);color:var(--gold);font-size:18px;width:44px;height:44px;border-radius:50%;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;}
  .greg-month-nav button:hover{background:rgba(201,168,76,.1);}
  /* Cal view toggle */
  .cal-toggle{display:flex;gap:0;border:1px solid rgba(245,240,232,.1);border-radius:6px;overflow:hidden;margin-bottom:20px;}
  .cal-toggle-btn{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;padding:7px 16px;background:none;border:none;color:rgba(245,240,232,.3);cursor:pointer;transition:all .15s;text-transform:uppercase;}
  .cal-toggle-btn.active{background:rgba(201,168,76,.1);color:var(--gold);}
  /* GCal export btn */
  .gcal-btn{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;background:transparent;border:1px solid rgba(245,240,232,.1);border-radius:4px;color:rgba(245,240,232,.25);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px;}
  .gcal-btn:hover{border-color:rgba(245,240,232,.25);color:rgba(245,240,232,.5);}
  /* PATTERNS */
  .pattern-chart{background:rgba(245,240,232,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(245,240,232,.05);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 4px 20px rgba(0,0,0,.2);}
  .pattern-title{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.1em;color:var(--gold);opacity:.7;text-transform:uppercase;margin-bottom:20px;}
  canvas.chart-canvas{width:100%!important;height:200px!important;}
  /* ENTRIES */
  .entry-item{border-bottom:1px solid rgba(245,240,232,.07);padding:20px 0;display:grid;grid-template-columns:80px 1fr;gap:20px;align-items:start;}
  .entry-date-col{text-align:center;}
  .entry-moon-icon{font-size:28px;display:block;line-height:1;}
  .entry-date-num{font-family:'Cinzel',serif;font-size:18px;color:rgba(245,240,232,.7);display:block;}
  .entry-date-month{font-size:12px;color:rgba(245,240,232,.35);font-style:italic;display:block;}
  .entry-meta{display:flex;gap:16px;margin-bottom:8px;flex-wrap:wrap;}
  .entry-badge{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;padding:3px 10px;border-radius:20px;border:1px solid;text-transform:uppercase;}
  .badge-energy{border-color:rgba(201,168,76,.3);color:#e8d49a;}
  .badge-mood{border-color:rgba(138,58,42,.4);color:#d4856a;}
  .entry-text-preview{font-size:15px;color:rgba(245,240,232,.55);line-height:1.6;font-style:italic;}
  .entry-qualities{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
  .quality-pill{font-size:12px;color:rgba(245,240,232,.4);background:rgba(245,240,232,.05);border-radius:20px;padding:2px 10px;}
  /* SIGN STRIP */
  .sign-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px;-webkit-overflow-scrolling:touch;}
  .sign-chip{flex-shrink:0;text-align:center;padding:8px 12px;border-radius:6px;background:rgba(245,240,232,.03);border:1px solid rgba(245,240,232,.08);}
  .sign-chip.current{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.35);}
  .sign-symbol{font-size:18px;display:block;}
  .sign-name{font-size:10px;color:rgba(245,240,232,.4);display:block;font-family:'Cinzel',serif;letter-spacing:.05em;margin-top:2px;}
  /* MISC */
  .section-rule{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.15),transparent);margin:8px 0 24px;}
  .section-heading{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.15em;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:14px;}
  .empty-state{text-align:center;padding:48px 24px;color:rgba(245,240,232,.25);font-style:italic;font-size:16px;}
  /* MODALS */
  .modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:600;align-items:center;justify-content:center;padding:16px;}
  .modal-overlay.open{display:flex;}
  .modal-box{background:rgba(20,17,12,.8);backdrop-filter:blur(40px) saturate(1.3);-webkit-backdrop-filter:blur(40px) saturate(1.3);border:1px solid rgba(201,168,76,.12);border-radius:20px;padding:28px;max-width:520px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 16px 64px rgba(0,0,0,.5),0 0 1px rgba(201,168,76,.2);transform:scale(0.96) translateY(8px);opacity:0;transition:transform .35s var(--spring),opacity .25s ease;}
  .modal-overlay.open .modal-box{transform:scale(1) translateY(0);opacity:1;}
  .modal-box::before{content:'';position:absolute;top:-1px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.5),rgba(232,212,154,.3),rgba(201,168,76,.5),transparent);filter:blur(0.5px);}
  .modal-title{font-family:'Cinzel',serif;font-size:16px;color:#e8d49a;margin-bottom:20px;letter-spacing:.08em;}
  .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:rgba(245,240,232,.3);font-size:20px;cursor:pointer;line-height:1;}
  .modal-close:hover{color:rgba(245,240,232,.7);}
  /* ONBOARDING */
  .ob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:600;align-items:center;justify-content:center;padding:16px;}
  .ob-overlay.open{display:flex;}
  .ob-box{background:#1a160e;border:1px solid rgba(201,168,76,.3);border-radius:14px;padding:36px;max-width:480px;width:100%;position:relative;max-height:90vh;overflow-y:auto;}
  .ob-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;}
  .ob-title{font-family:'Cinzel',serif;font-size:20px;color:var(--gold);letter-spacing:.1em;margin-bottom:8px;}
  .ob-sub{font-size:15px;color:rgba(245,240,232,.45);font-style:italic;line-height:1.6;margin-bottom:28px;}
  .ob-field{margin-bottom:18px;}
  .ob-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:rgba(245,240,232,.4);text-transform:uppercase;margin-bottom:6px;display:block;}
  input.ob-input,select.ob-input,textarea.ob-input{width:100%;background:rgba(245,240,232,.04);border:1px solid rgba(245,240,232,.1);border-radius:10px;color:rgba(245,240,232,.8);font-family:'EB Garamond',serif;font-size:16px;padding:11px 16px;outline:none;transition:border-color .25s var(--spring),box-shadow .25s ease;}
  input.ob-input:focus,select.ob-input:focus,textarea.ob-input:focus{border-color:rgba(201,168,76,.4);box-shadow:0 0 16px rgba(201,168,76,.06);}
  select.ob-input option{background:#1a160e;}
  .ob-skip{font-size:13px;color:rgba(245,240,232,.2);background:none;border:none;cursor:pointer;display:block;margin-top:14px;text-align:center;font-style:italic;width:100%;}
  .ob-skip:hover{color:rgba(245,240,232,.4);}
  
  .save-btn-ready{animation:pulse-gold 2s ease-in-out infinite;}
  @keyframes pulse-gold{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,0)}50%{box-shadow:0 0 0 4px rgba(201,168,76,.1)}}
  @media(max-width:480px){.cycle-grid{gap:3px;}.day-cell{padding:6px 2px 8px;}.day-num{font-size:10px;}.day-moon{font-size:14px;}.day-greg{font-size:7px;}#calendarInCycles{padding:10px 8px 12px!important;}}
  /* SETTINGS MODAL */
  .sm-section{ margin-bottom:4px; }
  .sm-section-label{ font-family:'Cinzel',serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,168,76,.5);margin-bottom:12px; }
  .sm-divider{ border:none;border-top:1px solid rgba(245,240,232,.06);margin:16px 0; }
  /* STAR BACKGROUND */
  body::before{
    content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
    background-image:
      radial-gradient(1px 1px at 10% 15%, rgba(245,240,232,.35) 0%, transparent 100%),
      radial-gradient(1px 1px at 25% 8%, rgba(245,240,232,.25) 0%, transparent 100%),
      radial-gradient(1.5px 1.5px at 40% 22%, rgba(245,240,232,.3) 0%, transparent 100%),
      radial-gradient(1px 1px at 55% 5%, rgba(245,240,232,.2) 0%, transparent 100%),
      radial-gradient(1px 1px at 70% 18%, rgba(245,240,232,.3) 0%, transparent 100%),
      radial-gradient(1.5px 1.5px at 85% 10%, rgba(245,240,232,.25) 0%, transparent 100%),
      radial-gradient(1px 1px at 92% 30%, rgba(245,240,232,.2) 0%, transparent 100%),
      radial-gradient(1px 1px at 15% 45%, rgba(245,240,232,.15) 0%, transparent 100%),
      radial-gradient(1px 1px at 33% 60%, rgba(245,240,232,.2) 0%, transparent 100%),
      radial-gradient(1.5px 1.5px at 60% 50%, rgba(245,240,232,.18) 0%, transparent 100%),
      radial-gradient(1px 1px at 78% 42%, rgba(245,240,232,.22) 0%, transparent 100%),
      radial-gradient(1px 1px at 5% 75%, rgba(245,240,232,.15) 0%, transparent 100%),
      radial-gradient(1.5px 1.5px at 20% 85%, rgba(245,240,232,.2) 0%, transparent 100%),
      radial-gradient(1px 1px at 45% 78%, rgba(245,240,232,.18) 0%, transparent 100%),
      radial-gradient(1px 1px at 65% 88%, rgba(245,240,232,.15) 0%, transparent 100%),
      radial-gradient(1px 1px at 88% 70%, rgba(245,240,232,.2) 0%, transparent 100%),
      radial-gradient(1.5px 1.5px at 50% 95%, rgba(245,240,232,.12) 0%, transparent 100%),
      radial-gradient(1px 1px at 30% 35%, rgba(201,168,76,.12) 0%, transparent 100%),
      radial-gradient(1px 1px at 75% 62%, rgba(201,168,76,.1) 0%, transparent 100%);
  }
  .app-shell{position:relative;z-index:1;}
  /* FIRST-TIME WALKTHROUGH */
  .wt-overlay{position:fixed;inset:0;z-index:500;pointer-events:all;background:rgba(0,0,0,.5);}
  .wt-spotlight{position:absolute;border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.75);transition:all .35s ease;pointer-events:none;}
  .wt-card{position:fixed;left:50%;transform:translateX(-50%);background:#1a160e;border:1px solid rgba(201,168,76,.3);border-radius:12px;padding:22px 24px;width:calc(100%-32px);max-width:360px;z-index:501;box-shadow:0 8px 40px rgba(0,0,0,.6);pointer-events:all;transition:all .35s ease;}
  .wt-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
  .wt-step-dots{display:flex;gap:6px;}
  .wt-dot{width:6px;height:6px;border-radius:50%;background:rgba(245,240,232,.15);}
  .wt-dot.active{background:var(--gold);}
  .wt-skip{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.25);background:none;border:none;cursor:pointer;padding:0;}
  .wt-icon{font-size:32px;margin-bottom:10px;display:block;}
  .wt-title{font-family:'Cinzel',serif;font-size:15px;color:rgba(245,240,232,.85);margin-bottom:8px;}
  .wt-body{font-size:14px;color:rgba(245,240,232,.5);line-height:1.75;}
  .wt-btns{display:flex;gap:10px;margin-top:18px;}
  .wt-btn-next{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:10px 24px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.35);border-radius:4px;color:var(--gold);cursor:pointer;flex:1;}
  .wt-btn-back{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;background:none;border:1px solid rgba(245,240,232,.1);border-radius:4px;color:rgba(245,240,232,.3);cursor:pointer;}
  .forecast-wrap{margin-bottom:32px;}
  .forecast-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
  .forecast-title{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;opacity:.85;}
  .forecast-nav{display:flex;gap:6px;}
  .forecast-nav button{background:none;border:1px solid rgba(201,168,76,.2);color:var(--gold);font-size:16px;width:44px;height:44px;border-radius:50%;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;line-height:1;}
  .forecast-nav button:hover{background:rgba(201,168,76,.1);}
  .forecast-range-label{font-family:'Cinzel',serif;font-size:12px;color:rgba(245,240,232,.4);letter-spacing:.04em;}
  .fday{background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.07);border-radius:8px;padding:18px 20px;margin-bottom:12px;position:relative;overflow:hidden;transition:border-color .15s;}
  .fday::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--fd-color,rgba(245,240,232,.1)),transparent);}
  .fday.major{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.04);}
  .fday.major::before{background:linear-gradient(90deg,transparent,rgba(201,168,76,.5),transparent);}
  .fday.portal{border-color:rgba(120,80,200,.3);background:rgba(100,60,180,.05);}
  .fday.portal::before{background:linear-gradient(90deg,transparent,rgba(140,100,220,.5),transparent);}
  .fday.kundalini{border-color:rgba(180,60,60,.3);background:rgba(160,40,40,.05);}
  .fday.kundalini::before{background:linear-gradient(90deg,transparent,rgba(200,80,80,.5),transparent);}
  .fday.newmoon{border-color:rgba(80,120,180,.25);background:rgba(60,100,160,.04);}
  .fday.fullmoon{border-color:rgba(201,168,76,.4);background:rgba(201,168,76,.06);}
  .fday-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:12px;}
  .fday-date{font-family:'Cinzel',serif;font-size:14px;color:rgba(245,240,232,.85);letter-spacing:.04em;}
  .fday-date-sub{font-size:12px;color:rgba(245,240,232,.3);margin-top:2px;font-style:italic;}
  .fday-badges{display:flex;flex-wrap:wrap;gap:5px;flex-shrink:0;}
  .fday-badge{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid;white-space:nowrap;}
  .fb-moon{border-color:rgba(201,168,76,.4);color:#e8d49a;background:rgba(201,168,76,.07);}
  .fb-nm{border-color:rgba(100,140,220,.35);color:rgba(160,190,255,.8);background:rgba(80,110,180,.07);}
  .fb-portal{border-color:rgba(140,100,220,.4);color:rgba(180,150,255,.8);background:rgba(120,80,200,.07);}
  .fb-serpent{border-color:rgba(180,60,60,.35);color:rgba(220,120,100,.8);background:rgba(160,40,40,.07);}
  .fday-pills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;}
  .fpill{font-size:11px;padding:2px 9px;border-radius:20px;border:1px solid rgba(245,240,232,.1);color:rgba(245,240,232,.4);}
  .fpill.tz{border-color:rgba(140,100,220,.25);color:rgba(180,150,255,.7);}
  .fpill.vd{border-color:rgba(80,160,100,.25);color:rgba(120,200,140,.7);}
  .fpill.lm{border-color:rgba(201,168,76,.25);color:rgba(232,212,154,.7);}
  .fday-insight{font-size:14px;color:rgba(245,240,232,.65);line-height:1.8;font-style:italic;}
  .fday-journal{font-size:12px;color:rgba(245,240,232,.35);line-height:1.6;margin-top:8px;padding:8px 12px;border-left:2px solid rgba(201,168,76,.2);background:rgba(201,168,76,.03);border-radius:0 4px 4px 0;}
  .fday-journal::before{content:'✦ ';color:rgba(201,168,76,.4);font-size:10px;}
  .forecast-empty{text-align:center;padding:32px 24px;color:rgba(245,240,232,.25);font-style:italic;font-size:15px;}
  .forecast-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:12px 16px;background:rgba(245,240,232,.02);border-radius:6px;border:1px solid rgba(245,240,232,.05);}
  .fleg-item{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(245,240,232,.3);}
  .fleg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  /* TODAY SECTIONS */
  .today-section{border:1px solid rgba(245,240,232,.07);border-radius:10px;margin-bottom:12px;overflow:hidden;transition:border-color .2s;}
  .today-section:hover{border-color:rgba(245,240,232,.1);}
  .today-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;user-select:none;background:rgba(245,240,232,.02);}
  .today-section-header:hover{background:rgba(245,240,232,.04);}
  .today-section-label{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.1em;color:rgba(245,240,232,.6);text-transform:uppercase;}
  .today-section-chevron{font-size:14px;color:rgba(245,240,232,.3);transition:transform .2s;}
  .today-section-collapsed .today-section-chevron{transform:rotate(-90deg);}
  .today-section-body{padding:16px 18px 18px;}
  /* Moon hero */
  .moon-hero{display:flex;align-items:center;gap:16px;margin-bottom:8px;}
  .moon-hero-left{flex-shrink:0;position:relative;}
  .moon-hero-right{flex:1;}
  /* Full moon glow animation */
  @keyframes fullmoon-pulse{
    0%,100%{filter:drop-shadow(0 0 6px rgba(245,240,232,.3)) drop-shadow(0 0 14px rgba(201,168,76,.15));transform:scale(1);}
    50%{filter:drop-shadow(0 0 12px rgba(245,240,232,.5)) drop-shadow(0 0 24px rgba(201,168,76,.3));transform:scale(1.04);}
  }
  .moon-full-glow svg{animation:fullmoon-pulse 3s ease-in-out infinite;}
  .moon-full-glow::after{content:'';position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(245,240,232,.08) 0%,rgba(201,168,76,.04) 40%,transparent 70%);pointer-events:none;animation:fullmoon-pulse 3s ease-in-out infinite;}
  /* Quick log */
  .log-mode-toggle{display:flex;gap:0;border:1px solid rgba(245,240,232,.1);border-radius:6px;overflow:hidden;margin-bottom:16px;align-self:flex-start;}
  .log-mode-btn{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;padding:7px 18px;background:none;border:none;color:rgba(245,240,232,.35);cursor:pointer;transition:all .15s;text-transform:uppercase;}
  .log-mode-btn.active{background:rgba(201,168,76,.1);color:var(--gold);}
  .quick-log-card{background:rgba(245,240,232,.02);border:1px solid rgba(201,168,76,.15);border-radius:8px;padding:20px;}
  .quick-log-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.1em;color:rgba(201,168,76,.6);text-transform:uppercase;margin-bottom:16px;}
  /* Mobile */
  @media(max-width:600px){
    .today-section-body{padding:14px 14px 16px;}
    .moon-hero{gap:12px;}
    .today-section-header{padding:13px 14px;}
    .moon-hero-right .card-value{font-size:14px!important;}
  }
  /* TOOLTIPS */
  .tip{position:relative;cursor:help;border-bottom:1px dotted rgba(201,168,76,.3);display:inline;z-index:10;}
  .tip:hover .tip-box,.tip:focus .tip-box{opacity:1;pointer-events:auto;transform:translateY(0);}
  .tip-box{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);
    background:#1a160e;border:1px solid rgba(201,168,76,.25);border-radius:6px;
    padding:10px 14px;font-size:13px;color:rgba(245,240,232,.75);line-height:1.6;
    width:220px;max-width:85vw;z-index:500;opacity:0;pointer-events:none;transition:all .15s;
    font-style:normal;font-family:'EB Garamond',serif;letter-spacing:0;
    box-shadow:0 4px 20px rgba(0,0,0,.5);}
  .tip-box::after{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
    border:5px solid transparent;border-bottom-color:#1a160e;}
  .tip-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;color:var(--gold);
    text-transform:uppercase;margin-bottom:4px;display:block;}
  /* SHARE CARD */
  .share-preview{background:linear-gradient(135deg,#0f0c09 0%,#1a1230 50%,#0f0c09 100%);
    border-radius:12px;padding:28px 24px;margin-bottom:20px;position:relative;overflow:hidden;
    aspect-ratio:1;max-width:400px;margin:0 auto 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .share-preview::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 30%,rgba(201,168,76,.08),transparent 60%);}
  .share-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.2em;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:20px;}
  .share-moon-big{font-size:56px;display:block;margin-bottom:8px;filter:drop-shadow(0 0 20px rgba(201,168,76,.4));}
  .share-phase{font-family:'Cinzel',serif;font-size:18px;color:#e8d49a;margin-bottom:4px;}
  .share-sign{font-size:14px;color:rgba(245,240,232,.5);font-style:italic;margin-bottom:20px;}
  .share-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px;width:100%;}
  .share-metric{text-align:center;background:rgba(245,240,232,.04);border-radius:6px;padding:8px 4px;}
  .share-metric-val{font-family:'Cinzel',serif;font-size:20px;color:var(--gold);display:block;}
  .share-metric-label{font-size:9px;color:rgba(245,240,232,.3);text-transform:uppercase;letter-spacing:.08em;}
  .share-tagline{font-size:11px;color:rgba(245,240,232,.25);text-align:center;font-style:italic;letter-spacing:.05em;}
  .share-stars{position:absolute;top:16px;right:16px;font-size:10px;color:rgba(245,240,232,.2);}
  /* PWA INSTALL */
  .pwa-banner{display:none;position:fixed;bottom:calc(80px + var(--sab));left:50%;transform:translateX(-50%);
    background:#1a160e;border:1px solid rgba(201,168,76,.3);border-radius:12px;
    padding:14px 18px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:200;
    max-width:340px;width:calc(100%-32px);animation:slideUp .3s ease;}
  .pwa-banner.show{display:flex;align-items:center;gap:12px;}
  .pwa-banner-icon{font-size:28px;flex-shrink:0;}
  .pwa-banner-text{flex:1;}
  .pwa-banner-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-bottom:3px;}
  .pwa-banner-sub{font-size:12px;color:rgba(245,240,232,.4);}
  .pwa-banner-btns{display:flex;gap:8px;margin-top:8px;}
  .pwa-install-btn{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);border-radius:20px;color:var(--gold);cursor:pointer;}
  .pwa-dismiss-btn{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;background:none;border:none;color:rgba(245,240,232,.25);cursor:pointer;}
  @keyframes slideUp{from{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}

  /* ══ PEOPLE / RELATIONSHIP ══════════════════════════════════════════════════ */
  .people-card{background:rgba(245,240,232,.025);border:1px solid rgba(180,140,220,.18);border-radius:8px;padding:18px 20px;margin-bottom:12px;position:relative;overflow:hidden;cursor:pointer;transition:border-color .15s;}
  .people-card:hover{border-color:rgba(180,140,220,.35);}
  .people-card.selected{border-color:rgba(180,140,220,.5);background:rgba(180,140,220,.06);}
  .people-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(180,140,220,.3),transparent);}
  .people-card-name{font-family:'Cinzel',serif;font-size:13px;color:rgba(245,240,232,.8);letter-spacing:.06em;margin-bottom:3px;}
  .people-card-sub{font-size:12px;color:rgba(245,240,232,.35);font-style:italic;}
  .people-add-btn{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:10px 20px;background:rgba(180,140,220,.07);border:1px solid rgba(180,140,220,.25);border-radius:4px;color:rgba(180,140,220,.7);cursor:pointer;width:100%;margin-top:4px;transition:all .15s;}
  .people-add-btn:hover{background:rgba(180,140,220,.14);border-color:rgba(180,140,220,.4);}
  .people-form{background:rgba(180,140,220,.04);border:1px solid rgba(180,140,220,.18);border-radius:8px;padding:18px;margin-bottom:16px;display:none;}
  .people-form.open{display:block;}
  .people-form-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(180,140,220,.6);margin-bottom:14px;}
  .people-input{width:100%;background:rgba(245,240,232,.04);border:1px solid rgba(245,240,232,.1);border-radius:4px;padding:9px 12px;color:rgba(245,240,232,.8);font-family:'EB Garamond',serif;font-size:15px;margin-bottom:10px;}
  .people-input:focus{outline:none;border-color:rgba(180,140,220,.4);}
  /* RELATIONSHIP OVERLAY */
  .rel-overlay-card{background:rgba(245,240,232,.02);border:1px solid rgba(180,140,220,.2);border-radius:8px;padding:20px;margin-bottom:20px;position:relative;overflow:hidden;}
  .rel-overlay-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(180,140,220,.4),transparent);}
  .rel-overlay-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(180,140,220,.6);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;}
  .rel-person-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
  .rel-person-col{background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.07);border-radius:6px;padding:12px 14px;}
  .rel-person-col.you{border-color:rgba(201,168,76,.15);}
  .rel-person-col.them{border-color:rgba(180,140,220,.2);}
  .rel-person-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:8px;}
  .rel-person-col.you .rel-person-label{color:rgba(201,168,76,.5);}
  .rel-person-col.them .rel-person-label{color:rgba(180,140,220,.5);}
  .rel-person-name{font-size:15px;color:rgba(245,240,232,.8);margin-bottom:4px;}
  .rel-person-signs{font-size:12px;color:rgba(245,240,232,.4);font-style:italic;line-height:1.6;}
  .rel-reading{font-size:15px;color:rgba(245,240,232,.72);line-height:1.85;font-style:italic;}
  .rel-select{background:rgba(180,140,220,.06);border:1px solid rgba(180,140,220,.2);border-radius:4px;padding:7px 12px;color:rgba(245,240,232,.7);font-family:'EB Garamond',serif;font-size:14px;cursor:pointer;width:100%;margin-bottom:14px;}
  /* CUSTOM PROMPTS */
  .prompt-suggestions{background:rgba(201,168,76,.03);border:1px solid rgba(201,168,76,.12);border-radius:6px;padding:14px 16px;margin-bottom:18px;}
  .prompt-suggestions-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(201,168,76,.45);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;}
  .prompt-pill{display:inline-block;background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.18);border-radius:20px;padding:6px 14px;font-size:13px;color:rgba(245,240,232,.6);font-style:italic;margin:4px 4px 4px 0;cursor:pointer;transition:all .15s;line-height:1.4;}
  .prompt-pill:hover{background:rgba(201,168,76,.12);border-color:rgba(201,168,76,.35);color:rgba(245,240,232,.85);}
  .prompt-refresh{background:none;border:none;color:rgba(201,168,76,.35);cursor:pointer;font-size:13px;padding:0 4px;}
  .prompt-refresh:hover{color:rgba(201,168,76,.6);}

  /* SCHUMANN RESONANCE */
  /* Barometric pressure card */
  .baro-card{background:rgba(245,240,232,.02);border:1px solid rgba(120,200,160,.15);border-radius:8px;padding:18px 20px;margin-bottom:20px;position:relative;overflow:hidden;}
  .baro-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(120,200,160,.3),transparent);}
  .baro-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(120,200,160,.6);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;}
  .baro-refresh{background:none;border:none;color:rgba(120,200,160,.4);cursor:pointer;font-size:14px;padding:0;}
  .baro-refresh:hover{color:rgba(120,200,160,.7);}
  .baro-value{font-family:'Cinzel',serif;font-size:28px;color:rgba(140,220,180,.8);line-height:1;}
  .baro-sub{font-size:12px;color:rgba(245,240,232,.35);font-style:italic;margin-top:2px;margin-bottom:12px;}
  .baro-graph{border-radius:4px;overflow:hidden;background:rgba(0,0,0,.2);padding:8px 4px 4px;}
  .baro-graph svg{width:100%;display:block;}
  .baro-meta{font-size:10px;color:rgba(245,240,232,.18);margin-top:6px;text-align:right;}
  .baro-loc-btn{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px;background:rgba(120,200,160,.08);border:1px solid rgba(120,200,160,.25);border-radius:3px;color:rgba(140,220,180,.7);cursor:pointer;transition:all .15s;display:block;margin:8px auto 0;}
  .baro-loc-btn:hover{background:rgba(120,200,160,.15);border-color:rgba(120,200,160,.4);}
  .schumann-card{background:rgba(245,240,232,.02);border:1px solid rgba(100,160,255,.15);border-radius:8px;padding:18px 20px;margin-bottom:20px;position:relative;overflow:hidden;}
  .schumann-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(100,160,255,.3),transparent);}
  .schumann-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(100,160,255,.6);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;}
  .schumann-refresh{background:none;border:none;color:rgba(100,160,255,.4);cursor:pointer;font-size:14px;padding:0;}
  .schumann-refresh:hover{color:rgba(100,160,255,.7);}
  .schumann-freq{font-family:'Cinzel',serif;font-size:28px;color:rgba(120,180,255,.8);line-height:1;}
  .schumann-sub{font-size:12px;color:rgba(245,240,232,.35);font-style:italic;margin-top:2px;margin-bottom:12px;}
  .schumann-img-wrap{border-radius:4px;overflow:hidden;background:rgba(0,0,0,.3);}
  .schumann-img-wrap img{width:100%;display:block;opacity:.82;filter:hue-rotate(200deg) saturate(.75) brightness(.9);}
  .schumann-meta{font-size:10px;color:rgba(245,240,232,.18);margin-top:6px;text-align:right;}

  /* FOLLOW-UP QUESTION */
  .followup-wrap{margin-top:14px;border-top:1px solid rgba(201,168,76,.08);padding-top:12px;}
  .followup-toggle{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(201,168,76,.4);background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:6px;}
  .followup-toggle:hover{color:var(--gold);}
  .followup-input-wrap{display:none;margin-top:10px;}
  .followup-input-wrap.open{display:block;}
  .followup-input{width:100%;background:rgba(245,240,232,.04);border:1px solid rgba(201,168,76,.18);border-radius:6px;padding:10px 14px;color:rgba(245,240,232,.85);font-family:'EB Garamond',serif;font-size:15px;resize:none;min-height:60px;line-height:1.6;}
  .followup-input:focus{outline:none;border-color:rgba(201,168,76,.4);}
  .followup-send{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:7px 18px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.25);border-radius:3px;color:var(--gold);cursor:pointer;margin-top:8px;transition:all .15s;}
  .followup-send:hover{background:rgba(201,168,76,.16);}
  .followup-send:disabled{opacity:.4;cursor:not-allowed;}
  .followup-response{margin-top:14px;font-size:15px;color:rgba(245,240,232,.75);line-height:1.85;font-style:italic;border-left:2px solid rgba(201,168,76,.2);padding-left:14px;display:none;}
  .followup-response.visible{display:block;}
  .followup-history{margin-top:12px;}
  .followup-exchange{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(245,240,232,.05);}
  .followup-q{font-size:13px;color:rgba(245,240,232,.4);margin-bottom:6px;font-style:italic;}
  .followup-a{font-size:15px;color:rgba(245,240,232,.7);line-height:1.8;}

  .signs-fab{position:fixed;bottom:calc(90px + var(--sab));right:calc(16px + var(--sar));width:48px;height:48px;border-radius:50%;background:rgba(180,140,220,.15);border:1px solid rgba(180,140,220,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:150;box-shadow:0 4px 20px rgba(0,0,0,.4);transition:all .2s;font-size:18px;}
  .signs-fab:hover{background:rgba(180,140,220,.25);transform:scale(1.05);}
  .sign-log-entry{background:rgba(245,240,232,.02);border:1px solid rgba(180,140,220,.15);border-radius:6px;padding:12px 14px;margin-bottom:8px;position:relative;}
  .sign-log-meta{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;color:rgba(245,240,232,.3);text-transform:uppercase;margin-bottom:5px;display:flex;gap:10px;}
  .sign-log-text{font-size:14px;color:rgba(245,240,232,.75);line-height:1.6;}
  .sign-log-tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;}
  .sign-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:rgba(180,140,220,.1);border:1px solid rgba(180,140,220,.2);color:rgba(180,140,220,.7);}
  .sign-category-btn{padding:6px 14px;border-radius:20px;border:1px solid rgba(180,140,220,.25);background:rgba(180,140,220,.06);color:rgba(245,240,232,.5);font-size:12px;cursor:pointer;transition:all .15s;font-family:'EB Garamond',serif;}
  .sign-category-btn.selected{background:rgba(180,140,220,.2);border-color:rgba(180,140,220,.5);color:rgba(245,240,232,.9);}
  .signs-correlation{background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.15);border-radius:6px;padding:14px 16px;margin-bottom:16px;font-size:14px;color:rgba(245,240,232,.7);line-height:1.7;font-style:italic;}
  .signs-empty{text-align:center;padding:32px 16px;color:rgba(245,240,232,.25);font-style:italic;font-size:14px;}
  /* STREAK */
  .streak-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
  .streak-badge{display:flex;align-items:center;gap:6px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.18);border-radius:20px;padding:5px 14px;}
  .streak-num{font-family:'Cinzel',serif;font-size:16px;color:var(--gold);line-height:1;}
  .streak-label{font-size:12px;color:rgba(245,240,232,.4);font-style:italic;}
  .streak-flame{font-size:14px;}
  /* EVENING CHECK-IN */
  .eve-card{background:rgba(20,15,30,.4);border:1px solid rgba(120,90,160,.2);border-radius:8px;padding:20px 22px;margin-top:24px;position:relative;overflow:hidden;}
  .eve-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(140,100,200,.4),transparent);}
  .eve-card-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.14em;color:rgba(160,120,220,.7);text-transform:uppercase;margin-bottom:4px;display:flex;align-items:center;gap:8px;}
  .eve-card-title::before{content:'🌙';font-size:14px;}
  .eve-card-sub{font-size:13px;color:rgba(245,240,232,.3);font-style:italic;margin-bottom:18px;}
  .eve-delta{display:inline-flex;align-items:center;gap:4px;font-family:'Cinzel',serif;font-size:10px;padding:2px 8px;border-radius:10px;margin-left:6px;}
  .eve-delta.up{background:rgba(60,140,80,.15);color:#7acc8a;border:1px solid rgba(60,140,80,.2);}
  .eve-delta.down{background:rgba(160,60,60,.15);color:#cc8a7a;border:1px solid rgba(160,60,60,.2);}
  .eve-delta.same{background:rgba(245,240,232,.05);color:rgba(245,240,232,.3);border:1px solid rgba(245,240,232,.08);}
  .eve-submitted{background:rgba(20,15,30,.3);border:1px solid rgba(120,90,160,.15);border-radius:8px;padding:16px 18px;margin-top:24px;}
  .eve-submitted-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:rgba(160,120,220,.6);text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;}
  .eve-metrics{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;}
  .eve-metric{text-align:center;}
  .eve-metric-val{font-family:'Cinzel',serif;font-size:16px;color:rgba(160,120,220,.8);display:block;line-height:1;}
  .eve-metric-label{font-size:9px;color:rgba(245,240,232,.3);margin-top:2px;font-style:italic;}
  /* SPACE WEATHER */
  .sw-card{background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.07);border-radius:8px;padding:18px 20px;margin-bottom:20px;position:relative;overflow:hidden;}
  .sw-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--sw-color,rgba(201,168,76,.4)),transparent);}
  .sw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
  .sw-title{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,232,.3);}
  .sw-kp-badge{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.08em;padding:4px 12px;border-radius:20px;border:1px solid;text-transform:uppercase;}
  .sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:12px;}
  .sw-metric{background:rgba(245,240,232,.03);border-radius:6px;padding:10px 12px;}
  .sw-metric-val{font-family:'Cinzel',serif;font-size:18px;color:rgba(245,240,232,.8);display:block;line-height:1;}
  .sw-metric-unit{font-size:10px;color:rgba(245,240,232,.3);margin-left:2px;}
  .sw-metric-label{font-size:10px;color:rgba(245,240,232,.3);margin-top:3px;font-style:italic;}
  .sw-desc{font-size:14px;color:rgba(245,240,232,.55);line-height:1.7;font-style:italic;margin-bottom:10px;}
  .sw-kp-bar-wrap{height:6px;background:rgba(245,240,232,.06);border-radius:3px;margin-bottom:8px;overflow:hidden;}
  .sw-kp-bar{height:100%;border-radius:3px;transition:width .4s ease;}
  .sw-alert{font-size:12px;color:rgba(245,240,232,.35);padding:8px 10px;background:rgba(139,58,42,.08);border-radius:4px;margin-bottom:6px;border-left:2px solid rgba(200,100,70,.3);}
  .sw-refresh{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.2);background:none;border:none;cursor:pointer;padding:0;margin-top:6px;}
  .sw-refresh:hover{color:rgba(245,240,232,.5);}
  .sw-loading{font-size:14px;color:rgba(245,240,232,.25);font-style:italic;}
  /* Kp history sparkline */
  .sw-sparkline{width:100%;height:32px;margin-top:8px;}
  /* PATTERNS */
  .pattern-range-btn{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;padding:7px 14px;background:none;border:none;border-right:1px solid rgba(245,240,232,.1);color:rgba(245,240,232,.35);cursor:pointer;transition:all .15s;text-transform:uppercase;}
  .pattern-range-btn:last-child{border-right:none;}
  .pattern-range-btn:hover{background:rgba(245,240,232,.04);color:rgba(245,240,232,.6);}
  .pattern-range-btn.active{background:rgba(201,168,76,.1);color:var(--gold);}
  .phase-fingerprint-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
  .phase-fingerprint-label{font-size:12px;color:rgba(245,240,232,.4);min-width:110px;font-style:italic;}
  .phase-fingerprint-bar-wrap{flex:1;height:20px;background:rgba(245,240,232,.05);border-radius:3px;overflow:hidden;position:relative;}
  .phase-fingerprint-bar{height:100%;border-radius:3px;transition:width .4s ease;}
  .phase-fingerprint-bar.energy{background:rgba(201,168,76,.6);}
  .phase-fingerprint-bar.mood{background:rgba(180,100,80,.5);}
  .phase-fingerprint-val{font-family:'Cinzel',serif;font-size:10px;color:rgba(245,240,232,.35);min-width:28px;text-align:right;}
  .pattern-obs{padding:14px 16px;border-radius:6px;margin-bottom:10px;border-left:3px solid;display:flex;align-items:flex-start;gap:12px;}
  .pattern-obs.warning{background:rgba(139,58,42,.1);border-color:rgba(200,100,70,.4);}
  .pattern-obs.insight{background:rgba(201,168,76,.07);border-color:rgba(201,168,76,.3);}
  .pattern-obs.positive{background:rgba(60,120,60,.08);border-color:rgba(100,180,100,.3);}
  .pattern-obs-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
  .pattern-obs-text{font-size:14px;color:rgba(245,240,232,.65);line-height:1.7;}
  .pattern-obs-title{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase;}
  .pattern-obs.warning .pattern-obs-title{color:#cc7a5a;}
  .pattern-obs.insight .pattern-obs-title{color:var(--gold);}
  .pattern-obs.positive .pattern-obs-title{color:#7acc7a;}
  .stat-card{background:rgba(245,240,232,.03);border:1px solid rgba(245,240,232,.07);border-radius:8px;padding:14px;text-align:center;}
  .stat-card-val{font-family:'Cinzel',serif;font-size:22px;color:var(--gold);display:block;line-height:1;}
  .stat-card-label{font-size:11px;color:rgba(245,240,232,.3);font-style:italic;margin-top:4px;}
  .stat-card-delta{font-size:11px;margin-top:3px;}
  .stat-card-delta.up{color:#7acc7a;}
  .stat-card-delta.down{color:#cc7a7a;}
  .stat-card-delta.same{color:rgba(245,240,232,.2);}
  /* BODY SCROLLBAR */
  html::-webkit-scrollbar{width:5px;}
  html::-webkit-scrollbar-track{background:transparent;}
  html::-webkit-scrollbar-thumb{background:rgba(201,168,76,.15);border-radius:4px;}
  html::-webkit-scrollbar-thumb:hover{background:rgba(201,168,76,.3);}
  html{scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.15) transparent;}
  /* GLOW BARS */
  .glow-bars-wrap{margin-bottom:20px;}
  .glow-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .glow-bar-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;color:rgba(245,240,232,.35);text-transform:uppercase;min-width:72px;text-align:right;flex-shrink:0;}
  .glow-bar-track{flex:1;height:10px;background:rgba(245,240,232,.06);border-radius:6px;position:relative;overflow:hidden;cursor:pointer;}
  .glow-bar-fill{height:100%;border-radius:6px;transition:width .12s ease,box-shadow .12s ease;pointer-events:none;}
  .glow-bar-input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer;margin:0;padding:0;height:100%;}
  .glow-bar-val{font-family:'Cinzel',serif;font-size:13px;color:var(--gold);min-width:22px;text-align:center;flex-shrink:0;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.18);border-radius:5px;padding:2px 6px;line-height:1.4;}
  /* SKY PAGE */
  .sky-hero{text-align:center;padding:24px 0 32px;position:relative;}
  .sky-hero-moon{font-size:72px;display:block;margin-bottom:8px;filter:drop-shadow(0 0 30px rgba(201,168,76,.5));animation:moonPulse 4s ease-in-out infinite;}
  .sky-hero-phase{font-family:'Cinzel',serif;font-size:18px;color:var(--gold-pale);letter-spacing:.1em;margin-bottom:4px;}
  .sky-hero-sub{font-size:15px;color:rgba(245,240,232,.4);font-style:italic;}
  .planet-wheel{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:20px;}
  .planet-wheel-card{background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.06);border-radius:8px;padding:12px 10px;cursor:pointer;transition:all .15s;text-align:center;}
  .planet-wheel-card:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.04);}
  .planet-wheel-symbol{font-size:22px;display:block;margin-bottom:4px;opacity:.7;}
  .planet-wheel-name{font-family:'Cinzel',serif;font-size:8px;letter-spacing:.1em;color:rgba(245,240,232,.3);text-transform:uppercase;margin-bottom:4px;}
  .planet-wheel-sign{font-size:13px;color:rgba(245,240,232,.75);}
  .collective-card{background:rgba(245,240,232,.03);border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:22px;margin-bottom:20px;position:relative;overflow:hidden;}
  .collective-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.3),transparent);}
  .collective-loading{font-style:italic;color:rgba(245,240,232,.25);font-size:15px;}
  .collective-text{font-size:16px;color:rgba(245,240,232,.75);line-height:1.85;}
  .collective-refresh{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;color:rgba(201,168,76,.35);background:none;border:none;cursor:pointer;margin-top:12px;display:block;text-transform:uppercase;}
  .collective-refresh:hover{color:var(--gold);}
  .sky-section-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.15em;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
  .sky-section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(201,168,76,.15),transparent);}
  /* SUBMITTED ENTRY CARD */
  .entry-submitted-card{background:rgba(245,240,232,.03);border:1px solid rgba(201,168,76,.18);border-radius:8px;padding:20px 22px;margin-bottom:28px;position:relative;overflow:hidden;display:none;}
  .entry-submitted-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;}
  .entry-submitted-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
  .entry-submitted-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.12em;color:var(--gold);opacity:.7;text-transform:uppercase;}
  .entry-submitted-edit{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.25);background:none;border:none;cursor:pointer;padding:0;}
  .entry-submitted-edit:hover{color:rgba(245,240,232,.5);}
  .entry-submitted-metrics{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap;}
  .entry-submitted-metric{text-align:center;}
  .entry-submitted-metric-val{font-family:'Cinzel',serif;font-size:18px;color:var(--gold);display:block;line-height:1;}
  .entry-submitted-metric-label{font-size:10px;color:rgba(245,240,232,.3);font-style:italic;margin-top:2px;}
  .entry-submitted-qualities{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
  .entry-submitted-text{font-size:15px;color:rgba(245,240,232,.55);line-height:1.75;font-style:italic;margin-bottom:14px;}
  .entry-reflection{margin-top:14px;padding-top:14px;border-top:1px solid rgba(245,240,232,.07);}
  .entry-reflection-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.12em;color:rgba(201,168,76,.5);text-transform:uppercase;margin-bottom:8px;}
  .entry-reflection-text{font-size:15px;color:rgba(245,240,232,.65);line-height:1.8;}
  .entry-reflection-loading{font-size:14px;color:rgba(245,240,232,.25);font-style:italic;}
  /* CUSTOM SCROLLBARS — Chrome/Safari */
  .side-menu::-webkit-scrollbar{width:4px;}
  .side-menu::-webkit-scrollbar-track{background:transparent;}
  .side-menu::-webkit-scrollbar-thumb{background:rgba(201,168,76,.2);border-radius:4px;}
  .side-menu::-webkit-scrollbar-thumb:hover{background:rgba(201,168,76,.4);}
  .nav-tabs::-webkit-scrollbar{height:0;display:none;}
  .modal-box::-webkit-scrollbar{width:4px;}
  .modal-box::-webkit-scrollbar-track{background:transparent;}
  .modal-box::-webkit-scrollbar-thumb{background:rgba(201,168,76,.15);border-radius:4px;}
  /* Firefox */
  .side-menu{scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.2) transparent;}
  .nav-tabs{scrollbar-width:none;}
  .modal-box{scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.15) transparent;}
  /* HAMBURGER MENU */
  .top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 0 0 0;margin-bottom:12px;}
  .hamburger{background:none;border:none;cursor:pointer;padding:8px;display:flex;flex-direction:column;gap:5px;flex-shrink:0;margin-left:8px;}
  .hamburger span{display:block;width:22px;height:1.5px;background:rgba(245,240,232,.4);transition:all .2s;border-radius:2px;}
  .hamburger:hover span{background:var(--gold);}
  .hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);background:var(--gold);}
  .hamburger.open span:nth-child(2){opacity:0;}
  .hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);background:var(--gold);}
  .side-menu{position:fixed;top:0;right:-320px;width:300px;height:100vh;height:100dvh;background:rgba(14,11,8,.75);backdrop-filter:blur(40px) saturate(1.3);-webkit-backdrop-filter:blur(40px) saturate(1.3);border-left:1px solid rgba(201,168,76,.1);z-index:320;transition:right .3s var(--spring);overflow-y:auto;padding:0 0 40px;box-shadow:-8px 0 40px rgba(0,0,0,.4);}
  .side-menu.open{right:0;}
  .side-menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:319;}
  .side-menu-overlay.open{display:block;}
  .side-menu-header{padding:24px 20px 20px;border-bottom:1px solid rgba(201,168,76,.1);display:flex;align-items:center;justify-content:space-between;}
  .side-menu-title{font-family:'Cinzel',serif;font-size:14px;color:var(--gold);letter-spacing:.1em;}
  .side-menu-close{background:none;border:none;color:rgba(245,240,232,.3);font-size:22px;cursor:pointer;line-height:1;}
  .side-menu-close:hover{color:rgba(245,240,232,.7);}
  .side-menu-section{padding:20px 20px 0;}
  .side-menu-section-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.15em;color:rgba(245,240,232,.25);text-transform:uppercase;margin-bottom:12px;}
  .side-menu-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;text-align:left;margin-bottom:4px;}
  .side-menu-item:hover{background:rgba(245,240,232,.04);}
  .side-menu-item-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0;}
  .side-menu-item-label{font-size:15px;color:rgba(245,240,232,.65);font-family:'EB Garamond',serif;}
  .side-menu-item-sub{font-size:12px;color:rgba(245,240,232,.25);font-style:italic;margin-top:1px;}
  .side-menu-divider{height:1px;background:rgba(245,240,232,.06);margin:12px 20px;}
  .side-menu-account{padding:16px 20px;background:rgba(201,168,76,.05);border-bottom:1px solid rgba(201,168,76,.1);}
  .side-menu-account-email{font-size:13px;color:rgba(245,240,232,.5);font-style:italic;margin-bottom:8px;}
  .side-menu-account-btns{display:flex;gap:8px;flex-wrap:wrap;}
  .sma-btn{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px;border:1px solid;cursor:pointer;background:none;transition:all .15s;}
  .sma-btn.gold{border-color:rgba(201,168,76,.3);color:var(--gold);}
  .sma-btn.gold:hover{background:rgba(201,168,76,.1);}
  .sma-btn.dim{border-color:rgba(245,240,232,.1);color:rgba(245,240,232,.3);}
  .sma-btn.dim:hover{border-color:rgba(245,240,232,.25);color:rgba(245,240,232,.5);}
  .sma-btn.red{border-color:rgba(139,58,42,.3);color:#cc7a7a;}
  .sma-btn.red:hover{background:rgba(139,58,42,.1);}
  /* ENTRIES ARCHIVE */
  .entries-group{margin-bottom:32px;}
  .entries-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(201,168,76,.15);margin-bottom:2px;cursor:pointer;user-select:none;}
  .entries-group-header:hover .entries-group-title{color:var(--gold-pale);}
  .entries-group-title{font-family:'Cinzel',serif;font-size:13px;color:var(--gold);letter-spacing:.08em;}
  .entries-group-meta{font-size:12px;color:rgba(245,240,232,.25);font-style:italic;display:flex;align-items:center;gap:12px;}
  .entries-group-toggle{font-size:14px;color:rgba(245,240,232,.2);transition:transform .2s;}
  .entries-group-toggle.collapsed{transform:rotate(-90deg);}
  .entries-group-body{overflow:hidden;transition:max-height .25s ease;}
  .entries-group-body.collapsed{max-height:0!important;}
  .entry-item{border-bottom:1px solid rgba(245,240,232,.06);padding:16px 0;display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start;cursor:pointer;transition:background .12s;}
  .entry-item:hover{background:rgba(245,240,232,.02);border-radius:4px;padding-left:4px;}
  .entries-empty{text-align:center;padding:48px 24px;color:rgba(245,240,232,.25);font-style:italic;font-size:16px;}
  .entries-stats{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px;}
  .entries-stat{text-align:center;}
  .entries-stat-val{font-family:'Cinzel',serif;font-size:20px;color:var(--gold);display:block;}
  .entries-stat-label{font-size:11px;color:rgba(245,240,232,.3);font-style:italic;}
  /* SETTINGS TOGGLES */
  .toggle-wrap{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;}
  .toggle-wrap input{opacity:0;width:0;height:0;}
  .toggle{position:absolute;inset:0;background:rgba(245,240,232,.1);border-radius:24px;cursor:pointer;transition:.2s;border:1px solid rgba(245,240,232,.15);}
  .toggle:before{content:'';position:absolute;width:18px;height:18px;left:2px;top:2px;background:rgba(245,240,232,.4);border-radius:50%;transition:.2s;}
  .toggle-wrap input:checked+.toggle{background:rgba(201,168,76,.25);border-color:rgba(201,168,76,.4);}
  .toggle-wrap input:checked+.toggle:before{transform:translateX(20px);background:var(--gold);}
  /* ICON PICKER */
  .icon-option{width:64px;height:64px;border-radius:12px;background:rgba(245,240,232,.03);border:1px solid rgba(245,240,232,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .15s;}
  .icon-option:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05);}
  .icon-option.selected{border-color:rgba(201,168,76,.6);background:rgba(201,168,76,.1);}
  .icon-option .icon-glyph{font-size:28px;line-height:1;}
  .icon-option .icon-label{font-family:'Cinzel',serif;font-size:8px;color:rgba(245,240,232,.3);letter-spacing:.05em;}

  /* CYCLE INTENTION */
  .intention-banner{background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.2);border-radius:8px;padding:18px 22px;margin-bottom:28px;display:flex;align-items:flex-start;gap:14px;position:relative;overflow:hidden;}
  .intention-banner::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;}
  .intention-moon-icon{font-size:28px;flex-shrink:0;line-height:1;margin-top:2px;}
  .intention-content{flex:1;}
  .intention-label{font-family:"Cinzel",serif;font-size:9px;letter-spacing:.15em;color:var(--gold);opacity:.6;text-transform:uppercase;margin-bottom:5px;}
  .intention-text{font-size:16px;color:rgba(245,240,232,.75);line-height:1.7;font-style:italic;}
  .intention-edit{font-family:"Cinzel",serif;font-size:9px;letter-spacing:.1em;color:rgba(245,240,232,.25);background:none;border:none;cursor:pointer;text-transform:uppercase;display:block;margin-top:8px;}
  .intention-edit:hover{color:rgba(201,168,76,.6);}
  /* TRANSIT ALERTS */
  .transit-alert{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(245,240,232,.05);}
  .transit-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
  .transit-dot.major{background:rgba(201,168,76,.8);box-shadow:0 0 6px rgba(201,168,76,.4);}
  .transit-dot.minor{background:rgba(245,240,232,.2);}
  .transit-title{font-family:"Cinzel",serif;font-size:11px;color:rgba(245,240,232,.6);letter-spacing:.05em;margin-bottom:3px;}
  .transit-desc{font-size:13px;color:rgba(245,240,232,.4);line-height:1.6;font-style:italic;}
  /* EXPORT */
  .export-btn{font-family:"Cinzel",serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:8px 18px;background:transparent;border:1px solid rgba(245,240,232,.15);border-radius:4px;color:rgba(245,240,232,.4);cursor:pointer;transition:all .2s;}
  .export-btn:hover{border-color:rgba(201,168,76,.3);color:var(--gold);}
  /* LOADING SCREEN */
  .loading-screen{position:fixed;inset:0;background:#0a0806;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:opacity .6s ease, visibility .6s ease;}
  .loading-screen.fade-out{opacity:0;visibility:hidden;}
  .loading-moon-cycle{position:relative;width:80px;height:80px;filter:drop-shadow(0 0 20px rgba(201,168,76,.35));}
  .loading-shadow{animation:lunarCycle 3.2s ease-in-out infinite;}
  @keyframes lunarCycle{
    0%{cx:4;r:36;}      /* new moon — shadow covers disc */
    12.5%{cx:20;r:30;}  /* waxing crescent */
    25%{cx:40;r:20;}     /* first quarter */
    37.5%{cx:55;r:14;}   /* waxing gibbous */
    50%{cx:80;r:36;}     /* full moon — shadow off-disc */
    62.5%{cx:55;r:14;}   /* waning gibbous (mirror) */
    75%{cx:40;r:20;}     /* last quarter */
    87.5%{cx:20;r:30;}   /* waning crescent */
    100%{cx:4;r:36;}     /* back to new */
  }
  .loading-phase-dots{display:flex;gap:8px;}
  .phase-dot{width:6px;height:6px;border-radius:50%;background:rgba(201,168,76,.15);animation:dotPulse 3.2s ease-in-out infinite;}
  .phase-dot{animation-delay:calc(var(--i) * 0.4s);}
  @keyframes dotPulse{
    0%,100%{background:rgba(201,168,76,.15);transform:scale(1);}
    12.5%{background:rgba(201,168,76,.8);transform:scale(1.3);}
    25%{background:rgba(201,168,76,.15);transform:scale(1);}
  }
  .loading-text{font-family:"Cinzel",serif;font-size:14px;letter-spacing:.2em;color:rgba(201,168,76,.5);text-transform:uppercase;}

  /* LANDING */
  .landing{position:fixed;inset:0;background:#0a0806;z-index:400;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;}
  .landing.hidden{display:none;}
  .landing-moon{font-size:72px;margin-bottom:24px;animation:moonPulse 3s ease-in-out infinite;}
  .landing-title{font-family:"Cinzel",serif;font-size:clamp(32px,6vw,56px);color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;text-shadow:0 0 40px rgba(201,168,76,.3);}
  .landing-sub{font-size:18px;color:rgba(245,240,232,.5);font-style:italic;max-width:400px;line-height:1.7;margin-bottom:40px;}
  .landing-features{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin-bottom:40px;}
  .landing-feature{font-size:13px;color:rgba(245,240,232,.35);display:flex;align-items:center;gap:6px;}
  .landing-cta{font-family:"Cinzel",serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:14px 36px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.4);border-radius:4px;color:var(--gold);cursor:pointer;transition:all .2s;}
  .landing-cta:hover{background:rgba(201,168,76,.2);box-shadow:0 0 30px rgba(201,168,76,.15);}

  .reading-paywall{position:relative;margin-top:-60px;padding-top:60px;pointer-events:auto;}
  .reading-paywall-inner{background:linear-gradient(to bottom,rgba(8,6,4,0) 0%,rgba(8,6,4,.97) 25%);padding:60px 20px 24px;text-align:center;border-radius:0 0 8px 8px;}
  .reading-paywall-icon{font-size:20px;color:rgba(201,168,76,.55);margin-bottom:8px;}
  .reading-paywall-streak{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.12em;color:rgba(201,168,76,.35);margin-bottom:10px;text-transform:uppercase;}
  .reading-paywall-title{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.15em;color:rgba(245,240,232,.8);margin-bottom:8px;text-transform:uppercase;}
  .reading-paywall-sub{font-size:13px;color:rgba(245,240,232,.38);font-style:italic;line-height:1.7;margin-bottom:16px;max-width:280px;margin-left:auto;margin-right:auto;}
  .reading-paywall-btn{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:11px 24px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.4);border-radius:3px;color:var(--gold);cursor:pointer;transition:all .2s;display:inline-block;margin-bottom:7px;}
  .reading-paywall-btn:hover{background:rgba(201,168,76,.2);}
  .reading-paywall-reset{font-size:11px;color:rgba(245,240,232,.18);font-style:italic;}
  .tier-badge{display:inline-flex;align-items:center;gap:5px;font-family:'Cinzel',serif;font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:20px;border:1px solid;}
  .tier-badge.free{border-color:rgba(245,240,232,.15);color:rgba(245,240,232,.3);}
  .tier-badge.plus{border-color:rgba(201,168,76,.4);color:var(--gold);background:rgba(201,168,76,.07);}
  .tier-badge.pro{border-color:rgba(160,100,240,.4);color:rgba(200,160,255,.9);background:rgba(140,80,220,.08);}
  .subscriber-card-sidemenu{display:none;margin-bottom:4px;padding:12px 14px;border-radius:8px;background:rgba(201,168,76,.05);border:1px solid rgba(201,168,76,.18);position:relative;overflow:hidden;}
  .subscriber-card-sidemenu::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);}
  .subscriber-card-sidemenu-top{display:flex;align-items:center;gap:10px;}
  .subscriber-card-sidemenu-icon{font-size:17px;width:24px;text-align:center;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(201,168,76,.5));}
  .subscriber-card-sidemenu-label{font-size:15px;color:var(--gold);font-family:'EB Garamond',serif;}
  .subscriber-card-sidemenu-tier{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:2px 9px;border-radius:20px;border:1px solid rgba(201,168,76,.35);color:var(--gold);background:rgba(201,168,76,.08);margin-left:auto;}
  .subscriber-card-sidemenu-sub{font-size:11px;color:rgba(245,240,232,.28);font-style:italic;margin-top:4px;padding-left:34px;}
  .upgrade-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:400;align-items:center;justify-content:center;padding:16px;}
  .upgrade-modal-overlay.open{display:flex;}
  .upgrade-modal{background:#12100d;border:1px solid rgba(201,168,76,.25);border-radius:14px;padding:32px 28px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;position:relative;}
  .upgrade-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6;}
  .upgrade-modal-title{font-family:'Cinzel',serif;font-size:20px;color:var(--gold);letter-spacing:.1em;margin-bottom:6px;}
  .upgrade-modal-sub{font-size:15px;color:rgba(245,240,232,.45);font-style:italic;margin-bottom:24px;line-height:1.6;}
  .plan-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
  @media(max-width:480px){.plan-cards{grid-template-columns:1fr;}}
  .plan-card{background:rgba(245,240,232,.03);border:1px solid rgba(245,240,232,.1);border-radius:10px;padding:20px;position:relative;overflow:hidden;}
  .plan-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);}
  .plan-card.pro-card{border-color:rgba(140,80,220,.25);}
  .plan-card.pro-card::before{background:linear-gradient(90deg,transparent,rgba(160,100,240,.5),transparent);}
  .plan-name{font-family:'Cinzel',serif;font-size:14px;letter-spacing:.1em;color:rgba(245,240,232,.85);margin-bottom:4px;}
  .plan-price{font-family:'Cinzel',serif;font-size:26px;color:var(--gold);line-height:1;margin-bottom:2px;}
  .plan-card.pro-card .plan-price{color:rgba(200,160,255,.9);}
  .plan-price-sub{font-size:11px;color:rgba(245,240,232,.3);margin-bottom:14px;font-style:italic;}
  .plan-features{list-style:none;padding:0;margin:0;}
  .plan-features li{font-size:13px;color:rgba(245,240,232,.55);padding:4px 0;display:flex;gap:7px;line-height:1.4;}
  .plan-features li::before{content:'✦';color:rgba(201,168,76,.5);font-size:9px;flex-shrink:0;margin-top:3px;}
  .plan-card.pro-card .plan-features li::before{color:rgba(160,100,240,.6);}
  .plan-cta{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;width:100%;padding:11px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.35);border-radius:4px;color:var(--gold);cursor:pointer;margin-top:14px;transition:all .2s;}
  .plan-cta:hover{background:rgba(201,168,76,.18);}
  .plan-card.pro-card .plan-cta{background:rgba(140,80,220,.1);border-color:rgba(160,100,240,.35);color:rgba(200,160,255,.9);}
  .billing-toggle{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:22px;}
  .billing-toggle-btn{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;padding:6px 18px;background:none;border:1px solid rgba(245,240,232,.1);border-radius:20px;color:rgba(245,240,232,.35);cursor:pointer;transition:all .15s;text-transform:uppercase;}
  .billing-toggle-btn.active{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.3);color:var(--gold);}
  .save-badge{background:rgba(60,140,80,.15);border:1px solid rgba(60,140,80,.3);color:#7acc8a;font-size:10px;padding:2px 8px;border-radius:20px;}
  .upgrade-close{position:absolute;top:16px;right:16px;background:none;border:none;color:rgba(245,240,232,.3);font-size:20px;cursor:pointer;}
  .welcome-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:450;align-items:center;justify-content:center;padding:16px;}
  .welcome-overlay.open{display:flex;}
  .welcome-modal{background:#0f0c09;border:1px solid rgba(201,168,76,.3);border-radius:16px;padding:40px 32px;max-width:420px;width:100%;text-align:center;position:relative;}
  .welcome-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
  .welcome-moon{font-size:52px;margin-bottom:14px;display:block;animation:moonPulse 3s ease-in-out infinite;}
  .welcome-title{font-family:'Cinzel',serif;font-size:22px;color:var(--gold);letter-spacing:.1em;margin-bottom:10px;}
  .welcome-sub{font-size:16px;color:rgba(245,240,232,.5);font-style:italic;line-height:1.7;margin-bottom:22px;}
  .welcome-facts{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;text-align:left;}
  .welcome-fact{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:rgba(245,240,232,.03);border:1px solid rgba(201,168,76,.1);border-radius:8px;}
  .welcome-fact-icon{font-size:17px;flex-shrink:0;}
  .welcome-fact-text{font-size:14px;color:rgba(245,240,232,.5);line-height:1.5;}
  .welcome-fact-text strong{color:rgba(245,240,232,.8);font-weight:400;}
  .welcome-cta{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding:13px 36px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.35);border-radius:4px;color:var(--gold);cursor:pointer;transition:all .2s;width:100%;}
  .welcome-cta:hover{background:rgba(201,168,76,.2);}
  .bc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;}
  @media(max-width:580px){.bc-grid{grid-template-columns:repeat(2,1fr);}}
  .bc-cell{background:rgba(245,240,232,.02);border:1px solid rgba(201,168,76,.1);border-radius:6px;padding:10px 12px;}
  .bc-cell.bc-hl{border-color:rgba(201,168,76,.28);background:rgba(201,168,76,.04);}
  .bc-planet{font-size:16px;margin-bottom:3px;}
  .bc-label{font-family:'Cinzel',serif;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,232,.28);}
  .bc-sign{font-size:14px;color:rgba(245,240,232,.82);margin-top:4px;}
  .bc-note{font-size:11px;color:rgba(245,240,232,.3);margin-top:2px;font-style:italic;}
  .bc-note .exalt{color:rgba(100,210,120,.65);}
  .bc-note .debil{color:rgba(210,100,100,.55);}
  .houses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px;}
  @media(max-width:580px){.houses-grid{grid-template-columns:repeat(3,1fr);}}
  .house-cell{background:rgba(245,240,232,.015);border:1px solid rgba(245,240,232,.05);border-radius:4px;padding:8px;text-align:center;}
  .house-num{font-family:'Cinzel',serif;font-size:8px;letter-spacing:.08em;color:rgba(245,240,232,.2);margin-bottom:3px;}
  .house-sign{font-size:13px;color:rgba(245,240,232,.65);}
  .house-meaning{font-size:10px;color:rgba(245,240,232,.2);margin-top:2px;line-height:1.3;}
  .house-planets{font-size:11px;color:rgba(201,168,76,.5);margin-top:2px;}
  /* Calendar events card */
  .cal-card{background:rgba(245,240,232,.02);border:1px solid rgba(245,240,232,.07);border-radius:8px;padding:14px 16px;margin-bottom:12px;}
  .cal-card-title{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:10px;}
  .cal-event{display:flex;align-items:baseline;gap:10px;padding:4px 0;border-bottom:1px solid rgba(245,240,232,.04);}
  .cal-event:last-child{border-bottom:none;}
  .cal-time{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.06em;color:rgba(201,168,76,.5);min-width:52px;flex-shrink:0;}
  .cal-title{font-size:14px;color:rgba(245,240,232,.6);line-height:1.4;}
  .cal-allday{font-size:10px;color:rgba(120,200,160,.5);letter-spacing:.08em;text-transform:uppercase;}
  .cal-meta{font-size:11px;color:rgba(245,240,232,.15);font-style:italic;margin-top:6px;}
  /* Upgrade success banner */
  .upgrade-success-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:500;padding:calc(14px + var(--sat)) 20px 14px;background:linear-gradient(90deg,rgba(201,168,76,.15),rgba(201,168,76,.08));border-bottom:1px solid rgba(201,168,76,.3);text-align:center;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.15em;color:var(--gold);text-transform:uppercase;}
  .upgrade-success-banner.show{display:block;animation:slideDown .4s ease;}
  @keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}

  /* ═══ UI OVERHAUL: SHIMMER LOADING ═══ */
  @keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
  .skeleton{background:linear-gradient(90deg,rgba(245,240,232,.03) 25%,rgba(245,240,232,.06) 50%,rgba(245,240,232,.03) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:8px;}
  .skeleton-line{height:16px;margin-bottom:10px;border-radius:6px;}
  .skeleton-line.short{width:60%;}
  .skeleton-line.medium{width:85%;}

  /* ═══ UI OVERHAUL: STAGGER ENTRANCE ═══ */
  @keyframes cardEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
  .view.active .astro-card,.view.active .reading-card,.view.active .pattern-chart,.view.active .today-section{animation:cardEnter .5s var(--spring) both;}
  .view.active *:nth-child(1){animation-delay:0ms;}
  .view.active *:nth-child(2){animation-delay:50ms;}
  .view.active *:nth-child(3){animation-delay:100ms;}
  .view.active *:nth-child(4){animation-delay:150ms;}
  .view.active *:nth-child(5){animation-delay:200ms;}
  .view.active *:nth-child(6){animation-delay:250ms;}

  /* ═══ UI OVERHAUL: AMBIENT GLOW ═══ */
  .glow-gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 40px rgba(201,168,76,.06),0 0 80px rgba(201,168,76,.03),0 4px 24px rgba(0,0,0,.25)!important;}
  .glow-purple{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 40px rgba(140,100,220,.06),0 0 80px rgba(140,100,220,.03),0 4px 24px rgba(0,0,0,.25)!important;}

  /* ═══ UI OVERHAUL: OBSERVATION CARDS GLASS ═══ */
  .pattern-obs{border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}

  /* ═══ UI OVERHAUL: BORDER-RADIUS EVERYWHERE ═══ */
  .ob-box{border-radius:20px!important;}
  .journal-text{border-radius:12px!important;}
  .followup-input{border-radius:12px!important;}
  .people-card{border-radius:14px!important;}
  .sw-card{border-radius:14px!important;}
  .fday{border-radius:14px!important;}
  .entry-submitted-card{border-radius:14px!important;}
  .share-preview{border-radius:20px!important;}
  .eve-card{border-radius:14px!important;}
  .plan-card{border-radius:14px!important;}
  .upgrade-modal{border-radius:20px!important;}
  .wt-card{border-radius:16px!important;}
  .forecast-legend{border-radius:12px!important;}
  .cal-card{border-radius:12px!important;}
  .today-section-body{border-radius:0 0 14px 14px!important;}
  .today-section-header{border-radius:14px 14px 0 0!important;}
  .bc-cell{border-radius:12px!important;}
  .house-cell{border-radius:10px!important;}

  /* ═══ UI OVERHAUL ═══ */
  .side-menu-item{transition:all .2s var(--spring)!important;}
  .side-menu-item:active{transform:scale(0.97);}
  .reading-refresh{transition:color .2s var(--spring)!important;}

  /* ═══ MOBILE SCROLL PERFORMANCE ═══ */
  .starfield{will-change:auto;transform:translateZ(0);}
  .app-shell{-webkit-overflow-scrolling:touch;}
  @media(max-width:768px){
    .astro-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
    .nav-tabs{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
    .starfield::after{display:none;}
  }
  /* Feedback FAB */
  .feedback-fab{position:fixed;bottom:calc(148px + var(--sab));right:calc(16px + var(--sar));z-index:290;width:42px;height:42px;border-radius:50%;border:1px solid rgba(201,168,76,.2);background:rgba(20,17,12,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:rgba(201,168,76,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.3);transition:all .2s ease;}
  .feedback-fab:hover{border-color:rgba(201,168,76,.4);color:var(--gold);box-shadow:0 4px 24px rgba(201,168,76,.1);}
  /* Feedback modal elements */
  .feedback-type-toggle{display:flex;gap:0;margin-bottom:16px;border:1px solid rgba(201,168,76,.15);border-radius:8px;overflow:hidden;}
  .feedback-type-btn{flex:1;padding:10px;font-family:'EB Garamond',serif;font-size:14px;background:none;border:none;color:rgba(245,240,232,.4);cursor:pointer;transition:all .15s;}
  .feedback-type-btn.active{background:rgba(201,168,76,.12);color:var(--gold-pale);}
  .feedback-type-btn:hover:not(.active){background:rgba(245,240,232,.03);}
  .feedback-textarea{width:100%;min-height:120px;background:rgba(245,240,232,.04);border:1px solid rgba(201,168,76,.12);border-radius:10px;padding:14px;font-family:'EB Garamond',serif;font-size:15px;color:rgba(245,240,232,.75);resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box;}
  .feedback-textarea:focus{border-color:rgba(201,168,76,.35);}
  .feedback-textarea::placeholder{color:rgba(245,240,232,.2);font-style:italic;}
  .feedback-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;}
  .feedback-cancel{background:none;border:1px solid rgba(245,240,232,.1);border-radius:8px;padding:10px 20px;color:rgba(245,240,232,.4);cursor:pointer;font-family:'EB Garamond',serif;font-size:14px;transition:all .15s;}
  .feedback-cancel:hover{border-color:rgba(245,240,232,.25);color:rgba(245,240,232,.6);}
  .feedback-submit{background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);border-radius:8px;padding:10px 24px;color:var(--gold-pale);cursor:pointer;font-family:'EB Garamond',serif;font-size:14px;letter-spacing:.04em;transition:all .15s;}
  .feedback-submit:hover{background:rgba(201,168,76,.2);border-color:rgba(201,168,76,.5);}
  .feedback-submit:disabled{opacity:.4;cursor:not-allowed;}
  .feedback-status{text-align:center;margin-top:12px;font-size:13px;color:rgba(245,240,232,.5);font-style:italic;min-height:18px;}
