.dgg-btn{position:fixed;top:14px;right:14px;z-index:60;display:flex;align-items:center;gap:8px;height:46px;margin:0;padding:0;border:0;background:none;box-shadow:none;cursor:pointer;appearance:none}
.dgg-btn:focus-visible{outline:2px solid var(--a3);outline-offset:4px;border-radius:8px}
.dgg-btn svg{display:block;width:46px;height:46px;max-width:none;flex:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));transition:transform .25s ease,filter .25s ease,opacity .25s ease .4s}
.dgg-btn:hover svg,.dgg-btn:focus-visible svg{transform:scale(1.1);filter:drop-shadow(0 0 4px #c6dbb2) drop-shadow(0 0 12px rgba(163,190,140,.75)) drop-shadow(0 0 24px rgba(163,190,140,.35))}
body:has(.dgg:popover-open) .dgg-btn svg{opacity:0;transform:scale(.6);transition:transform .2s ease,filter .2s ease,opacity .15s ease 0s}
.dgg-btn .dgg-label{padding:7px 16px 7px 14px;color:var(--fg);font:600 .9rem/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--a1) 22%,var(--card));clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,9px 100%,0 50%);transition:background-color .2s ease}
.dgg-btn:hover .dgg-label{background:color-mix(in srgb,var(--a1) 36%,var(--card))}
.dgg{--dx:calc(50vw - 37px);--dy:calc(37px - 50vh);width:min(380px,88vw);height:min(380px,88vw);padding:0;border:0;background:transparent;overflow:visible;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;opacity:0;transform:translate(var(--dx),var(--dy)) scale(.12) rotate(-120deg);transition:opacity .45s ease,transform .6s cubic-bezier(.3,.7,.2,1),display .6s allow-discrete,overlay .6s allow-discrete}
.dgg:popover-open{opacity:1;transform:none}
@starting-style{.dgg:popover-open{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.12) rotate(-120deg)}}
.dgg::backdrop{background:rgba(10,12,16,0);backdrop-filter:blur(0);transition:background-color .5s ease,backdrop-filter .5s ease,display .6s allow-discrete,overlay .6s allow-discrete}
.dgg:popover-open::backdrop{background:rgba(10,12,16,.45);backdrop-filter:blur(4px)}
@starting-style{.dgg:popover-open::backdrop{background:rgba(10,12,16,0);backdrop-filter:blur(0)}}
.dgg a{text-decoration:none!important}
.dgg-f{position:absolute;inset:0;color:var(--fg)!important;background:color-mix(in srgb,var(--a1) var(--s),var(--card));opacity:0;scale:.2;rotate:-70deg;transition:background-color .2s ease,opacity .35s ease,scale .5s cubic-bezier(.2,.8,.3,1.1),rotate .55s cubic-bezier(.2,.8,.3,1)}
.dgg:popover-open .dgg-f{opacity:1;scale:1;rotate:0deg}
.dgg-f::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-100%);transition:transform .65s ease}
.dgg-f:hover::before,.dgg-f:focus-visible::before{transform:translateX(100%)}
.dgg-f:hover,.dgg-f:focus-visible{background:color-mix(in srgb,var(--a1) calc(var(--s) + 20%),var(--card));outline:none}
.dgg-f span{position:absolute;left:var(--x);top:var(--y);width:7em;transform:translate(-50%,-50%);font-size:.9rem;font-weight:600;line-height:1.2;text-align:center}
.dgg-f[aria-current]{background:color-mix(in srgb,var(--a1) 62%,var(--card))}
.dgg-f[aria-current] span{color:var(--bg)}
.dgg-f:nth-of-type(1){clip-path:polygon(50% 50%,50% 0,93.3% 25%);--x:64.4%;--y:25%;--s:30%;transition-delay:0s,150ms,150ms,150ms}
.dgg-f:nth-of-type(2){clip-path:polygon(50% 50%,93.3% 25%,93.3% 75%);--x:78.9%;--y:50%;--s:18%;transition-delay:0s,120ms,120ms,120ms}
.dgg-f:nth-of-type(3){clip-path:polygon(50% 50%,93.3% 75%,50% 100%);--x:64.4%;--y:75%;--s:10%;transition-delay:0s,90ms,90ms,90ms}
.dgg-f:nth-of-type(4){clip-path:polygon(50% 50%,50% 100%,6.7% 75%);--x:35.6%;--y:75%;--s:14%;transition-delay:0s,60ms,60ms,60ms}
.dgg-f:nth-of-type(5){clip-path:polygon(50% 50%,6.7% 75%,6.7% 25%);--x:21.1%;--y:50%;--s:24%;transition-delay:0s,30ms,30ms,30ms}
.dgg-f:nth-of-type(6){clip-path:polygon(50% 50%,6.7% 25%,50% 0);--x:35.6%;--y:25%;--s:38%;transition-delay:0s,0ms,0ms,0ms}
.dgg:popover-open .dgg-f:nth-of-type(1){transition-delay:0s,120ms,120ms,120ms}
.dgg:popover-open .dgg-f:nth-of-type(2){transition-delay:0s,175ms,175ms,175ms}
.dgg:popover-open .dgg-f:nth-of-type(3){transition-delay:0s,230ms,230ms,230ms}
.dgg:popover-open .dgg-f:nth-of-type(4){transition-delay:0s,285ms,285ms,285ms}
.dgg:popover-open .dgg-f:nth-of-type(5){transition-delay:0s,340ms,340ms,340ms}
.dgg:popover-open .dgg-f:nth-of-type(6){transition-delay:0s,395ms,395ms,395ms}
.dgg-seams{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none;opacity:0;transition:opacity .25s ease}
.dgg:popover-open .dgg-seams{opacity:1;transition-delay:.45s}
.dgg-seams *{fill:none;stroke:var(--bg);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.dgg-home{position:absolute;left:50%;top:50%;width:30%;height:30%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;clip-path:polygon(50% 0,93.3% 25%,93.3% 75%,50% 100%,6.7% 75%,6.7% 25%);background:var(--bg);color:var(--fg)!important;font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1.1;opacity:0;scale:.4;transition:background-color .2s ease,opacity .3s ease,scale .45s cubic-bezier(.2,.8,.3,1.2)}
.dgg:popover-open .dgg-home{opacity:1;scale:1;transition-delay:0s,.08s,.08s}
.dgg-home:hover,.dgg-home:focus-visible{background:var(--card);outline:none}
.dgg-home svg{width:34%;height:auto;max-width:none}
.dgg-x{position:absolute;top:2%;right:2%;width:48px;height:48px;margin:0;padding:0;border:0;background:none;box-shadow:none;cursor:pointer;appearance:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));opacity:0;transition:transform .3s cubic-bezier(.2,.8,.3,1.3),opacity .2s ease}
.dgg:popover-open .dgg-x{opacity:1;transition-delay:0s,.55s}
.dgg-x:hover,.dgg-x:focus-visible{transform:rotate(90deg) scale(1.1);outline:none}
.dgg-x svg{display:block;width:100%;height:100%;max-width:none}
.dgg-x-label{position:absolute;top:calc(2% + 50px);right:2%;width:48px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#d8dee9;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s ease}
.dgg:popover-open .dgg-x-label{opacity:1;transition-delay:.6s}
.dgg-dba{position:absolute;top:100%;left:50%;translate:-50% 0;width:max-content;max-width:88vw;margin:18px 0 0;color:#d8dee9;font-size:.8rem;line-height:1.4;text-align:center;opacity:0;transition:opacity .2s ease}
.dgg:popover-open .dgg-dba{opacity:1;transition-delay:.6s}
.dgg-dba a{color:#a3be8c!important}
.dgg-dba a:hover{text-decoration:underline!important}
@media (prefers-reduced-motion:reduce){.dgg,.dgg::backdrop,.dgg-f,.dgg-home,.dgg-seams,.dgg-x,.dgg-x-label,.dgg-dba,.dgg-btn svg{transition:none!important}.dgg-f::before{display:none}}
.dgg-btn{--rd:0s}
@supports (overlay:auto){.dgg-btn{--rd:.4s}}
.dgg-btn svg{scale:1;transition:transform .25s ease,filter .25s ease,opacity .3s ease var(--rd),scale .45s cubic-bezier(.3,1.6,.5,1) var(--rd)}
.dgg-btn:hover svg,.dgg-btn:focus-visible svg{transform:scale(1.1);filter:drop-shadow(0 0 2px #c6dbb2) drop-shadow(0 0 6px rgba(163,190,140,.55))}
body:has(.dgg:popover-open) .dgg-btn svg{opacity:0;transform:none;scale:.6;transition:transform .2s ease,filter .2s ease,opacity .15s ease 0s,scale .2s ease 0s}
.dgg-dba{display:block;padding:8px 20px;background:rgba(163,190,140,.14);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);color:#d8dee9!important;transition:opacity .2s ease,background-color .2s ease}
.dgg-dba b{color:#a3be8c;font-weight:600}
.dgg-dba:hover,.dgg-dba:focus-visible{background:rgba(163,190,140,.28);outline:none}
.dgg:popover-open .dgg-dba{transition-delay:.6s,0s}
.dgg-dba::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);animation:dg-sheen 5s ease-in-out 1.2s infinite}
.dgg-dba:hover::after,.dgg-dba:focus-visible::after{animation:dg-sheen-hover .7s ease-out forwards}
@keyframes dg-sheen{0%,72%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes dg-sheen-hover{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.dgg-dba::after{display:none}}
.dgg-f{transition:background-color .2s ease,opacity .35s ease,scale .5s cubic-bezier(.2,.8,.3,1.1),rotate .55s cubic-bezier(.2,.8,.3,1),translate .25s cubic-bezier(.2,.8,.3,1.2)}
.dgg-f span{transition:scale .25s ease}
.dgg-f:not([aria-current]):hover,.dgg-f:not([aria-current]):focus-visible{translate:calc((var(--x) - 50%) * .14) calc((var(--y) - 50%) * .14)}
.dgg-f:not([aria-current]):hover span,.dgg-f:not([aria-current]):focus-visible span{scale:1.08}
.dgg-f[aria-current],.dgg-f[aria-current]:hover,.dgg-f[aria-current]:focus-visible{background:color-mix(in srgb,var(--a1) 62%,var(--card));cursor:default}
.dgg-f[aria-current]::before{display:none}
.dgg-f[aria-current] span::after{content:"You are here";display:block;margin-top:4px;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.dgg:has(.dgg-f:not([aria-current]):hover) .dgg-seams{opacity:.3;transition-delay:0s}
.dgg-f{translate:0 0;transition:background-color .25s ease,opacity .35s ease,scale .5s cubic-bezier(.2,.8,.3,1.1),rotate .55s cubic-bezier(.2,.8,.3,1),translate .35s cubic-bezier(.25,.8,.25,1)}
.dgg-f:not([aria-current]):hover,.dgg-f:not([aria-current]):focus-visible{translate:calc((var(--x) - 50%) * .05) calc((var(--y) - 50%) * .05)}
.dgg-seams{transition:opacity .3s ease}
.dgg:popover-open .dgg-seams{opacity:1;transition-delay:0s;animation:dg-seams-in .3s ease .45s backwards}
@keyframes dg-seams-in{from{opacity:0}to{opacity:1}}
.dgg:has(.dgg-f:not([aria-current]):hover) .dgg-seams,.dgg:has(.dgg-f:not([aria-current]):focus-visible) .dgg-seams{opacity:0}
.dgg-f[aria-current] span::after{content:none}
.dgg-f[aria-current] span::before{content:"";display:block;width:7px;height:7px;margin:0 auto 7px;background:currentColor;rotate:45deg;opacity:.85}
.dgg-x-label{transition:opacity .2s ease,color .25s ease,letter-spacing .25s ease,translate .25s ease}
.dgg:has(.dgg-x:hover) .dgg-x-label,.dgg:has(.dgg-x:focus-visible) .dgg-x-label{color:#a3be8c;letter-spacing:.16em;translate:0 3px}
@media (prefers-reduced-motion:reduce){.dgg-f,.dgg-seams,.dgg-x-label{transition:none!important;animation:none!important}}
.dgg:popover-open .dgg-x{transition-delay:0s;animation:dg-seams-in .25s ease .55s backwards}
.dgg:popover-open .dgg-x-label{transition-delay:0s;animation:dg-seams-in .25s ease .6s backwards}
.dgg-f[aria-current] span::before{content:none}
.dgg-f[aria-current],.dgg-f[aria-current]:hover,.dgg-f[aria-current]:focus-visible{background:radial-gradient(circle at var(--x) var(--y),color-mix(in srgb,var(--a1) 78%,#fff) 0%,color-mix(in srgb,var(--a1) 62%,var(--card)) 55%,color-mix(in srgb,var(--a1) 45%,var(--card)) 100%)}
.dgg-f[aria-current]::before{display:block;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%);animation:dg-cur-sheen 4.5s ease-in-out 1.2s infinite}
@keyframes dg-cur-sheen{0%,70%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.dgg-f[aria-current]::before{animation:none;display:none}}
/* dgg-sub v3: Play submenu rolls in, main gem rolls out toward the arrow */
.dgg{--rw:min(380px,88vw);transition:opacity .45s ease,transform .6s cubic-bezier(.3,.7,.2,1),translate .6s cubic-bezier(.45,0,.2,1),rotate .6s cubic-bezier(.45,0,.2,1),display .6s allow-discrete,overlay .6s allow-discrete}
.dgg:has(>.dgg-sub:popover-open){translate:calc(var(--rw) * -.5) calc(var(--rw) * -.866);rotate:-120deg;opacity:0;pointer-events:none}
.dgg-f:nth-of-type(6) span{--x:38%;--y:31%}
.dgg-sub-btn{position:absolute;left:31%;top:18.5%;translate:-50% -50%;rotate:-120deg;z-index:3;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:50%;background:none;color:var(--fg);cursor:pointer;appearance:none;opacity:0;transition:opacity .25s ease,filter .2s ease}
.dgg-sub-btn::before,.dgg-sub-btn::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;rotate:45deg}
.dgg-sub-btn::before{translate:-75% -50%}
.dgg-sub-btn::after{translate:-5% -50%;opacity:.45}
.dgg:popover-open .dgg-sub-btn{opacity:1;transition-delay:.5s,0s}
.dgg-sub-btn:hover,.dgg-sub-btn:focus-visible{outline:none;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--a1) 70%,transparent))}
.dgg-sub-btn:hover::before,.dgg-sub-btn:focus-visible::before{animation:dg-nudge .9s ease-in-out infinite}
.dgg-sub-btn:hover::after,.dgg-sub-btn:focus-visible::after{animation:dg-nudge .9s ease-in-out .12s infinite;opacity:.9}
@keyframes dg-nudge{50%{margin-left:2px}}
.dgg-f:nth-of-type(6)[aria-current]~.dgg-sub-btn{color:var(--bg)}
.dgg-sub{width:var(--rw);height:var(--rw);margin:auto;padding:0;border:0;background:transparent;overflow:visible;pointer-events:auto;color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;translate:calc(var(--rw) * .5) calc(var(--rw) * .866);rotate:120deg;opacity:0;transition:translate .6s cubic-bezier(.45,0,.2,1),rotate .6s cubic-bezier(.45,0,.2,1),opacity .45s ease,display .6s allow-discrete,overlay .6s allow-discrete}
.dgg-sub:popover-open{translate:0 0;rotate:0deg;opacity:1}
@starting-style{.dgg-sub:popover-open{translate:calc(var(--rw) * .5) calc(var(--rw) * .866);rotate:120deg;opacity:0}}
.dgg-sub::backdrop{background:none}
.dgg-sf{position:absolute;inset:0;color:var(--fg)!important;background:color-mix(in srgb,var(--a1) var(--s),var(--card));transition:background-color .2s ease}
.dgg-sf::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-100%);transition:transform .65s ease}
.dgg-sf:hover::before,.dgg-sf:focus-visible::before{transform:translateX(100%)}
.dgg-sf:hover,.dgg-sf:focus-visible{background:color-mix(in srgb,var(--a1) calc(var(--s) + 20%),var(--card));outline:none}
.dgg-sf span{position:absolute;left:var(--x);top:var(--y);width:9em;transform:translate(-50%,-50%);font-size:1rem;font-weight:600;line-height:1.2;text-align:center;transition:scale .25s ease}
.dgg-sf:hover span,.dgg-sf:focus-visible span{scale:1.08}
.dgg-sub-n2 .dgg-sf:nth-of-type(1){clip-path:polygon(6.7% 50%,6.7% 25%,50% 0,93.3% 25%,93.3% 50%);--x:50%;--y:25%;--s:34%}
.dgg-sub-n2 .dgg-sf:nth-of-type(2){clip-path:polygon(6.7% 50%,93.3% 50%,93.3% 75%,50% 100%,6.7% 75%);--x:50%;--y:75%;--s:16%}
.dgg-sub-n3 .dgg-sf:nth-of-type(1){clip-path:polygon(50% 50%,6.7% 25%,50% 0,93.3% 25%);--x:50%;--y:20%;--s:34%}
.dgg-sub-n3 .dgg-sf:nth-of-type(2){clip-path:polygon(50% 50%,93.3% 25%,93.3% 75%,50% 100%);--x:72%;--y:64%;--s:20%}
.dgg-sub-n3 .dgg-sf:nth-of-type(3){clip-path:polygon(50% 50%,50% 100%,6.7% 75%,6.7% 25%);--x:28%;--y:64%;--s:12%}
.dgg-sseams{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none}
.dgg-sseams *{fill:none;stroke:var(--bg);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.dgg-back{position:absolute;left:50%;top:50%;width:30%;height:30%;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0;padding:0;border:0;clip-path:polygon(50% 0,93.3% 25%,93.3% 75%,50% 100%,6.7% 75%,6.7% 25%);background:var(--bg);color:var(--fg);font:700 .7rem/1.1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;appearance:none;transition:background-color .2s ease}
.dgg-back svg{width:30%;height:auto;max-width:none;transition:translate .2s ease}
.dgg-back:hover,.dgg-back:focus-visible{background:var(--card);outline:none}
.dgg-back:hover svg,.dgg-back:focus-visible svg{translate:-3px 0}
@media (prefers-reduced-motion:reduce){.dgg,.dgg-sub,.dgg-sub-btn,.dgg-sf,.dgg-back,.dgg-back svg{transition:none!important}.dgg-sub-btn::before,.dgg-sub-btn::after{animation:none!important}.dgg-sf::before{display:none}}
/* dgg-glass v4: frosted glass gem + reworked Play hub and Back */
.dgg::before{content:"";position:absolute;inset:-14%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--a1) 38%,transparent),transparent 75%);pointer-events:none}
.dgg-f,.dgg-sf{background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,0) 45%),color-mix(in srgb,color-mix(in srgb,var(--a1) var(--s),var(--card)) 58%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6)}
.dgg-f:hover,.dgg-f:focus-visible,.dgg-sf:hover,.dgg-sf:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(255,255,255,0) 50%),color-mix(in srgb,color-mix(in srgb,var(--a1) calc(var(--s) + 24%),var(--card)) 70%,transparent)}
.dgg-f[aria-current],.dgg-f[aria-current]:hover,.dgg-f[aria-current]:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.3),rgba(255,255,255,0) 50%),radial-gradient(circle at var(--x) var(--y),color-mix(in srgb,var(--a1) 88%,#fff) 0%,color-mix(in srgb,var(--a1) 72%,transparent) 60%,color-mix(in srgb,var(--a1) 55%,transparent) 100%)}
.dgg-seams *,.dgg-sseams *{stroke:rgba(255,255,255,.22);stroke-width:1.5}
.dgg-seams polygon,.dgg-sseams polygon{stroke:rgba(255,255,255,.5);stroke-width:2}
.dgg-home{background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
.dgg-home:hover,.dgg-home:focus-visible{background:color-mix(in srgb,var(--card) 80%,transparent)}
.dgg-shub{position:absolute;left:50%;top:50%;width:30%;height:30%;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;clip-path:polygon(50% 0,93.3% 25%,93.3% 75%,50% 100%,6.7% 75%,6.7% 25%);background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);color:var(--a1);pointer-events:none}
.dgg-shub svg{width:46%;height:auto;max-width:none}
.dgg-shub b{color:var(--fg);font:700 .7rem/1.1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.dgg-back{position:absolute;left:2%;top:2%;width:48px;height:48px;translate:none;clip-path:none;display:block;margin:0;padding:0;border:0;background:none;cursor:pointer;appearance:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));transition:transform .3s cubic-bezier(.2,.8,.3,1.3);animation:dg-seams-in .25s ease .55s backwards}
.dgg-back svg{display:block;width:100%;height:100%;max-width:none;translate:none}
.dgg-back:hover,.dgg-back:focus-visible{background:none;outline:none;transform:translateX(-4px) scale(1.1)}
.dgg-back:hover svg,.dgg-back:focus-visible svg{translate:none}
.dgg-back-label{position:absolute;top:calc(2% + 50px);left:2%;width:48px;font:600 .72rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#d8dee9;text-align:center;pointer-events:none;transition:color .25s ease,letter-spacing .25s ease,translate .25s ease;animation:dg-seams-in .25s ease .6s backwards}
.dgg-sub:has(.dgg-back:hover) .dgg-back-label,.dgg-sub:has(.dgg-back:focus-visible) .dgg-back-label{color:#a3be8c;letter-spacing:.16em;translate:0 3px}
@media (prefers-reduced-motion:reduce){.dgg-back,.dgg-back-label{transition:none!important;animation:none!important}}
/* dgg-deco: faint line-art glyph behind each facet label */
.dgg-f::after,.dgg-sf::after{content:"";position:absolute;left:calc(50% + (var(--x) - 50%) * 1.22);top:calc(50% + (var(--y) - 50%) * 1.22);width:30%;aspect-ratio:1;translate:-50% -50%;background:var(--fg);-webkit-mask:var(--deco,none) center/contain no-repeat;mask:var(--deco,none) center/contain no-repeat;opacity:.12;pointer-events:none;transition:opacity .3s ease,scale .4s ease}
.dgg-sub .dgg-sf::after{width:34%}
.dgg-f:hover::after,.dgg-f:focus-visible::after,.dgg-sf:hover::after,.dgg-sf:focus-visible::after{opacity:.22;scale:1.06}
.dgg-f[aria-current]::after{background:var(--bg);opacity:.18}
.dgg-f span,.dgg-sf span{z-index:1}
@media (prefers-reduced-motion:reduce){.dgg-f::after,.dgg-sf::after{transition:none!important}}
.dgg [data-k="airwaves"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 21v21M17 42h14M24 21l-5 21M24 21l5 21M16 13a11 11 0 0 0 0 16M32 13a11 11 0 0 1 0 16M10 8a19 19 0 0 0 0 26M38 8a19 19 0 0 1 0 26M24 18.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z'/%3E%3C/svg%3E")}
.dgg [data-k="chat"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 8h22a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H18l-7 6v-6H8a4 4 0 0 1-4-4V12a4 4 0 0 1 4-4zM38 16h2a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4h-2v6l-7-6H21'/%3E%3C/svg%3E")}
.dgg [data-k="zine"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6h24v36H12zM16 11h16M16 15h16M16 20h9v9h-9zM28 21h4M28 25h4M28 29h4M16 34h16M16 38h10'/%3E%3C/svg%3E")}
.dgg [data-k="library"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 40h36M10 40V14h5v26M15 40V18h5v22M21 40V11h6v29M28 40l3-25 5 1-3 24M6 44h36'/%3E%3C/svg%3E")}
.dgg [data-k="search"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M40 24a16 16 0 1 1-32 0 16 16 0 0 1 32 0zM30 18l-4 8-8 4 4-8zM24 8v3M24 37v3M8 24h3M37 24h3'/%3E%3C/svg%3E")}
.dgg [data-k="arcade"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 16h18a8 8 0 0 1 7.7 5.8l2.6 9.4a4.5 4.5 0 0 1-7.7 4.3L32 32H16l-3.6 3.5a4.5 4.5 0 0 1-7.7-4.3l2.6-9.4A8 8 0 0 1 15 16zM15 21v6M12 24h6M31 23h.01M35 26h.01'/%3E%3C/svg%3E")}
.dgg [data-k="arcade"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6a5 5 0 1 1 0 10 5 5 0 0 1 0-10zM24 16v12M9 28h30l4 12H5zM14 34h5M31 34h.01M36 34h.01'/%3E%3C/svg%3E")}
.dgg [data-k="minecraft map"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 11l11-4 14 4 11-4v30l-11 4-14-4-11 4zM17 7v30M31 11v30M21 19h4v4h-4zM25 23h4v4h-4z'/%3E%3C/svg%3E")}
/* dgg-labels: every label centered in its panel, high contrast; glyphs pushed toward the outer edge */
.dgg-f:nth-of-type(6) span{--x:35.6%;--y:25%}
.dgg-sub-btn{left:23%;top:23%}
.dgg-f span,.dgg-sf span{font-size:.95rem;font-weight:700;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 14px rgba(0,0,0,.45)}
.dgg-sf span{font-size:1rem}
.dgg-f[aria-current] span{text-shadow:0 1px 0 rgba(255,255,255,.35)}
.dgg-f::after{left:calc(50% + (var(--x) - 50%) * 1.3);top:calc(50% + (var(--y) - 50%) * 1.3);width:26%;opacity:.1}
.dgg-sub .dgg-sf::after{left:calc(50% + (var(--x) - 50%) * 1.1);top:calc(50% + (var(--y) - 50%) * 1.1);width:30%;opacity:.1}
.dgg-f:hover::after,.dgg-f:focus-visible::after,.dgg-sf:hover::after,.dgg-sf:focus-visible::after{opacity:.18}
/* dgg-tab: Play submenu opener as a small glass tab off the Play panel's outer edge */
.dgg-sub-btn{left:28.35%;top:12.5%;width:64px;height:30px;translate:-50% calc(-100% - 2px);rotate:-30deg;transform-origin:50% 100%;border-radius:0;clip-path:polygon(0 100%,100% 100%,50% 0);background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 70%),color-mix(in srgb,color-mix(in srgb,var(--a1) 38%,var(--card)) 70%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);color:var(--fg);filter:none;opacity:0;scale:.3;transition:opacity .25s ease,scale .35s cubic-bezier(.2,.8,.3,1.3),background-color .2s ease}
.dgg:popover-open .dgg-sub-btn{opacity:1;scale:1;transition-delay:.5s,.5s,0s}
.dgg-sub-btn::before,.dgg-sub-btn::after{left:50%;top:auto;bottom:6px;width:7px;height:7px;margin:0;border:0;border-top:2px solid currentColor;border-left:2px solid currentColor;rotate:45deg;translate:-50% 0;opacity:1;animation:none}
.dgg-sub-btn::after{bottom:11px;opacity:.5}
.dgg-sub-btn:hover,.dgg-sub-btn:focus-visible{scale:1.12;outline:none;filter:none;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 70%),color-mix(in srgb,color-mix(in srgb,var(--a1) 60%,var(--card)) 80%,transparent)}
.dgg-sub-btn:hover::before,.dgg-sub-btn:focus-visible::before{animation:dg-tab .8s ease-in-out infinite}
.dgg-sub-btn:hover::after,.dgg-sub-btn:focus-visible::after{animation:dg-tab .8s ease-in-out .1s infinite;opacity:.85}
@keyframes dg-tab{50%{margin-bottom:3px}}
.dgg-f:nth-of-type(6)[aria-current]~.dgg-sub-btn{color:var(--bg);background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 70%),color-mix(in srgb,var(--a1) 75%,transparent)}
.dgg-shub{pointer-events:auto;cursor:pointer;color:var(--a1)!important;transition:background-color .2s ease}
.dgg-shub:hover,.dgg-shub:focus-visible{background:color-mix(in srgb,var(--card) 85%,transparent);outline:none}
.dgg-shub svg{transition:scale .25s ease}
.dgg-shub:hover svg,.dgg-shub:focus-visible svg{scale:1.1}
.dgg-shub b{transition:letter-spacing .25s ease,color .25s ease}
.dgg-shub:hover b,.dgg-shub:focus-visible b{color:var(--a1);letter-spacing:.18em}
.dgg-back:hover,.dgg-back:focus-visible{transform:none}
.dgg-back:hover svg,.dgg-back:focus-visible svg{animation:dg-back .8s ease-in-out infinite}
.dgg-back:hover svg polygon:first-child,.dgg-back:focus-visible svg polygon:first-child{animation:dg-back-trail .8s ease-in-out infinite}
@keyframes dg-back{50%{translate:-6px 0}}
@keyframes dg-back-trail{50%{translate:3px 0;opacity:.3}}
@media (prefers-reduced-motion:reduce){.dgg-sub-btn,.dgg-shub,.dgg-shub svg,.dgg-shub b{transition:none!important}.dgg-sub-btn::before,.dgg-sub-btn::after,.dgg-back svg,.dgg-back svg polygon{animation:none!important}}
/* dgg-clean: crisp labels, cleaner glass, theme-colored Back/Close, smooth hovers */
.dgg::before{display:none}
.dgg-f,.dgg-sf{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,0) 45%),color-mix(in srgb,color-mix(in srgb,var(--a1) var(--s),var(--card)) 80%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}
.dgg-f:hover,.dgg-f:focus-visible,.dgg-sf:hover,.dgg-sf:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,0) 50%),color-mix(in srgb,color-mix(in srgb,var(--a1) calc(var(--s) + 22%),var(--card)) 88%,transparent)}
.dgg-f[aria-current],.dgg-f[aria-current]:hover,.dgg-f[aria-current]:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,0) 50%),color-mix(in srgb,var(--a1) 92%,transparent)}
.dgg-home,.dgg-shub{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.dgg-f span,.dgg-sf span{font-weight:650;text-shadow:none}
.dgg-f[aria-current] span{font-weight:700;text-shadow:none}
.dgg-f::after,.dgg-sf::after{background:var(--a1);opacity:.14}
.dgg-f:hover::after,.dgg-f:focus-visible::after,.dgg-sf:hover::after,.dgg-sf:focus-visible::after{opacity:.22}
.dgg-f[aria-current]::after{background:var(--bg);opacity:.16}
.dgg-x [fill="#a3be8c"],.dgg-back [fill="#a3be8c"]{fill:var(--a1)}
.dgg-x [fill="#c6dbb2"],.dgg-back [fill="#c6dbb2"]{fill:color-mix(in srgb,var(--a1) 55%,#fff)}
.dgg-x [fill="#7fa06f"],.dgg-back [fill="#7fa06f"]{fill:color-mix(in srgb,var(--a1) 65%,#000)}
.dgg-x-label,.dgg-back-label{color:color-mix(in srgb,var(--a1) 30%,#eceff4)}
.dgg:has(.dgg-x:hover) .dgg-x-label,.dgg:has(.dgg-x:focus-visible) .dgg-x-label,.dgg-sub:has(.dgg-back:hover) .dgg-back-label,.dgg-sub:has(.dgg-back:focus-visible) .dgg-back-label{color:color-mix(in srgb,var(--a1) 75%,#fff)}
.dgg-back:hover svg,.dgg-back:focus-visible svg,.dgg-back:hover svg polygon:first-child,.dgg-back:focus-visible svg polygon:first-child{animation:none}
.dgg-back svg{transition:translate .35s cubic-bezier(.2,.8,.2,1)}
.dgg-back svg polygon:first-child{opacity:.55;transition:translate .45s cubic-bezier(.2,.8,.2,1) .05s,opacity .3s ease}
.dgg-back:hover svg,.dgg-back:focus-visible svg{translate:-5px 0}
.dgg-back:hover svg polygon:first-child,.dgg-back:focus-visible svg polygon:first-child{translate:-4px 0;opacity:.85}
.dgg-sub-btn:hover::before,.dgg-sub-btn:focus-visible::before{animation:dg-tab2 1.1s cubic-bezier(.45,0,.55,1) infinite}
.dgg-sub-btn:hover::after,.dgg-sub-btn:focus-visible::after{animation:dg-tab2 1.1s cubic-bezier(.45,0,.55,1) .12s infinite}
@keyframes dg-tab2{0%,100%{translate:-50% 0}50%{translate:-50% -3px}}
@media (prefers-reduced-motion:reduce){.dgg-back svg,.dgg-back svg polygon{transition:none!important}}
/* dgg-core: glowing theme-colored core, clickable Desert Glass hub, caption kept in the submenu */
.dg-core{transform-box:fill-box;transform-origin:center;animation:dg-core 3.2s ease-in-out infinite}
@keyframes dg-core{0%,100%{opacity:.7;scale:.88}50%{opacity:1;scale:1.08}}
.dgg-btn:hover .dg-core,.dgg-btn:focus-visible .dg-core,.dgg-home:hover .dg-core,.dgg-home:focus-visible .dg-core{animation-duration:1.3s}
.dgg-home{transition:background-color .25s ease,color .25s ease,letter-spacing .25s ease}
.dgg-home svg{transition:scale .3s cubic-bezier(.2,.8,.3,1.3),translate .3s ease}
.dgg-home:hover,.dgg-home:focus-visible{background:color-mix(in srgb,color-mix(in srgb,var(--a1) 26%,var(--card)) 92%,transparent);color:var(--a1)!important;letter-spacing:.09em;outline:none}
.dgg-home:hover svg,.dgg-home:focus-visible svg{scale:1.15;translate:0 -2px}
.dgg-sub .dgg-dba{animation:dg-seams-in .3s ease .45s backwards}
@media (prefers-reduced-motion:reduce){.dg-core{animation:none}.dgg-home,.dgg-home svg{transition:none!important}}
/* dgg-core2: gem-shaped core, gentle glow */
.dg-core{scale:none;animation:dg-core2 3.6s ease-in-out infinite}
.dg-core-halo{animation:dg-halo 3.6s ease-in-out infinite}
@keyframes dg-core2{0%,100%{opacity:.8}50%{opacity:1}}
@keyframes dg-halo{0%,100%{opacity:.1}50%{opacity:.24}}
.dgg-btn:hover .dg-core,.dgg-btn:hover .dg-core-halo,.dgg-btn:focus-visible .dg-core,.dgg-btn:focus-visible .dg-core-halo,.dgg-home:hover .dg-core,.dgg-home:hover .dg-core-halo,.dgg-home:focus-visible .dg-core,.dgg-home:focus-visible .dg-core-halo{animation-duration:1.6s}
@media (prefers-reduced-motion:reduce){.dg-core,.dg-core-halo{animation:none}}
/* dgg-core3: core uses the theme's dot color (with hover preview), soft glow */
html{--core:#88c0d0}
html:has(#t-nl:checked),html[data-dg="nl"]{--core:#5e81ac}html:has(#t-gd:checked),html[data-dg="gd"]{--core:#fabd2f}html:has(#t-gl:checked),html[data-dg="gl"]{--core:#af3a03}html:has(#t-ed:checked),html[data-dg="ed"]{--core:#a7c080}html:has(#t-el:checked),html[data-dg="el"]{--core:#35a77c}html:has(#t-rd:checked),html[data-dg="rd"]{--core:#eb6f92}html:has(#t-rl:checked),html[data-dg="rl"]{--core:#907aa9}
html:has(#tp-list label:hover>#t-nd,#t-nd:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="nd"]){--core:#88c0d0}
html:has(#tp-list label:hover>#t-nl,#t-nl:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="nl"]){--core:#5e81ac}
html:has(#tp-list label:hover>#t-gd,#t-gd:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="gd"]){--core:#fabd2f}
html:has(#tp-list label:hover>#t-gl,#t-gl:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="gl"]){--core:#af3a03}
html:has(#tp-list label:hover>#t-ed,#t-ed:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="ed"]){--core:#a7c080}
html:has(#tp-list label:hover>#t-el,#t-el:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="el"]){--core:#35a77c}
html:has(#tp-list label:hover>#t-rd,#t-rd:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="rd"]){--core:#eb6f92}
html:has(#tp-list label:hover>#t-rl,#t-rl:focus-visible),html:has(.dg-picker-wrap[data-dg-prev="rl"]){--core:#907aa9}
.dgg-btn stop,.dgg-home stop{transition:stop-color .35s ease}
.dg-core{filter:drop-shadow(0 0 1.5px var(--core,#88c0d0))}
.dg-core-halo{transition:fill .35s ease;animation-name:dg-halo2}
@keyframes dg-halo2{0%,100%{opacity:.18}50%{opacity:.38}}
/* dgg-sub2: Arcade games submenu, opened from a tab on Arcade's outer edge */
.dgg-sub2{translate:calc(var(--rw) * .5) calc(var(--rw) * -.866);rotate:120deg;pointer-events:auto}
@starting-style{.dgg-sub2:popover-open{translate:calc(var(--rw) * .5) calc(var(--rw) * -.866);rotate:120deg;opacity:0}}
.dgg-sub:has(>.dgg-sub2:popover-open){translate:calc(var(--rw) * -.5) calc(var(--rw) * .866);rotate:-120deg;opacity:0;pointer-events:none}
.dgg-tab2{position:absolute;left:28.35%;top:87.5%;z-index:3;width:64px;height:30px;margin:0;padding:0;border:0;translate:-50% -100%;rotate:-150deg;transform-origin:50% 100%;clip-path:polygon(0 100%,100% 100%,50% 0);background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 70%),color-mix(in srgb,color-mix(in srgb,var(--a1) 30%,var(--card)) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--fg);cursor:pointer;appearance:none;transition:scale .3s cubic-bezier(.2,.8,.3,1.3);animation:dg-tab-in .35s cubic-bezier(.2,.8,.3,1.3) .6s backwards}
@keyframes dg-tab-in{from{opacity:0;scale:.3}}
.dgg-tab2::before,.dgg-tab2::after{content:"";position:absolute;left:50%;bottom:6px;width:7px;height:7px;border-top:2px solid currentColor;border-left:2px solid currentColor;rotate:45deg;translate:-50% 0}
.dgg-tab2::after{bottom:11px;opacity:.5}
.dgg-tab2:hover,.dgg-tab2:focus-visible{scale:1.12;outline:none;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 70%),color-mix(in srgb,color-mix(in srgb,var(--a1) 55%,var(--card)) 88%,transparent)}
.dgg-tab2:hover::before,.dgg-tab2:focus-visible::before{animation:dg-tab2 1.1s cubic-bezier(.45,0,.55,1) infinite}
.dgg-tab2:hover::after,.dgg-tab2:focus-visible::after{animation:dg-tab2 1.1s cubic-bezier(.45,0,.55,1) .12s infinite;opacity:.85}
@media (prefers-reduced-motion:reduce){.dgg-tab2{transition:none!important;animation:none!important}.dgg-tab2::before,.dgg-tab2::after{animation:none!important}}
.dgg [data-k="supertux"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6v36M8.4 15l31.2 18M8.4 33l31.2-18M20 9l4 3 4-3M20 39l4-3 4 3'/%3E%3C/svg%3E")}
.dgg [data-k="hexgl"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 14l12 10-12 10M20 14l12 10-12 10M32 14l12 10-12 10'/%3E%3C/svg%3E")}
.dgg [data-k="a dark room"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6c3 7 11 11 11 20a11 11 0 0 1-22 0c0-5 3-8 5-11 1 4 3 6 5 6-2-6 0-11 1-15z'/%3E%3C/svg%3E")}
.dgg [data-k="hextris"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 6l15.6 9v18L24 42 8.4 33V15zM24 17l6 3.5v7L24 31l-6-3.5v-7z'/%3E%3C/svg%3E")}
.dgg [data-k="2048"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 10h12v12H10zM26 10h12v12H26zM10 26h12v12H10zM26 26h12v12H26z'/%3E%3C/svg%3E")}
.dgg [data-k="all games"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 9h8v8H9zM20 9h8v8h-8zM31 9h8v8h-8zM9 20h8v8H9zM20 20h8v8h-8zM31 20h8v8h-8zM9 31h8v8H9zM20 31h8v8h-8zM31 31h8v8h-8z'/%3E%3C/svg%3E")}
/* dgg-dba-theme: Bond Enterprises caption follows the theme */
.dgg-dba{background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,0) 50%),color-mix(in srgb,var(--a1) 18%,transparent);color:color-mix(in srgb,var(--a1) 22%,#eceff4)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dgg-dba b{color:color-mix(in srgb,var(--a1) 80%,#fff)}
.dgg-dba:hover,.dgg-dba:focus-visible{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,0) 50%),color-mix(in srgb,var(--a1) 32%,transparent);outline:none}
.dgg [data-k="neverball"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 40l36-9M20 15a8 8 0 1 1 0 16 8 8 0 0 1 0-16zM36 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z'/%3E%3C/svg%3E")}
/* dgg-tips: themed tooltips for every menu item */
.dgg-tip{position:absolute;z-index:6;left:50%;top:calc(100% + 72px);translate:-50% 0;width:max-content;max-width:min(260px,80vw);padding:7px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--a1) 45%,transparent);background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,0) 50%),color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--fg);font:500 .8rem/1.35 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.35);pointer-events:none;opacity:0;transition:opacity .12s ease}
.dgg-tip::before{content:""}
:is(.dgg,.dgg-sub):has(>:is(.dgg-f,.dgg-sf,.dgg-home,.dgg-shub,.dgg-sub-btn,.dgg-tab2,.dgg-back,.dgg-x):is(:hover,:focus-visible))>.dgg-tip{opacity:1;transition:opacity .2s ease .35s}
@supports (anchor-name:--x){
:is(.dgg-f,.dgg-sf):is(:hover,:focus-visible)>span{anchor-name:--dgtip}
:is(.dgg-home,.dgg-shub,.dgg-sub-btn,.dgg-tab2,.dgg-back,.dgg-x):is(:hover,:focus-visible){anchor-name:--dgtip}
.dgg-tip{position-anchor:--dgtip;top:auto;left:anchor(center);bottom:calc(anchor(top) + 12px);translate:-50% 0;position-try-fallbacks:flip-block}
}
.dgg:has(>[data-k="airwaves"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass Airwaves: community radio from Alamogordo, live and on demand."}
.dgg:has(>[data-k="chat"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass: the community chat for Alamogordo and Otero County. Text, voice, and video."}
.dgg:has(>[data-k="zine"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"The Desert High: a quarterly magazine about the people building cool things in southern New Mexico."}
.dgg:has(>[data-k="library"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass Library: a free offline library of Wikipedia, books, and guides."}
.dgg:has(>[data-k="search"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass Search: private web search that puts local results first."}
.dgg:has(>[data-k="arcade"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass Arcade: free browser games, our game servers, and games to play together."}
.dgg:has(>.dgg-sub-btn:is(:hover,:focus-visible))>.dgg-tip::before{content:"More ways to play"}
.dgg:has(>.dgg-home:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass Media home"}
.dgg:has(>.dgg-x:is(:hover,:focus-visible))>.dgg-tip::before{content:"Close the menu"}
.dgg-sub:has(>[data-k="minecraft map"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Live map of the Desert Glass Minecraft world."}
.dgg-sub:has(>[data-k="arcade"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Free browser games. No downloads, no accounts."}
.dgg-sub:has(>.dgg-tab2:is(:hover,:focus-visible))>.dgg-tip::before{content:"See every game in the arcade"}
.dgg-sub:has(>.dgg-shub:is(:hover,:focus-visible))>.dgg-tip::before{content:"Open the arcade"}
.dgg-sub:has(>.dgg-back:is(:hover,:focus-visible))>.dgg-tip::before{content:"Back to the main menu"}
.dgg-sub:has(>.dgg-x:is(:hover,:focus-visible))>.dgg-tip::before{content:"Close the menu"}
.dgg-sub2:has(>[data-k="all games"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Browse every game in the arcade"}
.dgg-sub2:has(>.dgg-shub:is(:hover,:focus-visible))>.dgg-tip::before{content:"Open the arcade"}
.dgg-sub2:has(>.dgg-back:is(:hover,:focus-visible))>.dgg-tip::before{content:"Back to Play"}
.dgg-sub2:has(>.dgg-x:is(:hover,:focus-visible))>.dgg-tip::before{content:"Close the menu"}
@media (prefers-reduced-motion:reduce){.dgg-tip{transition:none!important}}
/* dgg-tip-toggle: Shift hides/reveals tooltips (where JS is available) */
.dg-tipjs .dgg-tip::after{content:"Shift hides tips";display:block;margin-top:6px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--fg) 14%,transparent);font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--fg) 55%,transparent)}
.dg-notips .dgg-tip{padding:4px 10px}
.dg-notips .dgg-tip::before{content:none!important}
.dg-notips .dgg-tip::after{content:"Shift shows tips";margin:0;padding:0;border:0}
/* dgg-tip-quiet: 0.8s hover delay everywhere, understated Shift hint */
:is(.dgg,.dgg-sub):has(>:is(.dgg-f,.dgg-sf,.dgg-home,.dgg-shub,.dgg-sub-btn,.dgg-tab2,.dgg-back,.dgg-x):is(:hover,:focus-visible))>.dgg-tip{transition:opacity .2s ease .8s}
.dg-tipjs .dgg-tip::after{content:"Shift hides tips";margin-top:4px;padding-top:0;border-top:0;font-size:.62rem;font-weight:400;letter-spacing:.02em;text-transform:none;color:color-mix(in srgb,var(--fg) 38%,transparent)}
.dg-notips .dgg-tip{padding:2px 8px;border-color:transparent;background:color-mix(in srgb,var(--card) 45%,transparent);box-shadow:none}
.dg-notips .dgg-tip::after{content:"Shift shows tips";margin:0;font-size:.62rem;color:color-mix(in srgb,var(--fg) 40%,transparent)}
html.dg-noanim,html.dg-noanim *{transition:none!important}
/* dgg-framed: compact menu on framed pages (game, reader) */
.game .dgg-btn{top:8px;right:12px;height:32px;gap:6px}
.game .dgg-btn svg{width:32px;height:32px}
.game .dgg-btn .dgg-label{padding:4px 11px 4px 9px;font-size:.72rem}
.game .dgg{--dx:calc(50vw - 28px);--dy:calc(24px - 50vh)}
.dg-iconjs :is(h1.brand,.brand) img:not([data-ready]){visibility:hidden}
.dg-iconjs img[data-dgsvg]:not([data-ready]){visibility:hidden}
/* dgg-tab-nodelay: the opening delay applies only to the tab's fade-in, never to its hover lift */
.dgg:popover-open .dgg-sub-btn{transition:opacity .25s ease .5s,scale .35s cubic-bezier(.2,.8,.3,1.3) .5s,background-color .2s ease 0s,left .35s cubic-bezier(.25,.8,.25,1) 0s,top .35s cubic-bezier(.25,.8,.25,1) 0s!important}
/* dgg-play-still: the Play panel keeps its glow on hover but does not lift or grow, so its tab never overlaps it */
.dgg>.dgg-f[data-k="arcade"],.dgg>.dgg-f[data-k="arcade"]:is(:hover,:focus-visible){translate:0 0!important}
.dgg>.dgg-f[data-k="arcade"]:is(:hover,:focus-visible)::after{scale:1!important}
.dgg>.dgg-sub-btn{left:28.35%!important;top:12.5%!important}
.dgg-f[data-k="arcade"][aria-current]~.dgg-sub-btn{color:var(--bg);background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 70%),color-mix(in srgb,var(--a1) 75%,transparent)}
/* dg-cr: copyright folded into the game info row */
.dg-cr{color:var(--muted);font-size:.74rem;white-space:nowrap;margin:0 14px}
.dg-cr a{color:inherit}.dg-cr a:hover{color:var(--a1)}
.game footer.dg-moved{display:none}
/* dga: hover animations; every loop starts and ends at rest so a finished loop is a natural stop */
@keyframes dga-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8%)}}
@keyframes dga-spin{0%{transform:perspective(80px) rotateY(0)}100%{transform:perspective(80px) rotateY(360deg)}}
@keyframes dga-pop{0%,100%{transform:scale(1)}30%{transform:scale(1.18)}55%{transform:scale(.94)}75%{transform:scale(1.05)}}
@keyframes dga-bounce{0%,100%{transform:translateY(0)}25%{transform:translateY(-14%)}50%{transform:translateY(0)}65%{transform:translateY(-6%)}80%{transform:translateY(0)}}
@keyframes dga-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}60%{transform:rotate(10deg)}85%{transform:rotate(-4deg)}}
@keyframes dga-flip{0%,100%{transform:perspective(90px) rotateY(0)}40%{transform:perspective(90px) rotateY(-55deg)}70%{transform:perspective(90px) rotateY(12deg)}}
@keyframes dga-hop{0%,100%{transform:translateY(0) scale(1,1)}15%{transform:translateY(0) scale(1.08,.9)}40%{transform:translateY(-18%) scale(.95,1.06)}65%{transform:translateY(0) scale(1.06,.94)}80%{transform:translateY(0) scale(1,1)}}
@keyframes dga-unroll{0%,100%{transform:scaleY(1)}35%{transform:scaleY(.75)}65%{transform:scaleY(1.08)}}
@keyframes dga-unfold{0%,100%{transform:scaleX(1)}35%{transform:scaleX(.3)}65%{transform:scaleX(1.08)}}
@keyframes dga-toss{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-26%) rotate(-18deg)}70%{transform:translateY(0) rotate(6deg)}}
@keyframes dga-wobble{0%,100%{transform:skewX(0)}20%{transform:skewX(-12deg)}45%{transform:skewX(9deg)}70%{transform:skewX(-4deg)}}
@keyframes dga-orbit{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes dga-pulse{0%,100%{transform:scale(1)}20%{transform:scale(1.12)}40%{transform:scale(1)}60%{transform:scale(1.08)}}
@keyframes dga-chatter{0%,100%{transform:scale(1) rotate(0)}20%{transform:scale(1.1) rotate(-5deg)}40%{transform:scale(.97) rotate(4deg)}60%{transform:scale(1.04) rotate(-2deg)}}
@keyframes dga-turn{0%,100%{transform:rotate(0)}35%{transform:rotate(-35deg)}65%{transform:rotate(18deg)}}
@keyframes dga-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.12)}60%{transform:scale(1)}}
@keyframes dga-drop{0%,100%{transform:translateY(0) scale(1,1)}20%{transform:translateY(-30%) scale(1,1)}45%{transform:translateY(0) scale(1.08,.88)}60%{transform:translateY(-8%) scale(1,1)}75%{transform:translateY(0) scale(1,1)}}
@keyframes dga-tilt{0%,100%{transform:perspective(90px) rotateX(0)}40%{transform:perspective(90px) rotateX(35deg)}70%{transform:perspective(90px) rotateX(-10deg)}}
@keyframes dga-shake{0%,100%{transform:rotate(0)}15%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}
@keyframes dga-dash{0%,100%{transform:translateX(0) skewX(0)}30%{transform:translateX(12%) skewX(-14deg)}55%{transform:translateX(-4%) skewX(6deg)}}
@keyframes dga-flicker{0%,100%{filter:brightness(1)}10%{filter:brightness(.4)}20%{filter:brightness(1.6)}35%{filter:brightness(.7)}50%{filter:brightness(1.3)}62%{filter:brightness(.3)}75%{filter:brightness(1)}}
@keyframes dga-scan{0%,100%{transform:translate(0,0)}25%{transform:translate(7%,-6%)}50%{transform:translate(-7%,-3%)}75%{transform:translate(4%,6%)}}
@keyframes dga-roll{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(-10%) rotate(-120deg)}70%{transform:translateX(8%) rotate(80deg)}}
svg.dg-z *{transition:fill .4s ease,stroke .4s ease}
svg.dg-z .zs{transform-box:fill-box;transform-origin:50% 50%}
[data-dga-host].dga-run svg.dg-z .zs{animation:dga-float 1.2s ease-in-out infinite}
[data-dga="spin"].dga-run svg.dg-z .zs{animation-name:dga-spin;animation-timing-function:linear}
[data-dga="pop"].dga-run svg.dg-z .zs{animation-name:dga-pop}
[data-dga="bounce"].dga-run svg.dg-z .zs{animation-name:dga-bounce}
[data-dga="sway"].dga-run svg.dg-z .zs{animation-name:dga-sway}
[data-dga="flip"].dga-run svg.dg-z .zs{animation-name:dga-flip}
[data-dga="hop"].dga-run svg.dg-z .zs{animation-name:dga-hop}
[data-dga="unroll"].dga-run svg.dg-z .zs{animation-name:dga-unroll}
[data-dga="toss"].dga-run svg.dg-z .zs{animation-name:dga-toss}
[data-dga="wobble"].dga-run svg.dg-z .zs{animation-name:dga-wobble}
[data-dga="orbit"].dga-run svg.dg-z .zs{animation-name:dga-orbit;animation-timing-function:linear}
[data-dga="pulse"].dga-run svg.dg-z .zs{animation-name:dga-pulse}
[data-dga="chatter"].dga-run svg.dg-z .zs{animation-name:dga-chatter}
[data-dga="turn"].dga-run svg.dg-z .zs{animation-name:dga-turn}
[data-dga="beat"].dga-run svg.dg-z .zs{animation-name:dga-beat}
[data-dga="drop"].dga-run svg.dg-z .zs{animation-name:dga-drop}
[data-dga="tilt"].dga-run svg.dg-z .zs{animation-name:dga-tilt}
@media (prefers-reduced-motion:reduce){.dga-run::after,.dga-run svg.dg-z .zs{animation:none!important}}
/* dg-fclip: gameplay inside a game's menu panel */
.dgg-sf .dg-fclip{position:absolute;left:var(--x,50%);top:var(--y,50%);width:78%;aspect-ratio:16/9;translate:-50% -50%;object-fit:cover;opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:0}
.dgg-sf.dg-fclip-on .dg-fclip{opacity:.7}
.dgg-sf>span{z-index:1}
.dgg-sf.dg-fclip-on>span{text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 10px rgba(0,0,0,.5)}
/* dg-cbg: a game card's own background becomes gameplay on hover */
.card{position:relative;overflow:hidden;isolation:isolate}
.card>*:not(.dg-cbg){position:relative;z-index:1}
.dg-cbg{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .4s ease;pointer-events:none;border-radius:inherit;overflow:hidden}
.dg-cbg video{display:block;width:100%;height:100%;object-fit:cover}
.dg-cbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 88%,transparent) 0%,color-mix(in srgb,var(--card) 50%,transparent) 38%,color-mix(in srgb,var(--card) 50%,transparent) 62%,color-mix(in srgb,var(--card) 92%,transparent) 100%)}
.card.dg-cbg-on.dg-cbg-ready .dg-cbg{opacity:1}
.card::after{transition:opacity .4s ease}
.card.dg-cbg-on.dg-cbg-ready::after{opacity:0}
/* dg-gamebar: arcade game pages show only the copyright (left) and the theme picker (right) */
.game .info:has(.dg-cr)>*:not(.dg-cr):not(.theme-pick){display:none!important}
.game .info:has(.dg-cr){justify-content:space-between}
.game .info .dg-cr{order:-1;margin:0;font-size:.82rem}
.game .info:has(.dg-cr) .theme-pick{margin-left:auto}

/* dg-phone: on phones the menu lives at the bottom of the screen, within thumb reach */
@media (max-width:640px){
.dgg-btn,.game .dgg-btn{top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom));right:12px;left:auto}
html.dgg-pos-bl .dgg-btn{right:auto;left:12px}
.dgg,.game .dgg{--dx:calc(50vw - 37px);--dy:calc(50vh - 37px)}
html.dgg-pos-bl .dgg{--dx:calc(37px - 50vw)}
html:not(.dgg-pos-bl) body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.dgg{--rw:min(330px,80vw);width:var(--rw);height:var(--rw)}
.dgg-x,.dgg-back{top:calc(100% + 18px)!important;bottom:auto!important}
.dgg-x-label,.dgg-back-label{top:calc(100% + 68px)!important;bottom:auto!important}
.dgg-tip{display:none}
.top,.game .top{padding-top:10px!important;padding-right:16px!important}
body.home main{padding-top:28px!important}
}

/* dg-bar: subdomain pages end with one line, copyright on the left and theme on the right */
.dg-barred{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.dg-barred>*:not(.dg-cr):not(.theme-pick){display:none!important}
.dg-barred .dg-cr{flex:1 1 auto;min-width:0;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--muted)}
.dg-barred .theme-pick{flex:none;margin:0 0 0 auto!important;white-space:nowrap}
footer.dg-barred{padding-top:16px!important;padding-bottom:16px!important}
@supports (anchor-name:--x){.dg-barred .tp-list{left:auto!important;right:anchor(right)!important;translate:0 -6px!important}}
@media (max-width:480px){.dg-barred .dg-tpl{display:none}}

/* dg-desk: phone heads-up for games that need a keyboard, mouse or gamepad */
.dg-desk-tag{align-self:flex-start;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--a4) 24%,transparent);color:var(--fg);font-size:.72rem;font-weight:600}
.dg-desk-warn{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--a4) 16%,transparent)}
.dg-desk-warn p{margin:0;color:var(--fg);font-size:.88rem;flex:none}
.dg-desk-over{position:absolute;inset:0 16px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;border-radius:12px;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.dg-desk-over p{margin:0;max-width:30ch;color:var(--fg)}
.dg-desk-over .dg-desk-h{color:var(--a4);font-weight:800;font-size:1.2rem}
.dg-desk-row{display:flex;flex-direction:column;align-items:center;gap:10px}
.dg-desk-row .btn{padding:10px 24px}
.dg-desk-back{color:var(--muted);font-size:.9rem}

/* dg-cbg-focus: while a card's gameplay clip plays, only the title and Play button stay */
.card>*:not(.dg-cbg),.card .act>*{transition:opacity .35s ease}
.card.dg-cbg-on.dg-cbg-ready>*:not(.dg-cbg):not(h3):not(.act),.card.dg-cbg-on.dg-cbg-ready .act>*:not(.btn){opacity:0}
.card.dg-cbg-on.dg-cbg-ready h3{text-shadow:0 1px 3px rgba(0,0,0,.65),0 0 18px rgba(0,0,0,.45)}
.card.dg-cbg-on.dg-cbg-ready .dg-cbg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 70%,transparent) 0%,transparent 32%,transparent 62%,color-mix(in srgb,var(--card) 80%,transparent) 100%)}
/* dgg-q v1: search bar above the gem, searches search.desertglass.media */
.dgg-q{position:absolute;left:50%;bottom:calc(100% + 22px);translate:-50% 0;z-index:4;display:flex;align-items:center;gap:10px;width:min(400px,86vw);height:50px;margin:0;padding:0 7px 0 18px;border:1px solid color-mix(in srgb,var(--a1) 35%,transparent);border-radius:999px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,0) 50%),color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 10px 30px rgba(0,0,0,.35);color:var(--fg);font:16px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;transition:border-color .2s ease,box-shadow .2s ease}
.dgg:popover-open .dgg-q{animation:dg-q-in .45s cubic-bezier(.2,.8,.3,1.2) .3s backwards}
@keyframes dg-q-in{from{opacity:0;translate:-50% 14px;scale:.94}}
.dgg-q>svg{width:19px;height:19px;flex:none;fill:none;stroke:var(--a1);stroke-width:2.2;stroke-linecap:round}
.dgg-q input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--fg);font:inherit;outline:none;-webkit-appearance:none;appearance:none}
.dgg-q input::placeholder{color:color-mix(in srgb,var(--fg) 48%,transparent);opacity:1}
.dgg-q input::-webkit-search-cancel-button,.dgg-q input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.dgg-q button{display:grid;place-items:center;width:38px;height:38px;flex:none;margin:0;padding:0;border:0;border-radius:50%;background:var(--a1);color:var(--bg);cursor:pointer;opacity:.3;scale:.82;transition:opacity .2s ease,scale .3s cubic-bezier(.2,.8,.3,1.3),filter .2s ease}
.dgg-q button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:translate .25s ease}
.dgg-q:has(input:not(:placeholder-shown)) button{opacity:1;scale:1}
.dgg-q button:hover,.dgg-q button:focus-visible{filter:brightness(1.12);outline:none}
.dgg-q button:hover svg,.dgg-q button:focus-visible svg{translate:2px 0}
.dgg-q:focus-within{border-color:color-mix(in srgb,var(--a1) 80%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 3px color-mix(in srgb,var(--a1) 25%,transparent)}
@media (max-width:640px){.dgg-q{bottom:calc(100% + 16px);height:46px}}
@media (prefers-reduced-motion:reduce){.dgg-q,.dgg-q button,.dgg-q button svg{transition:none!important;animation:none!important}}
/* dgg-tools: Tools facet glyph + tooltip */
.dgg [data-k="tools"]{--deco:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M30 8a8 8 0 0 0-7 11L9 33a3.5 3.5 0 0 0 5 5l14-14a8 8 0 0 0 11-7l-5 5-5-1-1-5z'/%3E%3C/svg%3E")}
.dgg:has(>[data-k="tools"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Desert Glass Tools: free everyday tools that run in your browser, so your files stay yours."}
/* dgg-in v1: Sign in pill below the gem, links to Bond Enterprises SSO */
.dgg-in{position:absolute;left:50%;top:calc(100% + 22px);translate:-50% 0;z-index:4;display:flex;align-items:center;gap:10px;height:44px;padding:0 20px 0 14px;border:1px solid color-mix(in srgb,var(--a1) 35%,transparent);border-radius:999px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,0) 50%),color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 10px 30px rgba(0,0,0,.35);color:var(--fg)!important;font:600 .95rem/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;white-space:nowrap;transition:border-color .2s ease,background-color .2s ease,scale .25s cubic-bezier(.2,.8,.3,1.3)}
.dgg:popover-open .dgg-in{animation:dg-in-in .45s cubic-bezier(.2,.8,.3,1.2) .4s backwards}
@keyframes dg-in-in{from{opacity:0;translate:-50% -10px;scale:.94}}
.dgg-in svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--a1);stroke-width:2.2;stroke-linecap:round}
.dgg-in small{font-weight:500;font-size:.75rem;color:color-mix(in srgb,var(--fg) 55%,transparent)}
.dgg-in:hover,.dgg-in:focus-visible{border-color:color-mix(in srgb,var(--a1) 80%,transparent);background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,0) 50%),color-mix(in srgb,color-mix(in srgb,var(--a1) 22%,var(--card)) 88%,transparent);outline:none;scale:1.04}
@media (max-width:640px){.dgg-in{top:calc(100% + 96px)}}
@media (prefers-reduced-motion:reduce){.dgg-in{transition:none!important;animation:none!important}}
.dgg-sub2:has(>[data-k="supertux"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Classic side-scrolling platformer across the icy world of Tux the penguin."}
.dgg-sub2:has(>[data-k="neverball"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Tilt the world to roll a ball through tricky courses, collect coins, and reach the goal before time runs out."}
.dgg-sub2:has(>[data-k="hexgl"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Futuristic anti-gravity racing in full 3D."}
.dgg-sub2:has(>[data-k="a dark room"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"A minimalist text adventure that grows into something much bigger."}
.dgg-sub2:has(>[data-k="hextris"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Rotate the hexagon and match the falling blocks before they stack up."}
.dgg-sub2:has(>[data-k="2048"]:is(:hover,:focus-visible))>.dgg-tip::before{content:"Slide and merge numbered tiles until you reach 2048."}
