:root{--bg:#f5ead8;--bg-soft:#fff8ef;--panel:rgba(255,249,240,0.88);--panel-strong:#fffdf8;--line:rgba(95,70,40,0.14);--line-strong:rgba(95,70,40,0.22);--text:#2f2218;--muted:#6b5544;--accent:#c85f2f;--accent-dark:#8d3714;--accent-soft:#f5b24d;--green:#2f7b52;--shadow:0 24px 60px rgba(103,65,18,0.12);--shadow-soft:0 16px 32px rgba(103,65,18,0.08);--focus-ring:0 0 0 3px rgba(200,95,47,0.5)}*{box-sizing:border-box}.skip-link{position:absolute;top:-100%;left:1rem;z-index:100;padding:.75rem 1.25rem;border-radius:0 0 .75rem .75rem;background:var(--accent-dark);color:white;font-weight:700;text-decoration:none;transition:top .12s ease}.skip-link:focus{top:0}:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{background:radial-gradient(circle at top left,rgba(245,178,77,.42),transparent 35%),radial-gradient(circle at top right,rgba(200,95,47,.16),transparent 28%),linear-gradient(180deg,#fff9f2,#f2e4d0)}body,html{color:var(--text)}body{margin:0;min-height:100vh;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%;height:auto}.app-shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(95,70,40,.08);background:rgba(255,249,240,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:.9rem}.brand strong{display:block;font-size:1.08rem}.brand small{display:block;max-width:30rem;color:var(--muted)}.brand-mark{width:2.9rem;height:2.9rem;border-radius:1rem;box-shadow:0 14px 28px rgba(141,55,20,.26);object-fit:contain}.topbar-nav{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;justify-content:flex-end}.nav-link{color:var(--muted);font-weight:600}.nav-cta{padding:.55rem 1rem;border:1px solid rgba(200,95,47,.16);border-radius:999px;background:rgba(255,253,248,.88);color:var(--accent-dark)}.nav-muted,.small{color:var(--muted);font-size:.94rem}.page-shell{width:min(1280px,calc(100% - 3rem));margin:0 auto;padding:1.75rem 0 3rem}.composer-page,.home-page{display:grid;grid-gap:1.5rem;gap:1.5rem}.brief-card,.composer-card,.empty-card,.feed-panel,.filter-panel,.hero-panel,.request-card{border:1px solid var(--line);border-radius:1.7rem;background:var(--panel);box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:1.4rem;gap:1.4rem;padding:1.75rem}.hero-copy{display:grid;align-content:start}.eyebrow{margin:0 0 .45rem;color:var(--accent-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}h1,h2,h3,h4{margin:0;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;line-height:1.04}h1{font-size:clamp(2.4rem,5vw,4.4rem);margin-bottom:.9rem}h2{font-size:clamp(1.7rem,3vw,2.4rem)}h3{font-size:1.7rem}h4{font-size:1.08rem}.lede{margin:0;max-width:52rem;line-height:1.72;color:#544437;font-size:1.02rem}.hero-actions{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;flex-wrap:wrap}.hero-note{max-width:24rem}.hero-stats{display:grid;grid-gap:1rem;gap:1rem}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.form-note,.selection-card,.stat-card,.summary-pill{border:1px solid rgba(95,70,40,.1);border-radius:1.2rem;background:rgba(255,253,248,.92);box-shadow:var(--shadow-soft)}.stat-card{padding:1rem 1.05rem}.form-note strong,.selection-card strong,.stat-card strong,.summary-pill strong{display:block;margin-top:.35rem;font-size:1.35rem}.form-note p,.selection-card p,.stat-card p{margin:.5rem 0 0;line-height:1.55;color:#5c4a37}.stat-card-primary{background:linear-gradient(180deg,rgba(245,178,77,.14),rgba(200,95,47,.08));border-color:rgba(200,95,47,.16)}.note-label,.stat-label,.summary-pill span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.board-grid,.composer-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-gap:1.5rem;gap:1.5rem;align-items:start}.composer-card,.feed-panel,.filter-panel{padding:1.5rem}.composer-header,.panel-block{display:grid;grid-gap:.55rem;gap:.55rem;margin-bottom:1.1rem}.feed-copy,.panel-copy{line-height:1.6}.field-label{display:block;margin:0 0 .45rem;font-weight:700}.inline-form input,.inline-form textarea,.input-field{width:100%;border:1px solid rgba(95,70,40,.12);border-radius:1rem;background:var(--panel-strong);padding:.95rem 1rem;color:var(--text);transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.inline-form input:focus,.inline-form textarea:focus,.input-field:focus{outline:none;border-color:rgba(200,95,47,.5);box-shadow:0 0 0 3px rgba(200,95,47,.25);transform:translateY(-1px)}.selection-card{margin-top:1rem;padding:1rem 1.05rem}.location-list{display:grid;grid-gap:.8rem;gap:.8rem;margin-top:1rem}.location-chip{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.9rem 1rem;border:1px solid rgba(95,70,40,.1);border-radius:1rem;background:rgba(255,253,248,.88);cursor:pointer;text-align:left;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.button:hover,.location-chip:hover,.nav-cta:hover,.vote-button:hover{transform:translateY(-1px)}.location-chip span{font-weight:700}.location-chip small{color:var(--muted)}.location-chip.selected{border-color:rgba(200,95,47,.35);background:linear-gradient(90deg,rgba(200,95,47,.11),rgba(245,178,77,.1));box-shadow:0 12px 26px rgba(200,95,47,.1)}.button,.vote-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:none;border-radius:999px;padding:.82rem 1.2rem;background:linear-gradient(135deg,var(--accent-dark) 0,var(--accent) 100%);color:white;cursor:pointer;font-weight:700;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 14px 28px rgba(200,95,47,.22)}.button:disabled,.vote-button:disabled{cursor:not-allowed;opacity:.7}.ghost-button{background:rgba(255,253,248,.84);color:var(--accent-dark);border:1px solid rgba(200,95,47,.18);box-shadow:none}.feed-panel{display:grid;grid-gap:1.2rem;gap:1.2rem}.feed-controls,.feed-header,.meta-row,.request-card-head,.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.feed-controls{flex-direction:column;align-items:flex-end}.board-rule{padding:.55rem .85rem;border-radius:999px;background:rgba(255,244,226,.92);color:var(--accent-dark);font-size:.9rem;font-weight:700}.feed-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.summary-pill{padding:.95rem 1rem}.request-list{display:grid;grid-gap:1rem;gap:1rem}.request-card{padding:1.3rem;background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(255,247,236,.94)),var(--panel-strong)}.request-card-copy{display:grid;grid-gap:.75rem;gap:.75rem}.request-title-link{transition:color .12s ease}.request-title-link:hover{color:var(--accent-dark)}.tag-row{display:flex;gap:.55rem;flex-wrap:wrap}.badge{padding:.35rem .7rem;border-radius:999px;background:rgba(95,70,40,.08);color:#634d38;font-size:.86rem;font-weight:700}.badge-accent{background:rgba(200,95,47,.12);color:var(--accent-dark)}.vote-button{min-width:168px}.vote-button.is-voted{background:linear-gradient(135deg,var(--green) 0,#73b984 100%);box-shadow:0 14px 28px rgba(47,123,82,.18)}.vote-count{display:inline-flex;min-width:2rem;justify-content:center;padding:.18rem .5rem;border-radius:999px;background:rgba(255,255,255,.22)}.request-description{margin:1rem 0 0;line-height:1.72;color:#4f4030}.request-image-grid{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}.request-image-frame{display:flex;align-items:center;justify-content:center;width:152px;height:152px;padding:.55rem;border-radius:1rem;border:1px solid rgba(95,70,40,.1);background:rgba(255,253,248,.96)}.request-image{width:100%;height:100%;object-fit:contain;border-radius:.75rem}.meta-row{margin-top:1rem;color:var(--muted);font-size:.92rem;flex-wrap:wrap}.notify-section{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(95,70,40,.1)}.inline-form,.stack-form{display:grid;grid-gap:.9rem;gap:.9rem}.inline-form{margin-top:1rem}.empty-state,.error-text,.status-text{margin:0}.status-text{margin-top:.9rem;color:var(--green);font-weight:700}.empty-state{color:var(--muted)}.empty-card{display:grid;grid-gap:.8rem;gap:.8rem;justify-items:start;padding:1.4rem}.error-text{color:#b53425;font-weight:700}.composer-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.composer-intro{display:grid;grid-gap:1rem;gap:1rem;align-content:start}.brief-card{padding:1.2rem 1.25rem}.brief-card strong{display:block;margin-bottom:.75rem;font-size:1.1rem}.brief-list{display:grid;grid-gap:.7rem;gap:.7rem;padding-left:1.1rem;margin:0;color:#554434;line-height:1.6}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.form-note{padding:1rem 1.05rem;align-self:end}.file-field{padding-block:.72rem}.detail-page{display:grid}.detail-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-gap:1.5rem;gap:1.5rem;align-items:start}.detail-banner,.detail-main,.share-card{border:1px solid var(--line);border-radius:1.45rem;background:var(--panel);box-shadow:var(--shadow)}.detail-main{padding:1.5rem;display:grid;grid-gap:1.2rem;gap:1.2rem}.detail-actions,.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-copy{margin-top:.75rem;max-width:44rem;line-height:1.6}.detail-banner{padding:1rem 1.1rem;background:linear-gradient(180deg,rgba(245,178,77,.16),rgba(200,95,47,.08))}.detail-banner strong{display:block;font-size:1rem}.detail-banner p{margin:.45rem 0 0;color:#5d4a35;line-height:1.55}.share-panel{display:grid;grid-gap:1rem;gap:1rem}.share-card{padding:1.2rem}.share-card h2{margin-top:.1rem}.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem;margin-top:1rem}.share-link{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.82rem 1.1rem;border-radius:999px;border:1px solid rgba(200,95,47,.18);background:rgba(255,253,248,.9);color:var(--accent-dark);font-weight:700;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.share-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.share-card-secondary strong{display:block;margin-top:.35rem;font-size:1.35rem}.share-card-secondary p{margin:.55rem 0 0;line-height:1.6;color:#5c4a37}.about-page,.faq-page{display:grid;grid-gap:1.5rem;gap:1.5rem}.about-hero,.faq-hero{border:1px solid var(--line);border-radius:1.7rem;background:var(--panel);box-shadow:var(--shadow);padding:1.75rem;display:grid;grid-gap:.55rem;gap:.55rem}.about-hero .lede,.faq-hero .lede{max-width:64rem}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.2rem;gap:1.2rem}.about-card{border:1px solid var(--line);border-radius:1.7rem;background:var(--panel);box-shadow:var(--shadow);padding:1.5rem;display:grid;grid-gap:.75rem;gap:.75rem;align-content:start}.about-card h3{margin:0}.about-card p{margin:0;line-height:1.72;color:#544437}.about-list{display:grid;grid-gap:.7rem;gap:.7rem;padding-left:1.1rem;margin:0;color:#554434;line-height:1.6}.about-card-cta{background:linear-gradient(180deg,rgba(245,178,77,.14),rgba(200,95,47,.08));border-color:rgba(200,95,47,.16);justify-items:start}.faq-list{display:grid;grid-gap:.9rem;gap:.9rem}.faq-item{border:1px solid var(--line);border-radius:1.7rem;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.faq-item[open]{border-color:rgba(200,95,47,.22)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;font-weight:700;font-size:1.02rem;cursor:pointer;list-style:none;transition:color .12s ease}.faq-question::-webkit-details-marker{display:none}.faq-question::marker{content:""}.faq-question:after{content:"+";flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(95,70,40,.12);background:rgba(255,253,248,.92);font-size:1.2rem;font-weight:700;color:var(--accent-dark);transition:transform .12s ease,background .12s ease}.faq-item[open] .faq-question:after{content:"−";background:rgba(200,95,47,.12)}.faq-question:hover{color:var(--accent-dark)}.faq-answer{margin:0;padding:0 1.5rem 1.3rem;line-height:1.72;color:#544437}.faq-cta{border-radius:1.7rem;background:var(--panel);box-shadow:var(--shadow);padding:1.5rem;display:grid;grid-gap:.75rem;gap:.75rem;justify-items:start;background:linear-gradient(180deg,rgba(245,178,77,.14),rgba(200,95,47,.08));border:1px solid rgba(200,95,47,.16)}.faq-cta p{margin:0;line-height:1.72;color:#544437}.site-footer{margin-top:2rem;padding:1.5rem;border-top:1px solid rgba(95,70,40,.1)}.footer-inner{width:min(1280px,calc(100% - 3rem));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-brand{margin:0;color:var(--muted);font-size:.94rem}.footer-links{display:flex;gap:1.2rem}.footer-links a{color:var(--muted);font-size:.94rem;font-weight:600;transition:color .12s ease}.footer-links a:hover{color:var(--accent-dark)}.footer-copy{margin:0;color:var(--muted);font-size:.86rem}.not-found-page{display:grid;place-items:center;min-height:60vh}.not-found-card{border:1px solid var(--line);border-radius:1.7rem;background:var(--panel);box-shadow:var(--shadow);padding:2rem;display:grid;grid-gap:.75rem;gap:.75rem;justify-items:start;max-width:40rem}@media (max-width:1080px){.about-grid,.board-grid,.composer-layout,.detail-shell,.feed-summary,.field-grid,.hero-panel,.share-grid,.stat-grid{grid-template-columns:1fr}}@media (max-width:840px){.detail-actions,.detail-header,.feed-controls,.feed-header,.meta-row,.request-card-head,.section-header,.topbar{flex-direction:column;align-items:flex-start}.topbar-nav{justify-content:flex-start}.vote-button{width:100%}}@media (max-width:640px){.page-shell{width:min(100% - 1.4rem,100%);padding-top:1.1rem}.topbar{padding:.9rem 1rem}.about-card,.about-hero,.brief-card,.composer-card,.detail-banner,.detail-main,.empty-card,.faq-cta,.faq-hero,.faq-item,.feed-panel,.filter-panel,.hero-panel,.request-card,.share-card{padding:1.15rem;border-radius:1.25rem}.faq-question{padding:1.1rem 1.15rem}.faq-answer{padding:0 1.15rem 1.1rem}h1{font-size:2.55rem}.hero-actions{align-items:stretch}.button,.ghost-button,.nav-cta{width:100%;justify-content:center}.topbar-nav{width:100%}}