@layer reset,theme,layout,components,responsive;
@layer reset{*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}img{max-width:100%}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9b4d23;outline-offset:4px}html{scroll-padding-block-start:24px}p{max-width:70ch;text-wrap:pretty}h1,h2,h3{text-wrap:balance}body{overflow-wrap:anywhere}button{text-align:center}}
@layer theme{:root{--paper:#f4f1e8;--surface:#fffcf5;--ink:#25372c;--muted:#60665e;--accent:#315b43;--soft:#e6eadf;--line:#d7d7c9;--input:#777e72;--note:#f1e8cc;--danger:#963b31;--shadow:0 2px 3px #28342604,0 8px 24px #28342606}body{background:var(--paper);color:var(--ink);font:400 1rem/1.55 'Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,.brand-name,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.25rem,4vw,3.4rem);line-height:1.12;letter-spacing:-.035em}h2{font-size:1.65rem;line-height:1.25;letter-spacing:-.02em}h3{font-size:1.06rem;line-height:1.4;font-weight:650}small,.small{font-size:.82rem}button{font-weight:600}input,textarea,select{font-size:1rem}::selection{background:#dce7c9;color:var(--ink)}}
@layer layout{.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.sidebar{padding:34px 22px 24px;border-inline-end:1px solid var(--line);display:flex;flex-direction:column;gap:32px;background:#eceee3}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand svg{width:46px;height:46px;flex:none}.brand-name{font-size:1.5rem;line-height:1.2}.brand small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}.sidebar nav{display:grid;gap:6px}.nav-link{display:flex;gap:13px;align-items:center;text-decoration:none;border-radius:7px;padding:11px 12px;font-size:.92rem;min-height:46px}.nav-link[aria-current=page]{background:var(--accent);color:var(--surface)}.sidebar-foot{margin-top:auto;padding-top:30px}.sidebar-foot p{color:var(--muted);font-size:.8rem;margin-top:14px}.main-wrap{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:19px 42px;border-bottom:1px solid var(--line);gap:16px;font-size:.82rem}.topbar .eyebrow{margin:0}.profile{display:flex;align-items:center;gap:9px}.main{max-width:1280px;padding:38px 42px 60px;margin-inline:auto}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px;flex-wrap:wrap}.heading p{color:var(--muted);margin-top:12px}.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted);margin-bottom:12px}.dashboard{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.stack{display:grid;gap:24px;align-content:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.card-head a{font-size:.8rem;text-underline-offset:4px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.spread{display:flex;flex-direction:column;gap:14px}.section{margin-top:28px}.section-title{margin-bottom:20px}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.empty{padding:28px 12px;color:var(--muted);text-align:center}.empty p{margin-inline:auto}.empty .btn{margin-top:14px}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}}
@layer components{.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none;flex:none;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;min-height:44px;border:1px solid var(--input);border-radius:6px;background:transparent;color:var(--ink);text-decoration:none;font-size:.87rem;line-height:1.4}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.small{font-size:.8rem;padding:8px 12px}.icon-btn{padding:10px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink)}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:4px;background:var(--soft);padding:4px 8px;font-size:.72rem;font-weight:600;line-height:1.5}.badge.outline{background:transparent;border:1px solid var(--line)}.badge.warm{background:var(--note)}.avatar{width:34px;height:34px;display:inline-grid;place-items:center;background:var(--member,var(--accent));color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;flex:none}.dot{height:10px;width:10px;border-radius:50%;display:inline-block;background:var(--member,var(--accent));flex:none}.visit{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:48px minmax(0,1fr);gap:17px}.visit:first-child{border-top:0;padding-top:0}.date-box{text-align:center;line-height:1.25;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:3px}.date-box strong{display:block;font-family:Georgia,serif;font-size:1.9rem;font-weight:400;color:var(--ink)}.date-box span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.visit-info{border-inline-start:3px solid var(--member,var(--accent));padding-inline-start:15px;position:relative}.visit-info.shared::before{content:'';position:absolute;inset-inline-start:-3px;top:50%;bottom:0;width:3px;background:var(--accent)}.visit-info.event{border-inline-start-style:dashed;border-color:var(--muted)}.visit-info p{margin-top:7px;font-size:.83rem;color:var(--muted)}.visit-info h3 a{text-decoration:none}.visit-info h3 a:hover{text-decoration:underline}.note{background:var(--note);position:relative;border-color:#d8cfae}.note .quote{font-family:Georgia,serif;font-size:1.23rem;line-height:1.6;margin:14px 0 20px}.note-meta{display:flex;gap:10px;align-items:center;font-size:.79rem}.task-row{display:flex;align-items:flex-start;gap:13px;border-top:1px solid var(--line);padding:17px 0}.task-row:first-child{border-top:0;padding-top:0}.task-row:last-child{padding-bottom:0}.task-check{border:1px solid var(--input);border-radius:50%;width:22px;height:22px;flex:none;margin-top:3px}.task-row p{font-size:.8rem;color:var(--muted);margin-top:4px}.task-row a{text-decoration:none}.task-row a:hover{text-decoration:underline}.task-row .task-content{flex:1;min-width:0}.poll-preview{padding:16px 0;border-top:1px solid var(--line)}.poll-preview:first-child{padding-top:0;border:0}.poll-preview h3{margin:10px 0}.progress{height:6px;border-radius:4px;background:var(--line);overflow:hidden;margin:15px 0 8px}.progress>span{display:block;height:100%;background:var(--accent)}.project-mark{font-family:Georgia,serif;font-size:2.4rem;color:var(--muted);margin-bottom:26px}.project-card h2{margin-bottom:10px}.project-card p{color:var(--muted)}.project-card .next{padding-top:20px;border-top:1px solid var(--line);margin-top:22px}.post{margin-bottom:20px}.post h3{margin:8px 0 12px}.prose{white-space:pre-wrap;max-width:70ch}.post .prose{margin:12px 0}.post-date{color:var(--muted);font-size:.79rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}.cal-label{font-size:.7rem;font-weight:600;color:var(--muted);text-align:center;padding:10px;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line)}.day{min-height:110px;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;min-width:0;font-variant-numeric:tabular-nums}.day>span{display:inline-grid;place-items:center;width:28px;height:28px;font-size:.8rem}.day.today>span{background:var(--accent);color:white;border-radius:50%}.day.outside{background:#eeeee4;color:var(--muted)}.cal-entry{display:block;color:var(--ink);background:var(--paper);text-decoration:none;border-inline-start:3px solid var(--member,var(--accent));padding:5px;margin-top:4px;font-size:.68rem;line-height:1.4;word-break:break-word}.cal-entry.shared{border-bottom:3px solid var(--accent)}.cal-entry.event{border-inline-start-style:dashed}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:.76rem;margin-top:16px;color:var(--muted)}.calendar-mobile{display:none}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.search{max-width:400px;width:100%}.filter{display:flex;gap:8px;flex-wrap:wrap}.filter button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}label{display:grid;gap:7px;font-size:.85rem;font-weight:600}input,select,textarea{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--input);border-radius:5px;min-height:46px;padding:10px 12px;line-height:1.5}textarea{resize:vertical;min-height:100px}input[type=checkbox],input[type=radio]{width:20px;min-height:20px;height:20px;accent-color:var(--accent);flex:none}.check-label{display:flex;align-items:flex-start;gap:12px;padding:10px 0;font-weight:400}.field-help{font-size:.78rem;color:var(--muted);font-weight:400}.fields{display:grid;gap:18px}.color-options{display:flex;gap:12px;flex-wrap:wrap}.color-option{display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:9px;border-radius:5px;font-size:.82rem}.color-option .dot{width:18px;height:18px}.error{color:var(--danger);padding:10px 0;white-space:pre-wrap}.error:empty{display:none}dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;padding:28px;background:var(--surface);color:var(--ink);box-shadow:0 20px 80px #14241930}dialog::backdrop{background:#1d2b2359;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.dialog-head h2{font-size:1.7rem}.login{max-width:460px;margin:8vh auto;padding:30px}.login .brand{margin-bottom:50px}.login h1{font-size:2.6rem}.login .intro{margin:18px 0 28px;color:var(--muted)}.login form{padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.login footer{font-size:.8rem;color:var(--muted);margin-top:24px}.login .btn{width:100%}.login-art{margin:28px 0;width:100%;height:80px;color:var(--accent)}.skip{position:absolute;top:-60px;padding:10px;z-index:30;background:var(--surface)}.skip:focus{top:10px}#notice:not(:empty){position:fixed;bottom:22px;inset-inline:16px;margin-inline:auto;max-width:580px;padding:16px 20px;background:var(--ink);color:white;border-radius:8px;z-index:20;box-shadow:var(--shadow);display:flex;align-items:center;gap:20px;justify-content:space-between}#notice button{background:transparent;color:white;border:1px solid #b6c5b6;border-radius:4px;padding:6px;min-width:36px;min-height:36px}.comment{padding:14px 0;border-top:1px solid var(--line)}.comment .prose{margin-top:6px;font-size:.9rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:20px 0}.photo-grid img{border-radius:6px;max-height:240px;object-fit:contain;outline:1px solid #0000001a;outline-offset:-1px}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 20px}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:20px 0}.detail-list dt{color:var(--muted);font-size:.85rem}.detail-list dd{margin:0}.banner{background:var(--note);padding:10px 22px;text-align:center;font-size:.8rem}.instruction{padding:16px;background:var(--soft);border-radius:6px;font-size:.87rem;margin:16px 0}.link-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;font-size:.85rem;text-underline-offset:3px}.account-name{max-width:180px}.member-row{padding:14px 0;border-top:1px solid var(--line)}.mobile-menu{display:none}fieldset{border:0;padding:0;margin:0}legend{font-size:.85rem;font-weight:600;margin-bottom:10px}.vote-options{display:grid;gap:10px}.vote-option{border:1px solid var(--input);border-radius:6px;padding:13px;display:flex;gap:12px;align-items:center}.vote-option:has(input:checked){background:var(--soft);border-color:var(--accent)}.subtle-link{font-size:.83rem;text-underline-offset:4px}.status-text{font-variant-numeric:tabular-nums}.plant{height:80px;opacity:.65;margin-top:30px}.board-foot{padding-top:28px;font-size:.76rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.loading{padding:50px;color:var(--muted)}.hidden{display:none!important}@media(hover:hover){.btn:not(.primary):not(:disabled):hover,.icon-btn:hover{background:var(--soft)}.btn.primary:hover{background:#244b35}.nav-link:not([aria-current]):hover{background:#dfe4d7}}@media(prefers-reduced-motion:no-preference){.btn{transition:background-color 120ms ease-out,transform 150ms ease-out}.btn:not(:disabled):active{transform:scale(.96)}}}
@layer responsive{@media(min-width:1500px){.main{padding-top:48px}.dashboard{gap:30px}.stack{gap:30px}}@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.main{padding:30px 26px}.topbar{padding-inline:26px}.dashboard{grid-template-columns:1fr}.dashboard>.stack{display:grid;grid-template-columns:1fr}.columns{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{display:block;padding:18px 20px;border-inline-end:0;border-bottom:1px solid var(--line)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.brand-name{font-size:1.35rem}.brand svg{width:38px;height:38px}.sidebar nav{display:none;margin-top:22px;grid-template-columns:1fr 1fr}.sidebar nav.open{display:grid}.sidebar-foot{display:none}.mobile-menu{display:inline-flex}.topbar{padding:12px 20px}.topbar .eyebrow{font-size:.62rem;letter-spacing:.06em}.main{padding:26px 20px 40px}.heading{margin-bottom:24px;gap:20px}.heading>.btn{width:100%}.heading h1{font-size:2.45rem}.card{padding:20px}.card-head{margin-bottom:18px}.calendar-desktop{display:none}.calendar-mobile{display:block}.board-foot{flex-direction:column;gap:4px}.account-name{max-width:130px}.two-inputs{grid-template-columns:1fr}dialog{padding:22px}.login{margin:3vh auto;padding:24px}.login .brand{margin-bottom:32px}.detail-list{grid-template-columns:1fr;gap:4px}.detail-list dd{margin-bottom:12px}.toolbar>label{max-width:none}.card-head h2{font-size:1.5rem}}@media(max-width:360px){.main,.sidebar{padding-inline:14px}.topbar{padding-inline:14px}.card{padding:16px}.topbar>.eyebrow{display:none}.sidebar nav{grid-template-columns:1fr}.heading h1{font-size:2.1rem}.card-head{gap:12px}}}

.guide-card p{margin:18px 0 24px;color:var(--muted)}.guide-card .btn{margin-top:12px;width:100%}.field-help{display:block}.preview-label{font-size:.8rem}
