:root{
  --bg:#faf8f5; --card:#ffffff; --ink:#2b2b2b; --muted:#8a8378; --line:#e7e1d8;
  --kids:#c98a5e; --home:#6b8f71; --me:#8b6bb0; --study:#3f7ea6;
  --kids-bg:#f7e9dd; --home-bg:#e4ede4; --me-bg:#ece4f3; --study-bg:#dcebf3;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;padding:0 0 60px;}
.nav{max-width:900px;margin:0 auto;padding:20px 16px 0;font-size:0.85rem;}
.nav a{color:var(--muted);text-decoration:none;}
.nav a:hover{color:var(--ink);}
.wrap{max-width:900px;margin:0 auto;padding:10px 16px 0;}
h1{text-align:center;margin:14px 0 4px;font-size:1.7rem;}
.sub{text-align:center;color:var(--muted);margin-bottom:26px;font-size:0.95rem;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:680px){.grid3{grid-template-columns:1fr;}}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 18px;text-decoration:none;color:var(--ink);transition:transform .15s;}
.tile:hover{transform:translateY(-2px);}
.tile .emoji{font-size:1.8rem;display:block;margin-bottom:8px;}
.tile h3{margin:0 0 6px;font-size:1.05rem;}
.tile p{margin:0;color:var(--muted);font-size:0.85rem;}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px;}
.legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;font-size:0.82rem;}
.legend span{display:flex;align-items:center;gap:5px;}
.legend i{width:10px;height:10px;border-radius:50%;display:inline-block;}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;overflow-x:auto;}
.dow{text-align:center;font-weight:700;font-size:0.8rem;color:var(--muted);padding:4px 0;}
.day{background:var(--card);border:1px solid var(--line);border-radius:10px;min-height:96px;padding:6px;font-size:0.72rem;}
.day.empty{background:transparent;border:none;}
.daynum{font-weight:700;font-size:0.85rem;margin-bottom:4px;}
.tag{border-radius:6px;padding:2px 5px;margin-bottom:3px;line-height:1.3;}
.tag.kids{background:var(--kids-bg);color:var(--kids);}
.tag.home{background:var(--home-bg);color:var(--home);}
.tag.me{background:var(--me-bg);color:var(--me);}
.tag.study{background:var(--study-bg);color:var(--study);}
.note{background:var(--card);border:1px dashed var(--line);border-radius:10px;padding:14px 16px;font-size:0.88rem;color:var(--muted);margin-top:20px;}
.note b{color:var(--ink);}
ol.projects{padding-inline-start:22px;}
ol.projects li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px;list-style:none;display:flex;gap:10px;align-items:baseline;}
ol.projects li b{color:var(--home);min-width:20px;}
.cat-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.time{font-size:0.78rem;color:var(--muted);}
.fixed{color:var(--muted);font-size:0.9rem;margin:0;}
label{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:0.92rem;}
input[type=checkbox]{width:17px;height:17px;accent-color:var(--home);flex-shrink:0;}
@media (max-width:640px){.day{min-height:80px;font-size:0.65rem;}}

/* ---- Landing page (v3 - editorial, coral/sage) ---- */
:root{
  --a-bg:#fbf5ef; --a-ink:#2e2a26; --a-muted:#8a7f76;
  --a-coral:#e2735d; --a-coral-soft:#f6d9d1;
  --a-sage:#7f9e78; --a-sage-soft:#dbe6d6;
}
body.landing{background:var(--a-bg);font-family:'Rubik',system-ui,sans-serif;margin:0;color:var(--a-ink);overflow-x:hidden;}
.landing .topnav{max-width:1100px;margin:0 auto;padding:26px 24px 0;display:flex;align-items:center;justify-content:space-between;font-size:0.82rem;}
.landing .topnav a{color:var(--a-ink);text-decoration:none;margin-inline-start:22px;}
.landing .topnav a:first-child{margin-inline-start:0;}
.landing .wordmark{font-family:'Frank Ruhl Libre',Georgia,serif;font-size:1.3rem;letter-spacing:.06em;}

.hero-split{position:relative;max-width:720px;margin:0 auto;padding:80px 24px 30px;text-align:center;}
.blob{position:absolute;border-radius:47% 53% 61% 39% / 45% 40% 60% 55%;filter:blur(2px);z-index:0;opacity:.55;}
.blob-1{width:340px;height:340px;background:var(--a-coral-soft);top:-60px;right:-100px;}
.blob-2{width:220px;height:220px;background:var(--a-sage-soft);bottom:-30px;left:-60px;}

.hero-text{position:relative;z-index:1;}
.eyebrow{display:block;font-size:0.8rem;letter-spacing:.08em;color:var(--a-sage);margin-bottom:18px;}
.hero-text h1{font-family:'Frank Ruhl Libre',Georgia,serif;font-size:3.4rem;line-height:1.15;margin:0;font-weight:600;}
.hero-text h1 .c{color:var(--a-coral);}
.hero-text h1 .s{color:var(--a-sage);font-style:italic;font-weight:500;}
.underline{width:90px;height:2px;background:var(--a-coral);margin:20px auto 22px;}
.hero-text p{max-width:420px;margin:0 auto 26px;color:var(--a-muted);line-height:1.75;font-size:0.98rem;}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--a-coral);color:#fff;text-decoration:none;padding:13px 26px;border-radius:999px;font-size:0.9rem;}
.cta span{transition:transform .15s;}
.cta:hover span{transform:translateX(-4px);}

.cards{position:relative;z-index:1;max-width:1100px;margin:60px auto 0;padding:0 24px 70px;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
@media (max-width:1000px){.cards{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:420px){.cards{grid-template-columns:1fr;}}
.pcard{display:block;background:#fff;border-radius:18px;padding:24px 20px;text-decoration:none;color:var(--a-ink);border:1px solid #efe6de;transition:transform .15s ease;}
.pcard:hover{transform:translateY(-3px);}
.pcard .icon-box{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.pcard .icon-box svg{width:20px;height:20px;color:#fff;}
.pcard.c1 .icon-box{background:var(--a-coral);}
.pcard.c2 .icon-box{background:var(--a-sage);}
.pcard.c3 .icon-box{background:#c9a06a;}
.pcard.c4 .icon-box{background:#8a7ab5;}
.pcard.c5 .icon-box{background:#5f9ea8;}
.pcard h3{font-family:'Frank Ruhl Libre',Georgia,serif;font-size:1.15rem;margin:0 0 8px;font-weight:600;}
.pcard p{margin:0 0 12px;color:var(--a-muted);font-size:0.88rem;line-height:1.6;}
.pcard .go{font-size:0.82rem;color:var(--a-ink);}
.landing-foot{position:relative;z-index:1;text-align:center;color:var(--a-muted);font-size:0.8rem;padding-bottom:40px;}
