@import url('https://fonts.googleapis.com/css2?family=Lilita+One&family=Barlow+Condensed:wght@700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#171714;--paper:#faf9f2;--yellow:#ffeb00;--green:#94b747;--lilac:#9887aa;--pink:#e8b3b4;--display:'Lilita One','Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;--border:2px solid var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--body)}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a52218;outline-offset:4px}button{border:var(--border);background:var(--paper);padding:10px 17px;min-height:44px;font-weight:700}button:hover{background:var(--yellow)}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.display{font-family:var(--display);font-weight:900;line-height:1;text-transform:uppercase}h1{font-size:clamp(48px,6vw,76px);letter-spacing:-1.5px}h2{font-size:34px}h3{font-size:27px}small,.meta{font-size:14px}.muted{color:#5b5b52}.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:var(--paper);padding:34px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{text-decoration:none;display:block;transform:rotate(-3deg);margin:0 8px 40px}.brand .ngp{font:900 23px/1 var(--display);letter-spacing:4px}.brand .shed{font:900 74px/.95 var(--display);color:var(--yellow);letter-spacing:-3px}.brand small{display:block;font-size:12px;margin-top:10px;letter-spacing:.3px}.nav{display:grid;gap:9px}.nav a{display:flex;gap:13px;align-items:center;text-decoration:none;padding:12px 15px;font:800 24px var(--display);text-transform:uppercase;border:2px solid transparent}.nav a.active{background:var(--yellow);color:var(--ink);border-color:var(--yellow);transform:rotate(-2deg)}.nav a:hover{border-color:var(--paper)}.nav-icon{font:24px var(--body);width:24px;text-align:center}.side-add{margin-top:30px;background:transparent;color:var(--yellow);border-color:var(--yellow);font-family:var(--display);font-size:24px}.side-add:hover{color:var(--ink)}.side-bottom{margin-top:auto;padding-top:30px;font-size:14px;color:#d0cec2}.side-bottom strong{color:var(--yellow);display:block;font-family:var(--display);font-size:23px;text-transform:uppercase;margin-bottom:8px}.main{padding:0 42px 50px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border);padding:20px 0;margin-bottom:32px;font-size:14px}.demo-tag{border:1px solid var(--ink);padding:3px 9px;font-size:12px;font-weight:700;text-transform:uppercase}.heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;gap:20px}.eyebrow{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}.scribble{font-family:Georgia,serif;font-style:italic;transform:rotate(-5deg);font-size:20px}.heading p{margin-top:10px}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px}.capture{background:var(--yellow);border:var(--border);padding:23px;box-shadow:4px 4px 0 var(--ink);margin-bottom:33px;position:relative}.capture h2{font-size:32px;margin-bottom:14px}.capture-row{display:flex;gap:10px}.capture input{width:100%;min-width:0;background:#fffdef;border:var(--border);padding:13px;font-size:16px}.black-button{background:var(--ink);color:var(--paper);white-space:nowrap}.black-button:hover{background:#3b3b32;color:var(--yellow)}.capture .hint{font-size:13px;margin-top:10px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 16px;gap:15px}.text-button{background:none;border:0;padding:7px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px}.events-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.event-card{border:var(--border);padding:18px;text-align:left;display:block;width:100%;box-shadow:3px 3px 0 var(--ink)}.event-card:hover{transform:translateY(-2px);background:var(--green)}.event-card h3{margin:12px 0 7px}.event-card p{font-size:14px}.sticker{display:inline-block;background:var(--ink);color:white;font-size:12px;font-weight:700;letter-spacing:.7px;padding:3px 8px;text-transform:uppercase;transform:rotate(-2deg)}.green{background:var(--green)}.lilac{background:var(--lilac)}.yellow{background:var(--yellow)}.pink{background:var(--pink)}.jobs{border-top:var(--border)}.job{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #b7b5aa}.job input{appearance:none;flex-shrink:0;width:24px;height:24px;border:2px solid var(--ink);background:transparent;cursor:pointer;margin:0}.job input:checked{background:var(--ink)}.job input:checked:after{content:'✓';color:var(--yellow);display:block;text-align:center;line-height:20px}.job:has(input:checked) .job-text{text-decoration:line-through;color:#6b6b61}.job .job-text{flex:1}.job small{display:block;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.6px}.job span:last-child{font-size:13px}.captured-list{display:grid;gap:0}.capture-item{display:flex;gap:13px;align-items:center;border-bottom:1px solid #b7b5aa;padding:14px 0}.capture-item .capture-copy{flex:1}.capture-item .capture-copy p{font-weight:500}.capture-item .type{font-family:var(--display);font-size:18px;border:1px solid var(--ink);padding:2px 8px;transform:rotate(-3deg);min-width:63px;text-align:center}.capture-item button{font-size:13px;padding:7px 10px;min-height:36px}.noticeboard{padding:19px;background:#e6dfcf;border:1px solid #c3bdad;align-self:start}.noticeboard .section-title{margin:0 0 20px}.noticeboard h2{font-size:29px}.poster{display:block;width:100%;border:5px solid #fff;box-shadow:3px 4px 0 #aaa18f;transform:rotate(2deg)}.poster-wrap{position:relative;margin:18px 5px 20px}.poster-wrap:before{content:'';position:absolute;z-index:1;background:#d5bd8bbf;width:75px;height:23px;top:-9px;left:35%;transform:rotate(-8deg)}.noticeboard .caption{font-size:13px;margin-top:15px}.little-note{background:var(--lilac);padding:18px;margin-top:28px;transform:rotate(-2deg);border:1px solid var(--ink)}.little-note h3{font-size:27px;margin-bottom:10px}.little-note button{width:100%;margin-top:16px;background:transparent}.bottom-note{margin-top:28px;font-size:13px}.mobile-nav{display:none}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:13px 24px;background:var(--ink);color:var(--yellow);border:2px solid var(--yellow);box-shadow:3px 3px 0 var(--ink);z-index:10;font-weight:700;display:none}.empty{padding:25px;border:1px dashed var(--ink)}.full-width{width:100%}.back{display:inline-block;margin-bottom:18px;font-size:14px}.demo-explain{font-size:14px;margin-top:20px}.page-footer{margin-top:35px;border-top:1px solid #b7b5aa;padding-top:14px;font-size:12px;color:#5b5b52;display:flex;justify-content:space-between;gap:15px}
@media(min-width:1450px){.main{padding-left:60px;padding-right:60px}.today-grid{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:1100px){.app-shell{grid-template-columns:185px 1fr}.sidebar{padding:28px 15px}.main{padding:0 25px 35px}.today-grid{grid-template-columns:1fr}.noticeboard{display:grid;grid-template-columns:1fr 1fr;gap:20px}.noticeboard .section-title{grid-column:1/-1;margin:0}.poster-wrap{max-width:220px;margin:0}.little-note{margin:5px 0;align-self:start}}
@media(max-width:700px){.app-shell{display:block}.sidebar{height:auto;position:static;padding:18px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.brand{margin:0;transform:rotate(-2deg)}.brand .ngp{font-size:15px;letter-spacing:3px}.brand .shed{font-size:43px;letter-spacing:-1px}.brand small,.sidebar .nav,.side-bottom{display:none}.side-add{margin:0;padding:8px 12px;font-size:21px}.main{padding:0 20px 100px}.topbar{margin-bottom:24px;padding:15px 0;font-size:12px}.heading{align-items:start;margin-bottom:22px}.heading h1{font-size:53px}.heading .scribble{display:none}.heading p{font-size:14px}.capture{padding:17px;margin-bottom:28px}.capture h2{font-size:29px}.capture-row{gap:8px}.capture input{padding:12px 10px;font-size:16px}.capture-row button{padding:10px 12px}.events-row{gap:13px}.event-card{padding:14px}.event-card h3{font-size:27px}.section-title h2{font-size:30px}.job .job-text{font-size:15px}.noticeboard{gap:15px;padding:15px;margin-top:26px}.little-note{padding:14px}.little-note h3{font-size:25px}.little-note p{font-size:14px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:var(--ink);border-top:2px solid var(--ink);padding:8px 8px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;gap:5px}.mobile-nav a{color:var(--paper);text-align:center;text-decoration:none;padding:7px 10px;font:800 18px var(--display);min-height:44px;display:grid;align-content:center}.mobile-nav a.active{background:var(--yellow);color:var(--ink);transform:rotate(-2deg)}.capture-item{align-items:start}.capture-item .type{font-size:16px;min-width:54px}.capture-item button{padding:6px;min-height:44px}.page-footer{display:block}.page-footer span{display:block}#toast{bottom:88px;width:max-content;max-width:90%;text-align:center;font-size:14px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .12s,transform .12s}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Home-specific components. Shared palette/type tokens live in :root above. */
:root{--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--radius:0;--soil:#56351f;--brick:#a52218;--grow:#5fae3a;--shadow:4px 4px 0 var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.ink-text{color:var(--ink)}.brand-dot{color:var(--green)}.greeting-dot{color:#447c27}.later-nav{display:grid;padding:22px 15px 0;gap:12px;color:#c2c1b7}.later-nav p{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#c2c1b7;margin-bottom:2px}.later-nav span{font:800 23px var(--display);text-transform:uppercase}.later-nav span:after{content:'LATER';font:10px var(--body);border:1px solid #77776a;padding:2px 4px;margin-left:10px;vertical-align:middle}.side-version{font-size:10px;letter-spacing:1px;margin-top:35px;color:#b9b8ad}.capture-title{display:flex;justify-content:space-between;align-items:start}.capture-title>span{font-size:38px;line-height:1;transform:rotate(-8deg)}.event-card{cursor:default;min-height:178px}.event-card:hover{transform:none}.event-card.green:hover{background:var(--green)}.event-card.lilac:hover{background:var(--lilac)}.event-bottom{border-top:1px solid #17171470;padding-top:11px;margin-top:18px;display:flex;justify-content:space-between;font-size:13px;font-weight:500}.eyes{font:24px var(--body);vertical-align:middle}.poster{height:auto}.noticeboard{background:#e5dfcf;background-image:radial-gradient(#756f6028 .5px,transparent .5px);background-size:5px 5px}.upcoming-item{display:flex;gap:13px;margin-top:17px;padding-bottom:16px;border-bottom:1px solid #17171460}.date-stamp{flex-shrink:0;text-align:center;border:2px solid var(--ink);width:42px;height:54px;background:var(--paper)}.date-stamp span{display:block;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:1px;font-weight:700}.date-stamp strong{font:900 30px/1.1 var(--display)}.upcoming-name{font-weight:700;font-size:14px;line-height:1.35}.upcoming-time{font-size:12px;margin-top:5px}.little-footnote{font:italic 15px Georgia,serif;margin-top:15px}.capture-sort{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.capture-sort label{font-size:14px}.capture-sort select{padding:8px;background:#fffdf6;border:var(--border);min-height:44px}.storage-warning{padding:12px;background:var(--paper);margin-top:12px;font-size:14px}.timing{border:1px solid #9d9b91;padding:2px 8px;border-radius:20px}.sidebar .side-add{font-size:22px;padding:10px 8px}.caption{line-height:1.5}
@media(max-width:1100px) and (min-width:701px){.noticeboard .poster-section{display:flex;gap:22px;align-items:end}.noticeboard{grid-template-columns:1.3fr 1fr}.poster-wrap{max-width:170px;flex-shrink:0}.noticeboard .caption{max-width:120px}.sidebar .side-add{font-size:21px}.brand .shed{font-size:66px}}
@media(max-width:700px){.later-nav{display:none}.sidebar .side-add{font-size:21px;padding:9px 12px}.noticeboard .poster-section{min-width:0}.noticeboard .poster-wrap{margin:0 3px}.noticeboard .caption{font-size:12px}.noticeboard .little-note{margin:0;padding:13px;transform:rotate(-1deg)}.upcoming-item{gap:8px}.upcoming-name{font-size:13px}.date-stamp{width:35px}.upcoming-time{font-size:12px}.mobile-nav a{display:flex;align-items:center;font-size:22px}.mobile-nav button{background:var(--yellow);font:800 22px var(--display);min-height:44px;padding:8px 20px;transform:rotate(1deg)}.mobile-nav{align-items:center;justify-content:space-between;padding:8px 20px calc(8px + env(safe-area-inset-bottom))}.mobile-nav a.active{background:transparent;color:var(--yellow);transform:none}.event-card{min-height:190px}.capture-row button{font-size:14px;white-space:normal;flex-basis:98px;flex-shrink:0}.capture-row button span{display:none}.job .timing{font-size:12px}.job{gap:10px}.section-title .meta{font-size:12px}.heading h1{font-size:clamp(42px,10.7vw,64px)}.capture-item .capture-copy p{overflow-wrap:anywhere}.capture-item{gap:9px}}
@media(max-width:380px){.noticeboard{grid-template-columns:1fr}.noticeboard .poster-section{max-width:220px;margin:0 auto}.noticeboard .little-note{margin-top:10px}.events-row{grid-template-columns:1fr}.section-title .meta{display:none}.capture h2{font-size:26px}}

/* Poster-led refinement: ink lettering, loud paper and a clear working surface. */
:root{--heading-font:var(--display)}
h1,h2,h3,.display{font-weight:400;letter-spacing:-.025em}h1{line-height:1.06}h2{font-size:31px}h3{line-height:1.08}.brand .shed{font-family:var(--display);font-size:63px;line-height:1.05;letter-spacing:-3px;transform:rotate(1deg);text-shadow:2px 2px 0 #fff}.brand .brand-dot{text-shadow:none}.brand .ngp{letter-spacing:3px}.heading h1{display:inline-block;background:var(--ink);color:white;padding:5px 13px 9px;transform:rotate(-1deg);box-shadow:5px 5px 0 var(--yellow);font-size:clamp(45px,5.4vw,69px)}.heading .greeting-dot{color:var(--yellow)}.heading p{margin-top:17px}.capture{background:var(--yellow);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.capture h2{font-size:30px}.capture-title>span{font-size:43px}.section-title h2{font-size:30px}.sticker{font-size:12px;padding:4px 9px;transform:rotate(-3deg)}.noticeboard h2{font-size:28px}.noticeboard .section-title{padding-bottom:12px;border-bottom:2px solid var(--ink)}.event-card{text-decoration:none;cursor:pointer;position:relative;box-shadow:4px 4px 0 var(--ink)}.event-card h3{font-size:30px;letter-spacing:-.02em;text-shadow:1px 1px 0 white}.event-card:first-child{transform:rotate(-.7deg)}.event-card:nth-child(2){transform:rotate(.7deg)}.event-card:hover{transform:translateY(-3px)}.event-bottom span{font-size:20px}.event-card:focus-visible{outline-offset:6px}.sidebar .nav a{font-size:23px}.sidebar .side-add{font-size:20px}.little-note h3{font-size:26px}.main{background-image:linear-gradient(#11111103 1px,transparent 1px);background-size:100% 28px}.capture-item .type{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800}.capture-item small{display:block;margin-top:3px}.capture-sort{display:grid;grid-template-columns:auto 1fr;max-width:440px}.capture-sort select{width:100%;min-width:0}.garden-demo{font-size:14px;margin-bottom:25px;color:#5b5b52}.garden-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.garden-card{display:block;border:3px solid var(--ink);padding:23px;text-decoration:none;box-shadow:5px 5px 0 var(--ink);position:relative}.garden-card:nth-child(odd){transform:rotate(-.5deg)}.garden-card:nth-child(even){transform:rotate(.5deg)}.garden-card:hover{transform:translateY(-3px)}.garden-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.garden-number{font:28px 'Barlow Condensed',Impact,sans-serif;font-weight:900}.garden-card h2{font-size:clamp(32px,3.6vw,48px);margin:16px 0 12px;max-width:390px;color:white;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;text-shadow:2px 2px 0 var(--ink);line-height:1.08}.garden-card p{font-size:16px}.garden-session{margin-top:22px;border-top:2px solid var(--ink);padding-top:16px}.garden-session .eyebrow{display:block;font-size:12px;letter-spacing:1px}.garden-session strong{font-size:18px}.garden-card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:21px;font-size:14px}.garden-open{background:var(--ink);color:white;padding:8px 11px;font-weight:700}.back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:15px;text-underline-offset:4px}.garden-heading{padding:25px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);margin-bottom:30px}.garden-heading h1{font-size:clamp(35px,4.7vw,62px);box-shadow:none;transform:rotate(-.6deg);max-width:100%;line-height:1.12}.garden-heading .eyebrow{margin-bottom:14px}.garden-heading p{font-size:14px;max-width:600px}.garden-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px}.garden-panel{border:2px solid var(--ink);padding:22px;margin-bottom:26px;background:var(--paper)}.garden-panel.lilac{background:var(--lilac)}.garden-panel.next-session.green{background:var(--green)}.garden-panel.next-session.lilac{background:var(--lilac)}.garden-panel.next-session.yellow{background:var(--yellow)}.garden-panel.next-session.pink{background:var(--pink)}.garden-panel h2{font-size:29px;margin-bottom:19px}.garden-panel .section-title{margin:0 0 15px}.garden-panel .section-title h2{margin:0}.session-large{font:32px var(--display);margin:10px 0}.garden-panel h3{font-size:24px;margin-bottom:13px}.demo-label{display:block;font-size:12px;margin-top:17px;color:#38382f}.paper-note{box-shadow:3px 3px 0 #bcb4a4;transform:rotate(-1deg);background:#fff9dc}.paper-note blockquote{margin:0;font-size:18px;line-height:1.65}.activity-note{border-left:8px solid var(--grow)}.garden-capture{margin-top:30px;margin-bottom:30px;padding:20px}.garden-capture h2{font-size:27px;margin-bottom:16px}.garden-reference{padding:12px 15px;margin:30px 5px}.garden-reference .poster{max-width:290px;margin:auto}.garden-reference .caption{font-size:13px;max-width:300px;margin:22px auto 0}.garden-detail-grid .capture-item{gap:9px}.garden-detail-grid .capture-item .type{min-width:52px}.garden-detail-grid .capture-item .capture-sort{grid-template-columns:1fr}.garden-detail-grid .job-text{font-size:16px}.mobile-nav a.active{color:var(--yellow)}.mobile-nav a:not(.active){color:white}.mobile-nav button{white-space:nowrap}
@media(max-width:1100px){.brand .shed{font-size:53px}.garden-detail-grid{grid-template-columns:1fr 1fr;gap:24px}.garden-capture .capture-row{flex-direction:column}.garden-capture .capture-row button{flex-basis:auto}.garden-card h2{font-size:36px}}
@media(max-width:700px){.brand .shed{font-size:36px;text-shadow:1px 1px 0 white}.heading h1{font-size:clamp(35px,8.5vw,56px);padding:5px 10px 8px}.heading .eyebrow{font-size:12px}.sidebar .side-add{font-size:18px}.section-title h2{font-size:26px}.capture h2{font-size:25px}.event-card h3{font-size:26px}.noticeboard h2{font-size:24px}.little-note h3{font-size:23px}.garden-grid,.garden-detail-grid{grid-template-columns:1fr}.garden-grid{gap:25px}.garden-card h2{font-size:43px}.garden-card{padding:21px}.garden-heading{padding:20px;margin-top:5px}.garden-heading h1{font-size:39px;overflow-wrap:normal}.garden-heading .eyebrow{font-size:13px}.garden-heading p{line-height:1.6}.garden-panel{padding:20px}.garden-capture .capture-row{flex-direction:row}.garden-capture .capture-row button{flex-basis:95px}.garden-capture{padding:16px}.garden-capture h2{font-size:24px}.mobile-nav{padding-left:12px;padding-right:12px;gap:6px}.mobile-nav a{font-size:17px;padding:8px 5px;min-height:44px}.mobile-nav button{font-size:17px;padding:10px 11px}.capture-sort{grid-template-columns:1fr}.garden-detail-grid aside{margin-top:8px}.garden-reference{max-width:350px;margin:25px auto}.garden-detail-grid .capture-item .type{min-width:54px}.garden-heading h1{background:transparent;color:white;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;text-shadow:2px 2px var(--ink);padding:0}.garden-card h2{max-width:100%}}
@media(max-width:380px){.capture h2{font-size:23px}.garden-heading h1{font-size:33px}.garden-card h2{font-size:37px}.mobile-nav a,.mobile-nav button{font-size:16px}}
.capture-copy,.today-content{min-width:0}.capture-copy p{overflow-wrap:anywhere}.garden-panel .capture-copy{min-width:0}

/* Let GSAP own transforms during the brief entrance; CSS resumes afterwards. */
.garden-card.motion-settling{transition:none}
