@font-face{font-family:Source Sans;src:url('/assets/source-sans-3.ttf') format('truetype');font-weight:200 900;font-display:swap}
@font-face{font-family:Alegreya;src:url('/assets/alegreya.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root{--paper:#f6f0e4;--surface:#fffaf1;--ink:#2c2d2b;--muted:#6c655a;--red:#831f29;--red-dark:#651721;--gold:#dcad35;--line:#d8cdbb;--green:#326849;--danger:#a32a34;--radius:5px;--font:'Source Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,input,select,textarea,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--red);border-radius:var(--radius);background:var(--red);color:#fffaf1;padding:10px 17px;font-weight:600;min-height:44px;transition:background .15s}button:hover{background:var(--red-dark)}button:disabled{cursor:not-allowed;opacity:.52}button.secondary{background:transparent;color:var(--red);border-color:var(--line)}button.secondary:hover{background:#efe5d5}input,select,textarea{display:block;width:100%;border:1px solid #c8baa4;border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:10px 12px;min-height:44px}input:disabled{background:#e8dfd0}textarea{resize:vertical}label{display:block;font-size:14px;font-weight:600;margin:14px 0 5px}input::placeholder{color:#807566}input[type=file]{padding:7px;font-size:14px}input[type=file]::file-selector-button{background:#e9dfce;border:0;border-radius:3px;padding:7px 9px;color:var(--ink);margin-right:8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ab7223;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1,h2{font-family:Alegreya,Georgia,serif;font-weight:600}h1{font-size:30px}h2{font-size:25px}h3{font-size:18px}img{display:block;max-width:100%}.shell{max-width:1340px;margin:auto;padding:0 44px}.masthead{display:flex;align-items:center;gap:38px;padding:29px 0 23px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-family:Alegreya,Georgia,serif;font-size:36px;font-weight:700;line-height:1.05;letter-spacing:-.5px;flex-shrink:0}.brand:hover{text-decoration:none}.brand img{object-fit:contain;mix-blend-mode:multiply}.brand-lab{color:var(--red)}.brand small{display:block;font-family:var(--font);font-size:13px;font-weight:400;letter-spacing:.15px;margin-top:6px;color:var(--muted)}nav{display:flex;gap:25px;margin-left:auto}nav a{color:var(--ink);font-size:16px}.today{font-size:14px;color:var(--muted);border-left:1px solid var(--line);padding-left:25px;max-width:165px}.portal{display:grid;grid-template-columns:265px minmax(280px,1fr) 235px;gap:36px;padding:35px 0 45px}.portal>*,.portal section{min-width:0}.center-column{padding:0 0 0 1px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.section-heading h1,.section-heading h2{flex-shrink:1}.eyebrow{font-size:12px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.mail-panel{border:1px solid var(--line);border-top:4px solid var(--red);background:var(--surface);padding:20px}.mail-heading{display:flex;align-items:center;gap:10px;margin-bottom:21px}.mail-heading img{width:45px;height:50px;object-fit:contain;mix-blend-mode:multiply}.mail-heading h2{font-size:21px;color:var(--red);letter-spacing:.3px}.mail-heading span{font-size:13px;color:var(--muted)}.mail-panel label{margin-top:13px}.mail-panel button{width:100%;margin-top:19px;display:flex;justify-content:space-between}.micro{font-size:13px;line-height:1.45;color:var(--muted)}.mail-panel .micro{margin:13px 0}.quiet-link{font-size:14px;display:inline-block;margin-top:9px}.about{margin-top:30px}.about h2{font-size:24px}.about .section-heading{margin-bottom:12px}.about p{color:#514d45;font-size:16px;line-height:1.65}.little-star{font-size:25px;color:var(--red)}.small-note{display:block;color:var(--muted);font-size:13px;margin-top:16px}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid var(--line);align-items:start}.emblem{width:60px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--surface);clip-path:polygon(0 0,100% 0,100% 71%,50% 100%,0 71%)}.emblem img{width:32px;height:32px;filter:brightness(0) invert(1)}.project:nth-child(2) .emblem{background:var(--ink)}.project:nth-child(3) .emblem{background:#a47121}.project-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.project h3{font-family:Alegreya,Georgia,serif;font-size:24px;font-weight:600}.project h3 a{color:var(--ink)}.project-category{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.project p{margin-top:7px;color:var(--muted);max-width:36ch}.journal{margin-top:31px}.post{padding:18px 0 22px;border-top:1px solid var(--line)}.post time{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.post h3{font-family:Alegreya,Georgia,serif;font-size:26px;font-weight:600;margin-bottom:10px}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#514d45}.post figure{margin:18px 0 0}.post figure img{width:100%;max-height:480px;object-fit:contain;object-position:left;background:#efe5d5;border-radius:var(--radius)}.post figcaption{font-size:13px;color:var(--muted);margin-top:8px}.weather{padding-bottom:25px;border-bottom:1px solid var(--line)}.weather .section-heading{margin-bottom:12px}.weather-mini{font-size:27px;color:#a47121}.weather select{font-size:16px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:4px 0;min-height:35px}.weather-main{display:flex;align-items:center;gap:19px;margin-top:14px}.temperature{font-family:Alegreya,Georgia,serif;font-size:56px;line-height:1}.weather-icon{font-size:37px;color:#a47121}.weather-description{font-size:16px;margin-top:12px}.weather-hours{display:flex;justify-content:space-between;margin-top:20px;padding-top:13px;border-top:1px solid var(--line)}.weather-hour{display:grid;gap:5px;text-align:center}.weather-hour time{font-size:13px;color:var(--muted)}.weather-hour span{font-weight:600}.weather .micro{margin-top:9px}.attribution{display:inline-block;font-size:12px;color:var(--muted);margin-top:17px}.muted{color:var(--muted);line-height:1.55}.status-mini{margin-top:24px}.status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;font-size:14px}.state-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:#8b877e;display:inline-block;flex-shrink:0}.status-dot.up{background:var(--green)}.status-dot.down{background:var(--danger)}.status-dot.unknown{background:#8b877e}.portal-note{display:flex;align-items:center;gap:14px;margin-top:36px;padding-top:21px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.5}.portal-note>span{font-size:40px;color:var(--red)}footer{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding:22px 0 29px;color:var(--muted);font-size:13px}footer div{display:flex;gap:25px}footer a{color:var(--muted)}.skip{position:absolute;left:16px;top:-100px;padding:12px;background:var(--surface);z-index:20}.skip:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-page,.admin-page{max-width:860px;margin:auto;padding:32px 0 48px}.back-link{display:inline-block;font-size:14px;margin-bottom:26px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{font-size:40px;margin-top:9px}.status-overview{font-family:Alegreya,Georgia,serif;font-size:26px;padding:21px 0;margin:22px 0 0;border-top:1px solid var(--line)}.service-row{padding:23px 0;border-top:1px solid var(--line)}.service-row .section-heading{margin-bottom:9px}.service-row h2{font-size:25px}.service-metrics{display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:12px 0}.history-bars{display:flex;gap:3px;height:28px}.history-bars span{flex:1;background:#c6bba9;border-radius:2px;max-width:14px;min-width:2px}.history-bars .up{background:var(--green)}.history-bars .down{background:var(--danger)}.monitor-note{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.monitor-note h2{font-size:25px;margin-bottom:12px}.monitor-note p{color:var(--muted);margin:12px 0;line-height:1.65}.error-message{background:#f2e0da;border-left:3px solid var(--red);padding:13px 15px;margin-bottom:18px}.success-message{background:#e4eadf;border-left:3px solid var(--green);padding:13px 15px;margin-bottom:18px}.login-editor{max-width:350px;margin:30px 0}.login-editor button{margin:17px 0}.editor-section{border-top:1px solid var(--line);padding:25px 0;margin-top:12px}.editor-section>button,.editor-section form>button{margin-top:17px}.editor-section h2{margin-bottom:17px}.project-edit{border:1px solid var(--line);padding:15px;margin:15px 0;background:var(--surface)}.project-edit .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-post-row{border-top:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-post-row time{display:block;font-size:13px;color:var(--muted)}.confirm-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}#admin-message:not(:empty){margin-top:15px}section{scroll-margin-top:20px}
@media(min-width:1440px){.shell{max-width:1440px;padding:0 56px}.portal{grid-template-columns:280px minmax(360px,1fr) 250px;gap:45px}.masthead{padding-top:36px}.project{padding:27px 0}}
@media(max-width:1120px){.shell{padding:0 28px}.portal{grid-template-columns:235px minmax(260px,1fr);gap:30px}.right-column{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-top:25px}.weather{border:0;padding-bottom:0}.status-mini{margin:0}.portal-note{display:none}.today{display:none}.masthead{gap:25px}.brand{font-size:33px}.brand img{width:59px;height:59px}}
@media(max-width:680px){.shell{padding:0 20px}.masthead{align-items:flex-start;flex-wrap:wrap;gap:20px;padding:22px 0 17px}.brand{font-size:32px}.brand img{width:51px;height:56px}.brand small{font-size:12px}nav{margin:0;width:100%;gap:26px;padding-top:0}nav a{font-size:15px}.portal{display:flex;flex-direction:column;gap:29px;padding:26px 0 35px}.left-column{display:contents}.mail-panel{padding:19px}.mail-heading{margin-bottom:15px}.mail-panel form{display:grid;grid-template-columns:1fr;gap:0}.about{order:4;margin-top:0;padding-top:25px;border-top:1px solid var(--line)}.center-column{order:2}.right-column{order:3;grid-column:auto;display:grid;grid-template-columns:1fr;gap:27px;padding-top:25px}.weather{padding-bottom:25px;border-bottom:1px solid var(--line)}.section-heading{margin-bottom:16px}.section-heading h1{font-size:29px}.project{gap:15px;padding:21px 0;grid-template-columns:51px 1fr}.emblem{width:51px;height:57px}.project h3{font-size:23px}.project-header{flex-wrap:wrap;gap:3px}.project-category{font-size:12px}.project p{font-size:16px;margin-top:5px}.journal{margin-top:27px}.post h3{font-size:25px}.weather-hours{justify-content:flex-start;gap:35px}.weather-main{margin-top:18px}.weather-description{margin-top:10px}.temperature{font-size:55px}.status-line{font-size:16px}.state-label{font-size:14px}footer{align-items:flex-start;flex-direction:column;gap:13px;padding:22px 0}.page-heading{align-items:flex-start}.page-heading h1{font-size:34px}.page-heading>button{padding:8px 11px;font-size:14px;margin-top:20px}.status-page,.admin-page{padding-top:25px}.service-row .section-heading{flex-wrap:wrap}.service-metrics{gap:14px}.history-bars{gap:2px}.project-edit .row{grid-template-columns:1fr;gap:0}.admin-post-row{align-items:flex-start}.eyebrow{font-size:12px}.admin-page .page-heading{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.mail-panel{position:relative;overflow:hidden}.mail-content{transition:filter .18s ease,opacity .18s ease}.mail-loading .mail-content{filter:blur(2px);opacity:.55;pointer-events:none}.mail-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:rgba(255,250,241,.54);color:var(--red);font-size:14px;transition:opacity .18s ease;z-index:1}.mail-overlay[hidden]{display:none}.mail-overlay-leaving{opacity:0}.mail-spinner{width:35px;height:35px;border:2px solid rgba(131,31,41,.18);border-top-color:var(--red);border-radius:50%;animation:mail-spin .8s linear infinite}.mail-welcome{font-family:Alegreya,Georgia,serif;font-size:25px;line-height:1.3;margin:26px 0 22px;overflow-wrap:anywhere}.mail-open{display:block;padding:12px 15px;background:var(--red);color:var(--surface);text-align:center;border-radius:3px;text-decoration:none}.mail-open:hover{color:var(--surface);background:#681922}.mail-failure{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;color:var(--red);margin:17px 0 0;animation:mail-reveal .18s ease}.mail-cross{position:relative;flex:0 0 17px;height:17px;margin-top:2px}.mail-cross:before,.mail-cross:after{content:'';position:absolute;left:8px;top:0;width:2px;height:17px;background:currentColor;transform:rotate(45deg)}.mail-cross:after{transform:rotate(-45deg)}.mail-panel form[hidden]{display:none}@keyframes mail-spin{to{transform:rotate(360deg)}}@keyframes mail-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.mail-spinner,.mail-failure{animation:none}}
