:root{--ink:#100a0a;--panel:#241515;--line:#6d4029;--ember:#e66d2d;--gold:#deb263;--bone:#f8edda;--muted:#bfae99;--good:#a6ce85}
[hidden]{display:none!important}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,#512111,var(--ink) 54%);color:var(--bone);font:16px Georgia,serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.25;background:repeating-linear-gradient(90deg,transparent 0 47px,#fff1 48px 49px)}
.fog{position:fixed;inset:auto -10vw -20vh;height:55vh;background:radial-gradient(ellipse,rgba(210,200,190,.22),transparent 58%);filter:blur(24px);pointer-events:none}
header,footer,main{position:relative;z-index:1}
header{max-width:1100px;margin:auto;padding:18px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.brand img{display:block;max-height:46px;max-width:132px;width:auto;object-fit:contain}
.brand-pauls{justify-self:start}
.brand-kristoff{justify-self:end}
nav{display:flex;justify-content:center;gap:18px}
nav a{color:var(--muted);font:700 .73rem Arial;letter-spacing:.12em;text-decoration:none}
nav a:hover{color:var(--gold)}
main{width:min(1100px,94vw);margin:auto;padding:20px 0 64px}
footer{text-align:center;color:#846f5d;padding:32px;font:700 .66rem Arial;letter-spacing:.16em}
.hero{text-align:center;padding:26px 0}
.eyebrow{color:var(--ember);font:800 .7rem Arial;letter-spacing:.2em}
.hero h1{font-size:clamp(2.5rem,8vw,5rem);line-height:.88;margin:.6rem auto;text-transform:uppercase;max-width:14ch;text-shadow:0 0 24px #e66d2d66}
.panel,.card{background:#160f0eee;border:1px solid var(--line);box-shadow:0 14px 38px #0007}
.panel{padding:22px;border-radius:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.card{padding:18px;border-radius:8px}
.card h3{margin:.1rem 0;color:var(--gold)}
button,.button{border:1px solid var(--gold);background:#2c1813;color:var(--bone);padding:12px 15px;border-radius:4px;font:700 .75rem Arial;letter-spacing:.08em;cursor:pointer;text-decoration:none}button.clicked,.button.clicked,button:active,.button:active{background:var(--ember)!important;color:#160907!important;box-shadow:0 0 14px #e66d2d}
button:hover,button.active{background:var(--ember);color:#140907}
button:disabled{cursor:not-allowed;opacity:.68}
.choice{min-height:120px;text-align:left}
.choice span{display:block;color:var(--muted);font:normal 14px Georgia;margin-top:8px}
.status,.location-banner{margin:14px 0;padding:12px;border-left:3px solid var(--gold);background:#ffffff0d;color:var(--muted)}
.status.good{border-color:var(--good);color:#d9edcb}
.location-banner{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-color:var(--ember)}
.location-banner b{color:var(--gold);letter-spacing:.12em;font:.78rem Arial}
.location-banner button{margin-left:auto;padding:8px 10px;font-size:.62rem}
.cigar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cigar{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:start;min-width:0}
.cigar-copy{min-width:0}
.cigar p{line-height:1.35;margin:.55rem 0}
.art{min-width:0}
.cigar-image,.placeholder{display:block;width:100%;height:130px;object-fit:contain;background:linear-gradient(145deg,#3c2118,#1d1311);border:1px dashed var(--gold)}
.cigar-link{display:block}
.placeholder{display:grid;place-items:center;text-align:center;color:var(--gold);font:700 .65rem Arial;letter-spacing:.08em;padding:8px}
.stars{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}
.stars button{width:34px;height:34px;padding:0;border-radius:50%;font-size:1rem;color:var(--gold)}
.stars button.active{background:var(--ember);color:#160d0a}
.meta{font:700 .69rem Arial;letter-spacing:.08em;color:var(--muted);line-height:1.35}
.trade{margin-top:12px;font:700 .67rem Arial;letter-spacing:.06em;color:var(--muted)}
.trade summary{cursor:pointer;color:var(--gold)}
.trade p{font:normal 13px Georgia;letter-spacing:0;line-height:1.35}
.trade select,.toolbar select,.toolbar input,.mail-form input{background:#160f0e;color:var(--bone);border:1px solid var(--line);padding:11px;max-width:100%}
.king{border-color:var(--ember);margin-top:20px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
.standing{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #fff1}
.standing:last-child{border:0}
.rank{color:var(--gold);font:bold 1.3rem Georgia;width:28px}
.score{margin-left:auto;text-align:right;color:var(--gold);font:bold 1.15rem Georgia}
.event-footer{margin-top:28px;padding:22px;text-align:center;border-top:1px solid var(--line)}
.event-footer div a{color:var(--gold);font:700 .66rem Arial;letter-spacing:.1em;text-decoration:none;margin:0 10px}
.mail-form{margin:22px auto 0;max-width:520px}
.mail-form label{display:block;margin-bottom:10px;font:700 .68rem Arial;letter-spacing:.1em;color:var(--muted)}
.mail-form div{display:flex;gap:8px}
.mail-form input{flex:1;min-width:0}
.visitor-count{font:700 .68rem Arial;letter-spacing:.12em;color:var(--muted);margin:22px 0 0}
.visitor-count b{color:var(--gold)}
@media(max-width:650px){header{padding:14px 16px;grid-template-columns:1fr auto 1fr;gap:10px}
.brand img{max-width:80px;max-height:34px}
nav{gap:10px}
nav a{font-size:.62rem}
.hero{padding:20px 0}
.hero h1{font-size:clamp(2.35rem,13vw,3.8rem)}
main{width:min(96vw,640px);padding-top:12px}
.cigar-grid{grid-template-columns:1fr}
.cigar{grid-template-columns:88px minmax(0,1fr);padding:14px;gap:12px}
.cigar-image,.placeholder{height:112px}
.stars button{width:32px;height:32px}
.event-footer{padding:20px 8px}
.event-footer div{display:grid;gap:10px}
.mail-form div{display:grid}
.mail-form button{width:100%}
.location-banner button{margin-left:0}
.choice-grid{grid-template-columns:1fr}
}

.game-launch{display:block;margin:0 0 18px;padding:18px 22px;border:1px solid var(--gold);background:linear-gradient(135deg,#29100d,#160b0a);color:var(--bone);text-decoration:none;text-align:center;box-shadow:0 0 24px #e66d2d24}.game-launch b{display:block;color:var(--gold);letter-spacing:.08em}.game-panel{max-width:760px;margin:0 auto}.game-intro{padding:0 8px}.game-intro h2{margin:.25rem 0;font-size:clamp(22px,5vw,34px)}.game-toolbar{justify-content:center;margin:16px 0}.undertaker-stage{position:relative;max-width:570px;aspect-ratio:941/1672;margin:8px auto 14px;background:radial-gradient(ellipse at center,#462313,#100a0a 70%);overflow:hidden}.undertaker-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:2}.grave-board{position:absolute;z-index:1;left:12%;right:12%;top:12%;bottom:19%;display:grid;gap:4px;align-content:center}.grave-board.size-5{grid-template-columns:repeat(5,1fr)}.grave-board.size-7{grid-template-columns:repeat(7,1fr);gap:3px}.grave-board.size-9{grid-template-columns:repeat(9,1fr);gap:2px}.grave{aspect-ratio:1;border:1px solid #9d6f40;border-radius:6px;background:linear-gradient(145deg,#5a5c54,#202722);box-shadow:inset 0 0 0 2px #0008;color:#f8edda;font:700 clamp(13px,3vw,26px)/1 Georgia,serif;touch-action:none}.grave:before{content:'✝';color:#b7a67c;font-size:.65em;opacity:.65}.grave.open{background:#31201b;color:var(--gold);box-shadow:none}.grave.open:before,.grave.flag:before,.grave.bad:before{display:none}.grave.flag{background:#55341e;color:#f8edda}.grave.bad{background:#792820;color:#fff}.game-result{padding:18px;text-align:center;border:1px solid var(--gold);margin:12px 0;font-size:18px}.game-result.danger{border-color:#c4513f;background:#3e1010}.game-result.good{border-color:#79a55a;background:#1d3219}.game-leaders{margin-top:28px}.leaderboard-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:650px){.undertaker-stage{max-width:430px}.leaderboard-grid{grid-template-columns:1fr}.game-toolbar{gap:9px}.game-toolbar label{width:100%;text-align:center}.game-toolbar select{margin-left:6px}}

/* Kristoff Crypt Sweeper */
.crypt-sweeper-stage{max-width:760px;margin:8px auto 18px;padding:14px;background:#17100e;border:2px solid #704329;box-shadow:inset 0 0 0 4px #090606,0 16px 38px #0008}.crypt-board-shell{background:radial-gradient(ellipse at top,#493326,#201411 72%);padding:14px;border:1px solid #9b6b3e}.crypt-sweeper-stage .grave-board{position:static;display:grid;width:min(100%,650px);margin:auto;gap:5px}.crypt-sweeper-stage .grave-board.size-5{grid-template-columns:repeat(5,1fr)}.crypt-sweeper-stage .grave-board.size-7{grid-template-columns:repeat(7,1fr);gap:4px}.crypt-sweeper-stage .grave-board.size-9{grid-template-columns:repeat(9,1fr);gap:3px}.crypt-sweeper-stage .grave{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 2px;border:2px solid #9b896d;border-radius:18px 18px 4px 4px;background:linear-gradient(145deg,#6c6a5d,#30342d);box-shadow:inset 2px 2px #aaa8,inset -2px -2px #10130f;color:#f7ecd6;touch-action:none}.crypt-sweeper-stage .grave:hover{filter:brightness(1.16)}.grave-cross{display:block;color:#d6c49d;font-size:clamp(10px,2.6vw,19px);line-height:.9}.epitaph{display:block;max-width:100%;overflow:hidden;text-align:center;font:700 clamp(5px,1.4vw,10px)/1.05 Georgia,serif}.crypt-sweeper-stage .grave.open{background:linear-gradient(145deg,#271b19,#160d0c);color:var(--gold);box-shadow:inset 0 0 0 1px #000}.crypt-sweeper-stage .grave.flag{background:linear-gradient(145deg,#603c23,#2c160f);color:#fff1d4}.crypt-sweeper-stage .grave.bad{background:#84291f;color:white}.undertaker-row{min-height:112px;display:flex;align-items:end;gap:14px;margin-top:4px;padding:0 14px;color:var(--muted)}.undertaker-no-frame{display:block;height:132px;width:auto;max-width:130px;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 4px 4px #000)}.sweeper-modal{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:18px;background:#080404bd}.sweeper-dialog{width:min(480px,94vw);padding:26px;text-align:center;background:#20120f;border:2px solid var(--gold);box-shadow:0 0 70px #000;color:var(--bone)}.sweeper-dialog h2{margin:.2rem 0 .8rem}.sweeper-dialog .toolbar{justify-content:center}.treasure img{width:150px;height:150px;object-fit:contain;background:#120b09}.jump-scare{animation:flash .55s steps(2) 3}.ghoul{border-color:#bd3a2a;background:#310b0b;animation:lunge .5s ease-out both}.ghoul-fallback{font-size:clamp(100px,25vw,180px);line-height:.9;filter:drop-shadow(0 0 18px #ee4f2d)}.your-high{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--gold);color:var(--gold);font-size:.8rem}.your-high b{letter-spacing:.07em}@keyframes flash{50%{background:#e15a2bbd}}@keyframes lunge{from{transform:scale(.25) rotate(-8deg)}to{transform:scale(1)}}
@media(max-width:650px){.crypt-sweeper-stage{padding:8px}.crypt-board-shell{padding:8px}.crypt-sweeper-stage .grave-board.size-9{gap:2px}.crypt-sweeper-stage .grave{border-radius:10px 10px 3px 3px;padding:1px}.crypt-sweeper-stage .grave-board.size-9 .epitaph{font-size:4.6px}.undertaker-row{min-height:88px;padding:0 6px}.undertaker-no-frame{height:105px;max-width:102px}.undertaker-row .meta{font-size:.58rem}.sweeper-dialog{padding:22px 14px}}

/* Tombstone art pass */
.crypt-sweeper-stage .grave{position:relative;isolation:isolate;border:0!important;border-radius:0!important;background:#17100e url('/assets/game/tombstone.webp') center/100% 100% no-repeat!important;box-shadow:none!important;color:#f8edda;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.crypt-sweeper-stage .grave:before,.crypt-sweeper-stage .grave .grave-cross{display:none!important}.crypt-sweeper-stage .grave .epitaph{position:absolute;z-index:1;inset:29% 18% 23%;display:grid;place-items:center;overflow:visible;color:#201812;text-shadow:0 1px 0 #ddd8;font:700 clamp(6px,1.55vw,12px)/1.04 Georgia,serif}.crypt-sweeper-stage .grave.open,.crypt-sweeper-stage .grave.bad{background:#17100e url('/assets/game/tombstone-smashed.webp') center/100% 100% no-repeat!important}.crypt-sweeper-stage .grave.open .epitaph{inset:17%;color:#f5d26d;text-shadow:0 2px 3px #100;font:900 clamp(20px,6vw,52px)/1 Georgia,serif}.crypt-sweeper-stage .grave.open .epitaph:empty{display:none}.crypt-sweeper-stage .grave.bad .epitaph{inset:17%;color:#fff;font:900 clamp(19px,5vw,43px)/1 Georgia,serif;-webkit-text-stroke:1px #35100a;text-shadow:0 2px 3px #000}.crypt-sweeper-stage .grave.flag{background:#17100e url('/assets/game/tombstone.webp') center/100% 100% no-repeat!important}.crypt-sweeper-stage .grave.flag .epitaph{inset:12%;color:#f7ecd8;text-shadow:0 3px 3px #000;font:900 clamp(22px,6vw,52px)/1 Georgia,serif}.undertaker-row{min-height:180px;justify-content:flex-start;align-items:flex-end;padding:0 20px}.undertaker-no-frame{height:250px;max-width:280px;filter:drop-shadow(0 6px 6px #000)}.undertaker-row .meta{padding-bottom:22px}.treasure img{background:#fff!important;border:1px solid var(--gold)}.ghoul-image{display:block;max-height:min(54vh,430px);max-width:100%;margin:-46px auto 2px;object-fit:contain;filter:drop-shadow(0 0 18px #e1462d)}
@media(max-width:650px){.crypt-sweeper-stage .grave .epitaph{font-size:clamp(5px,1.8vw,9px)}.crypt-sweeper-stage .grave-board.size-9 .epitaph{font-size:4.5px}.crypt-sweeper-stage .grave.open .epitaph,.crypt-sweeper-stage .grave.flag .epitaph{font-size:clamp(14px,6vw,32px)}.undertaker-row{min-height:135px;padding:0 8px}.undertaker-no-frame{height:180px;max-width:220px}.undertaker-row .meta{padding-bottom:12px}.ghoul-image{max-height:44vh;margin-top:-28px}}

.crypt-sweeper-stage .grave .epitaph{-webkit-text-stroke:.45px #fff;paint-order:stroke fill;text-shadow:0 1px 2px #000!important}.crypt-sweeper-stage .grave.open .epitaph{-webkit-text-stroke:1.55px #fff;color:#f5d26d;text-shadow:0 2px 3px #000!important}.ghoul-scare{border:0;padding:0;background:transparent!important;cursor:pointer}.ghoul-scare .ghoul-image{width:auto;height:auto;max-height:100vh;max-width:100vw;margin:0;animation:ghoul-rush .62s cubic-bezier(.11,.72,.18,1) both}.ghoul-scare.clicked{animation:ghoul-click .14s ease-in 2}.treasure-link{display:inline-block;line-height:0}.treasure-link:hover{filter:drop-shadow(0 0 12px var(--gold));transform:scale(1.03)}@keyframes ghoul-rush{from{opacity:.05;transform:scale(.05)}65%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes ghoul-click{50%{background:#fff!important;filter:brightness(2.2)}}

/* Crypt Sweeper entry portal */
.game-launch{position:relative;isolation:isolate;min-height:172px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:24px 26px!important;overflow:hidden;border:1px solid #d4a644!important;background:radial-gradient(circle at 50% 110%,#a33e17 0,transparent 29%),linear-gradient(135deg,#0a0707,#38140e 48%,#0d0908)!important;box-shadow:0 0 0 3px #160b09,0 0 26px #e66d2d70!important;text-align:center}.game-launch:before,.game-launch:after{content:'✦';position:absolute;z-index:-1;color:#d99c45;opacity:.38;font-size:110px;line-height:1}.game-launch:before{left:4%;top:20px}.game-launch:after{right:4%;bottom:2px}.game-launch-kicker{color:#e66d2d;font:800 .62rem Arial;letter-spacing:.24em}.game-launch b{font-size:clamp(1.25rem,3.5vw,2rem)!important;letter-spacing:.07em;text-shadow:0 2px 0 #000}.game-launch>span:not(.game-launch-kicker){color:#f8edda;font-size:1.05rem}.game-launch strong{align-self:center;margin-top:7px;padding:10px 18px;border:1px solid var(--gold);background:#1c0d0a;color:var(--gold);font:800 .72rem Arial;letter-spacing:.16em;transition:.18s}.game-launch strong i{font-style:normal;font-size:1.15rem}.game-launch:hover strong{background:var(--ember);color:#160907;transform:translateY(-2px)}

