:root{--bg:#f7f3ea;--surface:#fffdf8;--green:#405a3c;--green-dark:#273a28;--sage:#a9b79d;--wheat:#d6b978;--cream:#eee4d2;--text:#26251f;--muted:#777469;--danger:#9b433d;--shadow:0 12px 34px rgba(48,45,35,.1);--radius:20px;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}.skip-link{position:fixed;top:-100px;left:10px;background:#fff;padding:10px;z-index:999}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--wheat);outline-offset:3px}.app-header{height:68px;padding:8px 18px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,253,248,.94);border-bottom:1px solid rgba(39,58,40,.08);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px}.brand-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--green-dark);color:#fff;font-family:Georgia,serif;font-size:15px}.brand-avatar img{width:100%;height:100%;object-fit:cover}.brand-avatar span span{color:var(--wheat);font-size:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-family:Georgia,serif;font-size:18px;line-height:1.05}.brand small{font-size:11px;color:var(--muted);margin-top:3px}.wheat-mark{font-family:Georgia;font-size:32px;color:var(--wheat);transform:rotate(28deg)}.bottom-nav{height:calc(66px + var(--safe-bottom));padding:7px 15px var(--safe-bottom);position:fixed;z-index:40;bottom:0;left:0;right:0;background:rgba(255,253,248,.96);box-shadow:0 -4px 22px rgba(40,45,34,.09);display:grid;grid-template-columns:1fr 1fr 1fr;backdrop-filter:blur(18px)}.bottom-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:650;min-height:48px}.bottom-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav a.active{color:var(--green)}.camera-nav{position:relative}.camera-nav-icon{width:54px;height:54px;margin-top:-29px;border:5px solid var(--surface);background:var(--green);border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 15px rgba(39,58,40,.25);color:white}.camera-nav-icon svg{width:25px;height:25px}.camera-nav>span:last-child{margin-top:-1px}.hero{height:min(74vw,400px);min-height:310px;position:relative;overflow:hidden;background:var(--green-dark)}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 72% 30%,rgba(214,185,120,.35),transparent 26%),linear-gradient(145deg,#78906f,#324b35)}.hero-placeholder span{font:clamp(56px,20vw,110px)/1 Georgia,serif;color:rgba(255,255,255,.88);letter-spacing:.04em}.hero-placeholder i{color:var(--wheat);font-size:.6em}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,29,19,.04) 24%,rgba(23,32,22,.78) 100%)}.hero-copy{position:absolute;left:20px;right:20px;bottom:25px;color:#fff}.eyebrow,.kicker{font-size:10px;letter-spacing:.16em;font-weight:800;text-transform:uppercase}.hero-copy .eyebrow{color:#f2dfad;margin:0 0 7px}.hero-copy h1{font:700 clamp(34px,10vw,56px)/1.02 Georgia,serif;margin:0;letter-spacing:-.025em}.hero-copy>p:not(.eyebrow){margin:7px 0 2px;font-size:16px}.hero-copy time{font-size:13px;color:rgba(255,255,255,.85)}.desktop-grid{max-width:1220px;margin:auto}.feed-column{padding:22px 14px 112px}.feed-intro{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 3px 18px}.kicker{color:var(--green);display:block;margin-bottom:3px}.feed-intro h2,.page-heading h1{font:700 30px/1.1 Georgia,serif;margin:0}.feed-intro .button{font-size:13px;padding:10px 13px}.button{border:0;border-radius:13px;min-height:46px;padding:11px 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s,background .15s,opacity .15s}.button:active{transform:scale(.97)}.primary{background:var(--green);color:#fff;box-shadow:0 5px 13px rgba(64,90,60,.18)}.primary:hover{background:var(--green-dark)}.secondary{background:var(--cream);color:var(--green-dark)}.light{background:#fff;color:var(--green-dark)}.wide{width:100%}.posts{display:grid;gap:18px}.post-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:0 3px 18px rgba(52,49,37,.07);animation:rise .38s ease both}.post-header{padding:15px 16px 13px;display:flex;gap:11px;align-items:center}.guest-avatar{width:42px;height:42px;flex:none;border-radius:50%;background:linear-gradient(145deg,var(--sage),var(--green));color:#fff;display:grid;place-items:center;font:700 18px Georgia}.post-header div{display:grid;line-height:1.25}.post-header strong{font-size:14px}.post-header span,.post-header time{font-size:11px;color:var(--muted)}.post-header time{margin-top:2px}.post-image{width:100%;height:auto;max-height:680px;object-fit:contain;background:#e8e2d7}.post-body{padding:14px 16px 16px}.post-body p{font-size:15px;margin:0 0 11px}.post-location,.post-signature{display:block;color:var(--muted);font-size:11px}.post-signature{margin-top:7px;color:#8b7544}.empty-state{text-align:center;background:var(--surface);border-radius:var(--radius);padding:42px 24px;box-shadow:0 3px 18px rgba(52,49,37,.06)}.empty-icon{font-size:35px}.empty-state h3{font:700 22px/1.2 Georgia;margin:8px 0}.empty-state p{color:var(--muted);font-size:14px;margin:0 auto 18px;max-width:350px}.floating-add{position:fixed;right:16px;bottom:calc(82px + var(--safe-bottom));z-index:24;border:0;border-radius:50px;background:var(--green);color:#fff;box-shadow:0 8px 22px rgba(39,58,40,.3);padding:11px 16px;font-weight:800}.floating-add span{font-size:20px}.desktop-side{display:none}.sheet-backdrop{position:fixed;inset:0;background:rgba(28,31,25,.48);z-index:70;opacity:0;transition:opacity .22s}.sheet-backdrop.visible{opacity:1}.bottom-sheet{position:fixed;z-index:71;left:0;right:0;bottom:0;padding:9px 18px calc(20px + var(--safe-bottom));background:var(--surface);border-radius:28px 28px 0 0;box-shadow:0 -12px 45px rgba(20,25,20,.16);transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.bottom-sheet.visible{transform:translateY(0)}.sheet-handle{width:42px;height:4px;background:#d4d0c6;border-radius:9px;margin:0 auto 14px}.bottom-sheet header{display:flex;align-items:center;justify-content:space-between}.bottom-sheet h2{font:700 25px Georgia;margin:0}.icon-button{width:44px;height:44px;border:0;border-radius:50%;background:var(--cream);font-size:25px}.sheet-options{display:grid;gap:10px;margin:20px 0 14px}.sheet-options a{min-height:76px;padding:12px;border-radius:16px;background:var(--bg);display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:11px}.option-icon{width:46px;height:46px;border-radius:14px;background:var(--surface);display:grid;place-items:center;font-size:23px}.sheet-options span:nth-child(2){display:flex;flex-direction:column}.sheet-options small{font-size:12px;color:var(--muted)}.sheet-options b{font-size:28px;font-weight:300;color:var(--sage)}.toast-stack{position:fixed;z-index:100;top:78px;left:12px;right:12px;display:grid;place-items:center;pointer-events:none}.toast{max-width:480px;background:var(--green-dark);color:#fff;border-radius:14px;padding:13px 17px;box-shadow:var(--shadow);font-size:13px;animation:toast 4.8s both}.narrow{max-width:720px;margin:0 auto;padding:28px 16px 110px}.back-link{font-size:13px;font-weight:700;color:var(--green)}.page-heading{margin:24px 0}.page-heading h1{font-size:34px}.page-heading p{color:var(--muted);margin:9px 0 0}.page-heading.centered{text-align:center;margin-top:8px}.upload-form{display:grid;gap:18px}.image-picker{position:relative;min-height:260px;background:var(--cream);border-radius:22px;overflow:hidden;display:grid;place-items:center;border:2px dashed rgba(64,90,60,.23)}.image-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.image-picker img{width:100%;max-height:520px;object-fit:contain}.picker-empty{text-align:center;display:flex;flex-direction:column;align-items:center}.picker-empty>span{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--surface);color:var(--green);font-size:28px;margin-bottom:9px}.picker-empty small{color:var(--muted);font-size:12px;margin-top:3px}.upload-form label{font-size:13px;font-weight:750}.upload-form label small{font-weight:400;color:var(--muted);margin-left:4px}.upload-form input[type=text],.upload-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ded9cf;border-radius:13px;background:var(--surface);padding:13px 14px;min-height:48px;outline:none}.upload-form textarea{resize:vertical}.upload-form input:focus,.upload-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(64,90,60,.1)}.field-error,.upload-error{color:var(--danger);background:#fff1ef;padding:10px;border-radius:10px;font-size:12px}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.program-page{max-width:760px}.now-card{background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;border-radius:22px;padding:22px;margin:25px 0 32px;box-shadow:0 14px 30px rgba(39,58,40,.18)}.now-card>span,.live-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#f1dca4}.now-card h2{font:700 25px Georgia;margin:6px 0}.now-card p{font-size:13px;color:rgba(255,255,255,.8);margin:0}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:77px;top:24px;bottom:30px;width:2px;background:linear-gradient(var(--wheat),var(--sage))}.timeline-item{position:relative;display:grid;grid-template-columns:58px 42px 1fr;gap:0 9px;align-items:start;margin-bottom:18px}.timeline-time{font:700 14px Georgia;padding-top:19px;color:var(--green-dark)}.timeline-node{width:42px;height:42px;border-radius:50%;background:var(--cream);border:4px solid var(--bg);display:grid;place-items:center;z-index:1;margin-top:7px}.timeline-card{background:var(--surface);border-radius:17px;padding:17px;min-height:70px;box-shadow:0 3px 15px rgba(52,49,37,.06)}.timeline-card h2{font:700 18px Georgia;margin:0}.timeline-card p{font-size:13px;color:var(--muted);margin:5px 0 0}.timeline-item.current .timeline-node{background:var(--wheat);box-shadow:0 0 0 5px rgba(214,185,120,.18);animation:pulse 2s infinite}.timeline-item.current .timeline-card{border-left:3px solid var(--wheat)}.live-label{display:block;color:#97752e;margin-bottom:4px}
/* camera */
.camera-page{background:#0d100d;color:white;overflow:hidden}.camera-app{height:100dvh;position:relative;background:#0d100d}.camera-stage{position:absolute;inset:0 0 154px;overflow:hidden;background:#111}.camera-stage video,.camera-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.camera-stage video{z-index:1}.camera-stage canvas{z-index:2;pointer-events:none}.camera-header{position:absolute;z-index:5;top:0;left:0;right:0;padding:calc(12px + env(safe-area-inset-top,0px)) 15px 10px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(rgba(0,0,0,.5),transparent)}.camera-header>span{font-size:13px;font-weight:750;text-shadow:0 1px 4px #000}.camera-icon-button{width:44px;height:44px;border:0;border-radius:50%;background:rgba(16,18,16,.48);color:#fff;display:grid;place-items:center;font-size:28px;backdrop-filter:blur(8px)}.camera-icon-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.camera-controls{position:absolute;z-index:6;bottom:0;left:0;right:0;height:154px;padding-bottom:env(safe-area-inset-bottom,0);background:linear-gradient(transparent,#0d100d 20%)}.filter-strip{display:flex;overflow-x:auto;gap:8px;padding:8px calc(50vw - 48px) 5px;scroll-snap-type:x mandatory;scrollbar-width:none}.filter-strip::-webkit-scrollbar{display:none}.filter-chip{border:0;background:transparent;color:rgba(255,255,255,.7);min-width:88px;display:flex;flex-direction:column;align-items:center;gap:3px;scroll-snap-align:center;font-size:10px;white-space:nowrap}.filter-chip i{width:48px;height:48px;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;background:var(--filter-preview,#756f59);font-style:normal;font-size:19px;transition:.18s}.filter-chip.active{color:white;font-weight:800}.filter-chip.active i{border:3px solid white;transform:scale(1.08)}.capture-row{display:grid;grid-template-columns:1fr 94px 1fr;align-items:center}.capture-button{width:74px;height:74px;margin:auto;border:4px solid white;background:transparent;border-radius:50%;padding:5px}.capture-button span{display:block;width:100%;height:100%;border-radius:50%;background:white;transition:transform .12s}.capture-button:active span{transform:scale(.86)}.control-side{border:0;background:none;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:54px}.control-side span{font-size:23px}.control-side small{font-size:9px;color:rgba(255,255,255,.65)}.camera-flash{position:absolute;z-index:9;inset:0;background:white;pointer-events:none;opacity:0}.camera-flash.fire{animation:flash .22s}.camera-message{position:absolute;z-index:8;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;background:#182018}.camera-message h2{font:700 25px Georgia;margin:0}.camera-message p{color:rgba(255,255,255,.75);font-size:14px}.tracking-warning{position:absolute;z-index:7;left:12px;right:12px;top:74px;background:rgba(36,40,32,.88);padding:9px 12px;border-radius:10px;font-size:11px}.debug-panel{position:absolute;z-index:10;left:8px;bottom:8px;background:rgba(0,0,0,.72);font:10px monospace;padding:8px;white-space:pre-line}.capture-preview{position:fixed;z-index:20;inset:0;background:#0d100d;display:flex;flex-direction:column}.capture-preview img{width:100%;height:calc(100% - 94px - env(safe-area-inset-bottom,0px));object-fit:contain}.preview-actions{height:calc(94px + env(safe-area-inset-bottom,0px));padding:15px 18px calc(15px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.camera-page .secondary{background:#242924;color:#fff}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}@keyframes toast{0%{opacity:0;transform:translateY(-8px)}8%,82%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(214,185,120,.08)}}@keyframes flash{30%{opacity:.9}100%{opacity:0}}
@media(min-width:760px){.app-header{padding-left:max(24px,calc((100% - 1180px)/2));padding-right:max(24px,calc((100% - 1180px)/2))}.hero{height:420px}.hero-copy{left:max(28px,calc((100% - 1120px)/2));bottom:42px}.hero-copy h1{font-size:56px}.bottom-sheet{max-width:520px;left:50%;right:auto;width:100%;transform:translate(-50%,105%);border-radius:28px}.bottom-sheet.visible{transform:translate(-50%,0)}.feed-column{padding-left:24px;padding-right:24px}.floating-add{display:none}}
@media(min-width:1040px){body{padding-bottom:0}.bottom-nav{position:sticky;top:68px;height:52px;padding:0;display:flex;justify-content:center;gap:80px;border-bottom:1px solid rgba(39,58,40,.08);box-shadow:none}.bottom-nav>a{width:110px;flex-direction:row;font-size:13px;gap:7px}.bottom-nav svg{width:20px;height:20px}.camera-nav-icon{width:auto;height:auto;margin:0;border:0;background:none;box-shadow:none;color:currentColor}.camera-nav>span:last-child{margin:0}.hero{max-width:1180px;margin:25px auto 0;border-radius:28px;height:430px}.desktop-grid{display:grid;grid-template-columns:220px minmax(0,700px) 220px;gap:24px;align-items:start;padding:30px 0 80px}.feed-column{padding:0}.desktop-side{display:block;background:var(--surface);border-radius:18px;padding:20px;position:sticky;top:140px;box-shadow:0 3px 18px rgba(52,49,37,.05)}.desktop-side h2{font:700 25px/1.15 Georgia;margin:7px 0 12px}.desktop-side h3{font:700 18px Georgia;margin:6px 0 16px}.desktop-side p{font-size:13px;color:var(--muted)}.desktop-side a{display:block;margin-top:16px;font-size:12px;font-weight:800;color:var(--green)}.line-art{text-align:center;color:var(--wheat);margin:20px}.mini-event{border-top:1px solid #eee9df;padding:10px 0;display:grid;grid-template-columns:43px 1fr;font-size:11px}.mini-event time{font-weight:800;color:var(--green)}.feed-intro{margin-top:0}.narrow{padding-top:45px}.camera-stage{inset:0}.camera-controls{width:560px;left:50%;right:auto;transform:translateX(-50%);border-radius:26px 26px 0 0;background:linear-gradient(transparent,rgba(13,16,13,.96) 24%)}.camera-app{max-width:900px;margin:auto}.camera-page{background:#080a08}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
[hidden]{display:none!important}.camera-meta-form{position:fixed;z-index:25;inset:0;background:var(--bg);color:var(--text);padding:calc(25px + env(safe-area-inset-top,0px)) 18px calc(20px + env(safe-area-inset-bottom,0px));overflow:auto;display:grid;align-content:center;gap:16px}.camera-meta-form label{font-size:13px;font-weight:750}.camera-meta-form label small{color:var(--muted);font-weight:400}.camera-meta-form input[type=text],.camera-meta-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ded9cf;border-radius:13px;background:var(--surface);padding:13px;resize:vertical}.camera-meta-form input[type=file]{display:none}

/* Experience layer */
body:not(.camera-page){background:
  radial-gradient(circle at 8% 8%,rgba(214,185,120,.16),transparent 24rem),
  radial-gradient(circle at 92% 35%,rgba(169,183,157,.2),transparent 26rem),var(--bg)}
.app-header{box-shadow:0 1px 0 rgba(39,58,40,.05),0 8px 30px rgba(39,58,40,.025)}
.header-actions{display:flex;align-items:center;gap:8px}.tractor-gimmick{border:0;background:transparent;padding:0;width:62px;height:44px;display:grid;place-items:center;border-radius:12px}.header-tractor{width:58px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(39,58,40,.18));animation:tractorIdle 3.8s ease-in-out infinite;transform-origin:50% 85%}.header-tractor.joyride{animation:tractorJoyride 1.45s cubic-bezier(.2,.75,.2,1) both}.admin-pill{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:#fff;background:var(--green);padding:7px 9px;border-radius:99px;box-shadow:0 5px 12px rgba(39,58,40,.15)}
.hero{isolation:isolate;box-shadow:0 20px 50px rgba(39,58,40,.13)}.hero-image{animation:heroArrival 1.15s cubic-bezier(.2,.75,.25,1) both}.hero-copy{z-index:4;animation:heroCopy .75s .12s cubic-bezier(.2,.8,.2,1) both}.hero-copy:before{content:"";display:block;width:38px;height:3px;margin-bottom:12px;background:linear-gradient(90deg,var(--wheat),transparent);border-radius:9px}.hero-orbit{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.hero-orbit span{position:absolute;width:5px;height:19px;border-radius:80% 20%;background:#eed89c;opacity:.75;animation:grainFloat 5s ease-in-out infinite}.hero-orbit span:nth-child(1){right:18%;top:19%;transform:rotate(35deg)}.hero-orbit span:nth-child(2){right:9%;top:34%;animation-delay:-1.8s;transform:rotate(-24deg)}.hero-orbit span:nth-child(3){left:8%;top:17%;animation-delay:-3.1s;transform:rotate(58deg)}.hero-tractor{position:absolute;z-index:3;width:155px;right:-22px;bottom:7px;filter:drop-shadow(0 9px 9px rgba(8,25,12,.3));opacity:.92;animation:tractorEntrance 1s .35s cubic-bezier(.2,.85,.28,1.15) both}.hero-shade{z-index:2}
.button.primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#4d6c47,#304830)}.button.primary:after{content:"";position:absolute;inset:-60% auto -60% -45%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);transform:skewX(-18deg);transition:left .5s}.button.primary:hover:after{left:120%}.camera-nav-icon{background:linear-gradient(145deg,#55754e,#2f4931);animation:cameraBreath 2.8s ease-in-out infinite}.floating-add{background:linear-gradient(135deg,#52734b,#2e482f);transition:transform .2s,box-shadow .2s}.floating-add:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(39,58,40,.35)}
.post-card{border:1px solid rgba(255,255,255,.75);transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s}.post-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(52,49,37,.11)}.post-image{transition:filter .3s}.post-card:hover .post-image{filter:saturate(1.035)}.guest-avatar{box-shadow:0 0 0 3px var(--surface),0 0 0 5px rgba(169,183,157,.4)}
.reveal-ready{opacity:0;transform:translateY(18px) scale(.985)}.reveal-ready.revealed{opacity:1;transform:none;transition:opacity .55s var(--reveal-delay) ease,transform .55s var(--reveal-delay) cubic-bezier(.2,.75,.25,1)}
.sheet-tractor{position:absolute;width:108px;right:56px;top:10px;opacity:.16;transform:rotate(-4deg);pointer-events:none}.sheet-options a{border:1px solid transparent;transition:transform .18s,background .18s,border-color .18s}.sheet-options a:hover{transform:translateX(4px);border-color:rgba(64,90,60,.15);background:#f2eee4}.bottom-sheet.visible .sheet-options a{animation:sheetOption .4s both}.bottom-sheet.visible .sheet-options a:nth-child(2){animation-delay:.06s}.sheet-locked{margin:22px 0 16px;padding:20px;border-radius:18px;background:linear-gradient(145deg,#eef0e7,#f5ead7);position:relative}.sheet-locked strong{font:700 19px Georgia}.sheet-locked p{font-size:13px;color:var(--muted);margin:6px 0}.sheet-locked a,.admin-login-link{font-size:12px;font-weight:800;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.upload-locked-banner{max-width:720px;margin:18px auto 0;padding:13px 15px;background:rgba(255,253,248,.9);border-radius:18px;box-shadow:0 8px 28px rgba(39,58,40,.08);display:grid;grid-template-columns:66px 1fr auto;gap:12px;align-items:center}.upload-locked-banner img{width:66px}.upload-locked-banner span{display:flex;flex-direction:column}.upload-locked-banner strong{font:700 15px Georgia}.upload-locked-banner small{font-size:10px;color:var(--muted)}.upload-locked-banner button{border:0;background:var(--cream);color:var(--green);border-radius:10px;min-height:40px;font-size:11px;font-weight:800}.upload-locked-chip{font-size:10px;font-weight:800;color:var(--green);background:var(--cream);border-radius:99px;padding:8px 10px}.empty-tractor{width:150px;margin:-12px auto 2px;animation:tractorIdle 4s ease-in-out infinite}
.locked-page{text-align:center;min-height:calc(100dvh - 134px);display:flex;flex-direction:column;align-items:center;justify-content:center}.locked-page h1{font:700 35px/1.05 Georgia;margin:8px 0 12px;max-width:490px}.locked-page>p{color:var(--muted);max-width:470px}.locked-page>.button{margin:12px 0}.locked-visual{width:min(340px,90vw);height:180px;position:relative;display:grid;place-items:end center;margin-bottom:8px}.locked-visual:after{content:"";position:absolute;left:4%;right:4%;bottom:10px;height:3px;background:linear-gradient(90deg,transparent,var(--sage),transparent)}.locked-visual img{position:relative;z-index:2;width:290px;animation:tractorDriveIn .9s cubic-bezier(.2,.9,.25,1) both}.sun-disc{position:absolute;right:15%;top:4%;width:78px;height:78px;border-radius:50%;background:rgba(214,185,120,.35);box-shadow:0 0 0 15px rgba(214,185,120,.08)}
.tracking-status{position:absolute;z-index:7;top:76px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;background:rgba(13,16,13,.72);border:1px solid rgba(255,255,255,.12);border-radius:99px;padding:7px 11px;white-space:nowrap;backdrop-filter:blur(10px);font-size:9px}.tracking-status span{width:7px;height:7px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.tracking-status[data-status=ready] span{border:0;background:#a9cf91;animation:none;box-shadow:0 0 0 4px rgba(169,207,145,.13)}.tracking-status[data-status=failed] span{border:0;background:#d6b978;animation:none}.filter-chip.active i{box-shadow:0 0 0 4px rgba(255,255,255,.14),0 5px 14px rgba(0,0,0,.25)}.tracking-warning{top:112px}
.field-confetti{position:fixed;z-index:99;inset:0;pointer-events:none;overflow:hidden}.field-confetti i{position:absolute;left:var(--x);top:-24px;width:6px;height:19px;border-radius:80% 20%;background:var(--wheat);animation:confettiFall 2s var(--delay) cubic-bezier(.18,.68,.38,1) both;transform:rotate(var(--spin))}.field-confetti i:nth-child(3n){background:var(--sage)}.field-confetti i:nth-child(4n){background:#f7dfcc}.tractor-note{position:fixed;z-index:105;top:76px;right:12px;background:var(--green-dark);color:#fff;padding:9px 13px;border-radius:12px;font-size:11px;font-weight:750;box-shadow:var(--shadow);opacity:0;transform:translateY(-8px) scale(.95);pointer-events:none}.tractor-note.show{animation:notePop 2.2s both}
@keyframes tractorIdle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}@keyframes tractorJoyride{0%{transform:translateX(0) rotate(0)}18%{transform:translateX(-10px) rotate(-5deg)}68%{transform:translateX(24px) rotate(3deg)}100%{transform:translateX(0) rotate(0)}}@keyframes notePop{0%,100%{opacity:0;transform:translateY(-8px) scale(.95)}12%,82%{opacity:1;transform:none}}@keyframes tractorEntrance{from{opacity:0;transform:translateX(90px) rotate(5deg)}to{opacity:.92;transform:none}}@keyframes tractorDriveIn{from{opacity:0;transform:translateX(-80px) rotate(-4deg)}to{opacity:1;transform:none}}@keyframes heroArrival{from{opacity:.5;transform:scale(1.075)}to{opacity:1;transform:scale(1)}}@keyframes heroCopy{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:none}}@keyframes grainFloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:7px -13px;rotate:18deg}}@keyframes cameraBreath{0%,100%{box-shadow:0 5px 15px rgba(39,58,40,.25)}50%{box-shadow:0 7px 22px rgba(64,90,60,.4)}}@keyframes sheetOption{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes confettiFall{0%{opacity:0;translate:0 -20px}12%{opacity:1}100%{opacity:0;translate:0 105vh;rotate:540deg}}
@media(max-width:420px){.admin-pill{font-size:0;width:32px;height:32px;padding:0;display:grid;place-items:center}.admin-pill:after{content:"A";font-size:11px}.header-tractor{width:52px}.hero-tractor{width:126px;right:-25px;bottom:12px;opacity:.78}.upload-locked-banner{margin-inline:12px;grid-template-columns:52px 1fr}.upload-locked-banner img{width:52px}.upload-locked-banner button{grid-column:2/3;justify-self:start;padding:0 10px}.feed-intro{align-items:center}}
@media(min-width:1040px){.hero-tractor{width:230px;right:18px;bottom:10px}.upload-locked-banner{margin-top:24px}.header-tractor{width:68px}.locked-page{min-height:calc(100vh - 120px)}}
.multi-preview{width:100%;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-self:stretch}.multi-preview figure{position:relative;margin:0;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#ded8cb;box-shadow:0 4px 12px rgba(39,58,40,.08)}.multi-preview img{width:100%;height:100%;object-fit:cover;max-height:none}.multi-preview figure:first-child:nth-last-child(1){grid-column:1/-1;aspect-ratio:4/3}.multi-preview span{position:absolute;right:7px;top:7px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(39,58,40,.78);color:#fff;font-size:10px;font-weight:850;backdrop-filter:blur(6px)}.selection-summary{font-size:12px;font-weight:800;color:var(--green);background:rgba(169,183,157,.18);padding:9px 12px;border-radius:11px;text-align:center}.image-picker:has(.multi-preview:not([hidden])){align-items:start;max-height:520px;overflow:auto;border-style:solid}
@media(min-width:560px){.multi-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.multi-preview figure:first-child:nth-last-child(1){grid-column:1/-1}}

/* Hof-Einfahrt: first visit per browser session */
.app-loader{display:none}.show-hof-intro,.show-hof-intro body{overflow:hidden}.show-hof-intro .app-loader{position:fixed;z-index:10000;inset:0;display:block;overflow:hidden;background:linear-gradient(180deg,#f8f2df 0%,#e8e7d3 52%,#c7d0b7 53%,#8fa27d 100%);animation:loaderCurtain 2.85s both}.loader-sun{position:absolute;width:clamp(100px,32vw,180px);height:clamp(100px,32vw,180px);border-radius:50%;right:-3%;top:7%;background:radial-gradient(circle,#f7dda0 0 45%,rgba(238,199,105,.28) 46% 66%,transparent 67%);animation:sunHello 1.2s both}.loader-hills{position:absolute;left:-10%;right:-10%;height:38%;bottom:20%;background:#6e8566;border-radius:50% 60% 0 0/35% 42% 0 0;box-shadow:35vw -3vh 0 3vh #899b78,-28vw 5vh 0 1vh #4d6e4d}.loader-road{position:absolute;left:0;right:0;bottom:14%;height:18%;background:linear-gradient(#7b735e,#5e594b);transform:skewY(-1deg);box-shadow:inset 0 7px rgba(255,255,255,.08),0 -4px 0 #d2bd7e}.loader-road>i{position:absolute;top:55%;width:11%;height:4px;border-radius:9px;background:#e8d8a8;animation:roadDash .7s linear infinite}.loader-road>i:nth-child(1){left:2%}.loader-road>i:nth-child(2){left:24%}.loader-road>i:nth-child(3){left:46%}.loader-road>i:nth-child(4){left:68%}.loader-road>i:nth-child(5){left:90%}
.loader-vehicle{position:absolute;z-index:3;left:0;bottom:15%;width:clamp(310px,84vw,500px);aspect-ratio:1327/895;transform:translateX(-110%);animation:loaderDrive 2.35s .1s cubic-bezier(.18,.55,.38,.92) both}.loader-vehicle>img{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(27,39,27,.25));animation:loaderSuspension .24s ease-in-out infinite alternate}.loader-smoke{position:absolute;z-index:1;left:58%;top:10%;width:35px;height:35px}.loader-smoke i{position:absolute;bottom:0;width:17px;height:17px;border-radius:50%;background:rgba(231,229,215,.88);filter:blur(.4px);animation:smokePuff 1.15s infinite both}.loader-smoke i:nth-child(2){animation-delay:-.3s}.loader-smoke i:nth-child(3){animation-delay:-.6s}.loader-smoke i:nth-child(4){animation-delay:-.9s}
.loader-copy{position:absolute;z-index:5;left:20px;right:20px;bottom:5%;text-align:center;color:#fff;text-shadow:0 2px 8px rgba(25,39,25,.25);animation:loaderCopyIn .55s .2s both}.loader-copy>span{display:block;color:#f6dda0;font-size:10px;font-weight:900;letter-spacing:.2em}.loader-copy>strong{display:block;font:700 clamp(20px,5.6vw,30px)/1.15 Georgia,serif;margin:4px 0 12px}.loader-copy>div{width:min(240px,60vw);height:4px;border-radius:9px;margin:auto;background:rgba(255,255,255,.24);overflow:hidden}.loader-copy>div i{display:block;width:100%;height:100%;background:#f0d18a;transform-origin:left;animation:loaderProgress 2.35s .15s both}
@keyframes loaderCurtain{0%,80%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes loaderDrive{0%{transform:translateX(-110%)}72%,78%{transform:translateX(calc(100vw - 52%))}100%{transform:translateX(calc(100vw + 15%))}}@keyframes loaderSuspension{from{translate:0 1px;rotate:-.25deg}to{translate:0 -2px;rotate:.25deg}}@keyframes smokePuff{0%{opacity:0;transform:translate(0,8px) scale(.35)}20%{opacity:.85}100%{opacity:0;transform:translate(-35px,-52px) scale(1.6)}}@keyframes coupleBounce{from{rotate:-1deg;translate:0 1px}to{rotate:1deg;translate:0 -1px}}@keyframes roadDash{to{translate:-22vw 0}}@keyframes loaderProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes loaderCopyIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes sunHello{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}

/* Never crop the tractor on small screens. */
.header-tractor{width:100%;height:100%;object-fit:contain}.tractor-gimmick{width:64px;height:44px;overflow:visible}.hero-tractor{width:min(39vw,158px);max-height:112px;right:10px;bottom:10px;object-fit:contain;object-position:center;opacity:.9}.sheet-tractor{width:min(25vw,104px);max-height:68px;right:58px;top:8px;object-fit:contain}.empty-tractor{width:min(52vw,180px);height:auto;object-fit:contain}.locked-visual img{width:min(78vw,310px);height:auto;object-fit:contain}.upload-locked-banner img{object-fit:contain;overflow:visible}
@media(max-width:420px){.hero-tractor{width:124px;right:8px;bottom:13px;opacity:.86}.sheet-tractor{width:84px;right:52px}.tractor-gimmick{width:57px;height:40px}.header-tractor{width:57px;height:40px}.loader-copy{bottom:4%}.loader-vehicle{width:94vw}}
@media(min-width:760px){.loader-vehicle{width:min(47vw,520px)}.loader-copy{bottom:4%}.hero-tractor{width:190px;max-height:130px;right:22px}}
@media(min-width:1040px){.hero-tractor{width:235px;max-height:160px;right:30px;bottom:12px}}
.filter-chip i{position:relative;background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.28),transparent 28%),var(--filter-preview,#756f59)}.filter-chip i em{position:absolute;right:-9px;top:-5px;background:#f0d18a;color:#263d29;border:2px solid #171b17;border-radius:99px;padding:2px 4px;font:900 6px/1 sans-serif;letter-spacing:.04em;box-shadow:0 2px 5px rgba(0,0,0,.28)}.filter-chip:nth-child(n+3):nth-child(-n+7) i{box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}.filter-chip:nth-child(3) i:after,.filter-chip:nth-child(4) i:after,.filter-chip:nth-child(5) i:after,.filter-chip:nth-child(6) i:after,.filter-chip:nth-child(7) i:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(214,185,120,.22);border-radius:50%;animation:animalGlow 2.6s ease-in-out infinite}.filter-chip.active i:after{border-color:rgba(255,255,255,.65)}@keyframes animalGlow{50%{transform:scale(1.05);opacity:.45}}
