@import url("https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,500;7..72,700&family=Source+Sans+3:wght@400;600;700&display=swap");:root{--ink:#16324f;--paper:#f7f4ed;--line:#d7d1c6;--accent:#a43d38;--panel:#edf2f7;--muted:#5f6872}*{box-sizing:border-box}body,html{max-width:100vw;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:Source Sans\ 3,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:36px 0 56px}header{text-align:center;padding:32px 0;border-bottom:1px solid var(--line)}h1,h2{margin:0;font-family:Literata,Georgia,serif}h1{font-size:clamp(2.6rem,8vw,5.6rem);letter-spacing:-.05em}h2{font-size:clamp(1.7rem,3vw,2.8rem)}.tagline{color:var(--muted);font-size:1.2rem}.eyebrow{margin:0 0 .5rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}nav{display:flex;gap:10px 28px;overflow-x:auto;padding:18px 0;white-space:nowrap;border-bottom:1px solid var(--line)}nav a{color:inherit;font-weight:700;text-decoration:none}nav a:focus-visible,nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.topics{color:#465463;font-size:.95rem}.contribution{max-width:860px;margin:32px auto;padding:clamp(24px,5vw,48px);border:1px solid #afbdcb;background:var(--panel)}.contribution p{max-width:58ch;font-size:1.2rem}.principle{font-weight:600}.edition-meta{color:var(--muted);font-size:.9rem}.edition-sections{display:flex;flex-wrap:wrap;gap:8px 16px;margin:20px 0 28px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.edition-sections a{color:inherit;font-weight:700;text-decoration:none}.edition-sections a:focus-visible,.edition-sections a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.edition-section{max-width:none!important;margin:28px 0 0;padding:24px 0!important;border-top:2px solid var(--line)!important;scroll-margin-top:20px}.edition-section h3{margin:0 0 18px;font-family:Literata,Georgia,serif;font-size:clamp(1.35rem,2.5vw,2rem)}.edition-articles{display:grid;grid-gap:18px;gap:18px}.edition-articles article{padding:18px 0;border-bottom:1px solid var(--line)}.edition-articles h4{margin:0 0 8px;font-family:Literata,Georgia,serif;font-size:clamp(1.1rem,2vw,1.45rem)}.edition-articles h4 a{color:inherit;text-decoration:none}.edition-articles h4 a:focus-visible,.edition-articles h4 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.edition-articles time{color:var(--muted);font-size:.85rem}.button{display:inline-block;margin-top:8px;padding:12px 18px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none}.button:focus-visible,.button:hover{background:var(--accent)}section:not(.contribution){max-width:760px;padding:32px 0;border-top:4px solid var(--ink)}footer{margin-top:56px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}.weather-widget{position:fixed;top:12px;right:12px;z-index:1000;min-width:180px;padding:8px 10px;border:1px solid #d7d1c6;border-radius:8px;background:rgba(247,244,237,.97);color:var(--ink);box-shadow:0 2px 8px rgba(22,50,79,.12);font-size:11px}.weather-loading,.weather-widget.loading{color:var(--muted);text-align:center}.weather-header{margin-bottom:4px;font-weight:700;text-align:center}.weather-forecast{display:flex;flex-direction:column;gap:3px}.weather-day{display:flex;align-items:center;justify-content:space-between}.weather-day-date{min-width:50px;font-weight:600}.weather-day-temp{color:var(--ink)}.weather-day-condition{color:var(--muted);font-size:10px}.coffee-widget{position:fixed;right:16px;bottom:16px;z-index:1000;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);box-shadow:0 2px 6px rgba(22,50,79,.1);font-size:11px;transform:scale(.5);transform-origin:bottom right}@media (max-width:560px){main{width:min(100% - 24px,1120px);padding-top:12px}header{padding:24px 0}nav{margin-inline:-12px;padding-inline:12px}.weather-widget{top:8px;right:8px}}