:root{--ink:#183c3b;--teal:#126f72;--teal-dark:#084b50;--coral:#d65f3f;--gold:#f4b942;--paper:#fff7dd;--soil:#7b4828;--cream:#fffaf0;--shadow:rgba(46,27,14,.28)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:ui-rounded,"Avenir Next",Nunito,system-ui,sans-serif;color:var(--ink);background:#c98c4b}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:4px solid #fff;outline-offset:4px}[hidden]{display:none!important}
.game{position:relative;width:100vw;height:100vh;min-width:1100px;min-height:680px;overflow:hidden;background:linear-gradient(180deg,rgba(15,83,81,.05),rgba(89,43,12,.2)),url("./assets/dig-world-01.webp") center/cover no-repeat;isolation:isolate}.game::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(255,201,107,.13),transparent 40%,rgba(11,61,61,.13));box-shadow:inset 0 0 110px rgba(72,35,12,.28);pointer-events:none}.sun-haze{position:absolute;z-index:-1;left:13%;top:-18%;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(255,240,168,.48),transparent 68%);pointer-events:none}
.mission-card{position:absolute;z-index:30;left:28px;top:24px;width:352px;padding:17px 21px 18px;border:1px solid rgba(255,255,255,.68);border-radius:22px;background:rgba(255,250,235,.95);box-shadow:0 9px 0 rgba(85,48,17,.15),0 20px 44px var(--shadow);backdrop-filter:blur(8px)}.mission-card span{color:var(--coral);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.mission-card h1{margin:4px 0 5px;font-size:28px;line-height:1;letter-spacing:-.04em}.mission-card p{margin:0;color:#55706c;font-size:14px;font-weight:700;line-height:1.25}
.score-ribbon{position:absolute;z-index:30;right:28px;top:25px;display:flex;gap:7px;padding:7px;border:1px solid rgba(255,255,255,.62);border-radius:18px;background:rgba(9,71,73,.93);box-shadow:0 8px 0 rgba(5,45,48,.35),0 17px 34px rgba(29,30,19,.24)}.score-ribbon div{min-width:77px;padding:6px 11px;text-align:center;border-right:1px solid rgba(255,255,255,.18)}.score-ribbon div:last-child{border:0}.score-ribbon span{display:block;color:#bfe7dc;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.score-ribbon strong{display:block;color:#fff;font-size:22px;line-height:1.05}.score-ribbon .difficulty{min-width:94px}.score-ribbon .difficulty strong{color:#ffd368}
.dig-stage{position:absolute;left:2.8%;right:2.8%;top:14.5%;bottom:4%;display:grid;grid-template-columns:180px minmax(620px,1fr) 230px;gap:25px;align-items:end}.sticker-art{background:#fff;border:7px solid #fff;border-radius:28px;box-shadow:0 10px 0 rgba(82,48,19,.18),0 22px 40px rgba(55,31,13,.3);overflow:hidden}.mascot{position:relative;align-self:center;width:175px;padding:8px;transform:rotate(-2deg);transition:transform .15s ease-out}.mascot img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain}.mascot-bubble{position:absolute;left:8px;right:8px;bottom:9px;padding:9px 8px;border-radius:13px;color:#fff;background:var(--teal-dark);font-size:12px;font-weight:900;line-height:1.2;text-align:center}.mascot.is-happy{transform:translateY(-10px) rotate(2deg) scale(1.04)}.mascot.is-thinking{animation:nod .42s ease-out}.mascot.is-sad{animation:shake .28s ease-out}
.excavation-wrap{position:relative;align-self:stretch;min-height:530px;padding-top:36px}.site-tag{position:absolute;z-index:12;left:25px;top:17px;display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;color:#fff;background:var(--teal-dark);box-shadow:0 5px 0 rgba(3,47,49,.34);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.site-tag i{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(244,185,66,.2)}
.slab{position:relative;width:100%;height:430px;overflow:hidden;border:7px solid #5d351f;border-radius:48px 34px 42px 38px/38px 46px 35px 44px;background:radial-gradient(circle at 52% 44%,#c69257 0 26%,#a86a39 60%,#7b4828 100%);box-shadow:0 16px 0 #4b2d1d,0 30px 50px var(--shadow),inset 0 0 0 5px rgba(255,220,150,.16);touch-action:none;cursor:none;isolation:isolate}.slab::before{position:absolute;z-index:0;inset:0;content:"";opacity:.42;background-image:radial-gradient(circle at 12% 20%,#5a321f 0 2px,transparent 3px),radial-gradient(circle at 75% 66%,#ddb174 0 3px,transparent 4px),radial-gradient(circle at 42% 77%,#5e3825 0 1px,transparent 2px);background-size:57px 53px,83px 71px,31px 37px}.artifact-sticker{position:absolute;z-index:1;left:50%;top:51%;width:48%;height:70%;display:grid;place-items:center;padding:12px;transform:translate(-50%,-50%) rotate(-2deg);box-shadow:0 8px 16px rgba(64,35,14,.25)}.artifact-sticker img{max-width:100%;max-height:100%;object-fit:contain;filter:saturate(.88) sepia(.08)}.soil-grains{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 24%,rgba(255,213,139,.35) 0 2px,transparent 3px),radial-gradient(circle at 63% 71%,rgba(58,29,17,.34) 0 2px,transparent 3px);background-size:43px 37px,61px 47px;mix-blend-mode:soft-light}#dirtCanvas{position:absolute;z-index:4;inset:0;width:100%;height:100%;touch-action:none}.brush-cursor{position:absolute;z-index:8;width:74px;height:74px;border:3px solid rgba(255,255,255,.8);border-radius:50%;opacity:0;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(18,111,114,.16);pointer-events:none}.brush-cursor i{position:absolute;left:31px;top:-12px;width:82px;height:25px;border-radius:8px 25px 25px 8px;background:linear-gradient(90deg,#126f72 0 28%,#e6ae5b 29%);box-shadow:0 4px 5px rgba(48,27,14,.25);transform:rotate(-32deg)}.slab:hover .brush-cursor{opacity:1}.brush-hint{position:absolute;z-index:7;left:50%;top:48%;min-width:180px;padding:11px 18px;border-radius:17px;color:#fff;background:rgba(8,75,80,.94);box-shadow:0 7px 0 rgba(3,44,46,.38);text-align:center;transform:translate(-50%,-50%);pointer-events:none;animation:bob 1s ease-in-out infinite alternate}.brush-hint b,.brush-hint span{display:block}.brush-hint b{font-size:16px}.brush-hint span{margin-top:2px;color:#cceae2;font-size:11px;font-weight:800}.reveal-meter{position:absolute;z-index:9;left:24%;right:24%;bottom:15px;height:8px;padding:2px;border-radius:999px;background:rgba(67,36,20,.45);pointer-events:none}.reveal-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f5c95e,#fff0a0);transition:width .15s ease-out}
.clue-scroll{position:absolute;z-index:15;left:5%;right:5%;top:378px;padding:16px 27px 14px;border:2px solid rgba(122,70,31,.16);border-radius:8px 8px 22px 22px;background:#fff0c6;box-shadow:0 10px 0 rgba(98,57,24,.16),0 18px 28px rgba(48,26,12,.22);text-align:center;animation:scroll-in .25s ease-out}.clue-scroll span{color:var(--coral);font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.clue-scroll p{margin:3px 0 0;font-size:15px;font-weight:850;line-height:1.25}.answer-panel{position:absolute;z-index:16;left:0;right:0;top:474px}.answer-panel>p{margin:0 0 9px;color:#fff;font-size:16px;font-weight:950;text-align:center;text-shadow:0 2px 5px rgba(56,28,12,.5)}.choices{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}.choice{min-width:132px;min-height:50px;padding:10px 18px;border:2px solid rgba(255,255,255,.76);border-radius:16px;color:#fff;background:var(--teal);box-shadow:0 7px 0 var(--teal-dark),0 12px 22px rgba(44,31,18,.22);font-size:15px;font-weight:950;transition:transform .15s ease-out,filter .15s ease-out}.choice:hover{transform:translateY(-2px);filter:brightness(1.08)}.choice:active{transform:translateY(4px);box-shadow:0 3px 0 var(--teal-dark)}.choice.is-wrong{animation:shake .28s ease-out;background:#98523e}.feedback{height:22px;margin-top:10px;color:#fff7dc;font-size:13px;font-weight:850;text-align:center;text-shadow:0 2px 4px rgba(42,23,12,.65)}
.museum-case{align-self:center;overflow:hidden;border:7px solid #70431f;border-radius:25px;background:#cf9d5a;box-shadow:0 14px 0 #4c2d1d,0 30px 45px rgba(52,28,13,.32)}.case-top{padding:11px 10px;color:#fff6d8;background:#7b4d27;font-size:11px;font-weight:950;letter-spacing:.12em;text-align:center;text-transform:uppercase}.case-window{position:relative;height:300px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.32),transparent 30%),linear-gradient(#b8e4dc,#5ea8a4);border:4px solid #f1d99d;border-width:4px 0}.case-window::after{position:absolute;z-index:5;left:17px;top:-30px;width:21px;height:380px;content:"";background:rgba(255,255,255,.25);transform:rotate(16deg)}.case-window img{position:absolute;z-index:3;left:12%;right:12%;bottom:55px;width:76%;height:190px;object-fit:contain;opacity:0;transform:translateY(90px) scale(.7);filter:drop-shadow(0 9px 8px rgba(25,35,29,.32))}.museum-case.has-find .case-window img{opacity:1;transform:translateY(0) scale(1);transition:transform .45s cubic-bezier(.2,1.3,.4,1),opacity .18s}.case-glow{position:absolute;z-index:2;left:50%;top:49%;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(255,244,154,.85),transparent 67%);opacity:0;transform:translate(-50%,-50%)}.museum-case.has-find .case-glow{animation:shine .8s ease-out}.plinth{position:absolute;z-index:4;left:14%;right:14%;bottom:18px;height:45px;border-radius:7px 7px 2px 2px;background:linear-gradient(#f5dfb0,#b9894d);box-shadow:0 7px 0 #7b542c}.empty-plinth{position:absolute;z-index:3;left:50%;bottom:77px;width:92px;height:92px;display:grid;place-items:center;border:4px dashed rgba(255,255,255,.55);border-radius:50%;color:rgba(255,255,255,.64);font-size:45px;font-weight:950;transform:translateX(-50%)}.museum-case.has-find .empty-plinth{display:none}.museum-case p{min-height:64px;margin:0;padding:14px 15px;color:#50331e;background:#fff0c6;font-size:12px;font-weight:800;line-height:1.3;text-align:center}
.case-complete{position:absolute;z-index:80;left:50%;top:52%;width:455px;padding:30px 35px;border:2px solid rgba(255,255,255,.7);border-radius:30px;background:rgba(255,250,235,.98);box-shadow:0 28px 90px rgba(54,28,12,.55);text-align:center;transform:translate(-50%,-50%);animation:pop .3s ease-out}.case-complete::before{position:fixed;z-index:-1;inset:-100vh -100vw;content:"";background:rgba(22,29,22,.3)}.stamp{display:inline-block;padding:7px 13px;border:3px solid var(--coral);border-radius:8px;color:var(--coral);font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-3deg)}.case-complete h2{margin:13px 0 7px;font-size:32px;line-height:1.05;letter-spacing:-.04em}.case-complete p{margin:0 auto 22px;max-width:360px;color:#57716c;line-height:1.45}.case-complete button{min-height:52px;padding:11px 23px;border:0;border-radius:16px;color:#fff;background:var(--coral);box-shadow:0 7px 0 #943c2c;font-weight:950}.celebration{position:absolute;z-index:70;inset:0;overflow:hidden;pointer-events:none}.celebration i{position:absolute;left:var(--x);top:44%;width:10px;height:18px;border-radius:3px;background:var(--c);animation:confetti .8s ease-out forwards}.toast{position:absolute;z-index:75;left:50%;bottom:27px;max-width:480px;padding:11px 18px;border-radius:999px;color:#fff;background:var(--teal-dark);box-shadow:0 9px 24px rgba(25,28,20,.32);font-size:13px;font-weight:850;opacity:0;transform:translate(-50%,12px);transition:.15s ease-out;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes bob{to{transform:translate(-50%,calc(-50% - 8px))}}@keyframes shake{25%{transform:translateX(-6px) rotate(-1deg)}75%{transform:translateX(6px) rotate(1deg)}}@keyframes nod{50%{transform:rotate(3deg) translateY(5px)}}@keyframes scroll-in{from{opacity:0;transform:translateY(-18px) scaleY(.7)}}@keyframes pop{from{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-3deg)}}@keyframes shine{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}@keyframes confetti{to{top:92%;transform:translate(var(--drift),120px) rotate(420deg);opacity:0}}
@media(max-height:760px){.dig-stage{top:13%;bottom:2%;grid-template-columns:155px minmax(620px,1fr) 210px}.mascot{width:150px}.excavation-wrap{min-height:500px}.slab{height:380px}.clue-scroll{top:330px}.answer-panel{top:427px}.case-window{height:270px}.score-ribbon{top:18px}.mission-card{top:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.brush-hint{animation:none}}
