:root {
  --background: #ffffff;
  --foreground: #171717;
  --card: #ffffff;
  --card-foreground: #171717;
  --popover: #ffffff;
  --popover-foreground: #171717;
  --primary: #c22635;
  --primary-foreground: #fafafa;
  --secondary: #f5f5f5;
  --secondary-foreground: #171717;
  --muted: #f5f5f5;
  --muted-foreground: #737373;
  --accent: #f5f5f5;
  --accent-foreground: #171717;
  --destructive: #e7000b;
  --border: #e5e5e5;
  --input: #e5e5e5;
  --ring: #c22635;
  --chart-1: #f54900;
  --chart-2: #009689;
  --chart-3: #104e64;
  --chart-4: #ffb900;
  --chart-5: #fe9a00;
  --radius: 0.625rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #171717;
  --sidebar-primary: #171717;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #171717;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #111318;
    --foreground: #ededed;
    --card: #191c22;
    --card-foreground: #ededed;
    --popover: #171717;
    --popover-foreground: #ededed;
    --primary: #f17a85;
    --primary-foreground: #171717;
    --secondary: #262626;
    --secondary-foreground: #ededed;
    --muted: #262626;
    --muted-foreground: #a1a1a1;
    --accent: #262626;
    --accent-foreground: #ededed;
    --destructive: #ff6467;
    --border: #ffffff1a;
    --input: #ffffff26;
    --ring: #737373;
    --chart-1: #8e51ff;
    --chart-2: #00bc7d;
    --chart-3: #fe9a00;
    --chart-4: #ad46ff;
    --chart-5: #ff2056;
    --sidebar: #171717;
    --sidebar-foreground: #ededed;
    --sidebar-primary: #8e51ff;
    --sidebar-primary-foreground: #ededed;
    --sidebar-accent: #262626;
    --sidebar-accent-foreground: #ededed;
    --sidebar-border: #ffffff1a;
    --sidebar-ring: #737373;
  }
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { text-underline-offset:3px; }
button, a, input, textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; } button:disabled { cursor:wait; }
.masthead { border-bottom:1px solid var(--border); }
.masthead-inner { max-width:1100px; margin:auto; display:flex; justify-content:space-between; align-items:center; padding:22px 32px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:25px; letter-spacing:-1px; font-weight:500; }
.brand b { font-weight:800; }.brand-mark { display:grid; place-items:center; width:39px; height:39px; border-radius:11px; color:white; background:#c22635; font-family:Georgia,serif; font-size:37px; padding-bottom:5px; font-weight:bold; }
.schedule { max-width:190px; text-wrap:balance; text-align:right; font-size:14px; font-weight:650; }.schedule span { display:block; color:var(--muted-foreground); font-size:12px; font-weight:400; margin-top:2px; }
.paper { max-width:1040px; margin:0 auto; padding:0 28px 48px; }
.paper-tabs { margin-top:14px; margin-bottom:10px; gap:18px; height:46px; border-bottom:1px solid var(--border); width:100%; justify-content:flex-start; }
.paper-tabs [data-slot=tabs-trigger] { flex:0 1 auto; min-height:44px; padding:0 8px; font-size:14px; }.paper-tabs [data-slot=tabs-trigger][data-state=active] { color:var(--primary); }.paper-tabs [data-slot=tabs-trigger]:after { background:var(--primary); }
.edition-heading { padding:30px 0 36px; }.eyebrow { text-transform:uppercase; font-size:12px; letter-spacing:1.6px; font-weight:750; color:var(--primary); margin:0 0 12px; }.eyebrow span { color:var(--muted-foreground); font-weight:500; }
h1 { font-size:clamp(30px,5vw,44px); font-weight:780; line-height:1.08; letter-spacing:-1.7px; margin:0 0 18px; }
.edition-meta { display:flex; flex-wrap:wrap; gap:9px 20px; font-size:14px; font-weight:550; }.edition-meta span+span { color:var(--muted-foreground); }.as-of { font-size:12px; color:var(--muted-foreground); margin-top:12px; }
.stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 32px; align-items:start; }.story { min-width:0; border-bottom:1px solid var(--border); padding-bottom:20px; }.story.lead { grid-column:1/-1; }
.story-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:10px; }.category { color:var(--primary); font-size:12px; letter-spacing:1.15px; font-weight:800; text-transform:uppercase; }.category.seasonal { color:#28764f; }.story-number { font-size:12px; color:var(--muted-foreground); font-variant-numeric:tabular-nums; }
.story h2 { font-family:Georgia,"Times New Roman",serif; font-size:29px; letter-spacing:-.7px; font-weight:700; line-height:1.14; margin:0 0 18px; }.lead h2 { font-size:clamp(32px,4.8vw,48px); max-width:870px; letter-spacing:-1.3px; }
figure { margin:0; }figure img { width:100%; display:block; height:auto; aspect-ratio:16/9; object-fit:cover; background:var(--muted); border-radius:12px; }.lead figure img { aspect-ratio:2.1; }.story img[src*="iphone"] { object-fit:contain; background:#111; }
figcaption { font-size:12px; line-height:1.4; color:var(--muted-foreground); margin:7px 1px 17px; }
.story-body { max-width:100%; }.lead .story-body { max-width:760px; }.summary { font-size:17px; line-height:1.65; margin:0 0 20px; color:var(--foreground); }
.dates { border-top:1px solid var(--border); padding-top:12px; }.dates p { margin:0 0 5px; font-size:12px; line-height:1.5; color:var(--muted-foreground); }.dates b { display:inline-block; min-width:65px; font-weight:650; color:var(--foreground); }
.sources { display:flex; flex-wrap:wrap; gap:10px 16px; padding:13px 0 10px; }.sources a { display:inline-flex; gap:3px; align-items:center; font-size:14px; color:var(--foreground); text-decoration:underline; line-height:1.4; }.sources a:hover { color:var(--primary); }.sources svg { flex-shrink:0; }
.story-actions { display:flex; flex-wrap:wrap; gap:5px; border-top:1px solid var(--border); padding-top:9px; margin-top:6px; }.story-actions button { min-height:44px; height:auto; padding:9px 10px; border-radius:8px; color:var(--muted-foreground); font-size:14px; }.story-actions button[aria-pressed=true] { background:#c2263512; color:var(--primary); }
.edition-end { text-align:center; padding:64px 12px 55px; }.end-check { margin:0 auto 18px; display:grid; place-items:center; border-radius:50%; width:44px; height:44px; background:#c2263512; color:var(--primary); }.edition-end h2 { font-family:Georgia,serif; font-size:38px; letter-spacing:-1px; font-weight:700; margin:0 0 10px; }.edition-end p { font-size:16px; margin-bottom:12px; }.edition-end .eyebrow { font-size:12px; }.edition-end .next-note { color:var(--muted-foreground); font-size:14px; line-height:1.6; margin:20px 0 26px; }.edition-end button { min-height:44px; }
.reading-bar { position:fixed; bottom:0; left:0; right:0; z-index:20; display:flex; justify-content:space-between; font-size:12px; font-weight:650; padding:13px max(22px,calc((100vw - 984px)/2)); padding-bottom:max(13px,env(safe-area-inset-bottom)); background:var(--background); border-top:1px solid var(--border); }.reading-fill { position:absolute; top:-1px; left:0; height:2px; background:var(--primary); transition:width .3s; }
.curation { max-width:740px; margin:30px auto; }.curation .intro { font-size:18px; line-height:1.6; color:var(--muted-foreground); margin-bottom:32px; }.curation h2 { font-size:23px; font-weight:750; letter-spacing:-.5px; margin-bottom:12px; }.curation h3 { font-size:17px; font-weight:750; margin-bottom:4px; }.curation section { margin:0 0 36px; }.curation p { font-size:16px; line-height:1.6; color:var(--muted-foreground); }
.preference-form { padding:24px; border:1px solid var(--border); border-radius:14px; background:var(--card); }.preference-form label { display:block; font-size:14px; font-weight:650; margin:20px 0 8px; }.preference-form label span { color:var(--muted-foreground); font-size:12px; font-weight:400; }.preference-form input { min-height:46px; font-size:16px; }.preference-form textarea { min-height:95px; font-size:16px; }.form-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }.form-actions button { min-height:44px; }.saved h2 span { color:var(--muted-foreground); font-size:17px; font-weight:500; }.saved-item { display:flex; gap:12px; align-items:flex-start; border-bottom:1px solid var(--border); padding:18px 0; }.saved-item>div { flex:1; min-width:0; }.saved-item b { font-size:16px; word-break:break-word; line-height:1.4; }.saved-item p { font-size:14px; margin:5px 0 0; word-break:break-word; }.saved-item button { min-height:44px; }.vote-icon { padding-top:3px; }.vote-icon.more { color:#28764f; }.vote-icon.less { color:var(--primary); }
.category-guide>div { border-bottom:1px solid var(--border); padding:16px 0; }.editorial-rules ul { padding-left:20px; }.editorial-rules li { font-size:16px; line-height:1.65; padding:5px 0; }.quiet-note { padding:18px; background:var(--muted); border-radius:10px; margin-top:18px; }.notice { position:fixed; z-index:40; bottom:65px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 24px); border:1px solid var(--border); box-shadow:0 4px 30px #0002; padding:8px 10px 8px 18px; border-radius:12px; background:var(--card); color:var(--foreground); font-size:14px; display:flex; align-items:center; gap:8px; }.notice a { text-decoration:underline; }.notice button { min-width:40px; min-height:40px; }
@media(max-width:680px){.masthead-inner { padding:18px 20px; }.brand { font-size:23px; }.paper { padding:0 20px 40px; }.paper-tabs { gap:10px; }.edition-heading { padding:24px 0 30px; }.edition-heading h1 { max-width:310px; }.eyebrow { font-size:11px; letter-spacing:1.15px; }.eyebrow span { display:block; margin-top:6px; }.edition-meta { gap:7px 14px; font-size:13px; }.edition-meta span:last-child { display:none; }.stories { display:block; }.story { margin-bottom:30px; padding-bottom:12px; }.story h2,.lead h2 { font-size:31px; letter-spacing:-.8px; line-height:1.12; }.lead figure img { aspect-ratio:16/9; }.summary { font-size:17px; line-height:1.65; }.preference-form { padding:19px; }.saved-item { gap:9px; }.schedule { font-size:13px; }.notice { width:calc(100% - 24px); }.notice button { margin-left:auto; flex-shrink:0; }}
@media(prefers-color-scheme:dark){.category.seasonal,.vote-icon.more { color:#85cba4; }.story-actions button[aria-pressed=true],.end-check { background:#f17a8518; }}
@media(prefers-reduced-motion:reduce){* { scroll-behavior:auto!important; transition:none!important; }}

.edition-archive { border-top:1px solid var(--border); padding:30px 0 45px; }.edition-archive>h2 { font-size:25px; font-weight:750; letter-spacing:-.5px; margin:0 0 8px; }.edition-archive>p,.past-edition>header>p:last-child { font-size:14px; line-height:1.6; color:var(--muted-foreground); }.past-edition { margin-top:32px; }.past-edition>header { padding:20px 0 26px; border-top:2px solid var(--border); }.past-edition>header h3 { font-size:28px; font-weight:750; letter-spacing:-.5px; margin-bottom:8px; }.archive-end { text-align:center; font-size:13px; line-height:1.6; color:var(--muted-foreground); margin:30px 0; }

.brief-link { color:var(--primary); text-decoration:underline; font-size:14px; display:inline-block; padding:8px 0; }
.story-discussion { margin-top:12px; }.discussion-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }.discussion-actions [data-slot=button] { min-height:44px; height:auto; padding:10px 12px; font-size:14px; white-space:normal; }.discussion-actions a { color:var(--primary); }
.story figure img.full-image { aspect-ratio:auto; object-fit:contain; }

[hidden]{display:none!important}*{box-sizing:border-box}a{color:inherit}button,input,textarea,select{font:inherit}button{border:1px solid var(--border);background:var(--card);color:var(--foreground);padding:10px 14px;border-radius:8px;min-height:44px}button:hover{background:var(--muted)}button:disabled{opacity:.55}.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.primary:hover{filter:brightness(.92);background:var(--primary)}.paper-tabs{display:flex;align-items:stretch}.paper-tabs button{border:0;border-radius:0;background:transparent;padding:0 8px}.paper-tabs .active{color:var(--primary);border-bottom:2px solid var(--primary)}.preparation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--border)}.preparation p{font-size:13px;line-height:1.5;color:var(--muted-foreground);margin:5px 0 0}.preparation strong{font-size:14px}.run-actions{display:flex;gap:8px;flex-shrink:0}.preparation progress{width:100%;max-width:430px;margin-top:10px;height:5px;accent-color:var(--primary)}.loading{padding:60px 0;color:var(--muted-foreground)}.preference-form input:not([type=checkbox]),textarea,select{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--foreground)}.preference-form .interest{display:flex;gap:13px;align-items:flex-start;font-size:16px;padding:12px 0;border-bottom:1px solid var(--border);margin:0}.interest input{width:18px;height:18px;min-height:0!important;margin-top:4px;accent-color:var(--primary)}.interest strong{display:block;font-size:15px}.interest small{display:block;color:var(--muted-foreground);font-weight:400;line-height:1.5;margin-top:4px}.explore{display:flex!important;gap:10px;align-items:center}.explore input{min-height:0!important;accent-color:var(--primary)}.source-status{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}.source-status span{text-align:right}.good{color:#28764f}.muted{color:var(--muted-foreground)}.archive-picker{border-top:1px solid var(--border);padding:28px 0 60px}.archive-picker select{max-width:560px}.story-actions button{border:0;background:transparent}.story-discussion a{font-size:14px;display:inline-block;min-height:44px;padding-top:12px;color:var(--primary)}.edition-heading>h2{font-size:32px;letter-spacing:-1px;margin:0 0 15px}@media(max-width:680px){.preparation{align-items:flex-start;flex-direction:column;gap:12px}.run-actions{width:100%}.run-actions button{flex:1}.schedule{max-width:145px}.source-status{font-size:13px}}

dialog{width:min(440px,calc(100% - 32px));border:1px solid var(--border);border-radius:16px;background:var(--background);color:var(--foreground);padding:28px}dialog::backdrop{background:#0006}dialog .preference-form{padding:0;border:0}#login-error{color:#a32626}#sign-out{margin-left:auto}[hidden]{display:none!important}
