:root{--forest:#173c36;--forest2:#27584b;--ink:#1e322f;--muted:#66766d;--paper:#fbfaf4;--cream:#f1ecdd;--line:#d8d6c6;--mint:#dcebe0;--orange:#d7794b;--orange-deep:#a8482b;--white:#fff;--shadow:0 14px 45px rgba(31,50,42,.09);--display:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--body:"Trebuchet MS","Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--body);background:var(--paper);line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{text-decoration-color:var(--orange)}[hidden]{display:none!important}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.site-shell{max-width:1480px;margin:auto;overflow:hidden}.site-header,.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px clamp(22px,5vw,72px);border-bottom:1px solid var(--line);background:var(--paper)}
.site-header nav,.header-actions{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700}.site-header nav a,.header-actions a{text-decoration:none}.quiet-link{color:var(--muted)}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.brand strong{display:block;font-family:var(--display);font-size:24px;line-height:1}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--forest);color:var(--paper);display:grid;place-items:center;font-size:22px}.brand-mark svg{width:32px;fill:none;stroke:#f6eecf;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08}h1{font-size:clamp(54px,7.2vw,110px);letter-spacing:-.055em}h2{font-size:clamp(35px,4.2vw,64px);letter-spacing:-.045em}h3{font-size:27px;letter-spacing:-.03em}em{font-weight:400;color:var(--orange-deep)}.eyebrow{color:var(--orange-deep);font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:800}.muted,.help-text,.form-intro{color:var(--muted)}.help-text{font-size:12px;margin:10px 0 0}.optional{font-weight:400;color:var(--muted);font-size:12px}
.hero{min-height:595px;display:grid;grid-template-columns:1.05fr .95fr;position:relative;background:var(--cream);isolation:isolate}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.17;background-image:radial-gradient(#676954 .8px,transparent .8px);background-size:11px 11px;mask-image:linear-gradient(100deg,transparent 15%,black)}.hero-copy{padding:clamp(55px,7vw,105px) 0 62px clamp(24px,6.5vw,98px);position:relative;z-index:2}.hero h1{margin:13px 0 25px}.hero-intro{max-width:510px;font-size:18px;line-height:1.65;color:#43564d}.event-status{font-size:12px;color:var(--forest);font-weight:700;margin-top:20px}.event-switch select{max-width:310px}.hero-art{position:relative;min-height:490px;overflow:hidden}.sun-disc{position:absolute;width:330px;height:330px;border-radius:50%;top:68px;left:22%;background:#eab96b;box-shadow:0 0 0 28px rgba(234,185,107,.17)}.hill{position:absolute;left:-30%;width:150%;height:52%;border-radius:50% 50% 0 0}.hill-back{bottom:-18%;background:#8cae94;transform:rotate(-15deg)}.hill-front{bottom:-34%;background:#28594f;transform:rotate(11deg)}.hero-bird{position:absolute;width:min(59%,340px);top:20%;left:29%;fill:#173c36;stroke:#173c36;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(14px 18px 0 rgba(0,0,0,.08));transform:rotate(-9deg)}.hero-bird circle{fill:#f8e3a0;stroke:none}.art-caption{position:absolute;bottom:23px;right:32px;color:#fff;font-family:var(--display);font-style:italic;font-size:15px;letter-spacing:.03em}
.flash{position:fixed;z-index:100;top:18px;left:50%;transform:translateX(-50%);max-width:min(520px,92vw);padding:13px 18px;border-radius:10px;background:var(--forest);color:white;box-shadow:var(--shadow);font-weight:700;font-size:13px}.flash.error{background:#9b332d}
.join-layout,.game-layout,.how-section{padding:75px clamp(22px,6.5vw,98px)}.join-layout{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:8vw;background:#fbfaf4}.section-heading>p:last-child{color:var(--muted);font-size:16px;max-width:540px}.section-heading.compact h2{margin-bottom:10px}.paper-card{border:1px solid var(--line);background:#fffefb;border-radius:20px;box-shadow:var(--shadow)}.join-card{padding:34px;max-width:560px;width:100%}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto}.tab{border:0;background:none;color:var(--muted);padding:0 14px 13px;font-size:13px;font-weight:800;white-space:nowrap}.tab.active{color:var(--forest);border-bottom:3px solid var(--orange)}.stack{display:grid;gap:17px}label{display:grid;gap:7px;font-size:12px;font-weight:800;letter-spacing:.025em}input,select{min-height:44px;width:100%;border:1px solid #c7cdbf;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink);font-size:14px}input::placeholder{color:#939e93}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;border-radius:9px;padding:11px 17px;border:1px solid transparent;font-size:13px;font-weight:800;letter-spacing:.015em;text-decoration:none;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(20,50,40,.15)}.button.primary{background:var(--forest);color:#fff}.button.primary:hover{background:var(--forest2)}.button.secondary{background:var(--mint);color:var(--forest)}.button.accent{background:var(--orange);color:#251e17}.button.ghost{border-color:var(--line);background:#fff;color:var(--forest)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.text-button{background:none;border:0;padding:8px 0;color:var(--forest);text-decoration:underline;text-underline-offset:4px;font-weight:800;font-size:13px}
.secret-card{margin:0 clamp(22px,6.5vw,98px) 40px;padding:30px;border:1px solid #d7ad62;border-radius:18px;background:#fff3d7;display:grid;grid-template-columns:1fr 1fr;gap:25px}.secret-card h2{font-size:36px}.secret-card p{max-width:500px}.secret-code{border:1px dashed #b28a42;border-radius:9px;padding:12px 14px;background:#fffaf0;margin-bottom:10px;font-family:monospace;font-size:18px;letter-spacing:.12em;word-break:break-all}.secret-code small{display:block;font-family:var(--body);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.game-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:36px;background:linear-gradient(180deg,#fbfaf4,#f3f2e8)}.game-main,.game-aside{min-width:0}.score-card{background:var(--forest);color:#fff;border-radius:18px;padding:25px 30px;display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;position:relative;overflow:hidden}.score-card:after{content:"◌";position:absolute;font-size:230px;right:-26px;top:-116px;opacity:.07;font-family:var(--display)}.score-number span{font-family:var(--display);font-size:85px;line-height:.8}.score-number small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:16px}.score-detail{max-width:200px;z-index:1}.score-detail p{font-size:13px;opacity:.88}.status-pill{display:inline-block;padding:5px 10px;border:1px solid rgba(255,255,255,.5);border-radius:20px;font-size:11px;font-weight:800}.capture-card,.finds-card,.game-aside .paper-card{padding:25px;margin-bottom:22px}.card-heading{display:flex;gap:15px;align-items:start;margin-bottom:20px}.card-heading h3{margin:0 0 4px}.card-heading p{color:var(--muted);font-size:13px;margin:0}.number-tag{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--mint);color:var(--forest);font-size:12px;font-weight:800}.inline-form{display:flex;align-items:end;gap:12px}.grow{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}#name-area{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.find-list{display:grid;gap:10px}.find-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.find-item:first-child{border-top:0}.find-item strong{display:block;font-size:14px}.find-item small{display:block;color:var(--muted);font-size:11px}.find-item .mark{font-size:11px;font-weight:800;color:var(--forest);white-space:nowrap}.mark.pending{color:#a36124}.winner-notice,.notice{border-radius:13px;padding:16px 19px;margin-bottom:20px;background:#fff1d4;border:1px solid #e4bc6e}.winner-notice{background:#e2eee2;border-color:#98bca1}.submit-card{position:sticky;top:20px}.submit-card h3{margin-bottom:11px}.submit-card p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.submit-card .button{width:100%}.business-list{max-height:420px;overflow:auto;margin-top:13px}.business-row{border-top:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.business-row strong{font-size:13px}.business-row small{display:block;color:var(--muted);font-size:11px}.business-row button{border:0;background:var(--mint);color:var(--forest);font-size:11px;font-weight:800;border-radius:7px;padding:7px;white-space:nowrap}
.how-section{background:#e5ece0}.how-section h2{max-width:780px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}.steps article{border-top:1px solid #9dad9b;padding-top:16px}.steps span{display:inline-block;border:1px solid var(--forest);width:40px;height:40px;border-radius:50%;text-align:center;line-height:39px;font-size:11px;font-weight:800}.steps h3{margin:28px 0 12px}.steps p{color:#56695d;font-size:14px;max-width:300px}footer{display:flex;justify-content:space-between;gap:20px;padding:26px clamp(22px,6.5vw,98px);font-size:11px;color:var(--muted)}
.admin{background:#f4f3ec}.admin-shell{max-width:1600px;margin:auto}.admin-header{background:var(--forest);color:#fff;border:0;padding-top:18px;padding-bottom:18px}.admin-header .brand-mark{background:#dfebd7;color:var(--forest);font-weight:800}.admin-header .brand small{color:#d1ded3}.admin-header .text-button{color:#fff}.admin .flash{top:75px}.login-panel{max-width:560px;margin:8vh auto;padding:0 20px}.login-panel h1{font-size:clamp(58px,7vw,92px)}.login-panel>p:not(.eyebrow){color:var(--muted);max-width:420px}.login-panel form{padding:25px;margin-top:30px}.admin-intro{padding:38px clamp(20px,4vw,64px) 24px;display:flex;align-items:end;justify-content:space-between;gap:25px}.admin-intro h1{font-size:clamp(42px,5vw,70px);margin:0 0 8px}.admin-intro p:last-child{color:var(--muted);margin:0}.event-picker{display:flex;align-items:end;gap:12px}.event-picker label{min-width:210px}.admin-tabs{display:flex;gap:6px;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line);overflow-x:auto}.admin-tabs button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:800;padding:15px 16px;white-space:nowrap}.admin-tabs button.active{color:var(--forest);border-bottom:3px solid var(--orange)}.admin-panel{padding:30px clamp(20px,4vw,64px) 75px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric{background:#fff;border:1px solid var(--line);padding:22px;border-radius:14px}.metric strong{display:block;font:600 52px var(--display)}.metric small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.admin-columns{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:24px;align-items:start}.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;box-shadow:0 7px 25px rgba(20,40,30,.04);min-width:0}.admin-card h2{font-size:31px;margin-bottom:7px}.admin-card h3{font-size:23px}.admin-card>p{color:var(--muted);font-size:13px}.admin-card .stack{margin-top:21px}.admin-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.admin-section-title h2{font-size:37px;margin:0}.admin-section-title p{margin:0;color:var(--muted);font-size:13px}.admin-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.table-wrap{overflow:auto;max-height:640px;border:1px solid var(--line);border-radius:10px}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{position:sticky;top:0;text-align:left;background:#e9efe7;color:var(--forest);text-transform:uppercase;letter-spacing:.09em;font-size:10px;z-index:1}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid #e9e9df;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table td small{color:var(--muted)}.table-action{border:0;background:none;color:var(--forest);text-decoration:underline;font-size:11px;font-weight:800;padding:0;white-space:nowrap}.pill{display:inline-block;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:800;background:#e7eee7;color:var(--forest);text-transform:capitalize}.pill.draft{background:#fff1d8;color:#8b5b25}.pill.closed,.pill.inactive{background:#eee;color:#666}.catalog-tabs{display:flex;gap:10px;margin-bottom:16px}.catalog-tabs button{border:1px solid var(--line);border-radius:8px;background:white;padding:8px 12px}.catalog-tabs button.active{background:var(--forest);color:white}.tag-print-note{font-size:12px;color:var(--muted)}.tag-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tag-card{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff}.tag-card strong{display:block}.tag-card code{font-size:16px;letter-spacing:.1em}.tag-card small{display:block;color:var(--muted)}.label-sheet{display:grid;grid-template-columns:repeat(2,1fr);gap:10mm}.print-label{border:1px solid #333;padding:5mm;min-height:64mm;display:grid;grid-template-columns:1fr 1fr;gap:3mm;align-items:center;break-inside:avoid}.print-label h4{font:600 17pt var(--display);margin:0 0 3mm;grid-column:1/-1}.print-label canvas{width:32mm;height:32mm}.print-label small{font-size:8pt}.print-label .label-code{font:700 12pt monospace;letter-spacing:.12em}
@media(max-width:920px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:65px 24px 35px}.hero-art{min-height:310px}.sun-disc{top:6px;left:33%;width:260px;height:260px}.hero-bird{width:240px;top:0;left:42%}.join-layout,.game-layout{grid-template-columns:1fr}.join-layout{gap:22px}.game-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-aside .paper-card{margin:0}.submit-card{position:static}.admin-grid{grid-template-columns:repeat(2,1fr)}.admin-columns{grid-template-columns:1fr}}
@media(max-width:620px){.site-header nav a:first-child{display:none}.site-header,.admin-header{padding:13px 18px}.brand strong{font-size:20px}.brand small{font-size:8px}.brand-mark{width:36px;height:36px}.hero h1{font-size:59px}.hero-intro{font-size:16px}.hero-art{min-height:255px}.sun-disc{width:210px;height:210px}.hero-bird{width:190px;left:37%}.join-layout,.game-layout,.how-section{padding:50px 18px}.join-card{padding:22px}.secret-card{margin:0 18px 30px;grid-template-columns:1fr}.game-aside{grid-template-columns:1fr}.form-grid,.steps{grid-template-columns:1fr}.steps{gap:22px;margin-top:32px}.inline-form{align-items:stretch;flex-direction:column}.inline-form .button{width:100%}.score-number span{font-size:68px}.score-detail{max-width:145px}.site-header nav{gap:10px}.admin-intro{display:block;padding:27px 18px 18px}.event-picker{margin-top:20px;flex-wrap:wrap}.admin-tabs{padding:0 18px}.admin-panel{padding:23px 18px 60px}.admin-grid{grid-template-columns:1fr}.admin-section-title{display:block}.admin-section-title .button{margin-top:12px}footer{display:block;padding:25px 18px}footer span{display:block;margin:4px 0}}
@media print{body.admin{background:white}body.admin .admin-shell,body.admin .flash{display:none!important}#print-sheet{display:block!important;padding:0;margin:0}.label-sheet{gap:7mm}.print-label{min-height:60mm}body.player .site-header,body.player .hero,body.player #join-section,body.player #game-section,body.player footer{display:none!important}body.player .how-section{background:#fff;padding:0}.button{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
