
:root{--bg:#0d1b2a;--sur:#1a2940;--brd:#263d5a;--gold:#c9a84c;--glt:#e2c278;
      --txt:#d4dde8;--dim:#8fa4bb;--pos:#3dba7a;--neg:#e05555;--neu:#8fa4bb}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:30px;scroll-padding-top:100px}
@media(max-width:640px){
  html{font-size:16px;scroll-padding-top:75px}
}
body{background:var(--bg);color:var(--txt);font-family:Georgia,'Times New Roman',serif;
     font-size:1rem;line-height:2.0}

/* ── Header Wrapper (contains nav + jump-nav) ── */
.header-wrap{position:sticky;top:0;z-index:100}

/* ── Nav ── */
nav{background:var(--sur);border-bottom:2px solid var(--gold);padding:1rem 2rem;
    display:flex;justify-content:space-between;align-items:center}
.brand{font-size:1.15rem;font-weight:bold;color:var(--gold);font-family:sans-serif;letter-spacing:.05em}
.nav-r{display:flex;gap:1.5rem;align-items:center;font-family:sans-serif;font-size:.9rem}
.nav-r span{color:var(--dim)}.nav-r a{color:var(--glt);text-decoration:none}
.nav-r a:hover{text-decoration:underline}
@media(max-width:640px){
  nav{padding:.6rem 1rem}
  .brand{font-size:1rem}
  .nav-r{gap:.75rem;font-size:.8rem}
  .nav-r span{display:none}
}

/* ── Hero: date + quote ── */
/* ── Hero: date + quote ── */
.hero{text-align:center;padding:2vh 2rem 2.5vh;
      display:flex;flex-direction:column;justify-content:center;align-items:center;
      background:linear-gradient(180deg,#070f18 0%,var(--bg) 100%)}
.hero-date{font-family:sans-serif;font-size:clamp(.55rem,.9vw,.78rem);font-weight:700;
           letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.hero-quote{font-size:clamp(.85rem,1.8vw,1.75rem);line-height:1.5;color:var(--glt);
            font-style:italic;max-width:960px;margin:0 auto .5rem;
            position:relative;padding:0 2rem}
.hero-quote::before{content:'"';position:absolute;left:0;top:-.25rem;
                    font-size:clamp(1.5rem,3vw,3.5rem);color:var(--gold);
                    opacity:.45;line-height:1;font-style:normal}
.hero-quote::after{content:'"';position:absolute;right:0;bottom:-.6rem;
                   font-size:clamp(1.5rem,3vw,3.5rem);color:var(--gold);
                   opacity:.45;line-height:1;font-style:normal}
.hero-author{font-family:sans-serif;font-size:clamp(.7rem,1.2vw,.9rem);
             color:var(--dim);letter-spacing:.06em;margin-bottom:.2rem}
.hero-context{font-family:sans-serif;font-size:clamp(.65rem,1vw,.82rem);color:var(--dim);
              font-style:normal;max-width:760px;margin:.2rem auto 0;line-height:1.5}
.hero-rule{width:48px;height:2px;background:var(--gold);
           margin:.6rem auto 0;opacity:.4;border-radius:1px}
@media(max-width:640px){
  .hero{padding:1.2vh .75rem 1.5vh}
  .hero-context{display:none}
  .hero-rule{display:none}
  .hero-quote{padding:0 1rem}
  .hero-quote::before,.hero-quote::after{font-size:1.2rem;opacity:.3}
}

/* ── Content ── */
.container{max-width:100%;margin:0;padding:1.5rem 0.5rem}
.sec{background:var(--sur);border:1px solid var(--brd);border-radius:8px;
     padding:1.5rem 1.5rem;margin-bottom:1rem;overflow-wrap:break-word;word-wrap:break-word;min-width:0;max-width:100%;box-sizing:border-box}

.lbl{font-family:sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.15em;
     text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--brd);
     padding-bottom:.6rem;margin-bottom:1.5rem}
.sec p{margin-bottom:1.2rem;font-size:1rem}

/* ── Stock table ── */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-family:'Courier New',monospace;font-size:1rem}
th{background:var(--bg);color:var(--gold);text-align:left;padding:.6rem .85rem;
   border-bottom:1px solid var(--gold);font-family:sans-serif;font-size:.82rem;
   letter-spacing:.05em;text-transform:uppercase}
td{padding:.6rem .85rem;border-bottom:1px solid var(--brd);white-space:nowrap}
tr:hover td{background:rgba(201,168,76,.06)}
@media(max-width:640px){td{white-space:normal;word-wrap:break-word}}
.sym{color:var(--glt);font-weight:bold}.n{text-align:right}
.pos{color:var(--pos)}.neg{color:var(--neg)}.neu{color:var(--neu)}
small{color:var(--dim);font-size:.85rem}

/* ── Weather ── */
.wx-grid{display:grid;grid-template-columns:1fr 2fr;gap:2rem;max-width:100%;min-width:0}
.wx-fc{min-width:0}
@media(max-width:900px){.container{padding:1.5rem 2rem}}
@media(max-width:640px){.container{padding:1rem 1rem}.sec{padding:1.5rem 1.2rem}}
@media(max-width:640px){.wx-grid{grid-template-columns:1fr;display:block}}
@media(max-width:640px){.wx-fc{max-width:100%;overflow-x:auto;min-width:0}}
@media(max-width:640px){.wx-fc pre{white-space:pre-wrap;font-size:.8rem;max-width:100%;overflow-wrap:anywhere}}
.wx-temp{font-size:3.4rem;font-weight:bold;color:var(--gold);font-family:sans-serif}
.wx-desc{font-size:1.2rem;margin:.35rem 0}
.wx-meta{color:var(--dim);font-size:.95rem;font-family:sans-serif}
.wx-fc h4{color:var(--gold);font-family:sans-serif;font-size:.82rem;
          letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}
.wx-fc pre{font-family:'Courier New',monospace;font-size:.92rem;
           color:var(--dim);white-space:pre-wrap;line-height:1.85;word-wrap:break-word;overflow-wrap:break-word;overflow-x:auto;max-width:100%}
@media(max-width:640px){
  .wx-fc{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .wx-fc pre{white-space:pre-wrap;font-size:.8rem;word-break:break-all}
}

/* ── Philosophy ── */
.phil-title{font-size:1.3rem;font-weight:bold;color:var(--glt);
            font-family:sans-serif;margin-bottom:1.1rem}
.sep-link{font-family:sans-serif;font-size:.95rem;color:var(--dim);
          border-top:1px solid var(--brd);padding-top:.9rem;margin-top:1.4rem}
.sep-link a{color:var(--gold);text-decoration:none}
.sep-link a:hover{text-decoration:underline}

/* ── Technology bullets ── */
.tech-list{padding:0;list-style:none}
.tech-list li{padding:.85rem 0 .85rem 1.4rem;border-bottom:1px solid var(--brd);
              font-size:1rem;line-height:1.85;position:relative}
.tech-list li:last-child{border-bottom:none}
.tech-list li::before{content:'›';position:absolute;left:0;color:var(--gold);
                       font-size:1.2rem;font-weight:bold;top:.8rem}
.src-link{font-family:sans-serif;font-size:.85rem;color:var(--gold);
          text-decoration:none;white-space:nowrap;margin-left:.4rem;
          border:1px solid rgba(201,168,76,.3);border-radius:3px;
          padding:.1rem .4rem}
.src-link:hover{background:rgba(201,168,76,.12)}

/* ── News headlines ── */
.news-hed{font-weight:bold;font-size:1.05rem;margin-bottom:.4rem;margin-top:.2rem;font-family:sans-serif}
.news-hed a{color:var(--glt);text-decoration:none}
.news-hed a:hover{text-decoration:underline;color:var(--gold)}
.news-divider{border-top:1px solid var(--brd);margin:1.4rem 0}
.news-divider:last-child{display:none}

/* ── Shared bullet lists (markets + sports) ── */
.bullets-list{padding:0;list-style:none;margin:0}
.bullets-list li{padding:.75rem 0 .75rem 1.5rem;border-bottom:1px solid var(--brd);
                 font-size:1rem;line-height:1.85;position:relative}
.bullets-list li:last-child{border-bottom:none}
.bullets-list li::before{content:'›';position:absolute;left:0;color:var(--gold);
                          font-size:1.2rem;font-weight:bold;top:.7rem}

/* ── Playoff Games ── */
.playoff-game{word-wrap:break-word;overflow-wrap:break-word}
.game-header{font-weight:bold;font-size:1.1rem;margin-bottom:.5rem}
.game-leaders{padding-left:.5rem}
.leader{font-size:.95rem;padding:.15rem 0;word-wrap:break-word;overflow-wrap:break-word}

/* ── Sports sub-headings ── */
.sports-sub{font-family:sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.1em;
            text-transform:uppercase;color:var(--dim);margin:1.4rem 0 .6rem}
.sports-sub:first-child{margin-top:0}

/* ── NBA Standings ── */
.stand-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;min-width:0}
@media(max-width:640px){.stand-grid{grid-template-columns:1fr;display:block;min-width:0}}
.stand-wrap{min-width:0;overflow-x:auto}
@media(max-width:640px){.stand-wrap{overflow-x:auto;margin-bottom:1rem}}
.stand-wrap{}
.stand-title{font-family:sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.1em;
             text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.stand-tbl{width:100%;border-collapse:collapse;font-family:'Courier New',monospace;font-size:.92rem;word-wrap:break-word;table-layout:fixed}
.stand-tbl th:nth-child(1),.stand-tbl td:nth-child(1){width:35%}
.stand-tbl th:nth-child(2),.stand-tbl td:nth-child(2){width:20%}
.stand-tbl th:nth-child(3),.stand-tbl td:nth-child(3){width:45%}
@media(max-width:640px){.stand-tbl{font-size:.75rem}.stand-tbl th,.stand-tbl td{padding:.25rem .3rem;word-wrap:break-word;overflow-wrap:break-word}}
.stand-tbl th{background:var(--bg);color:var(--gold);text-align:left;padding:.4rem .6rem;
              border-bottom:1px solid var(--gold);font-family:sans-serif;font-size:.78rem;
              letter-spacing:.05em;text-transform:uppercase}
@media(max-width:640px){.stand-tbl th{font-size:.7rem}}
.stand-tbl td{padding:.4rem .6rem;border-bottom:1px solid var(--brd);word-wrap:break-word}
.stand-tbl .rank{color:var(--dim);font-size:.8rem}
.stand-tbl .tname{color:var(--txt)}
.stand-tbl .n{text-align:right}
.tor-row td{color:var(--gold) !important;font-weight:bold}

/* ── Jump Navigation ── */
.jump-nav{background:var(--sur);border-bottom:1px solid var(--brd);padding:.35rem 0}
.jump-inner{display:flex;gap:.15rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 .75rem;scrollbar-width:none}
.jump-inner::-webkit-scrollbar{display:none}
.jump-inner a{flex:0 0 auto;scroll-snap-align:start;padding:.35rem .7rem;border-radius:4px;color:var(--dim);font-family:sans-serif;font-size:.72rem;font-weight:500;text-decoration:none;white-space:nowrap;letter-spacing:.02em;border:1px solid transparent;transition:all .15s ease}
.jump-inner a:hover{color:var(--glt);border-color:var(--brd);background:rgba(201,168,76,.08)}
.jump-inner a.active{color:var(--gold);border-color:var(--gold);background:rgba(201,168,76,.15)}
@media(max-width:640px){
  .jump-nav{padding:.25rem 0}
  .jump-inner{padding:0 .5rem;gap:.1rem}
  .jump-inner a{font-size:.68rem;padding:.3rem .55rem}
}

/* ── Section Anchors ── */
/* scroll-padding-top on html handles offset */
.sec[id]{}
@media(max-width:640px){
  .sec[id]{}
}

footer{text-align:center;padding:2rem;color:var(--dim);font-size:.9rem;font-family:sans-serif}

/* ── Personal Dashboard Section ── */
.personal-dashboard{background:var(--sur);border:1px solid var(--brd);border-radius:8px;padding:1.5rem;margin:1.5rem 0}
.personal-dashboard .section-title{font-size:1.4rem;color:var(--gold);margin-bottom:1rem;border-bottom:1px solid var(--brd);padding-bottom:.5rem}

/* Calendar */
.dash-section{margin-bottom:1.5rem}
.dash-section:last-child{margin-bottom:0}
.dash-section h3{font-family:sans-serif;font-size:.9rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}
.calendar-list{list-style:none;padding:0}
.calendar-list li{padding:.4rem 0;border-bottom:1px solid var(--brd);font-size:.95rem}
.calendar-list li:last-child{border-bottom:none}
.cal-time{font-family:sans-serif;font-size:.75rem;color:var(--gold);background:rgba(201,168,76,.15);padding:.15rem .4rem;border-radius:3px;margin-right:.5rem;min-width:60px;display:inline-block;text-align:center}

/* Weekly Tasks */
.weekly-tasks{display:flex;flex-direction:column;gap:1rem}
.day-section{background:var(--bg);border:1px solid var(--brd);border-radius:6px;padding:1rem}
.day-header{font-family:sans-serif;font-size:.8rem;color:var(--dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.task-list{list-style:none;padding:0;margin:0}
.task-list li{padding:.35rem 0;font-size:.9rem}
.task-list.pending li{color:var(--txt)}
.task-list.completed li{color:var(--dim);text-decoration:line-through;opacity:.7}
.task-done::before{content:'☑ ';color:var(--pos)}
.task-pending::before{content:'☐ ';color:var(--dim)}
.empty,.empty-day{color:var(--dim);font-style:italic;padding:.5rem 0}

/* Habits Table */
.habits-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.habits-table{width:100%;border-collapse:collapse;font-size:.85rem}
.habits-table th,.habits-table td{padding:.6rem .5rem;text-align:center;border:1px solid var(--brd)}
.habits-table th{background:var(--bg);font-family:sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}
.habits-table td{background:var(--bg)}
.habit-name{text-align:left !important;font-weight:500}
.habit-target,.done-col{color:var(--gold);font-weight:500}
.day-col{width:40px;font-size:.65rem}
.day-cell{font-size:1rem}
.day-cell.done{color:var(--pos)}

@media(max-width:640px){
  .personal-dashboard{padding:1rem}
  .day-section{padding:.75rem}
  .habits-table{font-size:.75rem}
  .habits-table th,.habits-table td{padding:.4rem .3rem}
}
