:root{--ink:#17231f;--muted:#64716b;--paper:#f4f1e9;--card:#fffdf8;--green:#245b45;--lime:#dff25f;--line:#d9ddd4;--danger:#a53838;--shadow:0 18px 55px rgba(27,54,43,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.shell{width:min(1120px,calc(100% - 32px));margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.brand{font-size:21px;font-weight:850;text-decoration:none;letter-spacing:-.6px}.brand i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--lime);border:3px solid var(--green);margin-right:8px}.navlinks{display:flex;align-items:center;gap:20px}.navlinks a{text-decoration:none;font-weight:650;font-size:14px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--green);color:white;padding:13px 20px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.button.light{background:var(--card);color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.45;cursor:not-allowed}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center;padding:84px 0 110px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:12px;font-weight:850;color:var(--green)}h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,94px);line-height:.91;letter-spacing:-4px;margin:18px 0 25px;font-weight:500}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:620px}.hero-card{background:var(--green);color:white;border-radius:34px;padding:28px;box-shadow:var(--shadow);transform:rotate(2deg)}.photo-stack{height:390px;border-radius:22px;background:linear-gradient(145deg,#9cb19f,#315a47);position:relative;overflow:hidden}.photo-stack:before,.photo-stack:after{content:"";position:absolute;border:9px solid #fff;border-bottom-width:45px;width:52%;height:58%;background:linear-gradient(135deg,#dff25f,#5f9179);box-shadow:0 14px 30px #17362855}.photo-stack:before{left:10%;top:16%;transform:rotate(-10deg)}.photo-stack:after{right:4%;bottom:-4%;transform:rotate(9deg);background:linear-gradient(135deg,#f4d9bd,#6c8e81)}.mini-stat{display:flex;justify-content:space-between;padding-top:20px}.mini-stat strong{font-size:28px}.mini-stat span{opacity:.75}.section{padding:78px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section h2{font-family:Georgia,serif;font-size:44px;margin:8px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature,.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 10px 30px rgba(28,49,40,.05)}.number{width:40px;height:40px;display:grid;place-items:center;background:var(--lime);border-radius:12px;font-weight:850}.feature h3{margin:22px 0 8px}.feature p,.muted{color:var(--muted);line-height:1.6}.auth-wrap{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:40px 0}.auth{width:min(480px,100%)}.auth h1{font-size:50px;letter-spacing:-2px}.field{display:grid;gap:7px;margin:15px 0}.field label{font-size:13px;font-weight:750}.field input{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:13px 14px;font:inherit}.field input:focus{outline:3px solid #dff25f88;border-color:var(--green)}.full{width:100%}.alert{padding:13px 16px;border-radius:12px;background:#e7f4de;margin:12px 0}.alert.error{background:#fde8e5;color:var(--danger)}.dash-head{display:flex;justify-content:space-between;align-items:center;padding:45px 0 25px}.dash-head h1{font-size:54px;letter-spacing:-2px;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:28px}.stat{background:var(--green);color:white;border-radius:20px;padding:22px}.stat span{opacity:.7}.stat strong{display:block;font-size:32px;margin-top:8px}.event-list{display:grid;gap:12px}.event-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:18px;text-decoration:none}.event-row h3{margin:0 0 7px}.event-actions{display:flex;gap:10px}.qr-panel{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center}.qr-panel img{width:260px;background:white;padding:15px;border-radius:18px}.copyline{display:flex;gap:8px}.copyline input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;padding:12px}.gallery{columns:4 220px;column-gap:12px}.shot{break-inside:avoid;margin:0 0 12px;position:relative}.shot img{display:block;width:100%;border-radius:16px;background:#ddd}.shot time{position:absolute;bottom:8px;left:8px;background:#17231fcc;color:white;padding:5px 8px;border-radius:8px;font-size:11px}.camera-page{background:#0b100e;color:white;min-height:100vh}.camera-shell{width:min(620px,100%);margin:auto;padding:18px}.camera-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.camera-top .brand{color:white}.camera{position:relative;background:#111;border-radius:28px;overflow:hidden;aspect-ratio:3/4}.camera video{width:100%;height:100%;object-fit:cover}.camera canvas{display:none}.camera-controls{position:absolute;bottom:20px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:30px}.shutter{width:76px;height:76px;padding:0;border:7px solid white;background:var(--lime);box-shadow:0 3px 16px #0008}.switch{width:45px;height:45px;padding:0;background:#ffffff33}.capture-status{text-align:center;min-height:24px;color:#cad3ce}.capture-status.error{color:#ff9e9e}.strip{display:flex;gap:8px;overflow:auto;padding:10px 0}.strip img{width:72px;height:72px;object-fit:cover;border-radius:11px}.empty{text-align:center;padding:65px 20px;border:1px dashed #abb3ad;border-radius:20px;color:var(--muted)}@media(max-width:760px){.navlinks a:not(.button){display:none}.hero{grid-template-columns:1fr;padding:50px 0}.hero-card{transform:none}.grid-3,.stats{grid-template-columns:1fr}.section-head,.dash-head{align-items:flex-start;flex-direction:column}.qr-panel{grid-template-columns:1fr}.qr-panel img{width:min(260px,100%)}.event-row{grid-template-columns:1fr}.event-actions{flex-wrap:wrap}h1{letter-spacing:-2px}}
