@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--bg:#0b1212;--panel:#182521;--panel2:#202d28;--gold:#e1bf82;--gold2:#b58b50;--ink:#f6f0e6;--muted:#c6c1b4;--line:#45554c;--good:#b6d3be;--danger:#eac1b8;--max:1100px;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{padding:0;margin:0;min-width:0;overflow-x:clip;background:radial-gradient(circle at 50% 0,#1b2826 0,#0b1212 68%)}
button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}a{color:var(--gold)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
img{max-width:100%;height:auto}p{line-height:1.55}h1,h2,h3,h4{overflow-wrap:anywhere}h1,h2,.display{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.1}
h1{font-size:clamp(37px,7.8vw,76px);margin:14px 0}h2{font-size:clamp(27px,4.8vw,43px);margin:10px 0 16px}h3{font-size:21px;margin:10px 0}h1 em,h2 em{color:var(--gold);font-weight:400}
small,.small{font-size:12px;color:var(--muted)}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10000;padding:10px;background:var(--gold);color:#111}
#demo-ribbon{font-size:10px;font-weight:700;letter-spacing:.11em;text-align:center;color:#211a0c;background:#dfbd81;padding:8px 12px;line-height:1.4}
.top{height:74px;position:sticky;top:0;z-index:40;background:rgba(12,20,19,.95);backdrop-filter:blur(15px);border-bottom:1px solid #3c4439;display:flex;align-items:center;justify-content:space-between;padding:8px max(16px,calc((100vw - var(--max))/2))}
.brand{width:128px;min-width:0;display:block;flex:none}.brand img{max-height:60px;max-width:128px;object-fit:contain;display:block}
.top-actions{display:flex;align-items:center;gap:8px;min-width:0}.icon{background:#1c2724;color:var(--gold);border:1px solid #5b604b;border-radius:50%;height:40px;width:40px;min-width:40px;display:inline-grid;place-items:center;font-size:19px;padding:0}
#drawer{position:fixed;z-index:60;top:0;right:0;bottom:0;width:min(390px,94vw);overflow-y:auto;padding:18px 20px 90px;background:#13201f;box-shadow:-30px 0 100px #000a;border-left:1px solid #666044;overscroll-behavior:contain}
#drawer[hidden]{display:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;font-family:Georgia,serif;font-size:24px}
.drawer-group{margin-top:17px;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.15em}
#drawer-links a{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;text-decoration:none;border-bottom:1px solid #34433a;color:var(--ink);font-size:16px}
#drawer-links a:hover,#drawer-links a.current{color:var(--gold)}
main{max-width:var(--max);min-height:65vh;margin:0 auto;padding:30px 20px 70px;overflow-wrap:anywhere}
.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);font-weight:700}
.lead{font-size:clamp(15px,2.2vw,20px);color:#ddd7c9;max-width:750px}
.hero{position:relative;min-height:390px;display:flex;align-items:center;padding:36px clamp(20px,5vw,64px);overflow:hidden;border:1px solid #6a5b41;border-radius:19px;background:radial-gradient(circle at 77% 24%,#53412c 0,transparent 37%),linear-gradient(125deg,#1a2828,#131c1b 65%,#34261b)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101819e6 0,#101819aa 56%,#10181920 100%);z-index:1}
.hero>img{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;opacity:.7;filter:saturate(.84)}
.hero-content{max-width:675px;position:relative;z-index:2}.hero h1{margin-bottom:15px}
.hero-actions,.actions,.chips,.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #bd9e69;border-radius:99px;padding:12px 17px;font-size:14px;font-weight:700;text-decoration:none;color:#1a211c;background:var(--gold);min-height:42px;text-align:center}
.btn.secondary{background:transparent;color:var(--gold)}
.btn.soft{background:#28382e;color:var(--ink);border-color:#69775f}
.btn.warn{border-color:#a86e62;color:#f3c9c2;background:#382525}
.btn.tiny{font-size:12px;min-height:34px;padding:6px 11px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cardbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:21px;min-width:0;overflow-wrap:anywhere}
.cardbox h3{color:#f5e5ca}.cardbox p{color:#d6d0c5}
.feature{min-height:145px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--ink);width:100%;gap:8px}
.feature span.emoji{font-size:28px;line-height:1}.feature strong{font-size:19px}.feature small{line-height:1.45}
.feature:hover{border-color:var(--gold)}
.strip{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;background:#28342c;border:1px solid #596752;border-radius:13px;padding:18px 20px;margin:24px 0}.strip p{margin:3px 0;color:var(--muted)}
.section-head{margin:26px 0 18px}.section-head p{max-width:750px;color:var(--muted)}
.figure{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;border:1px solid #4f493d}
.event-card,.art-card{padding:0;overflow:hidden}.event-card .inner,.art-card .inner{padding:16px}
.event-card img,.art-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.event-card h3{font-family:Georgia,serif;font-size:23px}.event-card p{font-size:14px;margin:8px 0}
.meta{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.05em}
.pill{display:inline-block;border-radius:99px;padding:5px 10px;background:#2f3d35;color:#dfcda9;font-size:11px;font-weight:700}
.pill.draft{background:#3d3327;color:#efd3ac}
.pill.demo{background:#293e38;color:#b9ddc9}
.counter{font-family:Georgia,serif;font-size:clamp(33px,6vw,52px);margin:0 0 5px;color:var(--gold)}
.stat{border:1px solid var(--line);border-radius:13px;padding:19px;background:#192823}
.stat span{font-size:12px;color:#ddd4c2}
input,select,textarea{color:var(--ink);background:#101b19;border:1px solid #6d796a;border-radius:9px;padding:10px 12px;min-height:44px;width:100%;max-width:100%;font-size:16px}
input[type="checkbox"]{min-height:auto;width:auto;accent-color:#cca86e}textarea{min-height:85px;resize:vertical}
label{display:block;font-size:13px;color:#e1d5c1;margin:10px 0 6px}
.fieldrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.formcard{background:#182521;border:1px solid #65705c;border-radius:12px;padding:19px;margin:18px 0}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;border-bottom:1px solid #47564e;padding:9px 7px;vertical-align:middle}
td button{white-space:nowrap}
.table-scroll{overflow-x:auto;max-width:100%}
.info{border-left:3px solid var(--gold);background:#1b2924;border-radius:0 10px 10px 0;padding:13px 18px;color:#e9dfca;margin:17px 0;font-size:14px}
.warning{border:1px solid #94765e;background:#342d23;padding:14px;border-radius:10px;color:#f3d6b0}
.rule{border:none;border-top:1px solid #425047;margin:26px 0}
.list{display:grid;gap:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:#1a2924;padding:14px 15px;border-radius:12px}
.row>div{min-width:0}.row strong{display:block;font-size:16px}.row small{display:block;margin-top:5px}.row p{margin:4px 0 0}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 1px 11px;scrollbar-width:thin}
.tabs a{flex:none;white-space:nowrap;text-decoration:none;border:1px solid #526651;background:#21312a;color:#d9d0bf;padding:9px 13px;border-radius:99px;font-size:13px}
.tabs a.active{border-color:var(--gold);background:#3b3930;color:#f5dfa7}
.card-number{font-family:ui-monospace,monospace;font-size:clamp(19px,4.9vw,28px);letter-spacing:.04em;overflow-wrap:anywhere;color:#fee2a6}
.coffee-stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:23px 0}
.stamp{aspect-ratio:1;border:1px dashed #b49a70;border-radius:50%;display:grid;place-items:center;font-size:clamp(19px,4vw,30px);color:#7c8b79;background:#1d2b26}
.stamp.filled{border:2px solid #bd9056;background:#3f352b;color:#f1c980;transform:rotate(-7deg)}
.stage{position:relative;min-height:220px;padding:25px;background:radial-gradient(circle at center,#36443c,#101b1c);border-radius:15px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.stage .artglyph{font-size:clamp(65px,16vw,135px);opacity:.6}
.stage .stage-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(transparent,#151c19c7)}
.stage strong{font-family:Georgia,serif;font-size:clamp(25px,5vw,43px);text-shadow:0 3px 20px #000}
.globe{position:relative;aspect-ratio:1/1;max-width:475px;margin:15px auto;border-radius:50%;background:radial-gradient(circle at 35% 32%,#3e686b,#183a3e 45%,#12252b 70%,#08131a);box-shadow:inset -22px -14px 40px #07181c,0 0 0 5px #b79c6344,0 20px 50px #0007;overflow:hidden}
.globe:before{content:"";position:absolute;inset:4%;background:linear-gradient(90deg,transparent 49%,#bfd4b420 50%,transparent 51%),repeating-linear-gradient(0deg,transparent 0 11%,#d5ddb517 12% 12.4%,transparent 13% 24%);border-radius:50%}
.land{position:absolute;background:#93a98b76;border-radius:58% 42% 47% 53%;box-shadow:inset 0 -3px 18px #213a2d;transform:rotate(-22deg)}
.land.one{left:13%;top:22%;width:34%;height:29%}.land.two{left:33%;top:51%;width:22%;height:38%;transform:rotate(20deg)}.land.three{left:55%;top:20%;width:33%;height:34%}.land.four{left:72%;top:57%;width:20%;height:15%}
.pin{position:absolute;transform:translate(-50%,-50%);border:none;border-radius:99px;min-height:28px;padding:4px 8px;background:#ebcb8d;color:#101817;font-size:11px;font-weight:800;box-shadow:0 0 0 4px #ecddbd38;max-width:118px}
.pin.soon{background:#cfd7cd}.pin.secret{background:#263b37;color:#f3e4bc;border:1px dashed #bba36a}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}
.cal-head strong{font-size:20px;text-transform:capitalize}
.cal-head button{border:1px solid #776f59;background:#273832;color:var(--gold);border-radius:50%;width:40px;height:40px}
.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cal-days>strong{font-size:11px;color:var(--gold);text-align:center;padding:6px 0}
.cal-days>button{min-height:70px;border:1px solid #536251;background:#263730;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:6px 2px;color:var(--ink)}
.cal-days>button.sel{outline:2px solid var(--gold)}
.cal-days>button.evt{border-color:var(--gold2);background:#3b3d30}
.cal-days>button small{font-size:10px;line-height:1.2;color:#eac98b}
.egg{border:1px solid #586952;border-radius:14px;background:#24332b;padding:18px;text-align:center}
.egg .eggicon{font-size:54px}
.egg.found{border:2px solid #d8bc80;background:#384434}
textarea.note{min-height:90px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.gallery button{border:1px solid #4a5d4f;background:#1d2d27;color:var(--ink);padding:0;overflow:hidden;border-radius:10px;text-align:left}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.gallery span{display:block;padding:8px;font-size:12px}
blockquote{padding:15px;border-left:3px solid var(--gold);margin:16px 0;color:#dec8a8;font-family:Georgia,serif;font-size:19px}
#toast{position:fixed;bottom:96px;left:50%;transform:translateX(-50%) translateY(160%);width:max-content;max-width:calc(100vw - 36px);background:#e8d2a6;color:#101818;padding:12px 17px;z-index:100;border-radius:10px;font-weight:700;font-size:13px;box-shadow:0 6px 30px #0006;transition:transform .25s}
#toast.show{transform:translateX(-50%) translateY(0)}
dialog{border:1px solid #a08a65;color:var(--ink);background:#14221f;max-width:min(540px,94vw);max-height:85dvh;width:100%;border-radius:17px;padding:0;box-shadow:0 20px 70px #0009}
dialog::backdrop{background:#020808d9}.modal-box{padding:20px;overflow-wrap:anywhere}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #3c4c42;padding-bottom:14px}.modal-head h2{margin:0;font-size:27px}#modal-body{padding:12px 0;max-height:65dvh;overflow-y:auto;overflow-wrap:anywhere}#modal-body .btn{margin-top:8px}
.bottom{position:fixed;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));left:0;right:0;height:calc(65px + env(safe-area-inset-bottom));padding:5px 3px env(safe-area-inset-bottom);background:#111d1bfa;border-top:1px solid #5e5b47;box-shadow:0 -10px 35px #0005}
.bottom a{text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a4aaa2;gap:1px;min-width:0}
.bottom a.active{color:var(--gold)}.bottom a span{font-size:24px}.bottom a small{font-size:10px;color:inherit}
.footer{text-align:center;color:#aea99e;border-top:1px solid #39443c;padding:25px 20px calc(85px + env(safe-area-inset-bottom));font-size:13px}
.footer .credit{display:block;margin:11px auto;background:transparent;border:0;color:var(--gold);font-size:13px;text-decoration:underline}.footer small{display:block;max-width:700px;margin:auto;line-height:1.5}
.loading{text-align:center;padding:95px 10px;color:#d8bd8a}
.spinner{width:40px;height:40px;border:3px solid #7e7655;border-top-color:#e1bf82;border-radius:50%;animation:spin 1s linear infinite;margin:auto}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){main{padding:22px 15px 65px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:350px}.hero>img{width:90%}.hero:before{background:linear-gradient(90deg,#101819ef 0,#101819b8 65%,#10181970)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldrow{grid-template-columns:1fr}}
@media(max-width:460px){.top{height:65px;padding-left:14px;padding-right:14px}.brand{width:105px}.brand img{max-width:105px;max-height:52px}.top-actions{gap:5px}.icon{min-width:34px;width:34px;height:34px;font-size:17px}.grid{grid-template-columns:1fr}.grid.two,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two .cardbox{padding:14px}.hero{padding:26px 18px;min-height:370px}.hero>img{width:100%;opacity:.56}.hero h1{font-size:40px}.feature{padding:17px;min-height:130px}.feature strong{font-size:16px}.strip{align-items:stretch}.strip .btn{width:100%}.cal-days{gap:3px}.cal-days>button{min-height:62px}.cal-days>button small{font-size:8px}.row{align-items:flex-start;flex-wrap:wrap}.row .btn{max-width:100%}main{padding-left:13px;padding-right:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.top,.bottom,#demo-ribbon,#drawer,.footer,.btn,.tabs,.top-actions{display:none!important}body{background:#fff;color:#111}main{max-width:none;padding:0}.cardbox,.formcard,.strip{background:white;color:#111;border:1px solid #bbb}h1,h2,h3,.cardbox h3{color:#111!important}}
