#erisDedeModal{--dd-panel:#fff9ed;--dd-ink:#49301d;--dd-muted:#78654c;--dd-line:#c3a46a;--dd-raised:#f1e6ce;--dd-skin:url('../assets/lidya-dede-png/light/button-secondary.png');--dd-primary:url('../assets/lidya-dede-png/light/button-primary.png');--dd-scene:url('../assets/lidya-dede-png/light/scene.png');position:fixed;inset:0;z-index:10200;overflow:auto;background:var(--dd-panel);color:var(--dd-ink);font-family:Arial,sans-serif;overscroll-behavior:contain}
html[data-eris-theme='dark'] #erisDedeModal{--dd-panel:#061a15;--dd-ink:#fff0cf;--dd-muted:#c6b892;--dd-line:#a98b50;--dd-raised:#123b2d;--dd-skin:url('../assets/lidya-dede-png/dark/button-secondary.png');--dd-primary:url('../assets/lidya-dede-png/dark/button-primary.png');--dd-scene:url('../assets/lidya-dede-png/dark/scene.png')}
#erisDedeModal *{box-sizing:border-box}#erisDedeModal button,#erisDedeModal select{font:700 12px/1.35 Arial,sans-serif;color:var(--dd-ink);border:1px solid var(--dd-line);border-radius:12px;background-color:var(--dd-raised);background-image:var(--dd-skin);background-size:100% 100%;padding:10px;cursor:pointer;min-height:42px}#erisDedeModal button:disabled{opacity:.48;cursor:default}#erisDedeModal button:focus-visible,#erisDedeModal select:focus-visible{outline:3px solid var(--dd-line);outline-offset:3px}
#erisDedeModal .dd-shell{max-width:760px;margin:0 auto;padding:0 14px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}#erisDedeModal .dd-top{display:flex;align-items:center;gap:10px;min-height:66px;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--dd-line)}#erisDedeModal .dd-top strong{font-size:12px;letter-spacing:1.5px}#erisDedeModal .dd-top [data-balance]{margin-left:auto;font-size:12px;font-weight:700}#erisDedeModal .dd-top button{min-width:38px;font-size:24px;padding:0}
#erisDedeModal .dd-hero{height:164px;border-radius:16px;margin:12px 0;background-image:linear-gradient(90deg,var(--dd-panel) 0%,transparent 70%),var(--dd-scene);background-size:cover;background-position:right center;display:flex;align-items:center;padding:18px;border:1px solid var(--dd-line);box-shadow:0 8px 24px #0002}#erisDedeModal .dd-hero>div{width:66%}#erisDedeModal .dd-hero small{font-size:9px;letter-spacing:1.6px}#erisDedeModal h1{font:700 45px/1.1 Georgia,serif;margin:6px 0;color:var(--dd-ink)}#erisDedeModal .dd-hero p{font-size:11px;margin:6px 0;color:var(--dd-ink)}
#erisDedeModal .dd-meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}#erisDedeModal .dd-meters span{min-width:0;background:var(--dd-raised);border:1px solid var(--dd-line);border-radius:10px;padding:8px;font-size:10px;color:var(--dd-muted);text-align:center}#erisDedeModal .dd-meters b{display:block;margin-top:4px;font-size:15px;color:var(--dd-ink);overflow-wrap:anywhere}
#erisDedeModal .dd-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:10px;border:3px double var(--dd-line);border-radius:15px;background:var(--dd-raised);box-shadow:0 8px 24px #0003}#erisDedeModal .dd-cell{min-width:0;aspect-ratio:1/1;position:relative;display:grid;place-items:center;border-radius:8px;background:var(--dd-panel);border:1px solid #af914333;overflow:visible}#erisDedeModal .dd-cell img{display:block;width:95%;height:95%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 2px #0003)}#erisDedeModal .dd-cell b{position:absolute;bottom:2px;left:0;width:100%;text-align:center;color:#fff5cf;background:#12291dde;font:900 clamp(10px,2.8vw,20px)/1.1 Arial,sans-serif;border-radius:4px;text-shadow:0 1px 2px #000}
#erisDedeModal .dd-status{min-height:38px;margin:10px 0;padding:8px;background:var(--dd-raised);border-radius:9px;text-align:center;font-size:12px;line-height:1.5;color:var(--dd-ink)}#erisDedeModal .dd-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}#erisDedeModal .dd-bet{display:flex;align-items:center;gap:6px;min-width:0}#erisDedeModal .dd-bet>span{flex:1;text-align:center;font-size:10px}#erisDedeModal .dd-bet b{display:block;font-size:17px}#erisDedeModal .dd-bet button{width:36px;padding:4px;font-size:20px}#erisDedeModal .dd-primary{background-image:var(--dd-primary);font:700 17px/1.2 Georgia,serif;color:#342413;min-height:58px}#erisDedeModal .dd-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#erisDedeModal .dd-options small{display:block;font-weight:400;margin-top:2px}#erisDedeModal [aria-pressed='true']{outline:2px solid var(--dd-line);outline-offset:1px}#erisDedeModal .dd-auto{grid-column:1/-1;display:flex;gap:8px;align-items:center}#erisDedeModal .dd-auto label{display:flex;align-items:center;gap:8px;font-size:11px;flex:1}#erisDedeModal .dd-auto select{min-width:0;flex:1;background-image:none;padding:9px}#erisDedeModal .dd-auto button{min-width:95px}#erisDedeModal .dd-cost{grid-column:1/-1;text-align:center;color:var(--dd-muted);font-size:10px;line-height:1.5}
#erisDedeModal .dd-rules{margin-top:18px;border:1px solid var(--dd-line);border-radius:14px;padding:16px;font-size:12px;line-height:1.7}#erisDedeModal .dd-rules[hidden]{display:none}#erisDedeModal h2{font:700 22px Georgia,serif}#erisDedeModal table{border-collapse:collapse;width:100%;font-size:11px}#erisDedeModal th,#erisDedeModal td{border-bottom:1px solid var(--dd-line);padding:6px;text-align:left}#erisDedeModal .dd-hit{animation:ddHit .34s ease-in-out forwards}#erisDedeModal .dd-fall .dd-cell img{animation:ddFall .25s ease-out}#erisDedeModal .dd-lightning{animation:ddLightning .3s ease}
@keyframes ddHit{50%{transform:scale(1.14);filter:brightness(1.6)}100%{transform:scale(.4);opacity:0}}@keyframes ddFall{from{transform:translateY(-12px);opacity:.3}to{transform:translateY(0);opacity:1}}@keyframes ddLightning{50%{box-shadow:0 0 20px 5px #e8be5e}}
@media(min-width:650px){#erisDedeModal .dd-hero{height:200px}#erisDedeModal .dd-board{gap:8px;padding:16px}#erisDedeModal .dd-shell{padding-left:24px;padding-right:24px}#erisDedeModal .dd-controls{grid-template-columns:1fr 1fr}#erisDedeModal .dd-top strong{font-size:15px}}
@media(max-width:350px){#erisDedeModal .dd-shell{padding-left:8px;padding-right:8px}#erisDedeModal .dd-top{gap:5px}#erisDedeModal .dd-top strong{font-size:10px}#erisDedeModal .dd-top [data-balance]{font-size:10px}#erisDedeModal .dd-hero{height:140px;padding:12px}#erisDedeModal .dd-hero small{font-size:8px;letter-spacing:.8px}#erisDedeModal .dd-board{padding:6px;gap:3px}#erisDedeModal .dd-meters{gap:4px}#erisDedeModal .dd-options button{font-size:11px}}
@media(prefers-reduced-motion:reduce){#erisDedeModal *{animation:none!important;transition:none!important}}
/* Game centre tile is PNG art, inserted without replacing existing game handlers. */
#erisGamesModal .eg-keys [data-game='dede']{position:relative;background-image:url('../assets/lidya-dede-png/light/scene.png')!important;background-size:cover!important;background-position:center!important;color:#49301d!important;min-height:90px!important;display:flex;align-items:flex-end!important;justify-content:flex-start!important;padding:14px!important;font:700 22px Georgia,serif!important}
html[data-eris-theme='dark'] #erisGamesModal .eg-keys [data-game='dede']{background-image:url('../assets/lidya-dede-png/dark/scene.png')!important;color:#fff0cf!important}
html body #games .eg-launcher-grid .dd-launcher-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;padding:0 0 12px;border:1px solid var(--pg-line,#c3a46a);border-radius:14px;overflow:hidden;background:var(--pg-panel,#fff9ed);color:var(--pg-ink,#49301d);text-align:left;cursor:pointer;box-shadow:inset 0 0 0 2px #bc924523,0 4px 15px #70502012}
html[data-eris-theme='dark'] body #games .dd-launcher-card{background:var(--pg-panel,#0b2721);color:var(--pg-ink,#fff0cf)}
html body #games .dd-launcher-card .dd-cover{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;object-position:right center;flex:none}
html body #games .dd-launcher-card .dd-lc-title{font:700 17px/1.25 Georgia,serif;margin:11px 11px 5px}
html body #games .dd-launcher-card .dd-lc-desc{font:11px/1.5 system-ui;margin:0 11px 12px;color:var(--pg-muted,inherit);flex:1}
html body #games .dd-launcher-card .dd-lc-play{margin:0 10px;padding:8px;border:1px solid var(--pg-line,#c3a46a);border-radius:9px;font:700 11px/1.4 system-ui;text-align:center}
html body #games .dd-launcher-card:focus-visible{outline:3px solid #b99246;outline-offset:3px}
/* Dede v2: fit the board and controls to the visual viewport. */
#erisDedeModal{overflow:hidden;height:100dvh;min-height:0}
#erisDedeModal .dd-shell{height:100%;padding:6px 12px max(6px,env(safe-area-inset-bottom));display:grid;grid-template-rows:42px clamp(58px,11vh,96px) 42px minmax(0,1fr) 28px auto;gap:6px;position:relative;max-width:720px}
#erisDedeModal .dd-top{min-height:0;padding-top:0;gap:6px}#erisDedeModal .dd-top button{min-height:34px;min-width:32px;font-size:21px}#erisDedeModal .dd-top strong{font-size:11px}#erisDedeModal .dd-top [data-balance]{font-size:11px}
#erisDedeModal .dd-hero{height:auto;min-height:0;margin:0;padding:10px 14px;border-radius:12px;position:relative;overflow:hidden;background-size:200% auto;background-position:left center;isolation:isolate}
#erisDedeModal .dd-hero>div{position:relative;z-index:2;width:65%}#erisDedeModal h1{font-size:32px;margin:2px 0}#erisDedeModal .dd-hero small{font-size:8px;letter-spacing:1px}#erisDedeModal .dd-hero p{font-size:9px;margin:3px 0}
#erisDedeModal .dd-actor{position:absolute;right:0;bottom:-4px;width:39%;height:110%;object-fit:contain;object-position:center bottom;transform-origin:50% 85%;animation:ddBreathe 3.5s ease-in-out infinite;pointer-events:none;z-index:1}
#erisDedeModal .dd-hero[data-actor='cast'] .dd-actor{animation:ddCast .65s ease-out}#erisDedeModal .dd-hero[data-actor='cast']::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 73% 30%,#ffef9766,transparent 60%);animation:ddGlow .65s ease-out;pointer-events:none}
#erisDedeModal .dd-meters{margin:0;gap:6px}#erisDedeModal .dd-meters span{padding:4px;font-size:9px}#erisDedeModal .dd-meters b{font-size:13px;margin-top:2px}
#erisDedeModal .dd-stage{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;position:relative}
#erisDedeModal .dd-board{flex:none;margin:0;padding:5px;gap:3px;grid-template-rows:repeat(5,minmax(0,1fr));overflow:hidden;border-radius:12px}
#erisDedeModal .dd-cell{aspect-ratio:auto;min-height:0;overflow:visible}#erisDedeModal .dd-cell img{width:100%;height:100%;max-width:100%;max-height:100%}
#erisDedeModal .dd-status{margin:0;min-height:0;padding:4px 6px;font-size:10px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#erisDedeModal .dd-controls{gap:5px;min-height:0}#erisDedeModal button,#erisDedeModal select{min-height:32px;padding:5px 8px;font-size:10px;border-radius:9px}#erisDedeModal .dd-bet button{min-height:36px;width:30px;font-size:19px}#erisDedeModal .dd-bet b{font-size:14px}#erisDedeModal .dd-primary{min-height:40px;font-size:16px}
#erisDedeModal .dd-options{gap:5px}#erisDedeModal .dd-options button{padding:4px 6px;min-height:32px}#erisDedeModal .dd-options button small{font-size:8px;margin-top:1px}#erisDedeModal .dd-auto{gap:6px}#erisDedeModal .dd-auto label{font-size:10px;gap:6px}#erisDedeModal .dd-auto select{padding:4px}#erisDedeModal .dd-auto button{min-width:92px}#erisDedeModal .dd-cost{font-size:9px}
#erisDedeModal .dd-rules:not([hidden]){position:absolute;inset:48px 12px 12px;z-index:70;overflow:auto;margin:0;background:var(--dd-panel);box-shadow:0 10px 40px #0005;padding:15px}
#erisDedeModal [data-rules-close]{float:right;font-size:20px;width:34px}
#erisDedeModal .dd-buy-sheet{position:absolute;inset:0;z-index:80;background:#0008;backdrop-filter:blur(5px);display:grid;place-items:center;padding:15px}
#erisDedeModal .dd-buy-sheet[hidden],#erisDedeModal .dd-banner[hidden]{display:none!important}
#erisDedeModal .dd-buy-card{width:min(360px,100%);max-height:100%;overflow:auto;background:var(--dd-panel);color:var(--dd-ink);border:3px double var(--dd-line);border-radius:20px;box-shadow:0 20px 65px #0007;padding:18px;text-align:center}
#erisDedeModal .dd-buy-art{display:block;height:105px;width:100%;object-fit:contain;margin-bottom:5px}#erisDedeModal .dd-buy-card h2{margin:5px 0 10px;font-size:25px}#erisDedeModal .dd-buy-card>strong{letter-spacing:1.5px;font-size:15px}#erisDedeModal .dd-buy-card p{font-size:12px;line-height:1.5}#erisDedeModal .dd-buy-card>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}#erisDedeModal .dd-buy-card button{min-height:42px;font-size:12px}
#erisDedeModal .dd-banner{position:absolute;inset:0;z-index:65;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:20px;text-align:center;background:color-mix(in srgb,var(--dd-panel) 94%,transparent);backdrop-filter:blur(5px);color:var(--dd-ink);pointer-events:none}
#erisDedeModal .dd-banner strong{font:700 clamp(25px,6vw,45px)/1.2 Georgia,serif;text-shadow:0 2px 8px #b9924644;animation:ddReward .4s ease-out}#erisDedeModal .dd-banner span{font-size:16px;font-weight:700}
#erisDedeModal .dd-flying-orb{position:fixed;z-index:68;pointer-events:none}#erisDedeModal .dd-flying-orb img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 9px gold)}#erisDedeModal .dd-flying-orb b{position:absolute;inset:35% 0 auto;text-align:center;color:#fff2b0;text-shadow:0 1px 3px #000;font-weight:900}
#erisDedeModal .dd-sparks{position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle,#fff6a3 0%,#f9c14c 20%,transparent 70%);box-shadow:0 -18px 0 -7px #ffd86a,16px 9px 0 -7px #ffd86a,-16px 9px 0 -7px #ffd86a;animation:ddSpark .45s ease-out forwards;pointer-events:none}
@keyframes ddBreathe{50%{transform:translateY(-2px) scale(1.015)}}@keyframes ddCast{30%{transform:rotate(-3deg) scale(1.04)}100%{transform:none}}@keyframes ddGlow{30%{opacity:1}100%{opacity:0}}@keyframes ddSpark{to{transform:scale(2);opacity:0}}@keyframes ddReward{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-height:650px){#erisDedeModal .dd-shell{grid-template-rows:36px 58px 36px minmax(0,1fr) 24px auto;gap:4px;padding:4px 8px}#erisDedeModal h1{font-size:26px}#erisDedeModal .dd-hero p{display:none}#erisDedeModal .dd-controls{gap:4px}#erisDedeModal .dd-options button{min-height:28px}#erisDedeModal .dd-primary{min-height:36px}#erisDedeModal .dd-cost{display:none}}
@media(orientation:landscape) and (max-height:500px){#erisDedeModal .dd-shell{max-width:1100px;grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:34px 52px 34px minmax(0,1fr) 24px;gap:4px 10px}#erisDedeModal .dd-top{grid-column:1/-1}#erisDedeModal .dd-hero{grid-column:2;grid-row:2/4}#erisDedeModal .dd-meters{grid-column:1;grid-row:2}#erisDedeModal .dd-stage{grid-column:1;grid-row:3/5}#erisDedeModal .dd-status{grid-column:1;grid-row:5}#erisDedeModal .dd-controls{grid-column:2;grid-row:4/6;align-content:center}#erisDedeModal .dd-hero p{display:none}}
@media(prefers-reduced-motion:reduce){#erisDedeModal .dd-actor{animation:none}#erisDedeModal .dd-banner strong{animation:none}}
#erisDedeModal .dd-actor{height:190%;width:43%;bottom:-42px}

/* v3: suspense, matching highlight, brighter burst and orb charge. */
#erisDedeModal .dd-waiting .dd-cell img{animation:ddAwait .32s ease-in-out infinite alternate}
#erisDedeModal .dd-ready{z-index:2;outline:2px solid #f3c658;box-shadow:0 0 12px #f0bd65a0;animation:ddMatch .23s ease-out}
#erisDedeModal .dd-fragment{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:2px;background:#ffe78f;box-shadow:0 0 6px #ffd15b;pointer-events:none;animation:ddFragment .48s ease-out forwards}
#erisDedeModal .dd-impact{animation:ddImpact .35s ease-out}
#erisDedeModal .dd-cell:has(b) img{animation:ddOrbCharge 1.4s ease-in-out infinite}
#erisDedeModal .dd-hero[data-actor='cast']::before{content:'';position:absolute;left:15%;right:12%;top:28%;height:35%;z-index:3;background:linear-gradient(100deg,transparent,#ffdf7899,#fff5c9);clip-path:polygon(0 70%,45% 38%,38% 18%,100% 0,52% 47%,60% 60%);animation:ddBolt .55s ease-out;pointer-events:none}
#erisDedeModal[data-phase='count'] [data-total]{color:var(--dd-ink);text-shadow:0 0 9px #daa04466;animation:ddCountGlow .65s ease-out}
@keyframes ddAwait{to{transform:translateY(3px);filter:blur(1px);opacity:.65}}
@keyframes ddMatch{50%{transform:scale(1.07);filter:brightness(1.3)}}
@keyframes ddFragment{to{transform:translate(var(--dx),var(--dy)) rotate(110deg);opacity:0}}
@keyframes ddImpact{25%{transform:translateX(2px);box-shadow:0 0 16px #f4c768}65%{transform:translateX(-2px)}100%{transform:none}}
@keyframes ddOrbCharge{50%{filter:drop-shadow(0 0 5px #ecc05c);transform:scale(1.04)}}
@keyframes ddBolt{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@keyframes ddCountGlow{50%{transform:scale(1.09)}}
