/* Čarovná dedinka — the shell (screens, village, map, sheets). The board's own styles: dedinka-board.css (Engine).
   Visual system from the approved mockups: golden-hour sky, depth layers, contact shadows, chunky 3D buttons,
   cream panels with a gold-wood frame. Type scale (owner): titles 20, body 14, buttons 15 / 40 px. */
@font-face{font-family:"Titan One";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/titan-one.woff2?v=3) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Titan One";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/titan-one-ext.woff2?v=3) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-weight:200 1000;font-style:normal;font-display:swap;src:url(../fonts/nunito.woff2) format("woff2")}

html.dd-app,html.dd-app body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}
html.dd-app main{padding:0;margin:0}
.dd{--ink:#4A3220;--ink2:#8A6A4E;--cream:#FFF8EA;--leaf:#5DBB3F;--leaf2:#3E8F28;--gold:#FFD25A;--gold2:#E9A320;--pink:#F2719F;
  --st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);--vbh:272px;
  font-family:Nunito,ui-rounded,system-ui,sans-serif;font-size:14px;line-height:1.35;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.dd *,.dd *::before,.dd *::after{box-sizing:border-box}
:where(.dd) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.dd button:focus-visible,.dd a:focus-visible{outline:3px solid #F2A51F;outline-offset:2px}
.dd img{user-select:none;-webkit-user-drag:none}
.dd .h{font-family:"Titan One",Nunito,system-ui,sans-serif;font-weight:400;letter-spacing:.2px}
.dd-boot{max-width:420px;margin:15vh auto;padding:16px;text-align:center}
.dd-boot h1{font:400 28px "Titan One",Nunito,sans-serif;color:#3E8F28}
#dd.dd.dd-on{padding:0!important;margin:0!important;border:0;border-radius:0;box-shadow:none;max-width:none;position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#F3E2C4}
.dd-frame{position:relative;width:100%;height:100%;overflow:hidden;background:#BFDDA0;contain:layout paint}
.dd-screens,.dd-screen{position:absolute;inset:0}
.dd-screen{display:none;overflow:hidden}
.dd-screen.on{display:block}
.dd-layer{position:absolute;inset:0;z-index:80;pointer-events:none}
.dd-layer>*{pointer-events:auto}

/* PC: a centred phone-like frame on a soft golden-hour background */
@media (min-width:640px) and (min-height:600px){
  #dd.dd.dd-on{background:radial-gradient(60% 50% at 18% 20%,rgba(255,236,190,.9),rgba(255,236,190,0) 70%),radial-gradient(50% 45% at 85% 80%,rgba(190,225,160,.75),rgba(190,225,160,0) 70%),
    radial-gradient(40% 40% at 80% 12%,rgba(255,200,140,.6),rgba(255,200,140,0) 70%),linear-gradient(160deg,#FCE9C7,#F3D7A8 55%,#DCE7B8)}
  #dd.dd.dd-on .dd-frame{z-index:1}
  #dd.dd.dd-on::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;filter:saturate(.75) blur(.5px);
    background:url(../img/dedinka/s_b9@2x.webp) left 5% bottom 6%/clamp(120px,15vw,230px) auto no-repeat,url(../img/dedinka/s_tree_2@2x.webp) left 19% bottom 9%/clamp(60px,7vw,110px) auto no-repeat,
      url(../img/dedinka/s_d7@2x.webp) right 6% bottom 6%/clamp(120px,14vw,220px) auto no-repeat,url(../img/dedinka/s_b7@2x.webp) right 20% bottom 10%/clamp(70px,9vw,140px) auto no-repeat}
  @media (max-width:1000px){#dd.dd.dd-on::after{display:none}}
  #dd.dd.dd-on::before{content:"";position:absolute;inset:0;background:url(../img/dedinka/t_sland.webp) 0 0/90px 90px;opacity:.07;pointer-events:none}
  .dd-frame{width:430px;height:min(932px,calc(100dvh - 40px));border-radius:38px;box-shadow:0 0 0 9px #3A2614,0 0 0 11px #B8763C,0 0 0 13px #FFE6B0,0 30px 70px rgba(80,45,10,.45)}
}

/* ---------- panels and buttons (from the mockups) */
.dd .panel{background:linear-gradient(180deg,#FFFBF2,#FBEFD8);border-radius:20px;border:3px solid #fff;box-shadow:0 0 0 2.5px #E7C68E,0 3px 0 2.5px #C9965A,0 12px 24px rgba(70,40,10,.25),inset 0 2px 0 rgba(255,255,255,.9)}
.dd .btn3d{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border-radius:16px;font:400 15px/1 "Titan One",Nunito,sans-serif;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.22);overflow:hidden;text-decoration:none;white-space:nowrap;transition:transform .08s}
.dd .btn3d::before{content:"";position:absolute;left:6px;right:6px;top:3px;height:44%;border-radius:12px 12px 40% 40%/12px 12px 10px 10px;background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.06));pointer-events:none}
.dd .btn3d:active{transform:translateY(3px)}
.dd .btn3d.green{background:linear-gradient(180deg,#8EE35A,#5DBB3F 55%,#46A02C);box-shadow:inset 0 -4px 0 rgba(30,90,10,.35),0 5px 0 #2F7A1A,0 10px 18px rgba(40,90,20,.3);border:2px solid #C8F5A6}
.dd .btn3d.gold{background:linear-gradient(180deg,#FFE48A,#FFC93C 55%,#EDA515);color:#6A3B00;text-shadow:0 1.5px 0 rgba(255,255,255,.55);box-shadow:inset 0 -4px 0 rgba(150,80,0,.28),0 5px 0 #B97408,0 10px 18px rgba(150,90,10,.3);border:2px solid #FFF0B8}
.dd .btn3d.pink{background:linear-gradient(180deg,#FFA3C6,#F2719F 55%,#DA4F84);box-shadow:inset 0 -4px 0 rgba(140,20,70,.3),0 5px 0 #A93163;border:2px solid #FFD3E4}
.dd .btn3d.mint{background:linear-gradient(180deg,#9EF0C8,#3CCB9A 60%,#22A97C);box-shadow:0 4px 0 #17805C;border:2px solid #D8FFEE}
.dd .btn3d.grey{background:linear-gradient(180deg,#F2EDE6,#D9D1C6);color:#8C7F70;text-shadow:none;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08),0 4px 0 #B8AC9C;border:2px solid #fff}
.dd .btn3d.big{min-height:52px;font-size:20px;border-radius:20px;width:100%}
.dd .btn3d.big small{font:900 14px Nunito,sans-serif;opacity:.95}
.dd .btn3d.sm{min-height:40px;font-size:14px;padding:0 12px}
.dd .btn3d[disabled]{filter:grayscale(.75);opacity:.7;cursor:default;transform:none}
.dd .linkish{display:inline-flex;align-items:center;min-height:40px;padding:0 6px;font-weight:900;color:#8A5226;text-decoration:underline;text-underline-offset:3px}
.dd .muted{color:var(--ink2)}.dd .small{font-size:13px}
.ic-star{width:1em;height:1em;fill:#FFC93C;stroke:#C98100;stroke-width:1.4;vertical-align:-.12em;filter:drop-shadow(0 0 3px rgba(255,210,90,.7))}
.ic-heart{width:1em;height:1em;fill:#F24F6E;stroke:#B92F4D;stroke-width:1.2;vertical-align:-.12em}
.ic-coin{width:20px;height:20px;vertical-align:-4px}.ic-coin.sm{width:16px;height:16px;vertical-align:-3px}
.dstars{display:inline-flex;gap:1px}.dstars i{display:inline-flex;font-size:15px}.dstars i:not(.on) .ic-star{fill:#CFC3B5;stroke:#9C8F80;filter:none}

/* ---------- top row + HUD */
.dd-top{position:absolute;left:0;right:0;top:var(--st);height:40px;display:flex;align-items:center;gap:6px;padding:0 8px;z-index:30}
.dd-back{position:relative;display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 11px;border-radius:15px;background:rgba(255,251,242,.88);box-shadow:0 0 0 1.5px #E7C68E,0 2px 0 1.5px #C9965A;font:900 13px Nunito,sans-serif;color:#5E3416;text-decoration:none}
.dd-back::after{content:"";position:absolute;inset:-5px -2px}
.dd-acc{position:relative;margin-left:auto;font:800 12px Nunito,sans-serif;color:#5E3416;background:rgba(255,251,242,.75);border-radius:12px;padding:4px 9px;text-decoration:none;white-space:nowrap;max-width:46vw;overflow:hidden;text-overflow:ellipsis}
a.dd-acc::after{content:"";position:absolute;inset:-8px -2px}
.dd-acc.on{color:#2F7A1A}
.dd-gold{font:400 12px "Titan One",sans-serif;color:#6A3B00;background:linear-gradient(#FFE48A,#F2A51F);border-radius:10px;padding:3px 8px;box-shadow:0 2px 0 #B97408}
.dd-gear{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font:400 18px "Titan One",sans-serif;color:#5E3416}
.dd-gear svg{width:26px;height:26px;fill:#FFFBF2;stroke:#8A5226;stroke-width:1.4;filter:drop-shadow(0 2px 0 rgba(90,50,10,.4))}
.ddh{position:absolute;left:10px;right:10px;top:calc(var(--st) + 40px);display:flex;gap:7px;z-index:30}
.ddh .dchip b{font:inherit;color:inherit}
.ddh .dchip{border:3px solid #fff;display:flex;align-items:center;gap:5px;min-height:44px;padding:4px 10px;font:400 16px "Titan One",sans-serif;border-radius:16px;white-space:nowrap}
.dchip.ch{flex:1;min-width:0;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;cursor:pointer}
.dchip.ch b{font-size:14px;color:#3E8F28;overflow:hidden;text-overflow:ellipsis}.dchip.ch b span{font:900 12px Nunito,sans-serif;color:var(--ink2)}
.prog{display:block;height:8px;border-radius:5px;background:#EAD9BC;box-shadow:inset 0 1.5px 2px rgba(120,80,30,.35);overflow:hidden}
.prog i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(#A6EE7A,#5DBB3F);transition:width .6s}
.dchip.lives{flex:1;min-width:0}.hearts{display:inline-flex}.hearts i{display:inline-flex;font-size:17px;margin-right:-2px}.hearts i:not(.on) .ic-heart{fill:#EDE3D6;stroke:#C4B6A4}
.dchip .tm{display:flex;flex-direction:column;font:800 11px/1.1 Nunito,sans-serif;color:var(--ink2);margin-left:4px;text-align:left;overflow:hidden}
.dchip .tm b{font:400 13px "Titan One",sans-serif;color:#D24F80}
.dchip.st{color:#C98100}.dchip.co{color:#8A5226}.dchip.co .plus{width:20px;height:20px;border-radius:7px;background:linear-gradient(#8EE35A,#46A02C);color:#fff;font-size:15px;line-height:19px;text-align:center;box-shadow:0 2px 0 #2F7A1A}

/* ---------- splash */
.dd-screen .sky{position:absolute;left:0;right:0;top:0;height:62%;background:linear-gradient(180deg,#5FA8E6 0%,#8CC6F0 22%,#CFE4EA 40%,#FFE4B0 58%,#FFC57E 78%,#FFB36A 100%)}
.dd-screen .sun{position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#FFFADC 0 12%,rgba(255,226,150,.75) 26%,rgba(255,200,120,0) 68%);pointer-events:none}
[data-s=splash] .sun{right:-40px;top:8%}
.sp-hills{position:absolute;left:-10%;right:-10%;top:44%;height:16%;border-radius:50% 50% 0 0;background:linear-gradient(#A9CBA6,#8FBC7A)}
.sp-ground{position:absolute;left:0;right:0;top:56%;bottom:0;background:url(../img/dedinka/t_sland.webp) 0 0/76px 76px;filter:hue-rotate(20deg) brightness(1.06)}
[data-s=splash] img{position:absolute;height:auto}
.sp-h1{left:4%;top:38%;width:24%}.sp-h2{right:4%;top:37%;width:30%}.sp-t{left:26%;top:40%;width:15%}.sp-f{left:30%;top:52%;width:36%}
.mid{filter:drop-shadow(1.4px -1px 0 rgba(255,220,150,.85)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
.rim{filter:drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.95)) drop-shadow(0 0 8px rgba(255,205,120,.4)) drop-shadow(0 5px 4px rgba(40,30,10,.32)) saturate(1.1)}
.sp-title{position:absolute;left:0;right:0;top:calc(var(--st) + 13%);text-align:center;padding:0 16px}
.sp-title h1{margin:0;font:400 clamp(34px,11vw,48px)/1.05 "Titan One",sans-serif;color:#fff;text-shadow:0 3px 0 #C25A8A,0 6px 0 #8A2F5C,0 12px 24px rgba(90,30,60,.35)}
.sp-title p{margin:10px auto 0;max-width:300px;font-weight:800;font-size:14px;color:#5E3416;background:rgba(255,251,242,.8);border-radius:14px;padding:6px 12px}
.sp-ruta{left:-4%;bottom:calc(var(--sb) + 104px);width:46%;max-width:200px;filter:drop-shadow(2px -1.5px 0 rgba(255,214,150,.95)) drop-shadow(0 10px 10px rgba(40,25,10,.35));animation:ddbob 3.2s ease-in-out infinite}
.sp-go{position:absolute;left:20px;right:20px;bottom:calc(var(--sb) + 22px);display:flex;flex-direction:column;align-items:center;gap:6px}
.sp-go .btn3d{max-width:340px}
.sp-login{display:inline-flex;align-items:center;min-height:40px;font-weight:900;color:#5E3416;background:rgba(255,251,242,.85);border-radius:14px;padding:0 12px}
.sp-back{position:absolute;left:10px;top:calc(var(--st) + 6px)}
@keyframes ddbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ---------- village */
[data-s=village]{background:#7DBB45}
.vw{position:absolute;left:0;right:0;top:0;bottom:calc(var(--vbh) - 30px);overflow:hidden;touch-action:none;cursor:grab;outline:none}
.world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.world .sky{height:240px}
.world .s{position:absolute;display:block;pointer-events:none;height:auto;max-width:none}
.world .task-g .s,.world .mark{pointer-events:auto}
.world .cs{position:absolute;height:12px;border-radius:50%;background:radial-gradient(closest-side,rgba(45,35,10,.48),rgba(45,35,10,0));pointer-events:none}
.world .far{filter:saturate(.35) brightness(1.18) contrast(.8);opacity:.8}
.world .haze{background:linear-gradient(rgba(255,236,200,.5),rgba(255,226,180,.22))}.world .haze.aut{background:linear-gradient(rgba(255,226,180,.55),rgba(255,206,150,.25))}
.world .sky.aut{background:linear-gradient(180deg,#7FA6D6 0%,#C9D6E0 34%,#FFD9A0 60%,#FFB070 100%)}
.t-sland{background:url(../img/dedinka/t_sland.webp) 0 0/76px 76px}.t-aland{background:url(../img/dedinka/t_aland.webp) 0 0/76px 76px}.t-wland{background:url(../img/dedinka/t_wland.webp) 0 0/80px 80px}
.t-cobble{background:url(../img/dedinka/t_cobble.webp) 0 0/50px 50px}.t-dirt{background:url(../img/dedinka/t_dirt.webp) 0 0/40px 40px}
.world .ground.t-sland{filter:hue-rotate(20deg) saturate(.95) brightness(1.08)}
.world .plaza{border-radius:50%;box-shadow:inset 0 0 0 3px rgba(120,90,60,.5),inset 0 -10px 18px rgba(60,40,10,.35),0 3px 0 rgba(90,70,40,.3)}
.world .plaza-glow{border-radius:50%;background:radial-gradient(closest-side,rgba(255,230,160,.5),rgba(255,230,160,0))}
.world .road{border-radius:40px;box-shadow:inset 0 0 0 3px rgba(120,90,60,.4)}
.world .dirtbed{border-radius:50%;box-shadow:inset 0 3px 6px rgba(60,30,10,.4)}
.world .cool{filter:saturate(.4) brightness(.86) sepia(.25) hue-rotate(165deg) saturate(.8) drop-shadow(0 4px 3px rgba(20,30,50,.3))}
.world .broken{filter:grayscale(.55) brightness(.8) sepia(.3) drop-shadow(0 4px 3px rgba(20,30,50,.3))}
.world .dry{filter:grayscale(.8) sepia(.35) brightness(.88) drop-shadow(0 4px 3px rgba(20,30,50,.3))}
.world .dark{filter:saturate(.25) brightness(.68) sepia(.35) drop-shadow(0 5px 4px rgba(20,20,30,.35))}
.world .fg{filter:blur(.6px) brightness(.92)}
.dd .f-gold{filter:sepia(1) saturate(3.6) hue-rotate(-8deg) brightness(1.12) drop-shadow(0 0 8px rgba(255,210,90,.75)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
.dd .f-pink{filter:hue-rotate(290deg) saturate(1.25) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
.dd .f-copper{filter:hue-rotate(-20deg) saturate(1.3) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
.dd .f-silver{filter:saturate(.3) brightness(1.15) drop-shadow(0 0 6px rgba(220,235,255,.8)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
.dd .f-aut{filter:sepia(.45) saturate(1.2) hue-rotate(-10deg) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
.world .light{pointer-events:none}.world .vign{background:radial-gradient(120% 75% at 55% 62%,rgba(0,0,0,0) 52%,rgba(70,35,0,.3) 100%);pointer-events:none}
.world .lampglow{width:60px;height:60px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,150,.95),rgba(255,200,90,.35) 55%,rgba(255,200,90,0));animation:ddglow 2.6s ease-in-out infinite}
.world .winglow{width:56px;height:30px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,220,120,.85),rgba(255,200,90,0));mix-blend-mode:screen}
.world .fireglow{width:96px;height:96px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,170,60,.75),rgba(255,140,40,0));animation:ddglow 1.4s ease-in-out infinite}
.world .flame{width:24px;height:30px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#FFF4B0,#FFB23C 45%,#F2591F 80%);transform-origin:50% 100%;animation:ddflame .5s ease-in-out infinite alternate}
.world .smoke{width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.7);box-shadow:8px -16px 0 3px rgba(255,255,255,.5),-4px -34px 0 6px rgba(255,255,255,.35);animation:ddsmoke 4s ease-in-out infinite}
.world .spray{animation:ddspray 1.8s ease-in-out infinite}
.world .river .ripples{animation:ddripple 4s ease-in-out infinite}
.world .cl.drift{animation:dddrift 30s linear infinite alternate}
@keyframes ddglow{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes ddflame{from{transform:scaleY(.9) rotate(-3deg)}to{transform:scaleY(1.08) rotate(3deg)}}
@keyframes ddsmoke{0%{transform:translateY(0);opacity:.8}100%{transform:translateY(-14px);opacity:0}}
@keyframes ddspray{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ddripple{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
@keyframes dddrift{from{transform:translateX(0)}to{transform:translateX(60px)}}
.world .task-g.pop .s{animation:ddpop .75s cubic-bezier(.3,1.6,.5,1) both}
@keyframes ddpop{0%{transform:scale(.55);opacity:.3}100%{transform:scale(1);opacity:1}}
.world .mark{position:absolute;z-index:9;display:flex;align-items:center;gap:4px;min-height:32px;padding:3px 10px 4px 6px;transform:translate(0,-6px);border-radius:15px;background:linear-gradient(#FFFDF6,#FBEACB);border:2px solid #fff;box-shadow:0 0 0 1.5px #E2B970,0 4px 0 #C68B45,0 8px 14px rgba(60,30,0,.35);font:400 14px "Titan One",sans-serif;color:#7A4A00;white-space:nowrap}
.world .mark::before{content:"";position:absolute;inset:-6px -4px}
.world .mark::after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-7px;border:7px solid transparent;border-top:8px solid #C68B45;border-bottom:0}
.world .mark .st{display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,#FFF6C2,#FFC93C 60%,#E39A12);font-size:13px}
.world .mark .st .ic-star{fill:#fff;stroke:#C98100}
.world .mark small{font:900 11px Nunito,sans-serif;color:#8A6A4E}
.world .mark.ready{animation:ddnudge 2.4s ease-in-out infinite}
.world .mark.need{opacity:.88;filter:saturate(.5)}
.world .mark.done{padding:3px 8px;background:linear-gradient(#9BE86B,#5DBB3F);color:#fff;border-color:#D8FAC0;box-shadow:0 0 0 1.5px #3E8F28,0 4px 0 #2F7A1A;opacity:.9;font-size:13px}
.world .mark.done::after{border-top-color:#2F7A1A}
@keyframes ddnudge{0%,100%{transform:translate(0,-6px)}50%{transform:translate(0,-11px)}}
.burst{position:absolute;width:0;height:0;z-index:20;pointer-events:none}
.burst i{position:absolute;left:-11px;top:-11px;width:22px;height:22px;background:radial-gradient(circle,#fff 0 20%,rgba(255,240,170,0) 70%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:ddspark 1.5s var(--d) ease-out both;filter:drop-shadow(0 0 4px rgba(255,220,120,.9));transform:scale(var(--s))}
.burst i:nth-child(3n){background:#FFE27A}.burst i:nth-child(3n+1){background:#FFF6C8}
.burst .ring{position:absolute;left:-46px;top:-46px;width:92px;height:92px;border-radius:50%;border:5px solid rgba(255,236,150,.95);box-shadow:0 0 24px 8px rgba(255,220,120,.6),inset 0 0 20px rgba(255,236,150,.7);animation:ddring 1.1s ease-out both}
@keyframes ddspark{0%{transform:translate(0,0) scale(.2);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(var(--s));opacity:0}}
@keyframes ddring{0%{transform:scale(.2);opacity:1}100%{transform:scale(2.2);opacity:0}}
.v-tabs{position:absolute;left:10px;top:calc(var(--st) + 92px);z-index:25;display:flex;gap:4px;padding:3px;border-radius:14px;background:rgba(255,251,242,.85);box-shadow:0 0 0 1.5px #E7C68E,0 2px 0 1.5px #C9965A}
.v-tabs button{min-height:40px;padding:0 12px;border-radius:11px;font:400 14px "Titan One",sans-serif;color:#8A6A4E}
.v-tabs button.on{background:linear-gradient(#8EE35A,#5DBB3F);color:#fff;text-shadow:0 1.5px 0 rgba(0,0,0,.2);box-shadow:0 3px 0 #2F7A1A}
.v-tabs button.locked{opacity:.55}
.side{position:absolute;right:10px;z-index:25;display:flex;flex-direction:column;gap:22px}
.v-side{top:calc(var(--st) + 96px)}.m-side{top:calc(var(--st) + 100px)}
.side .round{position:relative;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 32%,#FFFDF4,#F3DDB4 75%);box-shadow:0 0 0 3px #F7D27A,0 0 0 5px #A8691F,0 4px 0 5px #6E3F1A,0 10px 14px rgba(40,20,0,.35)}
.side .round img,.side .round svg{width:34px;height:auto;max-height:36px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
.side .round span{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font:400 11px "Titan One",sans-serif;color:#fff;text-shadow:0 1.5px 0 #6E3F1A,0 0 3px #6E3F1A;white-space:nowrap}
.side .dot{position:absolute;right:-3px;top:-3px;width:14px;height:14px;border-radius:50%;background:#F2475E;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.ruta-btn{position:absolute;left:8px;bottom:calc(var(--vbh) + 6px);z-index:24;width:56px;height:56px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 30%,#FFF3D6,#F7C98A);box-shadow:0 0 0 3px #fff,0 0 0 5px #E2B970,0 6px 12px rgba(40,20,0,.35)}
.ruta-btn img{width:150%;max-width:none;height:auto;margin:-12px 0 0 -25%}
.v-bottom{position:absolute;left:10px;right:10px;bottom:calc(var(--sb) + 10px);z-index:22;display:flex;flex-direction:column;gap:10px;transition:opacity .2s}
.v-bottom.dim{opacity:.35;pointer-events:none}
.tasks{padding:8px 10px 4px}
.tasks h3{margin:0 4px 2px;display:flex;justify-content:space-between;align-items:baseline;font:400 16px "Titan One",sans-serif;color:#8A5226}
.tasks h3 span{font:900 12px Nunito,sans-serif;color:var(--ink2)}
.t-list{max-height:138px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.task{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:3px 4px;border-top:1.5px dashed #EAD3AC;text-align:left;border-radius:12px}
.task:first-child{border-top:0}
.task.cur{background:linear-gradient(90deg,rgba(255,236,190,.8),rgba(255,255,255,0))}
.task .ti{width:36px;height:36px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#fff,#F3E2C2);box-shadow:inset 0 -2px 3px rgba(150,100,40,.2)}
.task .ti img{max-width:30px;max-height:30px;width:auto;height:auto}
.task .tx{flex:1;min-width:0}.task .tx b{display:block;font-weight:900;font-size:14px;line-height:1.15}.task .tx small{display:block;font-weight:700;font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task .cost{min-width:58px;min-height:34px;padding:0 10px;border-radius:12px;font-size:15px}
.task .cost .ic-star{fill:#fff;stroke:rgba(0,0,0,.25);margin-right:2px}
.task.isdone{opacity:.8}
.ddpick{position:absolute;left:8px;right:8px;bottom:calc(var(--sb) + 18px);z-index:36}
.ddpick .ribbon{position:relative;z-index:2;margin:0 0 -8px 12px}
.ribbon{display:inline-block;padding:5px 14px 6px;font:400 15px "Titan One",sans-serif;color:#fff;border-radius:11px;background:linear-gradient(#8EE35A,#46A02C);box-shadow:0 3px 0 #2F7A1A,0 6px 10px rgba(30,70,10,.25);text-shadow:0 1.5px 0 rgba(0,0,0,.25)}
.ddpick .ribbon,.ribbon.pink{background:linear-gradient(#F59BC0,#E2628F);box-shadow:0 3px 0 #A93163,0 6px 10px rgba(120,20,60,.25)}
.ribbon.big{font-size:20px;padding:6px 18px 7px}
.ddpick .ddprow{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:18px 8px 16px;overflow-x:auto}
.opt{position:relative;flex:none;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#fff,#F5E7CC);box-shadow:inset 0 -3px 4px rgba(150,100,40,.18),0 3px 0 #D9B57A}
.opt img{width:46px;height:auto}
.opt.sel{background:radial-gradient(circle at 50% 30%,#fff,#FFF0C4);box-shadow:0 0 0 3px #FFC93C,0 0 14px 3px rgba(255,201,60,.7),0 3px 0 #E39A12}
.opt .ok{display:none;position:absolute;right:-5px;top:-5px;width:22px;height:22px;border-radius:50%;background:linear-gradient(#8EE35A,#46A02C);border:2px solid #fff;color:#fff;font-size:11px;font-weight:900;align-items:center;justify-content:center}
.opt.sel .ok{display:flex}
.opt .lk{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font:900 10px Nunito,sans-serif;background:#FFFBF2;border-radius:8px;padding:1px 5px;white-space:nowrap;box-shadow:0 1px 3px rgba(80,50,10,.25)}
.opt .lk.gd{background:linear-gradient(#FFE48A,#F2A51F);color:#6A3B00}
.opt .lab{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);font:900 10px Nunito,sans-serif;background:#FFFBF2;border-radius:7px;padding:0 5px;color:var(--ink2);white-space:nowrap;box-shadow:0 1px 3px rgba(80,50,10,.18)}
.dd .confirm{flex:none;width:46px;min-height:46px;height:46px;margin-left:auto;font-size:22px;padding:0}
.pick-x{position:absolute;right:4px;top:-4px;width:40px;height:40px;border-radius:50%;font:400 22px "Titan One",sans-serif;color:#8A5226}

/* Ruta */
.ruta{position:absolute;left:0;right:8px;bottom:calc(var(--vbh) - 4px);z-index:40;display:flex;align-items:flex-end;opacity:0;transform:translateY(16px);transition:opacity .22s,transform .22s;pointer-events:auto}
.ruta.in{opacity:1;transform:none}
.ruta.top{top:calc(var(--st) + 140px);bottom:auto;align-items:flex-start}
[data-s=map] .ruta,[data-s=level] .ruta{bottom:calc(var(--sb) + 80px)}
[data-s=level] .ruta.top{top:auto;bottom:calc(var(--sb) + 110px)}
.ruta-img{flex:none;width:118px;height:auto;margin:0 -10px 0 -14px;filter:drop-shadow(2px -1.5px 0 rgba(255,214,150,.95)) drop-shadow(0 8px 8px rgba(40,25,10,.35))}
.ruta-say{position:relative;flex:1;max-width:260px;margin-bottom:56px;padding:9px 13px 11px;border-radius:18px}
.ruta.top .ruta-say{margin:40px 0 0}
.ruta-say::before{content:"";position:absolute;left:-10px;top:22px;border:9px solid transparent;border-right:11px solid #FFFBF2;border-left:0}
.ruta-say b.h{display:block;font-size:13px;color:#C25A8A}
.ruta-say p{margin:2px 0 0;font-weight:800;font-size:14px}.ruta-say p b{color:#3E8F28}
.ruta-go{margin-top:8px}
.ruta-x{position:absolute;right:8px;top:-6px;z-index:2;width:40px;height:40px;border-radius:50%;font:400 18px "Titan One",sans-serif;color:#8A5226}

/* ---------- map */
[data-s=map]{background:#BFDDA0}
.mapscroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.mapscroll::-webkit-scrollbar{display:none}
.mapsize{position:relative;overflow:hidden}
.mapin{position:absolute;left:0;top:0;transform-origin:0 0}
.mapin .reg{position:absolute;left:-10px;width:410px}
.mapin .reg.sum{filter:hue-rotate(20deg) brightness(1.06)}
.mapin .reg-edge{position:absolute;left:0;width:390px;height:36px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0))}
.mapin .reg-edge.aut{background:linear-gradient(rgba(214,150,60,0),rgba(190,140,60,.45),rgba(140,200,90,0))}
.mapin .s{position:absolute;display:block;height:auto;pointer-events:none}
.mapin .cs{position:absolute;height:10px;border-radius:50%;background:radial-gradient(closest-side,rgba(40,30,10,.4),rgba(40,30,10,0));pointer-events:none}
.mapin .path{position:absolute;left:0;top:0;pointer-events:none}
.mapin .gate{z-index:2}
.mapin .veil{position:absolute;left:0;width:390px;background:linear-gradient(rgba(235,245,255,.55),rgba(235,245,255,.35));z-index:3;pointer-events:none}
.mapin .fog{position:absolute;left:-30px;z-index:4;pointer-events:none}
.mapin .banner{position:absolute;left:50%;transform:translateX(-50%);z-index:5;padding:7px 18px 8px;font-size:16px;color:#fff;white-space:nowrap;border-radius:9px;text-shadow:0 2px 0 rgba(0,0,0,.25)}
.mapin .banner small{font:900 12px Nunito,sans-serif}
.b-aut{background:linear-gradient(#FFB662,#E2771E);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 0 #9E4A0C}
.b-win{background:linear-gradient(#A6DCFF,#4C9BE0);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 4px 0 #2A6BAA}
.b-sum{background:linear-gradient(#8EE35A,#46A02C);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 0 #2F7A1A}
.mapin .gatechip{position:absolute;left:50%;transform:translateX(-50%);z-index:6;padding:6px 12px;font-weight:900;font-size:13px;white-space:nowrap;border-radius:14px}
.mapin .gatechip.open{color:#2F7A1A}
.mapin .lockbig{position:absolute;z-index:6;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 38% 30%,#FFF3B8,#FFC93C 55%,#B97408);border:3px solid #fff;box-shadow:0 0 0 2px #8A5206,0 4px 0 2px #8A5206,0 0 18px 5px rgba(255,214,90,.6)}
.mapin .lockbig svg{width:22px;height:22px;fill:#6A3B00}
.mapin .node{position:absolute;z-index:7;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:400 17px "Titan One",sans-serif;color:#fff;border:3px solid #fff;overflow:hidden}
.mapin .node::before{content:"";position:absolute;left:4px;right:4px;top:2px;height:45%;border-radius:50% 50% 40% 40%;background:linear-gradient(rgba(255,255,255,.65),rgba(255,255,255,0))}
.mapin .node span{position:relative}
.mapin .node.done{background:radial-gradient(circle at 40% 30%,#B8F08E,#5DBB3F 60%,#3E8F28);text-shadow:0 2px 0 rgba(30,80,10,.45);box-shadow:0 0 0 2px #2F7A1A,0 4px 0 2px #2F7A1A,0 8px 12px rgba(30,40,10,.3)}
.mapin .node.next{background:radial-gradient(circle at 40% 30%,#fff,#F4E6C8);color:#A07A4E;box-shadow:0 0 0 2px #C69A5E,0 4px 0 2px #A87A42}
.mapin .node.lock{background:radial-gradient(circle at 40% 30%,#EEE9E2,#B8AFA4);font-size:15px;text-shadow:0 1.5px 0 rgba(0,0,0,.25);box-shadow:0 0 0 2px #8E857A,0 4px 0 2px #7A7266}
.mapin .node.cur{width:62px;height:62px;margin:-31px 0 0 -31px;font-size:25px;background:radial-gradient(circle at 40% 30%,#FFF3B8,#FFC93C 55%,#E39A12);text-shadow:0 2px 0 rgba(140,70,0,.5);box-shadow:0 0 0 2.5px #B97408,0 5px 0 2.5px #8A5206,0 0 0 9px rgba(255,255,255,.35),0 0 26px 10px rgba(255,214,90,.7)}
.mapin .rays{position:absolute;z-index:6;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;background:repeating-conic-gradient(rgba(255,246,200,.85) 0 8deg,rgba(255,246,200,0) 8deg 30deg);-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);animation:ddspin 14s linear infinite;pointer-events:none}
@keyframes ddspin{to{transform:rotate(360deg)}}
.mapin .nstars{position:absolute;z-index:8;transform:translate(-50%,-44px);pointer-events:none}
.mapin .nstars .dstars i{font-size:14px}
.mapin .mavatar{position:absolute;z-index:9;width:60px;pointer-events:none;filter:drop-shadow(0 5px 5px rgba(40,20,0,.4));animation:ddbob 2.6s ease-in-out infinite}
.m-bottom{position:absolute;left:22px;right:22px;bottom:calc(var(--sb) + 12px);z-index:25}

/* ---------- level */
[data-s=level]{background:#BFDDA0}
.lv-bg{position:absolute;inset:0;background:radial-gradient(130% 70% at 50% 100%,rgba(70,35,0,0) 40%,rgba(70,35,0,.28)),linear-gradient(180deg,#8CC6F0 0%,#FFE4B0 30%,#B9DB8C 46%,#8FC260 100%)}
.lv-bg::after{content:"";position:absolute;left:0;right:0;top:44%;bottom:0;background:url(../img/dedinka/t_sland.webp) 0 0/90px 90px;opacity:.35}
.lv-top{position:absolute;left:0;right:0;top:var(--st);height:44px;display:flex;align-items:center;gap:8px;padding:0 8px;z-index:20}
.lv-sp{flex:1}
.lv-quit{width:40px;height:40px;border-radius:50%;font:400 22px/1 "Titan One",sans-serif;color:#8A5226;background:rgba(255,251,242,.9);box-shadow:0 0 0 2px #E7C68E,0 3px 0 2px #C9965A}
.lv-eng{position:absolute;left:0;right:0;top:calc(var(--st) + 44px);bottom:var(--sb);display:flex;justify-content:center;overflow:hidden}
.lv-eng>*{width:100%;max-width:480px}
/* the stand-in board (dedinka-stub.js) */
.stub{display:flex;flex-direction:column;gap:10px;padding:10px}
.stub-hud{display:flex;justify-content:space-between;font:400 20px "Titan One",sans-serif;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.3)}
.stub-b{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px;border-radius:18px;background:#7A4A22;box-shadow:inset 0 0 0 4px #E2B970}
.stub-c{aspect-ratio:1;border-radius:10px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.stub-c img{width:80%;height:auto}
.stub-dev{display:flex;gap:6px;flex-wrap:wrap}.stub-dev button{min-height:40px;padding:0 10px;border-radius:10px;background:#FFFBF2;font-weight:800}

/* ---------- sheets */
.dd-ov{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:10px 10px calc(var(--sb) + 10px);background:rgba(50,25,0,.45);opacity:0;transition:opacity .2s}
.dd-ov.in{opacity:1}
.dd-ov.sm-ov,.dd-ov.res,.dd-ov.oom,.dd-ov.wheelsh{align-items:center}
.sheet{position:relative;width:100%;max-width:420px;max-height:calc(100% - 20px);overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 16px;text-align:center;transform:translateY(24px);transition:transform .25s cubic-bezier(.3,1.3,.5,1)}
.dd-ov.in .sheet{transform:none}
.sheet>.ribbon{margin:-2px auto 10px}
.sheet h3{margin:12px 0 6px;font-size:16px;color:#8A5226;text-align:left}
.sh-x{position:absolute;right:6px;top:6px;width:40px;height:40px;border-radius:50%;font:400 22px/1 "Titan One",sans-serif;color:#8A5226}
.sh-row{display:flex;gap:10px;justify-content:center;margin-top:12px}.sh-row .btn3d{flex:1}
.sheet .ask{font-weight:800;font-size:15px;margin:6px 0 12px}
.sheet>.btn3d{margin-top:10px}
.sheet>.btn3d.grey{width:100%}
.goals{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.goal{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:8px 6px 6px;border-radius:16px;background:radial-gradient(circle at 50% 30%,#fff,#F5E7CC);box-shadow:inset 0 -3px 4px rgba(150,100,40,.15)}
.goal .g-b{display:flex;align-items:center;justify-content:center;height:42px;font-size:30px}
.goal .g-ic{height:40px;width:auto}
.goal b{font:400 18px "Titan One",sans-serif}.goal small{font-weight:800;font-size:12px;color:var(--ink2)}
.g-ice{display:block;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#E9FBFF,#A9E3F5 60%,#7CC9E8);box-shadow:inset 0 0 0 2px #fff,0 2px 0 #5BA8C8}
.g-poison{display:block;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#D6FF9A,#7CCB2E 60%,#3E8F28)}
.goals.sm .goal{min-width:70px}.goals.sm .g-b{height:32px}.goals.sm .g-ic{height:30px}
.pre-moves{margin:8px 0 0;font-weight:900}
.pre-best{margin:-4px 0 4px}.pre-best .dstars i{font-size:20px}
.boosters{display:flex;gap:10px;justify-content:center}
.bo{position:relative;width:84px;min-height:84px;padding:6px 4px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:radial-gradient(circle at 50% 30%,#fff,#F5E7CC);box-shadow:0 3px 0 #D9B57A}
.bo img{height:40px;width:auto}.bo small{font-weight:900;font-size:12px;line-height:1.1}
.bo .cnt{position:absolute;right:-4px;top:-4px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:#F2719F;color:#fff;font:400 13px/20px "Titan One",sans-serif;border:2px solid #fff}
.bo.empty .cnt{background:#5DBB3F}
.bo.on{box-shadow:0 0 0 3px #FFC93C,0 0 14px 3px rgba(255,201,60,.6),0 3px 0 #E39A12;background:radial-gradient(circle at 50% 30%,#fff,#FFF0C4)}
.pre-life{margin:12px 0 2px;font-weight:900}.pre-life .free{color:#2F7A1A}
.res-ruta{width:110px;height:auto;margin:-4px auto 0;display:block;filter:drop-shadow(0 6px 6px rgba(40,25,10,.3))}
.res-stars .dstars{gap:6px}.res-stars .dstars i{font-size:46px}
.res-stars .dstars i.on{animation:ddstar .5s cubic-bezier(.3,1.7,.5,1) both}
@keyframes ddstar{0%{transform:scale(0) rotate(-40deg)}100%{transform:scale(1)}}
.res-score{margin:4px 0;font-weight:800}.res-score b{font:400 18px "Titan One",sans-serif}
.res-coins{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:14px;background:#FFF3D0;font:400 20px "Titan One",sans-serif;color:#8A5226}
.res-coins small{font:800 12px Nunito,sans-serif;color:var(--ink2)}
.res-ms{margin-top:8px;font-weight:800}.ms-ic{height:22px;width:auto;vertical-align:-5px}
.res-lives{font:400 20px "Titan One",sans-serif;color:#D24F80;margin-bottom:4px}
.oom-ic{height:84px;width:auto;margin:4px auto;display:block}
.btn-ic{height:24px;width:auto}
.hearts.big{justify-content:center;font-size:30px;gap:4px;display:flex}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:14px;background:#FFF6E2;box-shadow:inset 0 -2px 3px rgba(150,100,40,.15);font-weight:900}
.day small{font-size:11px;color:var(--ink2)}.day b{font:400 15px "Titan One",sans-serif}
.day.big{grid-column:span 2}.day .d-ic{height:44px;width:auto}.day em{font-style:normal}
.day.got{opacity:.55}.day.got::after{content:"✓";color:#2F7A1A;font-weight:900}
.day.today{background:linear-gradient(#FFF0C4,#FFE08A);box-shadow:0 0 0 3px #FFC93C,0 0 14px 2px rgba(255,201,60,.5)}
.wheel-w{position:relative;width:min(280px,78vw);margin:4px auto 8px}
.wheel{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 10px rgba(60,30,0,.3))}
.wheel .wrot{transform-origin:100px 100px}
.wheel .wt{font:400 13px "Titan One",sans-serif;fill:#6A3B00}
.wheel-w .pin{position:absolute;left:50%;top:-6px;margin-left:-13px;border:13px solid transparent;border-top:24px solid #F2475E;filter:drop-shadow(0 2px 0 #9E2238)}
.wheel-ic{width:34px;height:34px}
.set{display:flex;align-items:center;gap:10px;min-height:48px;text-align:left;font-weight:900;border-top:1.5px dashed #EAD3AC}
.set span{flex:1}.set input[type=checkbox]{width:24px;height:24px;accent-color:#5DBB3F}
.set input[type=range]{width:42%;accent-color:#F2A51F}
.dtabs{display:flex;gap:4px;padding:3px;margin:0 0 12px;border-radius:14px;background:#F3E2C2}
.dtabs button{flex:1;min-height:40px;border-radius:11px;font:400 14px "Titan One",sans-serif;color:#8A6A4E}
.dtabs button.on{background:#FFFBF2;color:#8A5226;box-shadow:0 2px 0 #D9B57A}
.packs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;border-radius:18px;background:radial-gradient(circle at 50% 25%,#fff,#F7E6C2);box-shadow:0 0 0 2px #E7C68E,0 3px 0 2px #C9965A}
.pack .p-ic{height:60px;width:auto}.pack b{font-size:14px;color:#8A5226}.pack .pc{font:400 18px "Titan One",sans-serif;color:#C98100}
.pack .price{width:100%}
.pack .ptag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font:900 11px Nunito,sans-serif;color:#fff;background:#F2719F;border-radius:8px;padding:2px 8px;white-space:nowrap;box-shadow:0 2px 0 #A93163}
.pack.tag-best .ptag{background:#3E8F28;box-shadow:0 2px 0 #2F7A1A}
.offer{display:flex;align-items:center;gap:10px;padding:8px 6px;border-top:1.5px dashed #EAD3AC;text-align:left}
.offer:first-child{border-top:0}
.offer>div{flex:1;min-width:0}.offer b{display:block;font-size:14px;color:#8A5226}.offer small{display:block;font-weight:700;font-size:12px;color:var(--ink2)}
.offer .o-ic{height:40px;width:auto;flex:none}.offer>.ic-heart{font-size:34px;flex:none}
.offer.star{background:linear-gradient(90deg,#FFF0C4,rgba(255,255,255,0));border-radius:14px}
.offer .price{flex:none;padding:0 10px}
.bo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bo-buy{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:14px;background:#FFF6E2;box-shadow:0 2px 0 #D9B57A}
.bo-buy img{height:34px;width:auto}.bo-buy b{font-size:12px;font-weight:900;line-height:1.1}.bo-buy small{font-size:11px;color:var(--ink2);font-weight:800}
.bo-buy .pr{font:400 13px "Titan One",sans-serif;color:#8A5226}
.passcard{position:relative;padding:12px;border-radius:18px;background:linear-gradient(180deg,#FFF3C8,#FFE08A);box-shadow:0 0 0 2px #F2A51F,0 3px 0 2px #B97408;text-align:left}
.passcard .pass-ic{float:right;height:64px;width:auto}
.passcard>b{font-size:20px;color:#8A5206}
.pass-on{display:inline-block;margin-left:8px;font-weight:900;color:#2F7A1A}
.passcard ul{margin:8px 0;padding-left:18px;font-weight:800}.passcard li{margin:3px 0}
.passcard .price{width:100%}
.pass-day{margin-top:10px;padding-top:8px;border-top:1.5px dashed #E2B970}
.bo-pick{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.bo-pick button{width:48px;height:48px;border-radius:12px;background:#FFFBF2;box-shadow:0 2px 0 #D9B57A;display:flex;align-items:center;justify-content:center}
.bo-pick img{height:32px;width:auto}
.guestnote{margin-top:12px;padding:10px;border-radius:14px;background:#FFF0F5;font-weight:800;display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap}
.spinner{width:36px;height:36px;margin:8px auto;border-radius:50%;border:4px solid #F3E2C2;border-top-color:#F2A51F;animation:ddspin 1s linear infinite}
.dd-toast{position:absolute;left:50%;bottom:calc(var(--sb) + 90px);z-index:120;max-width:88%;transform:translate(-50%,20px);opacity:0;padding:10px 16px;border-radius:16px;background:rgba(58,38,20,.92);color:#fff;font-weight:800;text-align:center;pointer-events:none;transition:opacity .2s,transform .2s}
.dd-toast.in{opacity:1;transform:translate(-50%,0)}

/* short phones: 2 task rows, smaller witch */
@media (max-height:720px){.dd{--vbh:226px}.t-list{max-height:92px}.ruta-img{width:96px}.side{gap:20px}.side .round{width:46px;height:46px}.side .round img,.side .round svg{width:30px}}
@media (max-height:600px){.dd{--vbh:180px}.t-list{max-height:46px}}
@media (max-width:370px){.ddh .dchip b{font:inherit;color:inherit}
.ddh .dchip{border:3px solid #fff;padding:4px 7px;font-size:15px}.dchip .tm{display:none}.dd-acc{max-width:38vw}}
@media (prefers-reduced-motion:reduce){.dd *,.dd *::before,.dd *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.mapin .rays{animation:none}}
.dd img.ic-coin,.dd .ic-star,.dd .ic-heart{display:inline-block}
.pack .pc,.bo-buy .pr,.res-coins,.dd .btn3d{flex-wrap:nowrap}
.pack .pc,.bo-buy .pr{display:inline-flex;align-items:center;gap:4px}
.packs{margin-bottom:12px}

/* ---------- shop + out-of-moves: gold-wood frame, chunkier cards (shop agent polish) */
.dd-ov.shop .sheet,.dd-ov.oom .sheet{border:3px solid #FFF6DF;box-shadow:0 0 0 3px #F4C24E,0 0 0 4.5px #D99A2B,0 0 0 9px #A8642C,0 0 0 11px #6E3F17,0 6px 0 11px #5A3212,0 18px 34px 8px rgba(40,20,0,.42),inset 0 2px 0 #fff}
.dd-ov.shop,.dd-ov.oom{padding-left:16px;padding-right:16px;padding-bottom:calc(var(--sb) + 18px)}
.sh-bal{display:inline-flex;align-items:center;gap:6px;margin:-4px auto 10px;padding:4px 14px 4px 8px;border-radius:14px;background:#FFF3D0;box-shadow:inset 0 -2px 0 #EBCB8C;font:400 17px "Titan One",sans-serif;color:#8A5226}
.sh-bal .ic-coin{width:22px;height:22px}
.dd-ov.shop .packs{gap:14px 12px;margin-top:4px}
.dd-ov.shop .pack{padding:14px 8px 10px;border-radius:20px;background:radial-gradient(circle at 50% 22%,#fff 0,#FFF7E6 38%,#F6E1B6 100%);box-shadow:0 0 0 2.5px #F0CD86,0 0 0 4px #D49B45,0 5px 0 4px #A8642C,0 10px 16px 3px rgba(90,50,10,.22)}
.dd-ov.shop .pack.tag-pop{background:radial-gradient(circle at 50% 22%,#fff 0,#FFF0F5 40%,#F9D7E2 100%)}
.dd-ov.shop .pack.tag-best{background:radial-gradient(circle at 50% 22%,#fff 0,#F4FBE6 40%,#DCEFB9 100%)}
.p-art{position:relative;display:flex;align-items:center;justify-content:center;width:86px;height:74px}
.p-art::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(255,226,130,.85) 0,rgba(255,226,130,0) 68%)}
.dd-ov.shop .pack .p-ic{position:relative;height:68px;filter:drop-shadow(0 4px 3px rgba(80,40,0,.3))}
.dd-ov.shop .pack .pc{font-size:21px;color:#C98100;text-shadow:0 1.5px 0 #fff}
.dd-ov.shop .pack .price{min-height:44px;font-size:16px}
.pbonus{position:absolute;right:-6px;top:22px;transform:rotate(12deg);font:400 12px/1 "Titan One",sans-serif;color:#fff;background:#E2533F;border:2px solid #fff;border-radius:10px;padding:4px 6px;box-shadow:0 2px 0 #9E2A1C}
.dd-ov.shop .tabp>.muted.small{margin:14px 4px 0;line-height:1.35}
.dd-ov.shop .dtabs{box-shadow:inset 0 2px 3px rgba(120,70,10,.18)}
.dd-ov.shop .dtabs button.on{background:linear-gradient(#FFFDF6,#FFF1D4);box-shadow:0 0 0 2px #E7C68E,0 3px 0 2px #C9965A}
.dd-ov.shop .offer{padding:10px 6px}
.dd-ov.shop .offer.star{padding:12px 10px;margin-bottom:4px;background:linear-gradient(100deg,#FFF0C4,#FFF8E6 70%);box-shadow:0 0 0 2px #F2C14E,0 3px 0 2px #C98A1E}
.dd-ov.shop .offer .o-ic{height:48px}
.dd-ov.shop .bo-buy{background:radial-gradient(circle at 50% 30%,#fff,#F7E6C2);box-shadow:0 0 0 2px #EBCF96,0 3px 0 2px #C9965A;padding:10px 4px 8px}
.dd-ov.shop .bo-buy:active{transform:translateY(2px)}
.dd-ov.shop .bo-buy>img{height:40px}
.passcard{padding:16px 14px 14px;background:linear-gradient(180deg,#FFF6D6 0,#FFE59A 55%,#FFD36A 100%);box-shadow:0 0 0 2.5px #FFF2BF,0 0 0 4.5px #E9A320,0 5px 0 4.5px #A86A08,0 10px 18px 3px rgba(150,90,10,.28)}
.passcard .pass-ic{height:84px;margin:-6px -4px 0 6px;filter:drop-shadow(0 0 10px rgba(255,255,255,.9)) drop-shadow(0 4px 4px rgba(120,70,0,.3))}
.passcard>.gold-tag{display:inline-block;margin-bottom:6px;font:400 12px "Titan One",sans-serif;color:#6A3B00;background:linear-gradient(#FFE48A,#F2A51F);border-radius:10px;padding:3px 8px;box-shadow:0 2px 0 #B97408}
.passcard>b{display:block;font-size:22px;text-shadow:0 2px 0 #fff}
.passcard ul{list-style:none;padding-left:0}
.passcard li{position:relative;padding-left:26px}
.passcard li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFF7C9,#F2A51F 70%);box-shadow:0 1.5px 0 #B97408}
.passcard li::after{content:"";position:absolute;left:6px;top:4px;width:5px;height:9px;border:solid #6A3B00;border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.pass-bar{position:relative;display:block;height:16px;margin:8px 0 4px;border-radius:9px;background:#F4D58A;box-shadow:inset 0 2px 3px rgba(120,70,0,.25);overflow:hidden}
.pass-bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(#9BE36A,#4FAE33)}
.pass-bar em{position:absolute;inset:0;font:400 11px/16px "Titan One",sans-serif;font-style:normal;color:#4A3220;text-align:center}
.pass-on{margin-left:0}
.dd-ov.oom .sheet{padding-top:20px}
.oom-mid{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:6px 0 4px}
.oom-mid .oom-ic{margin:0;height:78px}
.oom-ruta{height:96px;width:auto;margin-bottom:-4px;filter:drop-shadow(0 4px 4px rgba(40,25,10,.25))}
.oom-mid .sh-bal{margin:0 0 6px}
.dd-ov.oom [data-more]{min-height:58px;font-size:22px}
@media (max-width:370px){.p-art{width:72px;height:62px}.dd-ov.shop .pack .p-ic{height:56px}.dd-ov.shop .pack .pc{font-size:18px}.oom-ruta{height:76px}}

/* ---------- v2 art pass: the village is the approved mockup, static layers baked (v-<ch>-bg / -fg) */
.vw{background:linear-gradient(180deg,#4E98DE,#5FA8E6 60%,#6AAFE8)}
.world .bake{position:absolute;left:0;top:0;width:390px;height:604px;max-width:none;pointer-events:none;user-select:none}
.world .tl,.world .ml{position:absolute;left:0;top:0;width:390px;height:604px;pointer-events:none}
.world .ml .mark{pointer-events:auto}
.world .tl .task-g .s{pointer-events:auto}
.world .tl .cs{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(45,35,10,.5),rgba(45,35,10,0));pointer-events:none}
.world .broken{filter:saturate(.4) brightness(.86) sepia(.25) hue-rotate(165deg) saturate(.8) drop-shadow(0 5px 4px rgba(20,30,50,.35))}
.world .dry{filter:grayscale(.75) sepia(.3) brightness(.86) hue-rotate(150deg) saturate(.7) drop-shadow(0 5px 4px rgba(20,30,50,.35))}
.world .dark{filter:saturate(.3) brightness(.7) sepia(.3) hue-rotate(160deg) drop-shadow(1px -1px 0 rgba(160,190,220,.35)) drop-shadow(0 5px 4px rgba(20,20,30,.35))}
.world .cool{filter:saturate(.4) brightness(.86) sepia(.25) hue-rotate(165deg) saturate(.8) drop-shadow(0 5px 4px rgba(20,30,50,.35))}
.world .rim{filter:drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.95)) drop-shadow(0 0 8px rgba(255,205,120,.45)) drop-shadow(0 5px 4px rgba(40,30,10,.32)) saturate(1.12) brightness(1.04)}
.world .lampglow{border-radius:50%;background:radial-gradient(closest-side,rgba(255,240,170,.95),rgba(255,206,110,.4) 55%,rgba(255,200,90,0));animation:ddglow 2.6s ease-in-out infinite}
.world .magicglow{width:76px;height:56px;border-radius:50%;background:radial-gradient(closest-side,rgba(190,240,255,.8),rgba(150,220,255,0));animation:ddglow 2.2s ease-in-out infinite}
.world .winglow{width:44px;height:24px}
.world .fireglow{width:96px;height:96px}
.world .smoke{width:12px;height:12px}
.world .spray .drops circle{animation:dddrop 1.6s ease-in infinite;transform-box:fill-box}
.world .spray .drops circle:nth-child(3n){animation-delay:-.5s}.world .spray .drops circle:nth-child(3n+1){animation-delay:-1.1s}
.world .spray .twk path{animation:ddtwk 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.world .spray .twk path:nth-child(2){animation-delay:-.8s}.world .spray .twk path:nth-child(3){animation-delay:-1.5s}
@keyframes dddrop{0%{transform:translateY(-3px);opacity:.2}30%{opacity:1}100%{transform:translateY(7px);opacity:0}}
@keyframes ddtwk{0%,100%{transform:scale(.4);opacity:.3}50%{transform:scale(1.15);opacity:1}}
.world .mark .twk{position:absolute;right:-7px;top:-9px;width:14px;height:14px;background:#FFF6C8;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 3px rgba(255,220,120,.9));animation:ddtwk 1.9s ease-in-out infinite}
.world .mark{font-size:13px}
.world .dirtbed{border-radius:50%;box-shadow:inset 0 3px 6px rgba(60,30,10,.4),0 2px 0 rgba(90,60,20,.25)}
html.tt-lowfx .dd *,html.tt-lowfx .dd *::before,html.tt-lowfx .dd *::after{animation:none!important}

/* ---------- v2 art pass: the map is baked into m-<i> chunks (tools/bake/bake-map.js); nodes and the autumn fog are live */
.mapin .mchunk{position:absolute;left:0;width:390px;max-width:none;pointer-events:none;user-select:none;display:block}
.mapin .aveil{position:absolute;left:0;width:390px;z-index:3;pointer-events:none;background:linear-gradient(rgba(255,250,240,.55),rgba(240,232,220,.38) 30%,rgba(240,232,220,.3) 85%,rgba(240,232,220,0))}
.mapin .aveil::before{content:"";position:absolute;left:-20px;right:-20px;top:-30px;height:70px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0))}
.mapvign{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(120% 80% at 50% 62%,rgba(0,0,0,0) 55%,rgba(60,30,0,.3) 100%),linear-gradient(rgba(255,210,140,0) 40%,rgba(255,190,110,.08))}
.mapin .node.done{box-shadow:0 0 0 2px #2F7A1A,0 4px 0 2px #2F7A1A,0 0 14px 3px rgba(160,240,110,.55),0 8px 12px rgba(30,40,10,.35)}
.mapin .node.next{box-shadow:0 0 0 2px #C69A5E,0 4px 0 2px #A87A42,0 0 12px 2px rgba(255,236,170,.6),0 8px 12px rgba(30,40,10,.3)}
.mapin .mavatar{width:68px;filter:drop-shadow(2px -1.5px 0 rgba(255,214,150,.95)) drop-shadow(0 6px 6px rgba(40,20,0,.45))}

/* ---------- v2 art pass: the title scene */
[data-s=splash]{background:#6AAFE8}
.sp-sky{position:absolute;inset:0;background:linear-gradient(180deg,#3F8BD6 0%,#5FA8E6 40%,#6AAFE8 100%)}
[data-s=splash] .sp-scene{position:absolute;left:50%;bottom:0;width:max(100%,calc(100dvh * 390 / 640));height:auto;max-width:none;transform:translateX(-50%);display:block}
.sp-sun{position:absolute;right:-20%;top:28%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,250,220,.55) 0 8%,rgba(255,226,150,.3) 24%,rgba(255,200,120,0) 62%);pointer-events:none}
.sp-motes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.sp-motes i{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#FFF8D8 0 30%,rgba(255,220,130,.6) 55%,rgba(255,220,130,0) 72%);transform:scale(var(--s));animation:ddmote var(--d) ease-in-out var(--dl) infinite;opacity:0}
@keyframes ddmote{0%{transform:translate(0,0) scale(var(--s));opacity:0}20%{opacity:.95}80%{opacity:.8}100%{transform:translate(18px,-90px) scale(var(--s));opacity:0}}
.sp-title{position:absolute;left:0;right:0;top:calc(var(--st) + 7%);text-align:center;padding:0 16px;z-index:3}
.sp-logo{position:relative;display:inline-flex;flex-direction:column;align-items:center;margin:0;font-family:"Titan One",Nunito,sans-serif;font-weight:400;line-height:.92;letter-spacing:.5px}
.sp-logo span{display:block;color:#FFF9E8;-webkit-text-stroke:2px #8A2F5C;paint-order:stroke fill;
  text-shadow:0 2px 0 #E2628F,0 4px 0 #C2457A,0 6px 0 #9E3163,0 8px 0 #7E2450,0 10px 2px rgba(60,10,40,.45),0 16px 22px rgba(90,30,60,.4),0 0 30px rgba(255,220,150,.55)}
.sp-logo .l1{font-size:clamp(30px,9.5vw,42px);color:#FFE8A8;transform:rotate(-3deg);margin-bottom:2px}
.dd-frame .sp-logo .l1{font-size:clamp(30px,9.5cqw,42px)}
.sp-logo .l2{font-size:clamp(44px,14vw,62px)}
.sp-tw{position:absolute;width:18px;height:18px;background:#FFF6C8;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 6px rgba(255,230,140,.95));animation:ddtwk 2.4s ease-in-out infinite}
.sp-tw.t1{left:-14px;top:6px}.sp-tw.t2{right:-18px;top:44%;animation-delay:-.9s;width:14px;height:14px}.sp-tw.t3{right:22%;top:-12px;animation-delay:-1.6s;width:12px;height:12px}
.sp-tag{margin:14px auto 0;max-width:300px;font-weight:800;font-size:14px;color:#5E3416;background:rgba(255,251,242,.86);border-radius:14px;padding:7px 14px;box-shadow:0 0 0 2px rgba(231,198,142,.9),0 3px 0 2px rgba(201,150,90,.8)}
[data-s=splash] .sp-ruta{position:absolute;left:-6%;bottom:calc(var(--sb) + 96px);width:56%;max-width:250px;height:auto;z-index:2;
  filter:drop-shadow(3px -2px 0 rgba(255,214,150,.95)) drop-shadow(0 0 14px rgba(255,200,120,.5)) drop-shadow(0 12px 12px rgba(40,25,10,.4));animation:ddbob 3.2s ease-in-out infinite}
.sp-go{z-index:4}
@media (prefers-reduced-motion:reduce){.sp-motes{display:none}}
html.tt-lowfx .sp-motes{display:none}
.mapin .mavatar{height:auto}
[data-s=splash] .sp-scene{-webkit-mask-image:linear-gradient(transparent 0,#000 16%);mask-image:linear-gradient(transparent 0,#000 16%)}
.world .dark{filter:saturate(.35) brightness(.82) sepia(.3) hue-rotate(160deg) drop-shadow(1px -1px 0 rgba(160,190,220,.35)) drop-shadow(0 5px 4px rgba(20,20,30,.35))}
.mapin .gatechip{max-width:300px;overflow:hidden;text-overflow:ellipsis}
.mapin .aveil{background:linear-gradient(rgba(255,250,240,.62),rgba(244,236,224,.5) 30%,rgba(244,236,224,.42) 85%,rgba(244,236,224,0))}
.world .mark.done{transform:translate(0,-6px) scale(.82);opacity:.82}

/* the glow of the current node: a static SVG burst on its own layer, rotated by the compositor (no repaint per frame) */
.mapin .rays{background:none;-webkit-mask:none;mask:none;animation:ddspin 16s linear infinite}
.mapin .rays svg{display:block;width:150px;height:150px}

.mapin.is-scrolling .rays,.mapin.is-scrolling .mavatar{animation-play-state:paused}

/* ---------- second pass: Ruta stands in the village (mockup: left -12, feet at y 600, height 228 of 390) */
.dd-frame{container-type:inline-size}
.v-ruta{position:absolute;left:-3.1cqw;bottom:calc(var(--vbh) - 30px + 1cqw);z-index:21;width:auto;height:58.5cqw;max-height:calc(100% - var(--vbh) - 120px);padding:0;background:none;border:0;cursor:pointer}
.v-ruta img{height:100%;width:auto;display:block;filter:drop-shadow(2px -1.5px 0 rgba(255,214,150,.95)) drop-shadow(0 0 10px rgba(255,200,120,.35)) drop-shadow(0 10px 10px rgba(40,25,10,.35));animation:ddbob 3.4s ease-in-out infinite;transform-origin:50% 100%}
.v-ruta::after{content:"";position:absolute;left:12%;right:12%;bottom:-6px;height:16px;border-radius:50%;background:radial-gradient(closest-side,rgba(40,25,10,.5),rgba(40,25,10,0));z-index:-1}
.ruta.nofig{left:31cqw;right:8px;bottom:calc(var(--vbh) - 30px + 8cqw)}
.ruta.nofig .ruta-say{margin:0;max-width:62cqw}
.ruta-btn{display:none}
.ddpick{bottom:auto}

/* =====================================================================================================
   TYPE SYSTEM (owner): Titan One only for the logo, screen/sheet titles, area names and the main "Hrať" button;
   Nunito 800/900 for everything else; sizes only 12 / 14 / 16 / 20 / 24 px; no all-caps, no outlined text.
   This block comes last on purpose: it overrides the sizes and fonts set by the component rules above.
   (The match-3 board inside .lv-eng belongs to the Engine and its own stylesheet.)
   ===================================================================================================== */
#dd{--fT:"Titan One",Nunito,system-ui,sans-serif;--fN:Nunito,ui-rounded,system-ui,sans-serif;--mut:#7A6248;--ink:#4A3220}
#dd .dd-frame{font-family:var(--fN);font-size:14px;font-weight:800}
#dd .dd-frame :is(.h,.btn3d,.ribbon,.dchip,.dchip b,.dd-gold,.dd-gear,.mark,.mapin .node,.side .round span,.goal b,.bo .cnt,.res-score b,.res-coins,.res-lives,.day b,.dtabs button,.pack .pc,.bo-buy .pr,.lv-quit,.sh-x,.ruta-x,.pick-x,.v-tabs button,.dchip .tm b,.passcard>b,.pack b,.offer b,.ruta-say b.h,.sheet h3,.mapin .gatechip){font-family:var(--fN);font-weight:900;letter-spacing:0;text-transform:none}
/* the Titan places */
#dd .sp-logo span,#dd .ribbon,#dd .tasks h3,#dd .mapin .banner,#dd .mhoriz .banner,#dd .btn3d.play b,#dd .btn3d.play .pl-lv{font-family:var(--fT);font-weight:400}
/* main buttons: "Hrať · úroveň 13" in one family, the level lighter and smaller */
#dd .btn3d.play{font-size:24px;gap:0}
#dd .btn3d.play b{font-size:24px}
#dd .btn3d.play .pl-lv{font-size:16px;opacity:.88;margin-left:6px}
#dd .btn3d{font-size:16px}
#dd .btn3d.big:not(.play){font-size:20px}
#dd .btn3d.sm,#dd .task .cost,#dd .bo-pick button{font-size:16px}
/* titles */
#dd .ribbon{font-size:16px}#dd .ribbon.big{font-size:20px}
#dd .tasks h3{font-size:20px;color:#8A5226}
#dd .tasks h3 span{font-family:var(--fN);font-weight:800;font-size:14px;color:var(--mut)}
/* header: top row + HUD, one family */
#dd .dd-back{font-size:14px}#dd .dd-acc{font-size:12px;font-weight:900}#dd .dd-gold{font-size:12px;padding:3px 8px}
#dd .ddh .dchip{font-size:16px}
#dd .dchip.ch b{font-size:16px;color:#3E8F28}
#dd .dchip.ch b span{font-family:var(--fN);font-size:16px;font-weight:900;color:var(--mut);margin-left:4px}
#dd .dchip .tm{font-size:12px;font-weight:800;color:var(--mut)}
#dd .dchip .tm b{font-size:14px;color:#C2457A}
#dd .dchip.st,#dd .dchip.co{font-size:16px}
/* village tabs: the locked one with a lock and readable muted text (#6B563F on cream ≈ 6:1) */
#dd .v-tabs button{font-size:14px;color:#6B563F;display:inline-flex;align-items:center;gap:5px}
#dd .v-tabs button.on{color:#fff}
#dd .v-tabs button.locked{opacity:1;color:#6B563F;background:rgba(240,228,204,.7)}
#dd .ic-lock{width:13px;height:13px;fill:currentColor;flex:none}
/* object markers: cost in its own pill, the name capitalised; one height and font for all */
#dd .world .mark{display:inline-flex;align-items:center;gap:6px;height:32px;min-height:32px;padding:0 10px 0 4px;font-size:14px;color:#6A3F12;line-height:1}
#dd .world .mark .mk-cost{display:inline-flex;align-items:center;gap:2px;height:24px;padding:0 7px 0 5px;border-radius:12px;background:linear-gradient(#FFE48A,#F2B33A);color:#6A3B00;font-size:14px;box-shadow:inset 0 -2px 0 rgba(150,80,0,.25)}
#dd .world .mark .mk-cost .ic-star{fill:#fff;stroke:#C98100;font-size:14px;filter:none}
#dd .world .mark .mk-name{font-size:14px}
#dd .world .mark.need .mk-cost{background:linear-gradient(#F1ECE4,#D8CFC2);color:#7A6A58}
#dd .world .mark.done{width:32px;padding:0;justify-content:center;font-size:16px}
/* task list: title 16/900, subtitle 14/700 muted, equal star pills */
#dd .task .tx b{font-size:16px;font-weight:900}
#dd .task .tx small{font-size:14px;font-weight:700;color:var(--mut)}
#dd .task .cost{width:66px;min-width:66px;flex:none;padding:0;justify-content:center}
/* side buttons: one cream plate, Nunito labels (village + map) */
#dd .side.splate{gap:4px;padding:6px 5px;border-radius:20px;background:linear-gradient(#FFFBF2,#FBEFD8);box-shadow:0 0 0 2.5px #E7C68E,0 3px 0 2.5px #C9965A,0 10px 18px rgba(70,40,10,.25)}
#dd .side.splate .round{width:56px;height:auto;min-height:58px;flex-direction:column;gap:2px;padding:5px 0 4px;border-radius:14px;background:none;box-shadow:none}
#dd .side.splate .round:hover,#dd .side.splate .round:focus-visible{background:rgba(255,230,170,.5)}
#dd .side.splate .round img,#dd .side.splate .round svg{width:30px;max-height:30px;height:auto}
#dd .side.splate .round span{position:static;transform:none;font-size:12px;font-weight:900;color:#5E3416;text-shadow:none;white-space:nowrap;line-height:1.1}
#dd .side.splate .dot{right:4px;top:3px}
#dd .v-side{top:calc(var(--st) + 96px)}#dd .m-side{top:calc(var(--st) + 98px);right:8px}
/* map */
#dd .mapin .node{font-size:16px}#dd .mapin .node.cur{font-size:24px}
#dd .mapin .banner,#dd .mhoriz .banner{font-size:16px;padding:6px 16px 7px}
#dd .mapin .banner small,#dd .mhoriz .banner small{font-family:var(--fT);font-weight:400;font-size:14px;opacity:.9}
#dd .mapin .gatechip{font-size:14px;white-space:normal;text-align:center;max-width:250px;line-height:1.25;padding:6px 12px}
/* Ruta */
#dd .ruta-say b.h{font-size:12px;color:#C2457A}
#dd .ruta-say p{font-size:16px;font-weight:800;line-height:1.3}
/* sheets */
#dd .sheet h3{font-size:16px;color:#8A5226}
#dd .sheet .ask{font-size:16px}
#dd .goal b{font-size:20px}#dd .goal small{font-size:12px;font-weight:800;color:var(--mut)}
#dd .pre-moves,#dd .pre-life{font-size:14px}
#dd .bo small{font-size:12px;font-weight:900}#dd .bo .cnt{font-size:12px;line-height:20px}
#dd .res-score{font-size:14px}#dd .res-score b{font-size:20px}
#dd .res-coins{font-size:20px}#dd .res-coins small{font-size:12px}
#dd .res-ms{font-size:14px}#dd .res-lives{font-size:20px}
#dd .day small{font-size:12px}#dd .day b{font-size:16px}
#dd .wheel .wt{font-family:var(--fN);font-weight:900;font-size:13px}
#dd .set{font-size:16px}
#dd .dtabs button{font-size:14px}
#dd .pack b{font-size:16px}#dd .pack .pc{font-size:16px}#dd .pack .ptag{font-size:12px;font-weight:900;text-transform:none}
#dd .offer b{font-size:16px}#dd .offer small{font-size:12px;font-weight:700;color:var(--mut)}
#dd .bo-buy b{font-size:12px}#dd .bo-buy small{font-size:12px;color:var(--mut)}#dd .bo-buy .pr{font-size:14px}
#dd .passcard>b{font-size:20px}#dd .passcard li{font-size:14px}#dd .pass-on{font-size:14px}
#dd .guestnote{font-size:14px}
#dd .muted.small,#dd .small{font-size:12px}
#dd .muted{color:var(--mut)}
#dd .linkish{font-size:14px}
#dd .dd-toast{font-size:14px}
#dd .sp-tag{font-size:14px}#dd .sp-login{font-size:14px}
#dd .lv-quit,#dd .sh-x,#dd .ruta-x,#dd .pick-x{font-size:20px}
#dd .opt .lab{font-size:12px;font-weight:900}#dd .opt .lk{font-size:12px;font-weight:900}
/* map horizon: the coming areas at the top of the view */
.mhoriz{position:absolute;left:0;right:0;top:calc(var(--st) + 92px);height:150px;z-index:5;pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s}
.mhoriz.on{opacity:1;transform:none}
.mhoriz .mh-band{position:absolute;left:0;right:0;overflow:hidden}
.mhoriz .mh-win{top:0;height:72px;background:linear-gradient(#EEF4FA,#DCE6EE);box-shadow:inset 0 -10px 14px -6px rgba(255,255,255,.9)}
.mhoriz .mh-aut{top:66px;height:84px;background:linear-gradient(rgba(214,176,98,.95),rgba(198,160,86,.85) 60%,rgba(198,160,86,0));-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.mhoriz.aut-open .mh-aut{display:none}
.mhoriz .mh-h{position:absolute;bottom:6px;height:auto;filter:saturate(.55) brightness(1.05) drop-shadow(0 4px 3px rgba(40,30,10,.25));opacity:.85}
.mhoriz .mh-win .mh-h{filter:saturate(.35) brightness(1.12) drop-shadow(0 4px 3px rgba(30,40,60,.2));opacity:.75}
.mhoriz .banner{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:2;color:#fff;white-space:nowrap;border-radius:9px;text-shadow:0 2px 0 rgba(0,0,0,.2)}
.mhoriz .mh-aut .banner{top:18px}
/* type system: fixes from the scan (tools/typescan.js) */
#dd .sh-bal b,#dd .passcard>.gold-tag{font-family:var(--fN);font-weight:900;font-size:16px}
#dd .passcard>.gold-tag{font-size:12px}
#dd .dchip .plus{font-size:16px;line-height:19px}
#dd .opt .ok{font-size:12px}
#dd .dd-acc{max-width:none}
#dd .sheet .btn3d:not(.big){white-space:normal;text-align:center;line-height:1.2;padding:6px 14px}
@media (max-width:370px){#dd .ddh .dchip,#dd .dchip.ch b,#dd .dchip.ch b span,#dd .dchip.st,#dd .dchip.co{font-size:14px}#dd .ddh{gap:5px}#dd .ddh .dchip{padding:4px 7px}}
#dd .dd-acc{overflow:visible}
#dd .task .tx small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}
#dd .dd-acc{text-overflow:clip}
/* ribbons never run under the side plate: the horizon ones sit left, the map ones may wrap */
#dd .mhoriz .banner{left:10px;transform:none;white-space:normal;max-width:calc(100% - 96px);line-height:1.15}
#dd .mapin .banner{left:44%;white-space:normal;max-width:300px;text-align:center;line-height:1.15}
#dd .mapin .gatechip{left:6px;transform:none;max-width:118px;text-align:left;margin-top:72px}
/* ===== pass 3: level screen — shell-side overrides of the engine HUD to the type system (12/14/16/20/24; Nunito 800/900, Titan only for display numbers & FX) ===== */
#dd .lv-bg.ch-s,#dd .lv-bg.ch-a{background:#3A2A14 url(../img/dedinka/lv-s.webp) 50% 30%/cover no-repeat}
#dd .lv-bg.ch-a{background-image:url(../img/dedinka/lv-a.webp)}
@media (min-resolution:1.5dppx){#dd .lv-bg.ch-s{background-image:url(../img/dedinka/lv-s@2x.webp)}#dd .lv-bg.ch-a{background-image:url(../img/dedinka/lv-a@2x.webp)}}
#dd .lv-bg.ch-s::after,#dd .lv-bg.ch-a::after{top:0;background:radial-gradient(120% 85% at 50% 45%,rgba(20,10,0,0) 55%,rgba(20,10,0,.38));opacity:1}
#dd .lv-eng .dkm-pill{font-family:var(--fN);font-weight:900;font-size:12px;letter-spacing:0;text-shadow:0 1px 0 rgba(120,20,60,.35)}
#dd .lv-eng .dkm-medal b{font-size:20px}
#dd .lv-eng .dkm-medal span,#dd .lv-eng .dkm-medal span.long{font-family:var(--fN);font-weight:900;font-size:12px;text-transform:none;letter-spacing:0;color:#7A4A22;max-width:44px;margin-top:0}
#dd .lv-eng .dkm-hard{font-family:var(--fN);font-size:12px;font-weight:900}
#dd .lv-eng .dkm-goal h3{font-family:var(--fN);font-weight:900;font-size:16px;letter-spacing:0;color:#8A5226;margin-bottom:2px}
#dd .lv-eng .dkm-n{font-family:var(--fN);font-weight:900;font-size:14px;color:#5E3416}
#dd .lv-eng .dkm-n small{font-size:12px;font-weight:800}
#dd .lv-eng .dkm-t{font-family:var(--fN);font-weight:800;font-size:12px;color:#7A4A22;max-width:104px}
#dd .lv-eng .dkm-pts{font-family:var(--fN);font-weight:900;font-size:14px}
#dd .lv-eng .dkm-bb{font-size:14px}
#dd .lv-eng .dkm-bt label{font-family:var(--fN);font-weight:900;font-size:12px;line-height:1.2;color:#5E3416;text-shadow:none;margin-top:8px;padding:2px 9px 3px;border-radius:10px;background:linear-gradient(#FFFBF2,#FBEFD8);box-shadow:0 0 0 1.5px #E7C68E,0 2px 0 1.5px #C9965A,0 4px 8px rgba(40,20,0,.25)}
#dd .lv-top .dd-gear{width:40px;height:40px;border-radius:50%;font-size:20px;color:#8A5226;background:rgba(255,251,242,.9);box-shadow:0 0 0 2px #E7C68E,0 3px 0 2px #C9965A}
#dd .mapin .gatechip{max-width:132px;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
/* ===== v5: header gear plate, transient "saved", marker de-clutter, install sheet ===== */
#dd .dd-gear.dd-plate{flex:none;width:36px;height:36px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(#FFFBF2,#FBEFD8);box-shadow:0 0 0 2px #E7C68E,0 3px 0 2px #C9965A,0 6px 10px rgba(60,30,0,.22);color:#8A5226;font-size:20px}
#dd .dd-gear.dd-plate .gear-ic{width:26px;height:26px;display:block;filter:none}
#dd .dd-gear.dd-plate:active{transform:translateY(2px);box-shadow:0 0 0 2px #E7C68E,0 1px 0 2px #C9965A}
#dd .lv-top .dd-gear.dd-plate,#dd .lv-top .lv-quit{width:36px;height:36px;font-size:20px}
#dd .dd-acc.on{opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .25s,transform .25s}
#dd .dd-acc.on.flash{opacity:1;transform:none}
#dd .world .mark{transition:translate .18s ease-out}
#dd .world .mark.moved::after{display:none}
#dd .world .mark.hid{visibility:hidden;pointer-events:none}
@media (prefers-reduced-motion:reduce){#dd .world .mark{transition:none}}
#dd .isteps{list-style:none;margin:6px 0 14px;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left}
#dd .isteps li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:800;line-height:1.3}
#dd .isteps .ist{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#FFF6E2;box-shadow:0 0 0 1.5px #E7C68E;color:#2E7BD6;font-size:20px;font-weight:900}
#dd .isteps .ist svg{width:22px;height:22px}#dd .isteps .ist img{width:30px;height:30px;border-radius:8px}
#dd .set small{display:block;font-size:12px;font-weight:800;line-height:1.3;margin-top:2px}
#dd .set .btn3d.sm{flex:none}
/* v5 level layout: one slim strip on top (✕ and ♪ sit in its ends), the board takes the freed height */
#dd .lv-top{top:calc(var(--st) + 39px);height:36px;padding:0 16px}
#dd .lv-eng{top:var(--st)}
#dd .lv-eng>*{max-width:var(--dkm-maxw)}
#dd .lv-eng{--dkm-maxw:480px}
#dd .lv-eng .dkm{--dkm-hud-pad:48px}
@media (min-width:600px) and (min-height:800px){#dd .lv-eng{--dkm-maxw:640px}}
/* ================================================================ v6: stickers, chests, star path, album, streak, restoration, the living village */
#dd .stk{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:3px;width:84px;padding:6px 4px 6px;border-radius:14px;background:linear-gradient(#FFFDF6,#F6E7C8);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E7C68E,0 3px 0 3.5px #C9965A;transform:rotate(-1.5deg)}
#dd .stk:nth-child(2n){transform:rotate(1.5deg)}
#dd .stk .stk-art{display:block;width:64px;height:64px;background:url(../img/dedinka/album.webp) no-repeat;background-image:image-set(url(../img/dedinka/album.webp) 1x,url(../img/dedinka/album@2x.webp) 2x);background-size:900% 300%;background-position:calc(var(--sx) * 100% / 8) calc(var(--sy) * 100% / 2);filter:drop-shadow(0 2px 2px rgba(60,30,0,.3))}
#dd .stk b{font:900 12px/1.15 var(--fN);color:#5E3416;text-align:center;min-height:28px;display:flex;align-items:center}
#dd .stk em{position:absolute;top:-7px;right:-6px;font:900 12px/1 var(--fN);font-style:normal;color:#fff;background:linear-gradient(#B58CFF,#7A4FD6);padding:2px 6px;border-radius:9px;box-shadow:0 1px 0 #5A2FB0}
#dd .stk.rare{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #FFC93C,0 3px 0 3.5px #B97408,0 0 14px rgba(255,200,60,.55)}
#dd .stk.miss{background:#EFE3CC}
#dd .stk.miss .stk-art{filter:brightness(0) opacity(.16)}
#dd .stk.miss b{color:#B49A78}
.confetti{position:absolute;top:0;width:8px;height:12px;border-radius:2px;z-index:200;pointer-events:none}
/* the chest sheet */
#dd .chestsh .sheet{text-align:center}
#dd .chest-st{position:relative;height:150px;display:flex;align-items:flex-end;justify-content:center;margin:2px 0 6px}
#dd .chest-st img{position:relative;z-index:2;height:118px;width:auto;filter:drop-shadow(0 8px 8px rgba(60,30,0,.35))}
#dd .chest-st.big img{height:132px}
#dd .chest-st .ch-o{display:none}
#dd .chest-st:not(.open) .ch-c{animation:ddshake .75s ease-in-out both}
#dd .chest-st.open .ch-c{display:none}#dd .chest-st.open .ch-o{display:block;animation:ddpopin .45s cubic-bezier(.3,1.6,.5,1) both}
#dd .chest-st .rays{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-150px 0 0 -130px;border-radius:50%;opacity:0;z-index:1;background:repeating-conic-gradient(rgba(255,226,120,.55) 0 10deg,rgba(255,226,120,0) 10deg 22deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%)}
#dd .chest-st.open .rays{opacity:1;animation:ddspin 9s linear infinite,ddfade .5s ease-out both}
@keyframes ddshake{0%,100%{transform:none}15%{transform:rotate(-7deg)}30%{transform:rotate(6deg)}45%{transform:rotate(-5deg) translateY(-3px)}60%{transform:rotate(4deg)}75%{transform:scale(1.06,.94)}}
@keyframes ddpopin{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes ddspin{to{transform:rotate(360deg)}}@keyframes ddfade{from{opacity:0}to{opacity:1}}
#dd .rws{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;margin:4px 0 14px;min-height:40px}
#dd .rws .rw{display:inline-flex;align-items:center;gap:5px;font:900 20px var(--fN);color:#5E3416;opacity:0;transform:scale(.4) translateY(10px);transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1)}
#dd .rws .rw.in{opacity:1;transform:none}
#dd .rws .rw .ic-coin{width:28px;height:28px}#dd .rws .rw .rw-ic{width:30px;height:30px;object-fit:contain}#dd .rws .rw .ic-heart{width:26px;height:26px;fill:#F2556F}
#dd .rws .rw.st{flex-direction:column;gap:4px}#dd .rws .rw.st small{font:900 12px var(--fN);color:#8A5226}
#dd .rws .rw.in .stk.flip{animation:ddflip .6s ease-out both}
@keyframes ddflip{0%{transform:rotateY(90deg) scale(.8)}60%{transform:rotateY(-12deg) scale(1.06)}100%{transform:rotateY(0) scale(1)}}
#dd .rws.inl{margin:0;gap:6px;min-height:0}#dd .rws.inl .rw{font-size:14px}#dd .rws.inl .rw .ic-coin,#dd .rws.inl .rw .rw-ic{width:20px;height:20px}
/* the star path: a bar on the map + its sheet */
#dd .spath{position:absolute;left:10px;right:96px;top:calc(var(--st) + 98px);z-index:24;height:42px;display:flex;align-items:center;gap:8px;padding:0 10px 0 6px;border-radius:21px;text-align:left}
#dd .spath .sp-ic{width:34px;height:34px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 2px rgba(60,30,0,.3))}
#dd .spath .sp-bar{flex:1;min-width:30px;height:10px;border-radius:6px;background:#E9D6B2;box-shadow:inset 0 1px 2px rgba(90,50,10,.35);overflow:hidden}
#dd .spath .sp-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(#FFE88A,#FFC93C 60%,#E9A320)}
#dd .spath b{font:900 12px var(--fN);color:#5E3416;white-space:nowrap}
#dd .spath.ready{animation:ddglow 1.6s ease-in-out infinite}#dd .spath.ready .sp-ic{animation:ddshake 1.6s ease-in-out infinite}
@keyframes ddglow{50%{box-shadow:0 0 0 2.5px #FFC93C,0 3px 0 2.5px #B97408,0 0 18px 4px rgba(255,200,60,.7)}}
#dd .pathsh .ptrack{position:relative;display:flex;gap:6px;overflow-x:auto;padding:10px 4px 14px;margin:6px 0 12px;scroll-snap-type:x proximity}
#dd .pathsh .pline{position:absolute;left:12px;right:12px;top:66px;height:8px;border-radius:5px;background:#E9D6B2}
#dd .pathsh .pline i{display:block;height:100%;border-radius:5px;background:linear-gradient(#FFE88A,#FFC93C 60%,#E9A320)}
#dd .pathsh .pc{position:relative;z-index:1;flex:none;width:64px;display:flex;flex-direction:column;align-items:center;gap:4px;scroll-snap-align:center}
#dd .pathsh .pc-n{display:inline-flex;align-items:center;gap:2px;font:900 12px var(--fN);color:#8A5226}#dd .pathsh .pc-n .ic-star{width:12px;height:12px;fill:#FFC93C;stroke:#B97408}
#dd .pathsh .pc-ic{width:52px;height:52px;object-fit:contain}
#dd .pathsh .pc.lock .pc-ic{filter:grayscale(.8) opacity(.55)}
#dd .pathsh .pc.ready .pc-ic{animation:ddshake 1.4s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,200,60,.9))}
#dd .pathsh .pc-ok{position:absolute;right:2px;top:20px;width:20px;height:20px;border-radius:50%;background:#5DBB3F;color:#fff;font:900 12px/20px var(--fN);font-style:normal;text-align:center;border:2px solid #fff}
/* the album */
#dd .alb-ic{display:block;width:34px;height:34px;background:url(../img/dedinka/album.webp) no-repeat;background-image:image-set(url(../img/dedinka/album.webp) 1x,url(../img/dedinka/album@2x.webp) 2x);background-size:900% 300%;background-position:calc(2 * 100% / 8) 100%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
#dd .albsh .alb-tabs{margin:6px 0 10px}
#dd .albsh .alb-tabs small{font-size:12px;opacity:.75}
#dd .albsh .alb-page{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;justify-items:center;padding:6px 2px 10px}
#dd .albsh .alb-rw{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 10px;border-radius:14px;background:#FFF6E2;font:900 14px var(--fN);color:#5E3416;margin-bottom:6px}
#dd .albsh .alb-rw.done{background:#E6F7D6}#dd .albsh .alb-rw .ok{color:#2F7A1A;font-size:20px}
/* the daily streak calendar */
#dd .streak{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 10px;font:900 16px var(--fN);color:#C2410C}
#dd .streak .flame{width:22px;height:28px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 72%,#FFF4B0,#FFB23C 45%,#F2591F 80%);box-shadow:0 0 10px rgba(255,140,40,.6);animation:ddflick 1.2s ease-in-out infinite}
@keyframes ddflick{50%{transform:scale(1.08,.94) rotate(3deg)}}
#dd .days.cal .day{position:relative}
#dd .days.cal .day.today{box-shadow:0 0 0 3px #FFC93C,0 0 14px rgba(255,200,60,.65);animation:ddglow 1.8s ease-in-out infinite}
#dd .days.cal .day.got{background:#EAF6DD}
#dd .days.cal .day .stamp{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;display:none;align-items:center;justify-content:center;font:900 13px var(--fN);font-style:normal;color:#fff;background:#5DBB3F;border:2px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.25)}
#dd .days.cal .day.got .stamp{display:flex}
#dd .days.cal .day.just .stamp{animation:ddstamp .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes ddstamp{0%{transform:scale(2.4) rotate(-25deg);opacity:0}100%{transform:none;opacity:1}}
/* the level result: a sticker */
#dd .res-stk{display:flex;flex-direction:column;align-items:center;gap:4px;margin:2px 0 10px;opacity:0;transform:scale(.5);transition:opacity .3s,transform .45s cubic-bezier(.3,1.6,.5,1)}
#dd .res-stk.in{opacity:1;transform:none}#dd .res-stk small{font:900 12px var(--fN);color:#8A5226}
/* the restoration moment */
#dd .spell{position:absolute;left:0;top:0;z-index:35;width:16px;height:16px;margin:-8px 0 0 -8px;pointer-events:none;background:radial-gradient(circle,#fff 0 18%,#FFE27A 40%,rgba(255,226,120,0) 70%);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 4px #FFD86B)}
#dd .v-ruta.casting img{filter:drop-shadow(0 0 10px rgba(255,220,120,.9)) drop-shadow(0 10px 10px rgba(40,25,10,.35))}
#dd .world .rfx{position:absolute;width:0;height:0;z-index:15;pointer-events:none}
#dd .world .rfx .rglow{position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,240,.95),rgba(255,226,120,.55) 35%,rgba(255,226,120,0) 70%);animation:ddglowb .9s ease-out both;mix-blend-mode:screen}
@keyframes ddglowb{0%{transform:scale(.2);opacity:0}25%{opacity:1}100%{transform:scale(2.1);opacity:0}}
#dd .world .rfx [class^=d]{position:absolute;left:-9px;top:14px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,rgba(205,180,140,.85),rgba(205,180,140,0) 70%);animation:dddust 1s ease-out both}
#dd .world .rfx .d1{--dx:-34px}#dd .world .rfx .d2{--dx:-16px;animation-delay:.05s}#dd .world .rfx .d3{--dx:2px}#dd .world .rfx .d4{--dx:18px;animation-delay:.05s}#dd .world .rfx .d5{--dx:34px}
@keyframes dddust{0%{transform:translate(0,0) scale(.4);opacity:0}20%{opacity:1}100%{transform:translate(var(--dx),-12px) scale(2.2);opacity:0}}
#dd .world .task-g.ghost{position:absolute;left:0;top:0;width:390px;height:604px;pointer-events:none}
#dd .ba-card{position:absolute;left:50%;top:calc(var(--st) + 150px);z-index:34;display:flex;align-items:center;gap:6px;padding:8px;border-radius:18px;background:linear-gradient(#FFFBF2,#FBEFD8);box-shadow:0 0 0 2.5px #E7C68E,0 3px 0 2.5px #C9965A,0 12px 24px rgba(70,40,10,.3);transform:translate(-50%,-14px) scale(.9);opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.3,1.5,.5,1);pointer-events:none}
#dd .ba-card.in{opacity:1;transform:translate(-50%,0)}
#dd .ba-card figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:3px}
#dd .ba-card figcaption{font:900 12px var(--fN);color:#8A5226}
#dd .ba-card .ba-v{position:relative;display:block;width:132px;height:96px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 2px #fff,inset 0 0 0 1px rgba(0,0,0,.08)}
#dd .ba-card .ba-w{position:absolute;left:0;top:0;width:390px;height:604px;transform-origin:0 0}
#dd .ba-card .ba-w .bake{position:absolute;left:0;top:0;width:390px;height:604px}
#dd .ba-card .ba-w .tl{position:absolute;left:0;top:0;width:390px;height:604px}
#dd .ba-card figure:first-child .ba-v{filter:saturate(.55) brightness(.92)}
#dd .ba-card .ba-arr{font:900 20px var(--fN);color:#C2410C}
/* the living village (world layers: bg · tasks · l1 · fg · l2 · time-of-day tint · lights · markers) */
#dd .world .life,#dd .world .tod,#dd .world .glows{position:absolute;left:0;top:0;width:390px;height:604px;pointer-events:none;overflow:hidden}
#dd .world .walker{position:absolute;left:0;width:14px;height:21px;animation:ddwalk var(--d) linear infinite;will-change:transform}
#dd .world .walker .flip{display:block;width:100%;height:100%;animation:ddturn var(--d) step-end infinite}
#dd .world .walker .vg{display:block;width:14px;height:21px;overflow:visible;animation:ddbob .5s ease-in-out infinite alternate}
#dd .world .walker .l1{transform-origin:8px 20px;animation:ddleg .5s ease-in-out infinite alternate}
#dd .world .walker .l2{transform-origin:12px 20px;animation:ddleg .5s ease-in-out infinite alternate-reverse}
@keyframes ddwalk{0%{transform:translateX(var(--x0))}50%{transform:translateX(var(--x1))}100%{transform:translateX(var(--x0))}}
@keyframes ddturn{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}}
@keyframes ddbob{to{transform:translateY(-1px)}}
@keyframes ddleg{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
#dd .world.cheer .walker{animation-play-state:paused}
#dd .world.cheer .walker .vg{animation:ddhop .45s ease-in-out infinite alternate}
@keyframes ddhop{from{transform:translateY(0)}to{transform:translateY(-7px)}}
#dd .world .shim{position:absolute;left:0;top:0;width:390px;height:604px;overflow:hidden}
#dd .world .shim i{position:absolute;left:-390px;top:250px;width:780px;height:60px;opacity:.35;animation:ddshim 9s linear infinite;will-change:transform;
 background:repeating-linear-gradient(100deg,rgba(255,255,255,0) 0 26px,rgba(255,255,255,.55) 30px,rgba(255,255,255,0) 36px 70px),repeating-linear-gradient(80deg,rgba(255,255,255,0) 0 44px,rgba(220,245,255,.4) 48px,rgba(255,255,255,0) 52px 96px)}
@keyframes ddshim{to{transform:translateX(390px)}}
#dd .world .smoke{position:absolute;width:0;height:0}
#dd .world .smoke i{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,rgba(240,236,228,.85),rgba(240,236,228,0) 70%);animation:ddsmoke 4.2s ease-out infinite}
#dd .world .smoke i:nth-child(2){animation-delay:-1.4s}#dd .world .smoke i:nth-child(3){animation-delay:-2.8s}
@keyframes ddsmoke{0%{transform:translate(0,0) scale(.5);opacity:0}15%{opacity:.9}100%{transform:translate(14px,-46px) scale(2.6);opacity:0}}
#dd .world .birds{position:absolute;left:0;width:60px;height:20px;animation:ddfly 24s linear infinite}
#dd .world .birds i{position:absolute;width:12px;height:6px}#dd .world .birds i:nth-child(1){left:0;top:4px}#dd .world .birds i:nth-child(2){left:16px;top:0}#dd .world .birds i:nth-child(3){left:30px;top:7px}
#dd .world .birds svg{display:block;width:100%;height:100%;animation:ddflap .35s ease-in-out infinite alternate}
#dd .world .birds i:nth-child(2) svg{animation-delay:-.15s}
@keyframes ddfly{0%{transform:translate(-70px,0)}50%{transform:translate(200px,-14px)}100%{transform:translate(460px,6px)}}
@keyframes ddflap{to{transform:scaleY(-.6)}}
#dd .world .bfly{position:absolute;width:10px;height:9px;animation:ddflutter 7s ease-in-out infinite}
#dd .world .bfly svg{display:block;width:100%;height:100%}#dd .world .bfly .wg{transform-origin:6px 5px;animation:ddwing .18s ease-in-out infinite alternate}
@keyframes ddwing{to{transform:scaleX(.25)}}
@keyframes ddflutter{0%,100%{transform:translate(0,0)}25%{transform:translate(18px,-14px)}50%{transform:translate(-6px,-24px)}75%{transform:translate(-20px,-8px)}}
#dd .world .ffly{position:absolute;width:5px;height:5px;border-radius:50%;background:#FFF7B0;box-shadow:0 0 6px 3px rgba(255,240,120,.7);animation:ddfirefly 5s ease-in-out infinite}
@keyframes ddfirefly{0%,100%{transform:translate(0,0);opacity:.2}30%{opacity:1}50%{transform:translate(10px,-12px);opacity:.9}80%{transform:translate(-8px,-4px);opacity:.3}}
#dd .world .win{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle,rgba(255,232,150,.95) 0 18%,rgba(255,190,90,.40) 40%,rgba(255,170,60,0) 70%)}
#dd .world .nstars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 3px #fff;animation:ddtw 3.6s ease-in-out infinite}
@keyframes ddtw{50%{opacity:.25}}
/* time of day: a tint over the scene (multiply) and a light glaze (screen) */
#dd .world .tod{transition:background 1.2s;will-change:opacity}
#dd .world[data-tod=dawn] .tod{background:linear-gradient(180deg,rgba(200,110,150,.20),rgba(220,150,120,.10) 45%,rgba(110,110,170,.10))}
#dd .world[data-tod=golden] .tod{background:linear-gradient(180deg,rgba(235,120,30,.24),rgba(240,150,60,.16) 50%,rgba(190,100,40,.20))}
#dd .world[data-tod=evening] .tod{background:linear-gradient(180deg,rgba(60,35,110,.45),rgba(150,70,60,.30) 40%,rgba(45,30,80,.42))}
#dd .world[data-tod=night] .tod{background:linear-gradient(180deg,rgba(10,14,48,.70),rgba(16,24,70,.55) 40%,rgba(12,16,52,.62))}
#dd .world.paused .life *,#dd .world.paused .glows *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){#dd .spath.ready,#dd .spath.ready .sp-ic,#dd .pathsh .pc.ready .pc-ic,#dd .days.cal .day.today,#dd .streak .flame,#dd .chest-st .rays{animation:none!important}}
#dd .vw[data-tod=night]{background:linear-gradient(180deg,#141A3E,#25305E 60%,#2B3768)}
#dd .vw[data-tod=evening]{background:linear-gradient(180deg,#5A4A8E,#C9867A 70%,#E7A07A)}
#dd .vw[data-tod=golden]{background:linear-gradient(180deg,#7FA8D8,#F2C08A 70%)}
/* ================================================================ v7: winter and spring areas */
#dd .stk .stk-art{background-size:900% 500%;background-position:calc(var(--sx) * 100% / 8) calc(var(--sy) * 100% / 4)}
#dd .alb-ic{background-size:900% 500%;background-position:calc(2 * 100% / 8) 100%}
#dd .albsh .alb-tabs{flex-wrap:wrap;justify-content:center}
#dd .albsh .alb-tabs button{flex:0 1 auto;padding-left:10px;padding-right:10px}
#dd .albsh .alb-title{margin:0 0 4px;font:900 16px var(--fN);color:#8A5226;text-align:center}
/* style variants of the new objects (beat .rim: same shadows, plus the tint) */
#dd .world .s.vx-copper,#dd .ddpick .opt img.vx-copper{filter:hue-rotate(-20deg) saturate(1.4) drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.9)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-frost,#dd .ddpick .opt img.vx-frost{filter:saturate(.5) hue-rotate(170deg) brightness(1.18) drop-shadow(0 0 7px rgba(190,230,255,.9)) drop-shadow(0 5px 4px rgba(30,40,70,.3))}
#dd .world .s.vx-ruby,#dd .ddpick .opt img.vx-ruby{filter:hue-rotate(-28deg) saturate(1.9) brightness(.98) drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.9)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-azure,#dd .ddpick .opt img.vx-azure{filter:hue-rotate(185deg) saturate(1.3) drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.9)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-gold,#dd .ddpick .opt img.vx-gold{filter:sepia(1) saturate(3.4) hue-rotate(-8deg) brightness(1.12) drop-shadow(0 0 8px rgba(255,210,90,.75)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-silver,#dd .ddpick .opt img.vx-silver{filter:saturate(.25) brightness(1.18) drop-shadow(0 0 6px rgba(220,235,255,.85)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-honey,#dd .ddpick .opt img.vx-honey{filter:sepia(.7) saturate(1.6) hue-rotate(-6deg) brightness(1.05) drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.9)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-moss,#dd .ddpick .opt img.vx-moss{filter:sepia(.4) hue-rotate(50deg) saturate(1.4) drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.9)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .world .s.vx-rose,#dd .ddpick .opt img.vx-rose{filter:hue-rotate(300deg) saturate(1.3) brightness(1.06) drop-shadow(1.5px -1.2px 0 rgba(255,222,150,.9)) drop-shadow(0 5px 4px rgba(40,30,10,.32))}
#dd .ddpick .opt img.fl-ice{filter:hue-rotate(170deg) saturate(1.2)}#dd .ddpick .opt img.fl-emerald{filter:hue-rotate(70deg) saturate(1.3)}
#dd .world .flame.fl-ice{background:radial-gradient(circle at 50% 70%,#F0FCFF,#7FD8FF 45%,#2E86E0 80%)}
#dd .world .flame.fl-emerald{background:radial-gradient(circle at 50% 70%,#F4FFE0,#7FE07A 45%,#1F9E54 80%)}
#dd .world .fireglow.fl-ice{background:radial-gradient(closest-side,rgba(120,200,255,.75),rgba(80,160,255,0))}
#dd .world .fireglow.fl-emerald{background:radial-gradient(closest-side,rgba(130,240,130,.7),rgba(60,200,100,0))}
#dd .world .lampglow.g-blue{background:radial-gradient(closest-side,rgba(220,245,255,.95),rgba(140,210,255,.4) 55%,rgba(140,210,255,0))}
#dd .world .lampglow.g-pink{background:radial-gradient(closest-side,rgba(255,236,246,.95),rgba(255,170,210,.42) 55%,rgba(255,170,210,0))}
#dd .world .ribbonp{width:10px;height:26px;border-radius:3px;background:repeating-linear-gradient(-45deg,#F2719F 0 4px,#FFE3EE 4px 8px);box-shadow:0 1px 2px rgba(0,0,0,.25)}
/* the level screen background of every area */
#dd .lv-bg.ch-w,#dd .lv-bg.ch-p{background:#3A2A14 url(../img/dedinka/lv-w.webp) 50% 30%/cover no-repeat}
#dd .lv-bg.ch-p{background-image:url(../img/dedinka/lv-p.webp)}
@media (min-resolution:1.5dppx){#dd .lv-bg.ch-w{background-image:url(../img/dedinka/lv-w@2x.webp)}#dd .lv-bg.ch-p{background-image:url(../img/dedinka/lv-p@2x.webp)}}
#dd .lv-bg.ch-w::after,#dd .lv-bg.ch-p::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 85% at 50% 45%,rgba(20,10,0,0) 55%,rgba(20,10,0,.38))}
/* map: area banners, veils, the levels not delivered yet, the horizon band of the next area */
.b-s{background:linear-gradient(#8EE35A,#46A02C);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 0 #2F7A1A}
.b-a{background:linear-gradient(#FFB662,#E2771E);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 4px 0 #9E4A0C}
.b-w{background:linear-gradient(#A6DCFF,#4C9BE0);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 4px 0 #2A6BAA}
.b-p{background:linear-gradient(#FFB3D1,#E2629A);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 4px 0 #A93163}
.b-next{background:linear-gradient(#C9B8FF,#8A6AE0);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 4px 0 #5A3FB0}
#dd .mapin .aveil[data-ch=w]{background:linear-gradient(rgba(245,250,255,.62),rgba(232,240,250,.5) 30%,rgba(232,240,250,.42) 85%,rgba(232,240,250,0))}
#dd .mapin .aveil[data-ch=p]{background:linear-gradient(rgba(255,248,252,.6),rgba(244,236,244,.5) 30%,rgba(244,236,244,.4) 85%,rgba(244,236,244,0))}
#dd .mapin .lveil{position:absolute;left:0;width:390px;z-index:3;pointer-events:none;background:linear-gradient(rgba(250,246,255,.86),rgba(250,246,255,.7) 85%,rgba(250,246,255,0))}
#dd .mhoriz .mh-aut[data-ch=w]{background:linear-gradient(rgba(236,244,252,.96),rgba(214,228,242,.86) 60%,rgba(214,228,242,0))}
#dd .mhoriz .mh-aut[data-ch=p]{background:linear-gradient(rgba(206,236,180,.96),rgba(186,224,150,.86) 60%,rgba(186,224,150,0))}
#dd .mhoriz .mh-aut[data-ch=w] .mh-h{filter:saturate(.45) brightness(1.1) drop-shadow(0 4px 3px rgba(30,40,60,.2))}
/* the living village: snowfall (winter) and blossom petals (spring) */
#dd .world .snow i,#dd .world .petals i{position:absolute;top:-12px;width:5px;height:5px;border-radius:50%;background:#fff;opacity:.9;box-shadow:0 0 2px rgba(255,255,255,.9);animation:ddfall var(--d) linear infinite;transform:scale(var(--s))}
#dd .world .petals i{width:7px;height:5px;border-radius:70% 30% 70% 30%;background:#FFC7DD;box-shadow:none;opacity:.95}
#dd .world .petals i:nth-child(3n){background:#FFFFFF}#dd .world .petals i:nth-child(4n){background:#FFB0CF}
@keyframes ddfall{0%{transform:translate(0,0) rotate(0) scale(var(--s))}100%{transform:translate(var(--dx),620px) rotate(320deg) scale(var(--s))}}
#dd .world .birds.b2{animation-duration:30s;animation-delay:-11s}
@media (prefers-reduced-motion:reduce){#dd .world .snow,#dd .world .petals{display:none}}
#dd .dd-screen[data-s=village][data-ch=w]{background:#E4EBF2}
#dd .dd-screen[data-s=village][data-ch=a]{background:#D9C38E}
#dd .mapin .banner.b-a,#dd .mapin .banner.b-w,#dd .mapin .banner.b-p{white-space:nowrap;max-width:none;font-size:14px;padding:5px 12px 6px}
#dd .mapin .banner.b-a small,#dd .mapin .banner.b-w small,#dd .mapin .banner.b-p small{font-size:12px}
/* v8: boss levels (the cauldron), the end-of-level move bonus, the v6 blocker goal chips */
#dd .ic-cauldron{display:block;width:38px;height:38px}
#dd .goal .g-b .ic-cauldron{width:36px;height:36px}
.g-moss{display:block;width:34px;height:34px;border-radius:12px 16px 10px 14px;background:radial-gradient(circle at 30% 30%,#B9F07A,#6CB83A 55%,#3E7F22);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.g-crate{display:block;width:34px;height:34px;border-radius:5px;background:repeating-linear-gradient(90deg,#D49A5A 0 10px,#C1844A 10px 11px);box-shadow:inset 0 0 0 3px #8A5A2E,inset 0 0 0 5px #E3B07A}
.g-candle{display:block;position:relative;width:16px;height:30px;margin-top:6px;border-radius:4px 4px 3px 3px;background:linear-gradient(90deg,#FFF3D6,#F3D9A4);box-shadow:inset 0 -3px 0 #E0BC7A}
.g-candle::before{content:"";position:absolute;left:50%;top:-12px;width:9px;height:13px;margin-left:-4.5px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#FFF7C0,#FFB52E 70%)}
#dd .pre-boss{display:flex;width:max-content;max-width:100%;align-items:center;gap:6px;margin:2px auto 6px;padding:3px 12px 3px 6px;border-radius:14px;background:#EFE4F7;color:#4A2E66;font:900 14px Nunito,sans-serif}
#dd .pre-boss .ic-cauldron{width:28px;height:28px}
#dd .res-boss{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;margin:0 auto 8px;max-width:300px;padding:6px 12px;border-radius:14px;background:linear-gradient(#F3EAFB,#E4D4F2);color:#4A2E66}
#dd .res-boss b{font:900 16px Nunito,sans-serif}#dd .res-boss small{flex-basis:100%;font:800 12px Nunito,sans-serif;color:#6E5486}
#dd .res-boss .ic-cauldron{width:32px;height:32px}
#dd .res-bonus{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 0;font:900 14px Nunito,sans-serif;color:#8A5226}
#dd .res-bonus .ic-coin{width:18px;height:18px}
.mapin .nboss{position:absolute;z-index:9;transform:translate(14px,-40px);pointer-events:none;filter:drop-shadow(0 2px 2px rgba(40,20,40,.35))}
.mapin .nboss .ic-cauldron{width:26px;height:26px}
/* the site sets img{display:block}: the milestone line keeps its icons inline */
#dd .res-ms img{display:inline-block;vertical-align:-5px;margin:0 2px}
/* v9: "Domov" — the secondary way home on the end-of-level screens (smaller than the green primary) */
#dd .res-home{display:inline-flex;align-items:center;justify-content:center;gap:6px}
#dd .res-home .ic-home{width:18px;height:18px;flex:none;color:#8C7F70}
#dd .dd-ov.res.win .sheet>.res-home{width:auto;min-width:46%;margin:10px auto 0;display:flex}
#dd .res-sec{margin-top:10px}
/* v9: booster explanations — pre-level list, first-tap card, one line in the shop */
#dd .bo-list{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:5px;text-align:left}
#dd .bo-list li{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;line-height:1.3;color:var(--ink,#4A3220)}
#dd .bo-list .bl-ic{width:26px;height:26px;object-fit:contain;flex:none}
#dd .bo-list b{font-weight:900;color:#8A5226}
#dd .bo-tip{position:relative;margin:12px auto 4px;padding:16px 14px 12px;max-width:320px;text-align:center;border-radius:16px;background:#FFFBF2;box-shadow:0 0 0 2px #E7C68E,0 3px 0 2px #C9965A,0 8px 16px rgba(60,30,0,.25)}
#dd .bo-tip .bo-new{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(#9C5CF0,#6E3FC8);color:#fff;font-weight:900;font-size:12px;padding:1px 12px 2px;border-radius:10px;white-space:nowrap}
#dd .bo-tip .bt-ic{height:44px;width:auto;display:block;margin:2px auto 4px}
#dd .bo-tip p{margin:4px 0;font-size:14px;font-weight:700;line-height:1.35}
#dd .bo-tip small{display:block;color:var(--mut);font-weight:700;margin-bottom:8px}
#dd .bo-tip .btn3d{margin:0 auto;min-width:120px}
#dd .bo-buy .bo-d{font-size:10.5px;line-height:1.25;color:var(--mut);font-weight:700;text-align:center;padding:0 2px;margin:1px 0 2px}
