/* Dingo Digits — site stylesheet. Warm outback palette, rounded type, scalloped edges.
   Engine theming is at the bottom (the engine prefix is rewritten at build time). */
:root{
  --dd-sand:#fdf3e1; --dd-sand-2:#f8e6c8; --dd-card:#fffaf2; --dd-ink:#2d1b12; --dd-ink-2:#6a4935; --dd-line:#ebd3ae;
  --dd-earth:#b4442a; --dd-earth-2:#8e311c; --dd-on-earth:#fff4e3; --dd-ochre:#e8962e; --dd-ochre-2:#fcdca4;
  --dd-gum:#3f7d5f; --dd-gum-2:#d9ebdf; --dd-sky:#246f9f; --dd-sky-2:#d8edf8; --dd-link:#9a3a20;
  --dd-sun:#f6b445; --dd-ridge-far:#eeaa71; --dd-ridge-mid:#cf6a42; --dd-ridge-near:#a03d24; --dd-track:#fff3df;
  --dd-stone:#fff3df; --dd-stone-ink:#8e311c; --dd-bark:#8a6a52; --dd-leaf:#5f9a7b; --dd-leaf-2:#94c3a6;
  --dd-ic-bg:#fff4e0; --dd-ic-line:#d9b98d; --dd-ic-ink:#3a2216; --dd-ic-hot:#c24a2c; --dd-ic-block:#8e311c;
  --dd-ic-tile:#fcdca4; --dd-ic-cover:#e5c08e; --dd-ic-n1:#246f9f; --dd-ic-n2:#3f7d5f;
  --dd-cover:#e8c493; --dd-open:#fff8ec; --dd-mine:#f3b2a0; --dd-safe:#cfe8d6;
  --dd-n1:#246f9f; --dd-n2:#3f7d5f; --dd-n3:#b4442a; --dd-n4:#6a3f9e;
  --dd-night:#2a1a14; --dd-night-ink:#f6e3cb; --dd-night-2:#d8b79a;
  --dd-font-head:"Avenir Next Rounded","Nunito","Quicksand","Varela Round","Arial Rounded MT Bold","Trebuchet MS",ui-rounded,sans-serif;
  --dd-font-body:"Avenir Next",Avenir,"Segoe UI Variable Text","Lato","Noto Sans","Liberation Sans",Verdana,sans-serif;
  --dd-font-num:ui-rounded,"Arial Rounded MT Bold","Nunito","Trebuchet MS",sans-serif;
  --dd-r:20px; --dd-r-s:12px;
  --dd-lift:0 1px 0 rgba(140,70,20,.10),0 10px 26px -14px rgba(140,60,20,.45);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --dd-sand:#1c1310; --dd-sand-2:#261a15; --dd-card:#2a1d17; --dd-ink:#f7e8d6; --dd-ink-2:#cfb39b; --dd-line:#4a3429;
  --dd-earth:#e2734f; --dd-earth-2:#f08f6c; --dd-on-earth:#1c1310; --dd-ochre:#f2ac4a; --dd-ochre-2:#5a3d1c;
  --dd-gum:#8cc6a6; --dd-gum-2:#22372c; --dd-sky:#82c4ec; --dd-sky-2:#1d3442; --dd-link:#f6a27f;
  --dd-sun:#f2c46a; --dd-ridge-far:#6b3b29; --dd-ridge-mid:#87412a; --dd-ridge-near:#a24c2e; --dd-track:#f7e8d6;
  --dd-stone:#f7e1c2; --dd-stone-ink:#7a2c19; --dd-bark:#b08a6c; --dd-leaf:#7fb595; --dd-leaf-2:#a7d3b8;
  --dd-ic-bg:#3a2a21; --dd-ic-line:#6b5242; --dd-ic-ink:#f7e8d6; --dd-ic-hot:#f2955f; --dd-ic-block:#e2734f;
  --dd-ic-tile:#6a4a26; --dd-ic-cover:#7a5a3e; --dd-ic-n1:#82c4ec; --dd-ic-n2:#8cc6a6;
  --dd-cover:#6f5139; --dd-open:#2f221b; --dd-mine:#7a3626; --dd-safe:#2d4a39;
  --dd-n1:#82c4ec; --dd-n2:#8cc6a6; --dd-n3:#f2955f; --dd-n4:#c4a5f0;
  --dd-night:#120b08; --dd-night-ink:#f2dcc2; --dd-night-2:#c7a688;
  --dd-lift:0 1px 0 rgba(0,0,0,.4),0 12px 28px -14px rgba(0,0,0,.8);
  color-scheme:dark;
}}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--dd-sand);color:var(--dd-ink);font:17px/1.62 var(--dd-font-body);min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
img,svg{max-width:100%}
a{color:var(--dd-link);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration-thickness:.16em}
:focus-visible{outline:3px solid var(--dd-ochre);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--dd-font-head);line-height:1.15;letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,1.2rem + 3vw,3rem);font-weight:800}
h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);font-weight:800}
h3{font-size:1.1rem;font-weight:750}
p{margin:0 0 1em}
.dd-wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 16px}
.dd-jump{position:absolute;left:12px;top:-60px;background:var(--dd-ink);color:var(--dd-sand);padding:8px 14px;border-radius:10px;z-index:9}
.dd-jump:focus{top:10px}
.dd-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dd-i{width:1.15em;height:1.15em;vertical-align:-.2em;flex-shrink:0}

/* ---------------------------------------------------------------- masthead */
.dd-top{background:var(--dd-earth);color:var(--dd-on-earth);position:relative;padding:10px 0 12px;margin-bottom:22px}
.dd-top::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:12px;
  background:radial-gradient(circle at 12px 0,var(--dd-earth) 11px,transparent 12px) 0 0/24px 12px repeat-x}
.dd-top__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.dd-logo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;margin-right:auto;min-width:0}
.dd-logo svg{width:42px;height:42px;flex-shrink:0;filter:drop-shadow(0 2px 0 rgba(0,0,0,.18))}
.dd-logo__word{font:800 1.3rem/1 var(--dd-font-head);letter-spacing:-.02em;white-space:nowrap}
.dd-logo__word b{color:var(--dd-ochre-2);font-weight:800}
@media (prefers-color-scheme:dark){.dd-logo__word b{color:#3a1a0c}}
.dd-menu{display:flex;flex-wrap:wrap;gap:6px;order:3;width:100%}
.dd-menu__a{color:inherit;text-decoration:none;font:700 .95rem/1 var(--dd-font-head);padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12)}
.dd-menu__a:hover,.dd-menu__a[aria-current]{background:var(--dd-on-earth);color:var(--dd-earth-2)}
@media (min-width:760px){.dd-menu{order:0;width:auto}}
.dd-tongue{position:relative}
.dd-tongue summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font:700 .9rem/1 var(--dd-font-head);
  padding:9px 12px;border-radius:999px;border:2px solid rgba(255,255,255,.35)}
.dd-tongue summary::-webkit-details-marker{display:none}
.dd-tongue[open] summary{background:var(--dd-on-earth);color:var(--dd-earth-2);border-color:transparent}
.dd-tongue__list{position:absolute;right:0;top:calc(100% + 8px);z-index:5;background:var(--dd-card);color:var(--dd-ink);border-radius:var(--dd-r-s);
  box-shadow:var(--dd-lift);padding:6px;min-width:170px;display:grid;gap:2px;border:2px solid var(--dd-line)}
.dd-tongue__list a{color:inherit;text-decoration:none;padding:8px 12px;border-radius:8px;display:flex;justify-content:space-between;gap:12px}
.dd-tongue__list a:hover{background:var(--dd-sand-2)}
.dd-tongue__list a[aria-current]{font-weight:750}
.dd-tongue__list small{color:var(--dd-ink-2);font-weight:600}

/* ---------------------------------------------------------------- breadcrumb as a dotted track */
.dd-track{margin:4px 0 14px;font-size:.88rem}
.dd-track ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}
.dd-track li{display:flex;align-items:center;min-width:0}
.dd-track li+li::before{content:"";width:22px;height:2px;margin:0 6px;background:radial-gradient(circle,var(--dd-ink-2) 1px,transparent 1.4px) 0 0/6px 2px repeat-x}
.dd-track a{color:var(--dd-ink-2)}
.dd-track [aria-current]{font-weight:700;overflow-wrap:anywhere}

/* ---------------------------------------------------------------- buttons, chips */
.dd-btn{display:inline-flex;align-items:center;gap:8px;font:800 1rem/1 var(--dd-font-head);padding:13px 20px;border-radius:999px;text-decoration:none;
  background:var(--dd-earth);color:var(--dd-on-earth);box-shadow:0 3px 0 var(--dd-earth-2);border:0;cursor:pointer}
.dd-btn:hover{transform:translateY(-1px)}
.dd-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--dd-earth-2)}
.dd-btn--soft{background:var(--dd-ochre-2);color:var(--dd-ink);box-shadow:0 3px 0 var(--dd-ochre)}
.dd-btns{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 6px}
.dd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.dd-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--dd-card);border:2px solid var(--dd-line);
  font:700 .88rem/1.2 var(--dd-font-head);color:var(--dd-ink);text-decoration:none}
a.dd-chip:hover{border-color:var(--dd-earth)}
.dd-chip[aria-current]{background:var(--dd-earth);border-color:var(--dd-earth);color:var(--dd-on-earth)}
.dd-chip--gum{background:var(--dd-gum-2);border-color:transparent}
.dd-chip--sky{background:var(--dd-sky-2);border-color:transparent}
.dd-chip--sun{background:var(--dd-ochre-2);border-color:transparent}

/* ---------------------------------------------------------------- home */
.dd-hero{display:grid;gap:10px;align-items:center;margin-bottom:26px}
.dd-hero__kicker{display:inline-flex;align-items:center;gap:8px;font:800 .82rem/1 var(--dd-font-head);text-transform:uppercase;letter-spacing:.08em;color:var(--dd-gum);margin-bottom:12px}
.dd-hero__lead{font-size:1.12rem;max-width:36em;color:var(--dd-ink-2)}
.dd-hero__art{width:100%;height:auto;display:block}
@media (min-width:860px){.dd-hero{grid-template-columns:1.05fr 1fr;gap:36px}}
.dd-shelf{margin:34px 0}
.dd-shelf__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:12px}
.dd-shelf__head p{margin:0;color:var(--dd-ink-2);max-width:44em}
.dd-dune{display:block;width:100%;height:22px;color:var(--dd-ochre);margin:30px 0}
.dd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;list-style:none;margin:0;padding:0}
.dd-card{position:relative;background:var(--dd-card);border:2px solid var(--dd-line);border-radius:var(--dd-r);padding:18px 18px 16px;box-shadow:var(--dd-lift);
  display:flex;flex-direction:column;gap:8px;transition:transform .15s,border-color .15s}
.dd-card:nth-child(odd){transform:rotate(-.4deg)}
.dd-card:nth-child(even){transform:rotate(.4deg)}
.dd-card:hover{transform:rotate(0) translateY(-2px);border-color:var(--dd-ochre)}
.dd-card h3{margin:0;font-size:1.25rem;min-width:0;overflow-wrap:break-word}
/* в узкой карточке (5 в ряд на десктопе) рядом с бейджем остаётся ~97px — «Felhőkarcolók» вылезал; бейдж встаёт над заголовком */
.dd-card{container-type:inline-size}
@container (max-width:210px){.dd-card__top{flex-direction:column;align-items:flex-start;gap:8px}}
.dd-card h3 a{color:inherit;text-decoration:none}
.dd-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.dd-card p{margin:0;color:var(--dd-ink-2);font-size:.96rem}
.dd-card__top{display:flex;align-items:center;gap:12px}
.dd-badge{width:56px;height:56px;flex-shrink:0}
.dd-card__levels{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;position:relative;z-index:1}
.dd-card__levels a{font:700 .8rem/1 var(--dd-font-head);padding:6px 9px;border-radius:999px;background:var(--dd-sand-2);color:var(--dd-ink);text-decoration:none}
.dd-card__levels a:hover{background:var(--dd-ochre-2)}
.dd-sunrise{display:grid;gap:16px;background:var(--dd-sky-2);border-radius:28px;padding:22px;position:relative;overflow:hidden}
.dd-sunrise::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:var(--dd-sun);opacity:.55}
.dd-sunrise>*{position:relative}
.dd-sunrise h2{display:flex;align-items:center;gap:10px}
.dd-sunrise__date{font:800 .9rem/1 var(--dd-font-head);color:var(--dd-sky);text-transform:uppercase;letter-spacing:.06em}
.dd-sunrise__row{display:flex;flex-wrap:wrap;gap:8px}
@media (min-width:860px){.dd-sunrise{grid-template-columns:1.3fr 1fr;align-items:center;padding:30px 34px}}
.dd-again{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:var(--dd-gum-2);border-radius:var(--dd-r);padding:16px 20px;margin:0 0 24px}
.dd-again__txt{flex:1 1 220px;min-width:0}
.dd-again__txt b{display:block;font:800 1.05rem/1.25 var(--dd-font-head)}
.dd-again__txt span{color:var(--dd-ink-2);font-size:.92rem}
.dd-points{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;margin:0;padding:0;counter-reset:pt}
.dd-points li{background:var(--dd-card);border-radius:var(--dd-r);padding:18px 18px 16px 62px;position:relative;border:2px dashed var(--dd-line)}
.dd-points li::before{counter-increment:pt;content:counter(pt);position:absolute;left:16px;top:16px;width:32px;height:32px;border-radius:50%;
  background:var(--dd-ochre);color:#3a1a0c;font:800 1rem/32px var(--dd-font-num);text-align:center}
.dd-points h3{margin-bottom:.3em}
.dd-points p{margin:0;font-size:.95rem;color:var(--dd-ink-2)}

/* ---------------------------------------------------------------- game pages */
.dd-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:6px}
.dd-head .dd-badge{width:52px;height:52px}
.dd-head h1{margin:0;flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.dd-sub{color:var(--dd-ink-2);font-size:1.05rem;margin:4px 0 14px}
.dd-stage{margin:0 auto 10px;max-width:1040px;min-height:420px}
.dd-stage__wait{display:flex;align-items:center;justify-content:center;min-height:360px;border-radius:var(--dd-r);background:var(--dd-card);
  border:2px dashed var(--dd-line);color:var(--dd-ink-2);padding:20px;text-align:center}
.dd-cols{display:grid;gap:26px;margin-top:26px}
@media (min-width:920px){.dd-cols{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.dd-cols>aside{position:sticky;top:14px}}
.dd-prose{max-width:46em}
.dd-prose h2{margin-top:1.4em}
.dd-prose h2:first-child{margin-top:0}
.dd-prose strong{color:var(--dd-earth-2)}
.dd-panel{background:var(--dd-card);border-radius:var(--dd-r);padding:18px;border:2px solid var(--dd-line);margin-bottom:16px}
.dd-panel h2,.dd-panel h3{font-size:1.1rem;margin-bottom:.6em;display:flex;align-items:center;gap:8px}
.dd-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dd-panel li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:var(--dd-ink);padding:7px 10px;border-radius:10px;background:var(--dd-sand)}
.dd-panel li a:hover{background:var(--dd-ochre-2)}
.dd-panel li small{color:var(--dd-ink-2)}
.dd-faq{margin-top:1.6em}
.dd-faq details{border-bottom:2px dotted var(--dd-line);padding:10px 0}
.dd-faq summary{cursor:pointer;font:750 1.02rem/1.35 var(--dd-font-head);list-style:none;display:flex;gap:10px;align-items:baseline}
.dd-faq summary::-webkit-details-marker{display:none}
.dd-faq summary::before{content:"+";font:800 1.1rem/1 var(--dd-font-num);color:var(--dd-earth);width:14px;flex-shrink:0}
.dd-faq details[open] summary::before{content:"–"}
.dd-faq details p{margin:.6em 0 .2em 24px}

/* numbered puzzle pages */
.dd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 18px;padding:0}
.dd-facts div{background:var(--dd-card);border-radius:var(--dd-r-s);padding:10px 12px;border-left:5px solid var(--dd-ochre)}
.dd-facts div:nth-child(2){border-left-color:var(--dd-gum)}
.dd-facts div:nth-child(3){border-left-color:var(--dd-sky)}
.dd-facts div:nth-child(4){border-left-color:var(--dd-earth)}
.dd-facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dd-ink-2);font-weight:700}
.dd-facts dd{margin:2px 0 0;font:800 1.15rem/1.2 var(--dd-font-num);overflow-wrap:anywhere}
.dd-combos{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:-.4em 0 1em;padding:0}
.dd-combos li{font:700 .9rem/1 var(--dd-font-num);background:var(--dd-sky-2);padding:7px 11px;border-radius:9px}
.dd-start{display:flex;gap:12px;align-items:flex-start;background:var(--dd-ochre-2);border-radius:var(--dd-r);padding:14px 16px;margin:1.2em 0}
.dd-start svg{width:26px;height:26px;color:var(--dd-earth-2);margin-top:2px}
.dd-start p{margin:0}
.dd-start b{display:block;font-family:var(--dd-font-head)}
.dd-steps{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:22px 0}
.dd-steps a,.dd-steps span{display:flex;align-items:center;gap:6px;padding:12px 14px;border-radius:var(--dd-r-s);background:var(--dd-card);border:2px solid var(--dd-line);
  text-decoration:none;color:var(--dd-ink);font:750 .95rem/1.2 var(--dd-font-head);min-width:0}
.dd-steps a:hover{border-color:var(--dd-earth)}
.dd-steps__next{justify-content:flex-end;text-align:right}
.dd-steps__up{justify-content:center}
.dd-steps .dd-steps__gap{visibility:hidden}
@media (max-width:520px){.dd-steps{grid-template-columns:1fr 1fr}.dd-steps__up{grid-column:1/-1;order:3}}

/* level lists with thumbnails */
.dd-plots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.dd-plots a{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--dd-r);background:var(--dd-card);border:2px solid var(--dd-line);
  text-decoration:none;color:var(--dd-ink);position:relative;height:100%}
.dd-plots a:hover{border-color:var(--dd-ochre)}
.dd-plots b{font:800 1.05rem/1.1 var(--dd-font-num)}
.dd-plots small{color:var(--dd-ink-2);font-size:.82rem;line-height:1.35}
.dd-thumb{width:100%;height:auto;aspect-ratio:1;display:block;border-radius:10px;background:var(--dd-sand)}
.dd-done{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--dd-gum);color:#fff;display:none;place-items:center}
.dd-done svg{width:18px;height:18px}
.dd-got .dd-done{display:grid}
.dd-index{display:grid;gap:22px}
.dd-index section{background:var(--dd-card);border-radius:var(--dd-r);padding:18px;border:2px solid var(--dd-line)}
.dd-index h2{display:flex;align-items:center;gap:10px;font-size:1.3rem}
.dd-index h2 .dd-badge{width:40px;height:40px}
.dd-index h3{margin:.8em 0 .4em;font-size:1rem}
.dd-nums{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.dd-nums a{display:inline-block;min-width:58px;text-align:center;padding:6px 8px;border-radius:8px;background:var(--dd-sand);text-decoration:none;
  color:var(--dd-ink);font:700 .9rem/1.2 var(--dd-font-num)}
.dd-nums a:hover{background:var(--dd-ochre-2)}
.dd-nums a.dd-got{background:var(--dd-gum);color:#fff}

/* daily */
.dd-tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.dd-tally div{background:var(--dd-card);border-radius:var(--dd-r-s);padding:12px;text-align:center;border:2px solid var(--dd-line)}
.dd-tally b{display:block;font:800 1.6rem/1.1 var(--dd-font-num);color:var(--dd-earth)}
.dd-tally span{font-size:.8rem;color:var(--dd-ink-2);font-weight:650;line-height:1.2;display:block}
.dd-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 12px}
.dd-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 7px;border-radius:14px;border:2px solid var(--dd-line);background:var(--dd-card);
  color:var(--dd-ink);font:700 .74rem/1.15 var(--dd-font-head);cursor:pointer;min-width:0;position:relative}
.dd-tab svg.dd-badge{width:34px;height:34px}
.dd-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* на телефоне полное имя («Pilvenpiirtäjät») не влезает в пятую часть экрана: видно короткое, полное остаётся для скринридера */
.dd-tab .dd-tab__short{display:none}
@media (max-width:640px){
  .dd-tab .dd-tab__full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .dd-tab .dd-tab__short{display:block}
}
@media (max-width:360px){.dd-tabs{gap:4px}.dd-tab{font-size:.68rem;padding-inline:0}}
.dd-tab[aria-selected="true"]{border-color:var(--dd-earth);background:var(--dd-ochre-2)}
.dd-tab .dd-done{top:-6px;right:-4px;width:20px;height:20px}
.dd-tab .dd-done svg{width:13px;height:13px}
.dd-tab.dd-got .dd-done{display:grid}
.dd-dailymsg{min-height:1.5em;font-weight:650;color:var(--dd-gum)}

/* guides */
.dd-table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 1.2em}
.dd-table th,.dd-table td{text-align:left;padding:7px 8px;border-bottom:2px dotted var(--dd-line);vertical-align:top}
.dd-table th{font-family:var(--dd-font-head);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dd-ink-2)}
.dd-table td{font-family:var(--dd-font-num);font-weight:700}
.dd-table td:last-child{overflow-wrap:anywhere}
.dd-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0 0 1.4em}
.dd-fig{margin:0;background:var(--dd-card);border-radius:var(--dd-r);padding:14px;border:2px solid var(--dd-line)}
.dd-fig__svg{width:100%;max-width:220px;height:auto;display:block;margin:0 auto 8px}
.dd-fig figcaption{font-size:.88rem;color:var(--dd-ink-2)}
.dd-guides{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));list-style:none;margin:0;padding:0}
.dd-guides li{background:var(--dd-card);border-radius:var(--dd-r);padding:18px;border:2px solid var(--dd-line)}
.dd-guides p{color:var(--dd-ink-2);font-size:.95rem}
.dd-rules{display:grid;gap:12px;list-style:none;margin:0 0 10px;padding:0}
.dd-rules li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;background:var(--dd-card);border-radius:var(--dd-r);padding:14px;border:2px solid var(--dd-line)}
.dd-rules .dd-badge{width:44px;height:44px}
.dd-rules p{margin:0}
.dd-mail{display:inline-flex;align-items:center;gap:10px;font:800 1.2rem/1.2 var(--dd-font-head);padding:14px 18px;border-radius:var(--dd-r);background:var(--dd-card);
  border:2px solid var(--dd-line);text-decoration:none;color:var(--dd-earth-2);overflow-wrap:anywhere;max-width:100%}
.dd-lost{text-align:center;padding:30px 0 50px}
.dd-lost svg.dd-lost__mark{width:96px;height:96px;margin-bottom:10px}
.dd-lost .dd-btns{justify-content:center}

/* ---------------------------------------------------------------- footer */
.dd-foot{margin-top:56px;background:var(--dd-night);color:var(--dd-night-ink);position:relative;padding:34px 0 26px}
.dd-foot__ridge{position:absolute;left:0;right:0;top:-36px;width:100%;height:38px;color:var(--dd-night);display:block}
.dd-foot__stars{position:absolute;right:16px;top:8px;width:110px;height:36px;color:var(--dd-night-2);opacity:.7}
.dd-foot__grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.dd-foot__about{grid-column:1/-1;max-width:40em;color:var(--dd-night-2);font-size:.94rem}
@media (min-width:860px){.dd-foot__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}.dd-foot__about{grid-column:auto}}
.dd-foot h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dd-ochre);margin-bottom:.6em}
.dd-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dd-foot a{color:var(--dd-night-ink);text-decoration:none}
.dd-foot a:hover{text-decoration:underline}
.dd-foot__base{margin-top:24px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.2);font-size:.85rem;color:var(--dd-night-2);display:flex;flex-wrap:wrap;gap:6px 18px}

/* ---------------------------------------------------------------- engine theme (prefix rewritten by tools/reprefix.py) */
.dd-stage .dgo[data-theme]{
  --dgo-bg:#fbe9cd; --dgo-surface:#fffaf2; --dgo-surface-2:#f7e4c4; --dgo-surface-3:#efd2a3;
  --dgo-text:#2d1b12; --dgo-muted:#7a5640; --dgo-line:#e3c697; --dgo-line-strong:#5e3a26;
  --dgo-accent:#b4442a; --dgo-accent-text:#fff6ea; --dgo-accent-soft:#fcd9b0; --dgo-peer:#fdf1de; --dgo-same:#f9cf9f;
  --dgo-given:#2d1b12; --dgo-user:#1f6797; --dgo-note:#8a6a55; --dgo-block:#7d2d1a; --dgo-block-text:#ffeacb;
  --dgo-error:#c2261f; --dgo-error-soft:#fbd5cf; --dgo-success:#2f7a55; --dgo-success-soft:#d3ecdc;
  --dgo-lit:#f6b445; --dgo-lit-glow:rgba(246,180,69,.55); --dgo-zero:#c4622b; --dgo-one:#1f6797;
  --dgo-island:#fffaf2; --dgo-bridge:#5e3a26; --dgo-water:#d8edf8; --dgo-cover:#e6bf88;
  --dgo-n1:#1f6797; --dgo-n2:#2f7a55; --dgo-n3:#b4442a; --dgo-n4:#6a3f9e; --dgo-n5:#8e1f2c; --dgo-n6:#13757e; --dgo-n7:#2d1b12; --dgo-n8:#7a5640;
  --dgo-radius:22px; --dgo-cell-radius:7px; --dgo-board-max:600px;
  --dgo-font:var(--dd-font-body); --dgo-font-num:var(--dd-font-num);
  --dgo-shadow:0 1px 0 rgba(140,70,20,.12),0 4px 12px -6px rgba(140,60,20,.35); --dgo-overlay:rgba(45,27,18,.55);
  border:2px solid var(--dd-line);
}
@media (prefers-color-scheme:dark){.dd-stage .dgo[data-theme]{
  --dgo-bg:#261a15; --dgo-surface:#33241c; --dgo-surface-2:#3d2b21; --dgo-surface-3:#4b3528;
  --dgo-text:#f7e8d6; --dgo-muted:#cfb39b; --dgo-line:#594033; --dgo-line-strong:#d9bfa6;
  --dgo-accent:#f2ac4a; --dgo-accent-text:#2a1407; --dgo-accent-soft:#5a3a1a; --dgo-peer:#2e211a; --dgo-same:#5e4024;
  --dgo-given:#f7e8d6; --dgo-user:#82c4ec; --dgo-note:#c4a68c; --dgo-block:#120b08; --dgo-block-text:#f2cf9e;
  --dgo-error:#ff8a73; --dgo-error-soft:#4d2219; --dgo-success:#8cc6a6; --dgo-success-soft:#22372c;
  --dgo-lit:#f2c46a; --dgo-lit-glow:rgba(242,196,106,.45); --dgo-zero:#f2955f; --dgo-one:#82c4ec;
  --dgo-island:#33241c; --dgo-bridge:#e8d2bb; --dgo-water:#1d3442; --dgo-cover:#6f5139;
  --dgo-n1:#82c4ec; --dgo-n2:#8cc6a6; --dgo-n3:#f2955f; --dgo-n4:#c4a5f0; --dgo-n5:#ff8fa3; --dgo-n6:#6fd3dc; --dgo-n7:#f7e8d6; --dgo-n8:#cfb39b;
  --dgo-shadow:0 1px 0 rgba(0,0,0,.45),0 4px 12px -6px rgba(0,0,0,.7); --dgo-overlay:rgba(0,0,0,.62);
}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.dd-card:nth-child(n){transform:none}}
