:root{--background:#faf8f4;--foreground:#1c1b18;--muted:#6f6a60}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased}.landing{max-width:40rem;margin:0 auto;padding:6rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.landing h1{font-size:2.5rem;letter-spacing:-.02em}.landing p{font-size:1.125rem;line-height:1.6}.landing .muted,.muted{color:var(--muted)}a{color:inherit}.auth{max-width:24rem;margin:0 auto;padding:6rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.auth h1{font-size:2rem;letter-spacing:-.02em}.shell{max-width:46rem;margin:0 auto;padding:1.5rem}.shell-header{display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap;padding-bottom:1rem;margin-bottom:2rem;border-bottom:1px solid #e4ded2}.brand{font-weight:700;font-size:1.125rem;text-decoration:none}.nav{display:flex;gap:1rem;flex:1 1;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;font-size:.95rem}.nav a:hover{color:var(--foreground);text-decoration:underline}.shell-main,.shell-main section{display:flex;flex-direction:column;gap:1rem}.shell-main h1{font-size:1.75rem;letter-spacing:-.02em}.shell-main h2{font-size:1.125rem}.stack{gap:.875rem}.stack,.stack label{display:flex;flex-direction:column}.stack label{gap:.3rem;font-size:.95rem}input[type=email],input[type=password],input[type=time],input[type=url],select{font:inherit;padding:.5rem .625rem;border:1px solid #cfc8b8;border-radius:6px;background:#fff;color:var(--foreground)}.checkbox-label,.weekday-option{flex-direction:row!important;align-items:center;gap:.4rem!important}.weekday-picker{border:1px solid #e4ded2;border-radius:6px;padding:.625rem .75rem;display:flex;gap:.875rem;flex-wrap:wrap}.weekday-picker legend{font-size:.875rem;color:var(--muted);padding:0 .25rem}.weekday-option{display:flex;font-size:.9rem}.button{font:inherit;padding:.5rem 1rem;border:1px solid var(--foreground);border-radius:6px;background:var(--foreground);color:var(--background);cursor:pointer}.button:hover{opacity:.85}.button-ghost{background:transparent;color:var(--foreground);border-color:#cfc8b8}.button-danger{background:transparent;color:#8c2f23;border-color:#d8b3ac}.form-actions{align-items:center;flex-wrap:wrap}.form-actions,.save-form{display:flex;gap:.5rem}.save-form input{flex:1 1}.send-now-form{margin-top:.75rem}.notice{padding:.625rem .875rem;border-radius:6px;font-size:.95rem}.notice-error{background:#f7e5e1;color:#8c2f23}.notice-info{background:#e7efe3;color:#2f5d31}.notice-warning{background:#f8eed7;color:#8a6116}.onboarding-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.onboarding-banner .button{flex:none}.onboarding-step .step-number{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#efe9dc;color:#6f6a60;font-size:.85rem;vertical-align:middle}.onboarding-step-active{border-color:#c9a45a;box-shadow:0 0 0 1px #c9a45a}.onboarding-step-active .step-number{background:#f8eed7;color:#8a6116}.onboarding-step-done .step-number{background:#e7efe3;color:#2f5d31}.onboarding-step-upcoming{opacity:.7}.pref-form{flex-direction:column;gap:.875rem}.pref-form,.pref-toggle{display:flex;align-items:flex-start}.pref-toggle{gap:.625rem;cursor:pointer;line-height:1.45}.pref-toggle input[type=checkbox]{margin-top:.2rem;flex:none}.card{border:1px solid #e4ded2;border-radius:8px;background:#fffdf9;padding:1rem 1.25rem}.article-list,.card{display:flex;flex-direction:column;gap:.75rem}.article-list{list-style:none}.article,.schedule{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem}.article-main,.schedule-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.article-title{font-size:1.05rem}.article-title a{text-decoration:none}.article-title a:hover{text-decoration:underline}.article-meta{font-size:.9rem}.article-preview{font-style:italic;font-size:.95rem;line-height:1.5}.article-badges{display:flex;align-items:center;gap:.5rem;font-size:.8rem;flex-wrap:wrap}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;letter-spacing:.02em;border:1px solid transparent}.badge-pending{background:#efe9dc;color:#6f6a60}.badge-ready{background:#e7efe3;color:#2f5d31}.badge-partial{background:#f8eed7;color:#8a6116}.badge-failed{background:#f7e5e1;color:#8c2f23}.badge-source{background:transparent;border-color:#cfc8b8;color:var(--muted)}.empty{padding:1.5rem 0}.steps{padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem;line-height:1.5}.schedule-summary{font-size:1rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em;background:#efe9dc;padding:.1em .35em;border-radius:4px}