:root{
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif;
  --radius-xl:42px;
  --radius-lg:28px;
  --radius-md:20px;
  --shadow:0 28px 80px rgba(38,29,16,.14);
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%}
body{
  --ink:#2b241a;
  --muted:#6f6250;
  --faint:#8c7c66;
  --accent:#f2b84b;
  --accent-ink:#2b200d;
  --surface:rgba(255,250,239,.72);
  --surface-strong:rgba(255,252,246,.91);
  --line:rgba(66,48,24,.18);
  --glass:blur(26px) saturate(118%);
  color:var(--ink);
  background:#f4dba7;
  min-height:100svh;
  font-family:var(--sans);
  line-height:1.55;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
}
body.theme-ember{
  --ink:#fff5e8;
  --muted:#e5c6aa;
  --faint:#caa98d;
  --accent:#ff9c64;
  --accent-ink:#35180e;
  --surface:rgba(55,25,16,.56);
  --surface-strong:rgba(57,26,17,.82);
  --line:rgba(255,229,203,.22);
  background:#3b170f;
}
body.theme-midnight{
  --ink:#f5f1e8;
  --muted:#b9c7d4;
  --faint:#94a7b8;
  --accent:#9fc3e3;
  --accent-ink:#102536;
  --surface:rgba(12,28,42,.62);
  --surface-strong:rgba(10,25,39,.9);
  --line:rgba(220,236,248,.21);
  background:#081826;
}
button,a{font:inherit}
button{color:inherit}
a{color:inherit;text-underline-offset:4px}
button{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:8px}
button:disabled{cursor:not-allowed;opacity:.55}
::selection{background:var(--accent);color:var(--accent-ink)}
.backdrop{position:fixed;inset:0;z-index:-3;overflow:hidden}
.backdrop::before,.backdrop::after{content:"";position:absolute;inset:-20%;transform:translateZ(0)}
.theme-sunrise .backdrop{
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.95),transparent 24%),
    radial-gradient(circle at 76% 18%,rgba(255,198,93,.74),transparent 28%),
    radial-gradient(circle at 74% 78%,rgba(224,120,76,.28),transparent 30%),
    linear-gradient(145deg,#f7eddc 0%,#f0cf8f 45%,#e9a778 100%);
}
.theme-sunrise .backdrop::before{
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.24),transparent 42%);
  filter:blur(28px);
}
.theme-ember .backdrop{
  background:
    radial-gradient(circle at 18% 8%,rgba(255,210,153,.18),transparent 28%),
    radial-gradient(circle at 83% 31%,rgba(255,105,62,.3),transparent 28%),
    linear-gradient(150deg,#21110d 0%,#5c2115 48%,#28130f 100%);
}
.theme-ember .backdrop::before{
  background:radial-gradient(circle at 57% 60%,rgba(255,134,67,.18),transparent 34%);
  filter:blur(30px);
}
.theme-midnight .backdrop{
  background:
    radial-gradient(circle at 24% 18%,rgba(149,196,230,.22),transparent 26%),
    radial-gradient(circle at 80% 72%,rgba(82,126,163,.2),transparent 28%),
    linear-gradient(145deg,#071420,#102a3e 58%,#091925 100%);
}
.backdrop::after{
  inset:0;
  opacity:.22;
  background-image:
    radial-gradient(circle at 20% 30%,currentColor 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 64%,currentColor 0 1px,transparent 1.5px);
  background-size:52px 52px,74px 74px;
  color:#fff;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
}
.skip-link{
  position:fixed;left:50%;top:12px;z-index:100;
  transform:translate(-50%,-150%);
  background:var(--surface-strong);border:1px solid var(--line);color:var(--ink);
  padding:10px 18px;border-radius:999px;text-decoration:none;
  backdrop-filter:var(--glass);
  transition:transform .18s var(--ease);
}
.skip-link:focus{transform:translate(-50%,0)}
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.header{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:28px clamp(20px,5vw,72px);
  position:relative;z-index:10;
}
.brand{
  display:inline-flex;align-items:center;gap:12px;
  border:0;background:none;cursor:pointer;padding:6px 0;
  font:600 clamp(18px,2vw,26px)/1 var(--serif);
  letter-spacing:-.015em;text-decoration:none;
}
.brand-mark{
  width:34px;height:34px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;
  background:var(--surface);backdrop-filter:var(--glass);
  font-family:var(--sans);font-size:17px;
}
.header nav{display:flex;align-items:center;gap:30px}
.header nav button,.header nav a{
  border:0;background:none;color:inherit;opacity:.66;
  padding:8px 0;cursor:pointer;text-decoration:none;
  font-size:14px;
}
.header nav button.active,.header nav a[aria-current="page"]{opacity:1;border-bottom:1px solid currentColor}
.header nav span{
  min-width:20px;height:20px;padding:0 5px;border:1px solid var(--line);
  border-radius:999px;display:inline-grid;place-items:center;font-size:10px;
}
.menu{display:none;border:1px solid var(--line);background:var(--surface);border-radius:50%;width:46px;height:46px;backdrop-filter:var(--glass);cursor:pointer}
main{flex:1}
.view{display:none}
.view.active{display:flex}
.hero{
  width:min(1180px,calc(100% - 40px));
  min-height:calc(100svh - 132px);
  margin:0 auto;
  padding:clamp(34px,6vh,76px) 0 96px;
  flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.hero-kicker{
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  margin-bottom:24px;color:var(--muted);font-size:12px;
  text-transform:uppercase;letter-spacing:.14em;
}
.momentum-pill{
  display:inline-flex;align-items:center;gap:7px;padding:7px 12px;
  border:1px solid var(--line);border-radius:999px;background:var(--surface);
  backdrop-filter:var(--glass);text-transform:none;letter-spacing:.02em;
}
.quote-stage{width:100%;transition:opacity .22s ease,transform .22s ease}
.quote-stage.changing{opacity:0;transform:translateY(7px)}
blockquote{
  width:min(980px,100%);margin:0 auto;
  font:400 clamp(46px,6.4vw,92px)/.98 var(--serif);
  letter-spacing:-.035em;text-wrap:balance;
}
.author{margin:22px 0 0;color:var(--muted);font-size:14px}
.author:not(:empty)::before{content:"— ";opacity:.6}
.insight-grid{
  width:min(900px,100%);display:grid;grid-template-columns:1fr 1fr;
  gap:12px;margin:38px auto 0;text-align:left;
}
.insight{
  position:relative;padding:24px 26px;border:1px solid var(--line);
  border-radius:var(--radius-md);background:var(--surface);
  backdrop-filter:var(--glass);box-shadow:0 16px 45px rgba(44,33,19,.06);
}
.insight p{margin:0}
.insight .eyebrow{margin-bottom:10px}
.action-insight{background:color-mix(in srgb,var(--surface-strong) 84%,var(--accent) 16%)}
.eyebrow{
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted);font-size:11px;font-weight:700;
}
.action-check{
  margin-top:17px;padding:0;border:0;background:none;cursor:pointer;
  color:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;
  opacity:.72;
}
.action-check.done{opacity:1;text-decoration:none}
.action-check.done span{
  width:22px;height:22px;display:inline-grid;place-items:center;margin-right:6px;
  border-radius:50%;background:var(--accent);color:var(--accent-ink);
}
.quote-meta{
  min-height:31px;display:flex;justify-content:center;align-items:center;
  gap:9px;flex-wrap:wrap;margin:18px auto 0;color:var(--faint);font-size:11px;
}
.quote-meta>span,.tag-list span{
  border:1px solid var(--line);border-radius:999px;padding:5px 9px;
  background:rgba(255,255,255,.06);
}
.tag-list{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.primary,.secondary,.copy{
  min-height:58px;min-width:180px;border-radius:999px;padding:15px 26px;
  cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s;
}
.primary{
  border:1px solid color-mix(in srgb,var(--accent) 60%,black 12%);
  background:var(--accent);color:var(--accent-ink);
  box-shadow:0 14px 35px color-mix(in srgb,var(--accent) 28%,transparent);
  font-weight:700;
}
.secondary{
  border:1px solid var(--line);background:var(--surface);
  backdrop-filter:var(--glass);
}
.primary:hover,.secondary:hover,.copy:hover{transform:translateY(-2px)}
.primary:active,.secondary:active,.copy:active{transform:translateY(0)}
.secondary.is-saved{background:var(--surface-strong)}
.text-link{
  margin-top:23px;border:0;background:none;color:inherit;
  opacity:.7;cursor:pointer;text-decoration:underline;text-underline-offset:5px;
}
.keyboard-hint{margin:13px 0 0;color:var(--faint);font-size:11px}
kbd{
  min-width:20px;display:inline-block;border:1px solid var(--line);
  border-bottom-width:2px;border-radius:5px;padding:1px 5px;
  background:var(--surface);font:10px var(--sans);
}
.panel{
  width:min(940px,calc(100% - 40px));margin:44px auto 110px;
  padding:clamp(34px,6vw,72px);border:1px solid var(--line);
  border-radius:var(--radius-xl);background:var(--surface);
  backdrop-filter:var(--glass);box-shadow:var(--shadow);
  text-align:center;flex-direction:column;
}
.panel h2,.share-sheet h2{
  margin:14px auto 12px;max-width:760px;
  font:400 clamp(40px,6vw,68px)/1 var(--serif);
  letter-spacing:-.03em;text-wrap:balance;
}
.intro{max-width:660px;margin:0 auto;color:var(--muted)}
.focus-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin:38px auto 14px;
}
.focus-grid button{
  min-height:168px;display:flex;flex-direction:column;align-items:flex-start;
  text-align:left;gap:8px;padding:23px;border:1px solid var(--line);
  border-radius:var(--radius-md);background:rgba(255,255,255,.08);
  cursor:pointer;transition:transform .18s var(--ease),background .18s;
}
.focus-grid button:hover{transform:translateY(-3px);background:var(--surface-strong)}
.focus-grid strong{font:400 25px/1.08 var(--serif)}
.focus-grid small{color:var(--muted);font-size:12px}
.focus-symbol{
  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--line);margin-bottom:6px;font-size:15px;
}
.saved-list{margin-top:32px;text-align:left}
.empty-state{
  padding:42px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  color:var(--muted);text-align:center;
}
.saved-card{
  display:grid;grid-template-columns:1fr auto;gap:24px;
  padding:25px 0;border-top:1px solid var(--line);
}
.saved-card:last-child{border-bottom:1px solid var(--line)}
.saved-card blockquote{font-size:clamp(25px,3.5vw,34px);line-height:1.12;margin:0;width:auto}
.saved-card .saved-meta{color:var(--muted);font-size:12px;margin-top:8px}
.saved-card-actions{display:flex;align-items:center;gap:8px}
.icon-btn{
  width:42px;height:42px;border:1px solid var(--line);border-radius:50%;
  background:transparent;cursor:pointer;
}
.danger-link{color:#9e4838}
.home-content{
  width:min(1120px,calc(100% - 40px));margin:0 auto 120px;
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,8vw,110px);
  align-items:start;padding-top:40px;border-top:1px solid var(--line);
}
.home-content h2{
  margin:10px 0 0;font:400 clamp(36px,5vw,60px)/1.02 var(--serif);
  letter-spacing:-.03em;text-wrap:balance;
}
.home-copy{color:var(--muted);font-size:17px}
.home-copy p:first-child{margin-top:0}
.themes{
  position:fixed;left:clamp(20px,5vw,72px);bottom:24px;z-index:8;
  display:flex;align-items:center;gap:9px;padding:10px 13px;
  border:1px solid var(--line);border-radius:999px;background:var(--surface);
  backdrop-filter:var(--glass);
}
.themes span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.56;margin-right:2px}
.themes button{
  width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.62);cursor:pointer;padding:0;
}
.themes button[data-theme="sunrise"]{background:#eebd64}
.themes button[data-theme="ember"]{background:#be5332}
.themes button[data-theme="midnight"]{background:#294d69}
.themes button.selected{transform:scale(1.2);box-shadow:0 0 0 3px var(--surface-strong)}
.site-footer{
  display:flex;justify-content:flex-end;align-items:center;gap:24px;
  padding:24px clamp(20px,5vw,72px) 30px;color:var(--faint);font-size:11px;
}
.site-footer nav{display:flex;gap:16px}
.share-layer{
  position:fixed;inset:0;z-index:50;display:grid;place-items:center;
  padding:20px;background:rgba(7,13,18,.58);backdrop-filter:blur(12px);
}
.share-layer[hidden]{display:none}
.share-sheet{
  position:relative;width:min(570px,100%);padding:46px;
  border:1px solid var(--line);border-radius:36px;
  background:var(--surface-strong);box-shadow:0 30px 90px rgba(0,0,0,.22);
  backdrop-filter:blur(28px);text-align:center;
}
.close{
  position:absolute;right:17px;top:11px;width:42px;height:42px;
  border:0;background:none;cursor:pointer;font-size:29px;
}
.share-quote{margin:20px auto 24px;color:var(--muted);font:400 25px/1.22 var(--serif)}
.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.share-grid button{
  min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.08);cursor:pointer;
}
.share-grid span{
  width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;
}
.copy{width:100%;min-width:0;margin-top:12px;border:0;background:var(--accent);color:var(--accent-ink);font-weight:700}
.secondary-copy{background:transparent;color:inherit;border:1px solid var(--line)}
.share-note{min-height:34px;margin:13px 0 0;color:var(--muted);font-size:11px}
.toast{
  position:fixed;left:50%;bottom:82px;z-index:70;transform:translate(-50%,20px);
  opacity:0;pointer-events:none;padding:10px 15px;border:1px solid var(--line);
  border-radius:999px;background:var(--surface-strong);backdrop-filter:var(--glass);
  box-shadow:0 18px 45px rgba(0,0,0,.14);font-size:12px;
  transition:opacity .2s,transform .2s var(--ease);
}
.toast.show{opacity:1;transform:translate(-50%,0)}
.noscript{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:90;padding:14px;
  border-radius:16px;background:#fff;color:#21180e;text-align:center;
}
.content-shell{width:min(980px,calc(100% - 40px));margin:28px auto 100px}
.content-hero{
  padding:clamp(44px,8vw,96px) clamp(24px,6vw,72px);
  border:1px solid var(--line);border-radius:var(--radius-xl);
  background:var(--surface);backdrop-filter:var(--glass);box-shadow:var(--shadow);
}
.content-hero h1{
  max-width:820px;margin:14px 0 18px;
  font:400 clamp(50px,8vw,92px)/.94 var(--serif);letter-spacing:-.04em;text-wrap:balance;
}
.content-hero .lead{max-width:720px;color:var(--muted);font-size:19px}
.content-body{width:min(760px,100%);margin:56px auto 0}
.content-body h2{
  margin:58px 0 16px;font:400 clamp(34px,5vw,48px)/1.04 var(--serif);letter-spacing:-.02em;
}
.content-body h3{margin:32px 0 9px;font-size:18px}
.content-body p,.content-body li{color:var(--muted);font-size:17px}
.content-body strong{color:var(--ink)}
.content-body blockquote{
  width:auto;margin:36px 0;padding:8px 0 8px 28px;border-left:2px solid var(--accent);
  font-size:clamp(30px,4vw,42px);line-height:1.08;
}
.content-body .callout{
  margin:34px 0;padding:24px;border:1px solid var(--line);
  border-radius:var(--radius-md);background:var(--surface);
}
.content-body .callout p{margin:0}
.jump-links{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;
}
.jump-links a{
  padding:8px 12px;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.08);text-decoration:none;font-size:12px;
}
.content-cta{
  margin:70px auto 0;padding:36px;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--surface);text-align:center;
}
.content-cta h2{margin:0 0 10px}
.content-cta .primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:12px}
@media(max-width:820px){
  .focus-grid{grid-template-columns:repeat(2,1fr)}
  .insight-grid{grid-template-columns:1fr}
  .home-content{grid-template-columns:1fr;gap:25px}
}
@media(max-width:720px){
  .header{padding:20px}
  .brand{font-size:19px}
  .brand-mark{width:31px;height:31px}
  .menu{display:grid;place-items:center}
  .header:has(.menu) nav{
    display:none;position:absolute;top:76px;left:16px;right:16px;
    flex-direction:column;align-items:stretch;gap:0;padding:14px;
    border:1px solid var(--line);border-radius:24px;background:var(--surface-strong);
    backdrop-filter:blur(28px);box-shadow:var(--shadow);
  }
  .header:has(.menu) nav.open{display:flex}
  .header:has(.menu) nav button,.header:has(.menu) nav a{padding:13px 10px;text-align:left}
  .header:has(.menu) nav button.active{border-bottom:0;background:rgba(255,255,255,.08);border-radius:12px}
  .header:not(:has(.menu)){flex-wrap:wrap;gap:8px}
  .header:not(:has(.menu)) nav{width:100%;gap:18px}
  .header:not(:has(.menu)) nav a{padding:4px 0;font-size:12px}
  .hero{
    width:calc(100% - 28px);min-height:calc(100svh - 92px);
    padding:42px 0 118px;
  }
  blockquote{font-size:clamp(43px,12.2vw,62px)}
  .insight-grid{margin-top:30px}
  .insight{padding:20px}
  .actions{width:min(100%,380px);flex-direction:column}
  .primary,.secondary{width:100%;min-width:0}
  .keyboard-hint{display:none}
  .panel{width:calc(100% - 28px);padding:38px 18px;margin:25px auto 108px}
  .focus-grid{grid-template-columns:1fr}
  .focus-grid button{min-height:132px}
  .saved-card{grid-template-columns:1fr;gap:10px}
  .saved-card-actions{justify-content:flex-start}
  .home-content{width:calc(100% - 32px);margin-bottom:110px}
  .home-copy{font-size:16px}
  .themes{left:16px;bottom:16px}
  .site-footer{display:none}
  .share-sheet{padding:40px 18px 24px}
  .share-grid{grid-template-columns:repeat(2,1fr)}
  .content-shell{width:calc(100% - 28px);margin-top:18px}
  .content-hero{padding:40px 22px}
  .content-hero h1{font-size:clamp(46px,14vw,68px)}
  .content-hero .lead{font-size:17px}
  .content-body{padding:0 5px}
  .content-body p,.content-body li{font-size:16px}
}
@media(max-width:390px){
  .hero-kicker{gap:8px}
  .momentum-pill{width:100%;justify-content:center}
  blockquote{font-size:42px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media(forced-colors:active){
  .backdrop{display:none}
  .primary,.secondary,.insight,.panel,.themes,.share-sheet{border:1px solid CanvasText}
}
