@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:400;font-display:swap;src:url("fonts/AtkinsonHyperlegibleNext-400.ttf") format("truetype")}
@font-face{font-family:"Atkinson Hyperlegible Next";font-weight:700;font-display:swap;src:url("fonts/AtkinsonHyperlegibleNext-700.ttf") format("truetype")}
[hidden]{display:none!important}
/* Layout: one calm column, phone first. Big tap targets, the SAY box as the hero of every screen. */
:root{
  --paper:#FAF6EE; --ink:#1C1B19; --muted:#55514A; --line:#D9D1C2; --say:#E9E4DA; --raised:#FFFFFF;
  --slate:#1F3A5F; --gold:#D4A12A; --powder:#A7C4E5; --avocado:#4F5A1E; --copper:#7A4424; --safe:#1C1B19; --amber:#F2B705;
  --on-dark:#FFFFFF; --on-gold:#1C1B19; --focus:#1F3A5F;
  --font:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",Verdana,"Segoe UI",sans-serif;
  --base:20px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#1B1A17; --ink:#F3EEE4; --muted:#C9C2B4; --line:#3A372F; --say:#2C2A25; --raised:#24221E;
  --slate:#3E6497; --avocado:#6B7A2C; --copper:#A3603A; --safe:#000000; --focus:#F2B705; --wordgold:#D4A12A; color-scheme:dark }}
:root[data-theme="dark"]{
  --paper:#1B1A17; --ink:#F3EEE4; --muted:#C9C2B4; --line:#3A372F; --say:#2C2A25; --raised:#24221E;
  --slate:#3E6497; --avocado:#6B7A2C; --copper:#A3603A; --safe:#000000; --focus:#F2B705; --wordgold:#D4A12A; color-scheme:dark }
/* Bright-sun mode: maximum contrast for reading outdoors, whatever the theme */
body.sun{ --paper:#FFFFFF; --ink:#000000; --muted:#000000; --line:#000000; --say:#EDEDED; --raised:#FFFFFF;
  --slate:#14294A; --avocado:#3B4416; --copper:#5E3218; --focus:#000000; color-scheme:light }
body.sun .say{ border:2px solid #000 }

*{box-sizing:border-box}
html{font-size:var(--base)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.45;padding-inline:16px;padding-block:0 calc(6.5rem + env(safe-area-inset-bottom,0px))}
@media (min-width:48rem){body{padding-block:0 4rem}}
.wrap{max-width:40rem;margin:0 auto}
h1,h2,h3{line-height:1.15;text-wrap:balance;margin:0}
p{margin:0 0 .6rem}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);padding-block:.7rem .5rem;border-bottom:1px solid var(--line);margin-inline:-16px;padding-inline:16px}
.brand{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.brand h1{font-size:1.5rem}
.brand small{font-size:.85rem;color:var(--muted)}
/* phone: a bottom tab bar like any app; wide screens: tabs sit in the header */
nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(5,1fr);gap:.2rem;background:var(--raised);border-top:1px solid var(--line);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 14px rgba(28,27,25,.06)}
nav.tabs button{border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-weight:700;font-size:.78rem;min-height:58px;border-radius:12px;cursor:pointer;padding:.2rem 0}
nav.tabs button svg{width:1.55rem;height:1.55rem}
nav.tabs button[aria-current="page"]{color:var(--ink);background:var(--say)}
@media (min-width:48rem){
  nav.tabs{position:static;display:flex;flex-wrap:wrap;gap:.35rem;background:none;border:0;box-shadow:none;padding:0;margin-top:.6rem}
  nav.tabs button{flex-direction:row;gap:.45rem;font-size:.95rem;min-height:46px;padding:.3rem .9rem;border:2px solid transparent}
  nav.tabs button svg{width:1.25rem;height:1.25rem}
  nav.tabs button[aria-current="page"]{border-color:var(--ink);background:var(--raised)}
}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.read-btn{border:2px solid var(--ink);background:var(--raised);border-radius:999px;padding:.3rem .85rem;min-height:44px;font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;flex:none}
.read-btn[aria-expanded="true"]{background:var(--ink);color:var(--paper)}
@media (max-width:34rem){.read-btn .lbl{display:none}.read-btn{padding:.3rem .75rem;font-size:1.05rem}.logo .word{font-size:1.55rem}.logo .mark{width:2.4rem;height:2.4rem}}
.brand-row .brand{min-width:0}

.settings{display:grid;gap:.5rem;margin-top:.7rem;padding:.8rem;background:var(--say);border-radius:14px}
.settings p{margin:0;font-weight:700}
.settings .row{display:flex;flex-wrap:wrap;gap:.5rem}
.settings button{border:2px solid var(--line);background:var(--raised);border-radius:10px;padding:.4rem .8rem;font-size:.92rem;min-height:48px;cursor:pointer}
.settings button[aria-pressed="true"]{border-color:var(--ink);font-weight:700}

section.view{padding-top:1.1rem}
.lede{font-size:1.15rem;margin-bottom:1rem}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}

.suits{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:.8rem 0 1.4rem}
.suit-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;border:0;border-radius:14px;padding:.85rem .9rem;min-height:5.2rem;text-align:left;cursor:pointer;color:var(--on-dark)}
.suit-tile b{font-size:1.05rem}
.suit-tile span{font-size:.85rem;opacity:.95}
.s1{background:var(--slate)} .s6{background:var(--powder);color:var(--on-gold)} .s2{background:var(--gold);color:var(--on-gold)} .s3{background:var(--avocado)} .s4{background:var(--copper)} .s5{background:var(--safe);box-shadow:inset 0 -7px 0 var(--amber)}

.panel{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:.9rem}
.panel h3{font-size:1.2rem;margin-bottom:.5rem}

.card{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--raised);margin-bottom:.9rem}
.card .band{display:flex;justify-content:space-between;align-items:center;padding:.5rem .9rem;font-weight:700;font-size:.85rem;letter-spacing:.04em;color:var(--on-dark)}
.card .band.s2,.card .band.s6{color:var(--on-gold)}
.card .inner{padding:.8rem .9rem .9rem}
.card h3{font-size:1.25rem;margin-bottom:.45rem}
.say{background:var(--say);border-radius:12px;padding:.75rem .85rem;margin:.5rem 0;font-size:1.08rem}
.say .lbl{font-weight:700}
.say-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.say{touch-action:manipulation}
.say.holding{outline:3px solid var(--slate);outline-offset:2px}
a.btn{text-decoration:none;display:inline-flex;align-items:center}
.say-hint{margin:.2rem 0 0;font-size:.92rem;color:var(--muted)}
.start{border:3px solid var(--slate);border-radius:16px;padding:1rem 1.1rem;margin:.4rem 0 1.2rem;background:var(--paper)}
.start h3{font-size:1.45rem;margin:0 0 .4rem}
.start .big{font-size:1.25rem;font-weight:700;margin:.2rem 0 .5rem}
.start .family{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.7rem}
.start label.field{display:block;font-weight:700;margin:.5rem 0 .2rem}
.start input[type=text],.start input[type=url]{width:100%;font:inherit;padding:.55rem .65rem;border:2px solid var(--line);border-radius:10px;background:#fff;color:inherit}
.ai-ready{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;border:2px solid var(--line);border-radius:14px;padding:.7rem .9rem;margin:.4rem 0 1.2rem}
.ai-ready p{margin:0;font-size:1.1rem;flex:1 1 12rem}
.btn{border:0;border-radius:10px;padding:.55rem 1rem;min-height:48px;font-weight:700;cursor:pointer;background:var(--ink);color:var(--paper)}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.then{margin:.4rem 0}
.check{display:flex;gap:.55rem;align-items:flex-start;border-top:1px solid var(--line);margin-top:.7rem;padding-top:.65rem}
.check svg{flex:none;width:1.4rem;height:1.4rem;margin-top:.1rem}
.check b{margin-right:.25rem}

label.field{display:block;font-weight:700;margin:.7rem 0 .3rem}
input[type=text],select{width:100%;min-height:52px;border:2px solid var(--line);border-radius:10px;padding:.5rem .7rem;background:var(--paper)}
input[type=text]:focus,select:focus{border-color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{border:2px solid var(--line);background:var(--paper);border-radius:999px;padding:.35rem .85rem;min-height:44px;cursor:pointer;font-size:.95rem}
.chip[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper);font-weight:700}
.hint{color:var(--muted);font-size:.92rem}

.guide details{border-bottom:1px solid var(--line)}
.guide summary{cursor:pointer;font-weight:700;font-size:1.15rem;padding:.85rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.guide summary::after{content:"+";font-size:1.4rem;line-height:1}
.guide details[open] summary::after{content:"\2212"}
.guide .gbody{padding-bottom:1rem}
.guide ul,.guide ol{padding-left:1.3rem;margin:0 0 .6rem}
.guide h3{font-size:1.1rem;margin:1rem 0 .4rem}

.rules{counter-reset:r;list-style:none;padding:0;margin:0}
.rules li{counter-increment:r;display:grid;grid-template-columns:2.2rem 1fr;gap:.6rem;padding:.75rem 0;border-bottom:1px solid var(--line)}
.rules li::before{content:counter(r);width:2.2rem;height:2.2rem;border-radius:50%;background:var(--safe);color:#fff;box-shadow:0 0 0 3px var(--amber);display:grid;place-items:center;font-weight:700}
.help-line{font-size:1.25rem;font-weight:700;user-select:all}

.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);padding:.8rem 1.1rem;border-radius:12px;font-weight:700;max-width:calc(100% - 32px);text-align:center;z-index:10}

.logo{display:flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--ink)}
.logo .mark{width:2.9rem;height:2.9rem;flex:none;object-fit:contain}
@font-face{font-family:"Fraunces AS";font-weight:900;font-display:swap;src:url("data:font/woff2;base64,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") format("woff2")}
.logo .word{font-family:"Fraunces AS",Georgia,serif;font-size:1.8rem;font-weight:900;letter-spacing:0;line-height:1.1;color:var(--avocado)}
.logo .word b{color:var(--wordgold,#B07D10);margin-left:.22em;font-weight:900}
@media (max-width:22rem){.logo .word{font-size:1.3rem}.logo .mark{width:2rem;height:2rem}.logo{gap:.3rem}}
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:1.4rem;align-items:center;padding:.6rem 0 1.4rem}
@media (min-width:44rem){.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.display{font-size:clamp(1.9rem,6.2vw,2.7rem);line-height:1.08;letter-spacing:-.015em;margin:.2rem 0 .8rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}
.hero{overflow-x:clip}
.fan{position:relative;height:15.5rem;max-width:20rem;width:100%;margin:0 auto}
.hero-art{display:block;width:100%;max-width:20rem;height:auto;margin:0 auto;border-radius:1.2rem}
.mini{position:absolute;top:1rem;left:50%;width:9.2rem;height:13rem;margin-left:-4.6rem;background:var(--raised);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 10px 24px rgba(28,27,25,.14)}
.mini .mb{font-size:.55rem;font-weight:700;letter-spacing:.06em;padding:.45rem .55rem;color:#fff}
.mini .mb.s2,.mini .mb.s6{color:var(--on-gold)}
.mini .mt{font-weight:700;font-size:.85rem;line-height:1.15;padding:.55rem .6rem .4rem}
.mini .ms{height:.55rem;margin:.35rem .6rem 0;border-radius:4px;background:var(--say)}
.mini .ms.short{width:55%}
.m1{transform:translateX(-4.4rem) rotate(-11deg)}
.m2{transform:translateY(-.4rem);z-index:2}
.m3{transform:translateX(4.4rem) rotate(10deg)}
@media (prefers-reduced-motion:no-preference){
  .mini{transition:transform .35s ease}
  .fan:hover .m1{transform:translateX(-5rem) rotate(-14deg)} .fan:hover .m3{transform:translateX(5rem) rotate(13deg)}
}
h3.sec{font-size:1.3rem;margin:1.6rem 0 .7rem}
.steps{list-style:none;counter-reset:st;padding:0;margin:0;display:grid;gap:.6rem}
.steps li{counter-increment:st;display:grid;grid-template-columns:2.3rem 1fr;gap:.7rem;align-items:start;background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:.8rem .9rem}
.steps li::before{content:counter(st);width:2.3rem;height:2.3rem;border-radius:50%;background:var(--slate);color:#fff;display:grid;place-items:center;font-weight:700}
.panel.feature{border-left:6px solid var(--avocado)}
.panel.safe-callout{border-left:6px solid var(--amber)}

.ic{width:1.35em;height:1.35em;flex:none}
.card .band span:first-child{display:flex;align-items:center;gap:.45rem}
.suit-tile .ic{width:1.6rem;height:1.6rem;margin-bottom:.25rem}
.feed-item{border-bottom:1px solid var(--line);padding:.6rem 0}
.feed-item .meta{font-size:.85rem;color:var(--muted)}
.verdict{display:inline-block;border-radius:999px;padding:.05rem .55rem;font-size:.8rem;font-weight:700;background:var(--say)}

.people-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem 1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.people-row b{font-size:1.15rem}
.people-row .num{font-size:1.3rem;font-weight:700;user-select:all}
.people-row a{font-weight:700}
.private-note{background:var(--say);border-radius:10px;padding:.5rem .7rem;margin:.4rem 0 .6rem}
.homescreen{border:2px dashed var(--line);border-radius:12px;padding:.6rem .8rem;margin-top:.8rem}
.homescreen summary{font-weight:700;cursor:pointer;padding:.3rem 0}
#people-print-sheet{display:none}
@media print{
  body.printing-people > *:not(#people-print-sheet){display:none!important}
  body.printing-people #people-print-sheet{display:block!important;color:#000;background:#fff;font-family:inherit;padding:.4in}
  #people-print-sheet h1{font-size:34pt;margin:0 0 .25in}
  #people-print-sheet .row{font-size:26pt;margin:0 0 .2in;line-height:1.25}
  #people-print-sheet .row b{display:block}
  #people-print-sheet .help{font-size:18pt;margin-top:.4in;border-top:2pt solid #000;padding-top:.2in}
  #people-print-sheet .from{font-size:12pt;margin-top:.4in;color:#444}
}
.ck{list-style:none;padding:0;margin:.4rem 0 .6rem}
.ck li{border-bottom:1px solid var(--line)}
.ck label{display:grid;grid-template-columns:2rem 1fr;gap:.6rem;padding:.6rem 0;cursor:pointer;align-items:start}
.ck input{width:1.6rem;height:1.6rem;margin:.15rem 0 0;accent-color:var(--avocado)}
.ck input:checked + span b{text-decoration:line-through;text-decoration-thickness:2px}

.share-box{margin-top:2rem;padding:1rem;border:2px solid var(--line);border-radius:12px}.share-box p{margin:0 0 .6rem}
.about{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:1rem}.about summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}.about p{margin:.6rem 0}
.brand h1.site{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.today-count{font-weight:700;color:var(--muted);margin:.4rem 0 .6rem}.today-nav{display:flex;gap:.6rem;margin-top:1rem}.today-nav .btn{flex:1;min-height:56px;font-size:1.1rem}.today-more{margin-top:1.2rem;color:var(--muted)}.linkish{background:none;border:0;padding:.4rem 0;min-height:44px;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}.today-setup{margin-bottom:1rem}
footer{margin-top:2rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);padding-top:1rem}
@media (prefers-reduced-motion:no-preference){.chip,.btn,nav.tabs button{transition:background .15s,color .15s}}

.no-tts [data-speak]{display:none}
/* Largest-text safety: header wraps instead of colliding; tab labels never run off the screen */
.brand-row{flex-wrap:wrap}
.brand-row .brand{flex:1 1 auto}
.logo .word{white-space:nowrap}
@media (max-width:47.99rem){
  nav.tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding-inline:2px}
  nav.tabs button{min-width:0;font-size:min(.78rem,4.4vw);padding-inline:0}
  nav.tabs button svg{width:min(1.55rem,26px);height:min(1.55rem,26px)}
}
.mydata{margin:.8rem 0;border-top:1px solid var(--line);padding-top:.6rem}

/* update notice (added by the release build) */
.update-banner{position:fixed;left:0;right:0;top:0;z-index:20;background:var(--ink);color:var(--paper);padding:.7rem 1rem;display:flex;gap:.8rem;align-items:center;justify-content:center;flex-wrap:wrap;font-weight:700;text-align:center}
.update-banner button{border:2px solid var(--paper);background:var(--paper);color:var(--ink);border-radius:999px;font-weight:700;min-height:44px;padding:.3rem 1.1rem;cursor:pointer}
