.ldmp{box-sizing:border-box;--ldmp-purple:#7244d1;--ldmp-lime:#c9ef6b;--ldmp-ink:#30213d;--ldmp-muted:#706078;--ldmp-paper:#faf8fd;position:relative;isolation:isolate;width:100%;max-width:100%;padding:clamp(28px,5vw,76px) clamp(16px,4vw,56px);background:var(--ldmp-paper);color:var(--ldmp-ink);font:400 15px/1.6 Arial,Helvetica,sans-serif;text-align:left;overflow:hidden;color-scheme:light}
.ldmp *,.ldmp *::before,.ldmp *::after{box-sizing:border-box}.ldmp [hidden]{display:none!important}.ldmp button{appearance:none;font:inherit;letter-spacing:normal;text-transform:none;text-shadow:none;box-shadow:none;margin:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ldmp button:disabled{cursor:default}.ldmp button:focus-visible,.ldmp [tabindex]:focus-visible{outline:3px solid #c9ef6b;outline-offset:4px}.ldmp .ldmp-selector button:focus-visible{outline-color:#7244d1}.ldmp-inner{max-width:1160px;margin:auto}.ldmp-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 38px}.ldmp .ldmp-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 22px;font-size:10px;font-weight:600;letter-spacing:.15em;color:#706078}.ldmp-eyebrow span{width:7px;height:7px;background:var(--ldmp-purple);border-radius:50%}.ldmp .ldmp-title{margin:0;padding:0;font:600 clamp(34px,4.8vw,64px)/1.02 Arial,Helvetica,sans-serif;letter-spacing:-.065em;color:var(--ldmp-ink);text-transform:none}.ldmp .ldmp-title em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;color:var(--ldmp-purple)}.ldmp .ldmp-intro{margin:23px 0 0;color:#706078;font-size:15px;line-height:1.7}.ldmp-heading-art{position:relative;width:220px;height:180px;flex-shrink:0;margin-right:24px}.ldmp-orbit{position:absolute;width:132px;height:132px;border:29px solid #ba9ade;border-radius:50%;left:24px;top:14px;transform:rotate(-20deg)}.ldmp-square{position:absolute;width:83px;height:83px;background:#c9ef6b;left:112px;top:66px;border-radius:13px;transform:rotate(-14deg)}.ldmp-dot{position:absolute;width:23px;height:23px;background:#7244d1;left:178px;top:16px;border-radius:50%}.ldmp-spark{position:absolute;font-size:67px;line-height:1;left:8px;top:105px;color:#7244d1}.ldmp-heading-art small{position:absolute;left:125px;top:91px;font-size:8px;line-height:1.55;font-weight:700;letter-spacing:.1em;transform:rotate(-14deg)}
.ldmp-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:18px}.ldmp .ldmp-selector button{display:flex;align-items:center;gap:12px;min-width:0;min-height:78px;padding:14px 15px;color:var(--ldmp-ink);background:#f0ebf5;border:1px solid #e4ddeb;border-radius:12px;text-align:left;transition:background .2s,transform .2s}.ldmp .ldmp-selector button:hover{background:#e8dff3;transform:translateY(-2px)}.ldmp .ldmp-selector button[aria-selected=true]{background:#7244d1;color:#fff;border-color:#7244d1}.ldmp-tab-icon{font:400 29px/1 Arial,sans-serif}.ldmp-selector button>span:nth-child(2){flex:1;min-width:0}.ldmp-selector small{display:block;font-size:8px;font-weight:400;letter-spacing:.07em;opacity:.85;line-height:1.5}.ldmp-selector strong{display:block;font-size:13px;font-weight:600;line-height:1.6}.ldmp-tab-arrow{font-size:17px;align-self:flex-start}.ldmp-shell{background:#21182b;border:1px solid #42324f;border-radius:20px;overflow:hidden;color:#faf8fd}.ldmp-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;border-bottom:1px solid #ffffff12}.ldmp-game-label{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px}.ldmp-game-label strong{font-size:12px;font-weight:500}.ldmp-live-dot{width:6px;height:6px;background:#c9ef6b;border-radius:50%}.ldmp-tag{font-size:9px;color:#d6c8e1;background:#ffffff08;padding:3px 9px;border:1px solid #ffffff15;border-radius:20px}.ldmp .ldmp-motion{font-size:10px;color:#cabbd6;background:none;border:0;padding:4px 0;min-height:44px}.ldmp .ldmp-motion:hover{color:#fff}.ldmp-play-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(245px,.7fr);min-height:460px}.ldmp-playarea{padding:26px 34px 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse at 45% 40%,#3d2b4d55,transparent 70%);min-width:0;position:relative}.ldmp-stage{width:100%;position:relative;display:flex;align-items:center;justify-content:center;min-height:340px}.ldmp-feedback{min-height:38px;margin:15px 0 0;color:#d0c1db;font-size:12px;text-align:center;line-height:1.6}.ldmp-feedback[data-success=true]{color:#d7f69a}.ldmp-sidebar{padding:36px 36px 26px 30px;border-left:1px solid #ffffff0c;min-width:0}.ldmp .ldmp-kicker{font-size:8px;letter-spacing:.16em;color:#b7a3c7;margin:0 0 17px}.ldmp .ldmp-game-heading{margin:0 0 18px;padding:0;font:500 clamp(27px,3vw,38px)/1.12 Arial,sans-serif;letter-spacing:-.04em;color:#faf8fd}.ldmp .ldmp-game-heading em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#c8afea}.ldmp .ldmp-instruction{font:400 12px/1.85 Arial,sans-serif;color:#c9bbd4;margin:0 0 18px;max-width:33ch}.ldmp-options{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:13px}.ldmp-option-group{display:flex;flex-direction:column;gap:7px}.ldmp-option-group>span{font-size:8px;letter-spacing:.1em;color:#b7a3c7}.ldmp-segment{display:flex;gap:4px}.ldmp .ldmp-segment button{border:1px solid #736180;background:#30243c;color:#d9cce4;border-radius:7px;min-width:44px;min-height:44px;padding:5px 9px;font-size:11px}.ldmp .ldmp-segment button[aria-pressed=true]{background:#c9ef6b;color:#30213d;border-color:#c9ef6b}.ldmp .ldmp-segment .ldmp-motif{width:44px;min-width:44px;background-size:cover;border:2px solid #736180}.ldmp .ldmp-segment .ldmp-motif[aria-pressed=true]{border-color:#c9ef6b}.ldmp-score{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:13px;margin:20px 0 18px;padding-top:18px;border-top:1px solid #ffffff16}.ldmp-score>span{font-size:8px;letter-spacing:.1em;color:#b7a3c7}.ldmp-score strong{font-size:30px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.ldmp-score small{grid-column:2;color:#b7a3c7;font-size:10px;margin-top:5px}.ldmp-actions{display:flex;flex-wrap:wrap;gap:10px}.ldmp .ldmp-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;padding:10px 15px;border:1px solid #c9ef6b;border-radius:8px;background:#c9ef6b;color:#30213d;font-size:12px;font-weight:600;flex:1}.ldmp .ldmp-primary:hover{background:#dcf6a3}.ldmp .ldmp-restart{min-height:46px;padding:8px 12px;border:1px solid #736180;border-radius:8px;background:transparent;color:#eee5f5;font-size:11px}.ldmp .ldmp-restart:hover{border-color:#c8afea;background:#ffffff09}.ldmp-restart span{font-size:19px;vertical-align:middle;margin-right:6px}.ldmp .ldmp-controls{font-size:9px;color:#b7a3c7;margin:15px 0 0;line-height:1.7}.ldmp-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 26px;border-top:1px solid #ffffff12;font-size:9px;color:#b7a3c7}.ldmp-bottom span span{color:#c9ef6b;font-size:18px;margin-right:8px;vertical-align:middle}.ldmp-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-size:9px;color:#706078}.ldmp-footnote>span:last-child{font-size:8px;letter-spacing:.1em;white-space:nowrap}
.ldmp-board{width:min(100%,340px);aspect-ratio:1;position:relative;border-radius:13px;background:#191120;border:1px solid #71607f;padding:5px;box-shadow:0 18px 45px #0003;touch-action:pan-y}.ldmp .ldmp-tile{position:absolute;left:calc(var(--x)*100%/var(--n));top:calc(var(--y)*100%/var(--n));width:calc(100%/var(--n));height:calc(100%/var(--n));border:3px solid #21182b;border-radius:11px;background-size:calc(var(--n)*100%) calc(var(--n)*100%);background-position:calc(var(--sx)*100%/(var(--n) - 1)) calc(var(--sy)*100%/(var(--n) - 1));padding:0;transition:left .2s ease,top .2s ease;overflow:hidden}.ldmp-tile span{position:absolute;bottom:8px;left:8px;font-size:10px;font-weight:600;line-height:1;border-radius:4px;background:#21182be6;color:#fff;padding:5px}.ldmp .ldmp-tile[aria-disabled=true]{cursor:default}.ldmp .ldmp-tile:not([aria-disabled=true]):hover{filter:brightness(1.12)}.ldmp-board[data-solved=true]{box-shadow:0 0 0 2px #c9ef6b,0 18px 45px #0003}.ldmp .ldmp-empty{border:1px dashed #6c587d;background:#ffffff03;display:grid;place-items:center;color:#a58abb;font-size:30px}.ldmp-board .ldmp-empty{background-image:none!important}.ldmp-reference{display:flex;align-items:center;gap:9px;font-size:9px;color:#b7a3c7;margin-top:17px}.ldmp-reference img{width:39px;height:39px;border-radius:5px}.ldmp-mosaic-wrap{width:100%;display:flex;flex-direction:column;align-items:center}.ldmp-canvas-wrap{position:relative;width:100%;max-width:600px;border:1px solid #675172;border-radius:12px;overflow:hidden;background:#261a33}.ldmp canvas{display:block;width:100%;height:auto;aspect-ratio:540/340;touch-action:pan-y}.ldmp-canvas-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#21182b80;pointer-events:none;color:#faf8fd}.ldmp-canvas-overlay strong{font:400 28px/1.2 Georgia,serif}.ldmp-canvas-overlay span{font-size:11px;color:#e1d1ed}.ldmp-catcher{width:100%;max-width:390px}.ldmp-target{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 17px;border:1px solid #736180;border-radius:10px;color:#e0d4e8;font-size:12px}.ldmp-target strong{font-size:17px;color:#fff}.ldmp-target-symbol{font-size:24px;margin-right:7px}.ldmp-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ldmp .ldmp-color{position:relative;min-height:115px;border:1px solid #ffffff30;border-radius:14px;color:#21182b;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;transition:transform .15s}.ldmp .ldmp-color:enabled:hover{transform:translateY(-3px)}.ldmp-color>span{font-size:35px;line-height:1}.ldmp-color>small{font-size:11px;font-weight:600}.ldmp-color[data-color=purple]{background:#ba9ade}.ldmp-color[data-color=lime]{background:#c9ef6b}.ldmp-color[data-color=coral]{background:#f4a28f}.ldmp-color[data-color=blue]{background:#a5d5ee}.ldmp-timer{height:4px;border-radius:3px;background:#ffffff17;margin-top:20px;overflow:hidden}.ldmp-timer span{display:block;height:100%;width:100%;background:#c9ef6b;transform-origin:left}.ldmp-result-pop{animation:ldmp-pop .25s ease}.ldmp-reduced *{animation:none!important;transition:none!important}.ldmp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ldmp-tower-manual{display:flex;gap:8px;justify-content:center;margin-top:12px}.ldmp .ldmp-tower-manual button{min-width:48px;min-height:44px;background:#30243c;color:#faf8fd;border:1px solid #736180;border-radius:7px}.ldmp:not(.ldmp-visible) *{animation-play-state:paused!important}@keyframes ldmp-pop{50%{transform:scale(1.025)}}
@media(min-width:1300px){.ldmp-stage{min-height:360px}.ldmp-playarea{padding:30px 46px 18px}.ldmp-board{width:350px}}
@media(max-width:900px){.ldmp-selector button{gap:8px!important;padding:12px 10px!important}.ldmp-selector small{font-size:7px}.ldmp-selector strong{font-size:11px}.ldmp-tab-arrow{display:none}.ldmp-sidebar{padding:28px 24px}.ldmp-playarea{padding:25px 24px 16px}.ldmp-play-layout{grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr)}.ldmp-stage{min-height:310px}.ldmp .ldmp-game-heading{font-size:30px}}
@media(max-width:650px){.ldmp-heading{margin-bottom:26px}.ldmp-heading-art{width:130px;transform:scale(.7);transform-origin:right center;margin-left:-50px;margin-right:0}.ldmp .ldmp-title{font-size:clamp(32px,6vw,42px)}.ldmp .ldmp-intro{font-size:13px;margin-top:18px}.ldmp .ldmp-eyebrow{font-size:8px;letter-spacing:.09em}.ldmp-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:12px}.ldmp .ldmp-selector button{min-height:65px;padding:10px 12px!important;gap:11px!important}.ldmp-selector small{font-size:7px}.ldmp-selector strong{font-size:12px}.ldmp-tab-icon{font-size:27px}.ldmp-play-layout{grid-template-columns:minmax(0,1fr)}.ldmp-topbar{padding:9px 17px}.ldmp-game-label{gap:7px}.ldmp-game-label strong{font-size:11px}.ldmp-tag{font-size:8px}.ldmp .ldmp-motion{max-width:100px;text-align:right;font-size:9px;line-height:1.4}.ldmp-stage{min-height:0}.ldmp-playarea{padding:23px 22px 0}.ldmp-board{width:min(100%,330px)}.ldmp-feedback{margin:12px 0 0;min-height:32px}.ldmp-reference{margin-top:12px}.ldmp-sidebar{padding:20px 22px 23px;border-left:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px}.ldmp .ldmp-kicker{grid-column:1/-1;margin-bottom:9px}.ldmp .ldmp-game-heading{font-size:27px;margin-bottom:10px}.ldmp-game-heading br{display:none}.ldmp .ldmp-instruction{grid-column:1/-1;max-width:none;font-size:12px;margin-bottom:14px}.ldmp-options{grid-column:1/-1;margin-bottom:0;gap:20px}.ldmp-score{grid-column:2;grid-row:2;margin:0 0 10px;border-top:0;padding:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px}.ldmp-score small{display:none}.ldmp-score strong{font-size:26px}.ldmp-score>span{font-size:7px}.ldmp-actions{grid-column:1/-1;margin-top:15px}.ldmp-actions>button{flex:1}.ldmp .ldmp-controls{grid-column:1/-1;margin-top:11px}.ldmp-bottom{padding:12px 17px;font-size:8px}.ldmp-footnote{flex-direction:column;gap:8px;font-size:9px}.ldmp-catcher{max-width:330px}.ldmp .ldmp-color{min-height:100px}.ldmp .ldmp-canvas-overlay strong{font-size:24px}}
@media(max-width:380px){.ldmp-heading-art{display:none}.ldmp .ldmp-title{font-size:36px}.ldmp .ldmp-eyebrow{font-size:7px}.ldmp-playarea{padding-left:15px;padding-right:15px}.ldmp-sidebar{padding-left:17px;padding-right:17px}.ldmp-selector strong{font-size:11px}.ldmp-selector small{font-size:6px}.ldmp .ldmp-selector button{gap:8px!important}.ldmp-tab-icon{font-size:23px}.ldmp-tag{display:none}.ldmp .ldmp-game-heading{font-size:25px}.ldmp-options{gap:12px}}
@media(prefers-reduced-motion:reduce){.ldmp *,.ldmp *::before,.ldmp *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:520px){.ldmp-heading-art{display:none}}

.ldmp-mosaic-placeholder{width:min(100%,340px);aspect-ratio:1;margin-bottom:56px;border-radius:13px;background:#30243c}
.ldmp-canvas-overlay{padding:14px;text-align:center}.ldmp-canvas-overlay strong,.ldmp-canvas-overlay span{max-width:100%}
@media(min-width:1300px){.ldmp-mosaic-placeholder{width:350px}}
@media(max-width:650px){.ldmp-mosaic-placeholder{width:min(100%,330px);margin-bottom:51px}}

.ldmp .ldmp-segment .ldmp-motif[aria-pressed]{background-size:cover;background-position:center}
.ldmp.ldmp-single{padding:clamp(12px,2vw,24px);border-radius:20px}.ldmp-canvas-placeholder{aspect-ratio:540/340;width:100%}

/* Kreativ-Arcade 2.0: shared, scoped controls and game surfaces. */
.ldmp .ldmp-stage{height:480px;min-height:480px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#826394 #21182b;align-items:safe center}
.ldmp-game{width:100%;max-width:540px;min-width:0;padding:5px;flex-shrink:0;align-self:safe center}.ldmp .ldmp-game-note{font:400 11px/1.65 Arial,sans-serif;color:#dccde8;margin:8px 0 12px;overflow-wrap:anywhere}.ldmp-game-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px 0}.ldmp .ldmp-game-button{border:1px solid #8f739f;border-radius:8px;background:#3c2a49;color:#faf8fd;min-width:44px;min-height:44px;padding:9px 12px;font-size:11px;line-height:1.5;white-space:normal}.ldmp .ldmp-game-button:hover{background:#573c68}.ldmp .ldmp-game-button[aria-pressed=true]{background:#c9ef6b;color:#21182b;border-color:#c9ef6b}.ldmp-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:5px;width:100%;max-width:360px;margin:10px auto;min-width:0}.ldmp .ldmp-picture-cell{position:relative;aspect-ratio:1;border:1px solid #9479a3;background:#33223d;border-radius:9px;overflow:hidden;padding:0;min-width:0}.ldmp-picture-art{position:absolute;inset:0;display:block;transition:transform .18s}.ldmp-picture-cell small{position:absolute;bottom:5px;left:5px;background:#21182bd9;color:#faf8fd;border-radius:3px;padding:2px 5px;font-size:10px}.ldmp-pixel-reference{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:112px;margin:10px auto;gap:1px}.ldmp-pixel-reference span{display:grid;place-items:center;aspect-ratio:1;color:#21182b;font:8px/1 Arial}.ldmp .ldmp-pixel-cell{aspect-ratio:1;border:1px solid #a68ab7;min-width:0;border-radius:4px;color:#21182b;font-size:11px;padding:0}.ldmp .ldmp-pixel-cell[data-selected=true]{box-shadow:inset 0 0 0 2px #fff}.ldmp-flood-cell{display:grid;place-items:center;aspect-ratio:1;color:#21182b;border-radius:3px;font-size:11px}.ldmp .ldmp-pipe{display:grid;place-items:center;aspect-ratio:1;min-width:44px;min-height:44px;font:36px/1 Arial;border:1px solid #ab8fc0;border-radius:8px;background:#3b284a;color:#c9ef6b;padding:0}.ldmp-maze{display:grid;grid-template-columns:repeat(8,1fr);width:100%;max-width:350px;margin:12px auto;background:#3e294b}.ldmp-maze-cell{aspect-ratio:1;border:2px solid;display:grid;place-items:center;color:#c9ef6b;font-size:20px;line-height:1}.ldmp-maze-cell[data-player=true]{background:#6c4e7d}.ldmp-sort-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ldmp .ldmp-sort-row button{min-height:52px;border-radius:8px;border:2px solid #b59bc5;font-size:14px}.ldmp .ldmp-sort-row button[aria-pressed=true]{outline:2px solid #c9ef6b;outline-offset:2px}.ldmp .ldmp-action-canvas{border-radius:12px;border:1px solid #87659c;touch-action:pan-y}.ldmp-range{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;font-size:11px;color:#dccde8;min-height:48px;margin:7px 0}.ldmp-range input{min-width:0;flex:1;accent-color:#c9ef6b;min-height:44px;width:100%}.ldmp-snake{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;max-width:350px;margin:auto}.ldmp-snake span{aspect-ratio:1;background:#3e2d4b;border-radius:3px;color:#21182b;display:grid;place-items:center;font-size:13px}.ldmp-snake [data-kind=body]{background:#ba9ade}.ldmp-snake [data-kind=food]{background:#c9ef6b}.ldmp-number{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;font-size:clamp(18px,2.5vw,32px);font-weight:600;min-width:0}.ldmp-merge{touch-action:none}.ldmp .ldmp-flash{aspect-ratio:1;min-height:90px;border-radius:13px;border:4px solid transparent;color:#21182b;font-size:32px}.ldmp .ldmp-flash[data-active=true]{border-color:#fff;box-shadow:inset 0 0 0 3px #30213d}.ldmp-poster{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px;border-radius:12px;background:#f5f1fa;color:#30213d;min-height:280px}.ldmp .ldmp-poster-slot{min-width:0;border:1px dashed #7244d1;background:transparent;border-radius:6px;color:#5c3888;padding:12px;font-size:11px;min-height:50px}.ldmp-poster .ldmp-slot-0{grid-column:1/-1}.ldmp-poster .ldmp-slot-4{grid-column:1/-1}.ldmp .ldmp-slot-0[data-filled=true]{font-size:30px;font-weight:bold;letter-spacing:-.05em;text-align:left;background:#f5f1fa;color:#30213d}.ldmp .ldmp-slot-1[data-filled=true]{background:#7244d1;color:#c9ef6b;font-size:55px}.ldmp .ldmp-slot-2[data-filled=true]{background:#c9ef6b;color:#7244d1;font-size:55px}.ldmp .ldmp-slot-3[data-filled=true]{background:#30213d;color:#fff;font-size:11px}.ldmp .ldmp-slot-4[data-filled=true]{font-size:10px;letter-spacing:.15em}.ldmp-ink{background-size:100% 100%;gap:0;overflow:hidden;border-radius:12px}.ldmp .ldmp-ink-cell{aspect-ratio:1;background:#463152;color:#e1d3ea;border:1px solid #b69bc530;padding:0;font-size:10px;min-width:0}.ldmp .ldmp-ink-cell[data-open=true]{background:transparent;color:#21182b;text-shadow:0 1px #fff}.ldmp .ldmp-ink-cell[data-selected=true]{outline:2px solid #fff;outline-offset:-3px}.ldmp .ldmp-hunter-symbol{aspect-ratio:1;background:#392544;color:#c9ef6b;border:1px solid #a88eb9;border-radius:10px;font-size:36px;padding:0;min-width:44px;min-height:44px}.ldmp-letter-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:25px 8px}.ldmp .ldmp-letter{width:65px;height:72px;border:1px solid #c6a4e1;background:#ba9ade;color:#30213d;font-size:30px;border-radius:10px;transform:rotate(var(--tilt))}.ldmp .ldmp-letter:disabled{opacity:.25}.ldmp-register{height:235px;position:relative;background:#eee8f4;border-radius:12px;overflow:hidden;margin:15px 0}.ldmp-register-target,.ldmp-register-mark{position:absolute;left:calc(50% - 52px);top:calc(50% - 70px);font:140px/1 Arial;color:#30213d;opacity:.7}.ldmp-register-target{opacity:.2}.ldmp-rescue{min-height:250px;position:relative;background:#f5f1fa;border-radius:12px;padding:25px;color:#30213d}.ldmp-rescue strong{display:block;font-size:10px;max-width:12ch;line-height:1.15}.ldmp-rescue p{font-size:13px;color:#b5afbb;margin-top:35px;line-height:1.7}.ldmp-rescue>span{position:absolute;left:25px;top:25px;background:#c9ef6b;color:#30213d;padding:12px;font-size:12px}.ldmp-rescue[data-step='1'] strong,.ldmp-rescue[data-step='2'] strong,.ldmp-rescue[data-step='3'] strong{font-size:24px}.ldmp-rescue[data-step='2'] p,.ldmp-rescue[data-step='3'] p{color:#30213d}.ldmp-rescue[data-step='3']>span{position:static;display:inline-block;margin-top:15px}.ldmp .ldmp-memory-card{aspect-ratio:1;min-height:55px;min-width:44px;background:#4b345c;color:#f5eefb;border:1px solid #b697ca;border-radius:10px;font-size:28px;padding:0}.ldmp .ldmp-memory-card[data-open=true]{background:#c9ef6b;color:#30213d}.ldmp .ldmp-packing-cell{aspect-ratio:1;min-width:0;min-height:0;border:1px solid #a78ab8;border-radius:5px;font-size:20px;padding:0}.ldmp .ldmp-packing-cell:disabled{opacity:.35}.ldmp-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.ldmp-mini-poster{min-width:0;padding:10px;border-radius:12px;background:#eee8f4;color:#30213d;display:grid;gap:8px}.ldmp-mini-poster>small{font-size:8px;letter-spacing:.1em}.ldmp .ldmp-poster-region{display:grid;place-items:center;min-width:0;min-height:44px;border:1px solid #a897b9;border-radius:5px;background:#e1d7ed;color:#30213d;font-size:15px;padding:4px}.ldmp .ldmp-poster-region[data-found=true]{background:#c9ef6b;border-color:#576c2f}.ldmp-game[data-result=won]{border-radius:12px;box-shadow:inset 0 0 0 1px #c9ef6b}.ldmp-library{margin-bottom:18px;border:1px solid #d9cce7;border-radius:12px;background:#f0ebf5;color:#30213d}.ldmp-library>summary{min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;cursor:pointer;font-size:13px;font-weight:600;list-style:none}.ldmp-library>summary::-webkit-details-marker{display:none}.ldmp-library>summary span{font-size:10px;font-weight:400;color:#674180}.ldmp-discovery{padding:4px 16px 16px}.ldmp-discovery>label{display:flex;align-items:center;gap:12px;font-size:11px;flex-wrap:wrap}.ldmp .ldmp-search{min-height:44px;flex:1;min-width:120px;border:1px solid #ac91c0;background:#faf8fd;color:#30213d;border-radius:8px;padding:9px 12px;font:12px Arial}.ldmp-categories{display:flex;gap:6px;overflow-x:auto;padding:14px 0}.ldmp .ldmp-categories button{flex-shrink:0;min-height:44px;padding:8px 14px;border:1px solid #b59cc7;background:#faf8fd;color:#30213d;border-radius:22px;font-size:11px}.ldmp .ldmp-categories button[aria-pressed=true]{background:#7244d1;color:#fff;border-color:#7244d1}.ldmp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:370px;overflow-y:auto;padding:4px}.ldmp .ldmp-game-card{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:4px 12px;text-align:left;min-height:115px;min-width:0;padding:12px;border:1px solid #d6c6e4;border-radius:12px;background:#faf8fd;color:#30213d}.ldmp .ldmp-game-card:hover{border-color:#7244d1;background:#e9e0f3}.ldmp-card-icon{display:grid;place-items:center;grid-row:1/4;width:50px;height:65px;border-radius:10px;background:#30213d;color:#c9ef6b;font:30px/1 Georgia}.ldmp-game-card:nth-child(3n) .ldmp-card-icon{background:#7244d1;color:#f2eafc}.ldmp-game-card:nth-child(3n+1) .ldmp-card-icon{background:#c9ef6b;color:#30213d}.ldmp-game-card small{font-size:8px;color:#706078}.ldmp-game-card strong{font-size:12px;overflow-wrap:anywhere}.ldmp-game-card>span:last-child{font-size:10px;color:#7244d1}.ldmp .ldmp-search-status{font-size:10px;margin:12px 0 0;color:#706078}.ldmp-loading-art{display:grid;place-items:center;width:100%;height:380px;background:#30243c;color:#ba9ade;border-radius:14px;font-size:100px}.ldmp-library :focus-visible{outline:3px solid #7244d1;outline-offset:2px}
@media(max-width:700px){.ldmp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ldmp .ldmp-game-card{grid-template-columns:32px minmax(0,1fr);gap:4px 8px;padding:10px}.ldmp-card-icon{width:32px;height:55px;font-size:23px}.ldmp-game-card strong{font-size:11px}.ldmp-game-card small{font-size:7px}}
@media(max-width:650px){.ldmp .ldmp-stage{height:460px;min-height:460px}.ldmp-game{padding:3px}.ldmp .ldmp-pipe{font-size:30px}.ldmp .ldmp-number{font-size:26px}.ldmp .ldmp-memory-card{font-size:23px;min-height:49px}.ldmp .ldmp-game-button{font-size:10px;padding:8px 10px}.ldmp .ldmp-poster-slot{padding:9px}.ldmp .ldmp-slot-0[data-filled=true]{font-size:24px}.ldmp-discovery{padding:4px 9px 12px}.ldmp-gallery{gap:7px}.ldmp-library>summary{font-size:11px;padding:12px}.ldmp-library>summary span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ldmp-picture-art{transition:none}}

.ldmp .ldmp-ink-cell{min-height:44px}

@media(max-width:650px){.ldmp-score{min-width:72px}}

/* Picross: spacious cells, persistent clues, scrolling confined to the board. */
.ldmp[data-active-game=picross] .ldmp-stage{height:auto;min-height:480px;overflow:visible;align-items:flex-start}
.ldmp-picross{max-width:560px;padding:4px}.ldmp-picross-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ldmp-picross-top label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px;color:#ddcdea}.ldmp .ldmp-picross-select{font:12px Arial,sans-serif;color:#faf8fd;background:#392544;border:1px solid #a18ab3;border-radius:8px;min-height:44px;max-width:100%;padding:8px}.ldmp-picross-edition{font-size:10px;color:#c9ef6b}.ldmp-picross-rules{color:#e4d5ef;font-size:11px;margin:4px 0 12px}.ldmp-picross-rules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.ldmp-picross-rules p{font:11px/1.7 Arial,sans-serif;margin:0 0 12px;color:#ddcdea}.ldmp-picross-viewport{max-width:100%;max-height:430px;overflow:auto;background:#191120;border:1px solid #9176a2;border-radius:10px;scrollbar-width:thin;scrollbar-color:#b798d1 #21182b;padding:4px;position:relative;isolation:isolate}
.ldmp .ldmp-picross-table{border:0;border-collapse:separate;border-spacing:0;margin:0 auto;width:max-content;table-layout:fixed;color:#f7f1fc;font:600 12px/1.4 Arial,sans-serif;background:#191120}.ldmp .ldmp-picross-table th,.ldmp .ldmp-picross-table td{padding:0;border:0;text-align:center;vertical-align:middle;background:#191120}.ldmp .ldmp-picross-table .ldmp-picross-row{position:sticky;left:0;z-index:2;min-width:52px;width:52px;padding:5px 8px;white-space:nowrap;text-align:right;border-right:2px solid #a78bb9;font-size:12px}.ldmp .ldmp-picross-col{position:sticky;top:0;z-index:3;vertical-align:bottom!important;padding:6px 0!important;border-bottom:2px solid #a78bb9!important;min-width:var(--picross-cell)}.ldmp-picross-col span{display:block;min-height:17px}.ldmp .ldmp-picross-corner{position:sticky;left:0;top:0;z-index:4;width:52px;min-width:52px;color:#b99bcc;font-size:13px}.ldmp .ldmp-picross-table [data-match=true]{box-shadow:inset 0 0 0 1px #c9ef6b80}
.ldmp .ldmp-picross-cell{display:block;width:var(--picross-cell);height:var(--picross-cell);min-width:var(--picross-cell);min-height:var(--picross-cell);padding:0;border:1px solid #715985;background:#30203d;color:#f0e7f7;border-radius:2px;font:24px/1 Arial,sans-serif;position:relative}.ldmp .ldmp-picross-cell[data-mark='1']{background:#9664df;box-shadow:inset 0 0 0 4px #ba9ade}.ldmp .ldmp-picross-cell[data-selected=true]{outline:2px solid #c9ef6b;outline-offset:-3px;z-index:1}.ldmp .ldmp-picross-cell:focus-visible{outline:3px solid #fff;outline-offset:-4px}.ldmp .ldmp-picross-cell[data-x='4'],.ldmp .ldmp-picross-cell[data-x='9'],.ldmp .ldmp-picross-cell[data-x='14'],.ldmp .ldmp-picross-cell[data-x='19'],.ldmp .ldmp-picross-cell[data-x='24'],.ldmp .ldmp-picross-cell[data-x='29']{border-right:3px solid #a78bb9}.ldmp .ldmp-picross-cell[data-y='4'],.ldmp .ldmp-picross-cell[data-y='9'],.ldmp .ldmp-picross-cell[data-y='14'],.ldmp .ldmp-picross-cell[data-y='19'],.ldmp .ldmp-picross-cell[data-y='24'],.ldmp .ldmp-picross-cell[data-y='29']{border-bottom:3px solid #a78bb9}.ldmp-picross-navigation{align-items:center}.ldmp-picross-location{font-size:11px;min-width:54px;color:#c9ef6b}.ldmp-picross-navigation button:last-child{flex-basis:100%}.ldmp .ldmp-picross .ldmp-game-button:disabled{opacity:.4}.ldmp-picross-reveal{display:flex;align-items:center;justify-content:center;gap:15px;color:#c9ef6b;font:14px Georgia,serif}.ldmp-picross-motif{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:120px;aspect-ratio:1;margin:10px 0;animation:ldmp-picross-discover .3s ease-out}.ldmp-picross-motif span[data-filled=true]{background:#ba9ade;border-radius:1px}
/* Result artwork must stay visible when an offscreen/embed host pauses animations. */
.ldmp .ldmp-picross-reveal .ldmp-picross-motif{animation:none;opacity:1;transform:none}
.ldmp-reduced .ldmp-picross-motif{animation:none}
@media(prefers-reduced-motion:reduce){.ldmp-picross-motif{animation:none}}

/* Extended arcade, release 3. */
.ldmp .ldmp-stage{height:auto;min-height:480px;overflow:visible;align-items:center}.ldmp .ldmp-game-heading{overflow-wrap:anywhere}.ldmp .ldmp-setting{display:flex;flex-direction:column;gap:6px;color:#dccde8;font:11px/1.6 Arial,sans-serif;margin:0 0 12px;min-width:0;width:100%}.ldmp .ldmp-setting select{appearance:auto;display:block;width:100%;max-width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid #9278a6;border-radius:8px;background:#33243e;color:#faf8fd;font:12px Arial,sans-serif}.ldmp .ldmp-setting select:focus-visible{outline:3px solid #c9ef6b;outline-offset:2px}.ldmp-options>.ldmp-game-controls{justify-content:flex-start;margin:0}.ldmp-reference img{width:70px;height:70px;object-fit:cover;border:1px solid #9e80b4}.ldmp-reference>span{font-size:11px;line-height:1.5;max-width:22ch}.ldmp-board[data-solved=true] .ldmp-empty{background-image:var(--motif-image)!important;color:transparent;border:3px solid #21182b}.ldmp .ldmp-shootemup{aspect-ratio:540/640}.ldmp .ldmp-action-canvas{touch-action:pan-y}.ldmp .ldmp-shootemup{touch-action:none}.ldmp-snake-expanded{max-width:430px;width:100%;touch-action:none}.ldmp-snake-expanded [data-kind=wall]{background:#84688f;color:#e1d5eb;font-size:12px}.ldmp-snake-expanded [data-kind=food]{background:#f6c77d}.ldmp-snake-expanded span{min-width:0}.ldmp .ldmp-game-button:disabled{opacity:.45}.ldmp .ldmp-game-button[aria-pressed=true]{background:#c9ef6b;color:#21182b}.ldmp .ldmp-flood-cell{font-size:clamp(9px,1.4vw,13px)}
@media(max-width:650px){.ldmp .ldmp-stage{min-height:360px;height:auto}.ldmp-game{padding:3px}.ldmp .ldmp-game-heading{font-size:29px}.ldmp .ldmp-setting select{font-size:12px}.ldmp .ldmp-game-note{font-size:12px}.ldmp .ldmp-controls{font-size:11px}.ldmp-snake-expanded span{font-size:11px}}
.ldmp .ldmp-shootemup{max-width:440px;margin-left:auto;margin-right:auto}

/* Number and deduction games: large cells, local scrolling, native controls. */
.ldmp-sudoku-viewport{max-width:100%;overflow:auto;max-height:425px;border:2px solid #b4a0c4;border-radius:9px;background:#21182b;scrollbar-width:thin;scrollbar-color:#b295c6 #21182b;padding:2px}.ldmp .ldmp-sudoku-table{width:max-content;border-collapse:separate;border-spacing:0;border:0;margin:0 auto;background:#21182b}.ldmp .ldmp-sudoku-table td{padding:0;border:0;background:#21182b}.ldmp .ldmp-sudoku-cell{display:block;position:relative;isolation:isolate;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:var(--cage-shade,#34263f);color:#c9ef6b;border:1px solid #745f85;border-radius:0;font:500 23px/1 Arial,sans-serif}.ldmp .ldmp-sudoku-cell[data-x='2'],.ldmp .ldmp-sudoku-cell[data-x='5']{border-right:3px solid #c3afd3}.ldmp .ldmp-sudoku-cell[data-y='2'],.ldmp .ldmp-sudoku-cell[data-y='5']{border-bottom:3px solid #c3afd3}.ldmp .ldmp-sudoku-cell[data-given=true]{color:#fff4ec;font-weight:700}.ldmp .ldmp-sudoku-cell[data-peer=true]{background:#47354f}.ldmp .ldmp-sudoku-cell[data-cage-selected=true]{background:#4b3b58}.ldmp .ldmp-sudoku-cell[data-same=true]{box-shadow:inset 0 0 0 1px #c9ef6b80}.ldmp .ldmp-sudoku-cell[data-selected=true]{outline:3px solid #c9ef6b;outline-offset:-4px;z-index:1;background:#574368}.ldmp .ldmp-sudoku-cell:focus-visible{outline:3px solid #fff;outline-offset:-4px}.ldmp-sudoku-value{position:relative;z-index:1}.ldmp-killer-outline{position:absolute;inset:2px;pointer-events:none;z-index:0}.ldmp-killer-sum{position:absolute;top:3px;left:5px;font:700 9px/1 Arial,sans-serif;color:#ffda94;z-index:2}.ldmp-sudoku-cell:has(.ldmp-killer-outline) .ldmp-sudoku-value{top:3px}.ldmp-sudoku-notes{position:absolute;inset:7px 4px 3px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font:9px/1 Arial,sans-serif;color:#d6c3e7;align-items:center;justify-items:center}.ldmp-sudoku-warning{display:none;position:absolute;right:4px;top:2px;font:700 11px Arial;color:#ffbd9a}.ldmp .ldmp-sudoku-cell[data-conflict=true]{box-shadow:inset 0 0 0 2px #f4a28f}.ldmp-sudoku-cell[data-conflict=true] .ldmp-sudoku-warning{display:block}.ldmp .ldmp-sudoku-pad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.ldmp .ldmp-sudoku-pad button{font-size:16px}.ldmp-sudoku-viewport:focus-visible{outline:3px solid #c9ef6b;outline-offset:3px}
.ldmp-master-secret,.ldmp-master-guess{display:flex;justify-content:center;gap:6px}.ldmp-master-secret{padding:12px 0;margin-bottom:16px;border:1px dashed #8f739f;border-radius:12px;background:#1b1323}.ldmp-master-peg{display:grid;place-items:center;border:1px solid #ad95bf;border-radius:50%;width:38px;height:38px;font:600 12px Arial;color:#d7c9e1;flex-shrink:0}.ldmp-master-draft{display:grid;grid-template-columns:repeat(var(--slots),minmax(0,1fr));gap:6px;max-width:400px;margin:auto}.ldmp .ldmp-master-slot{min-width:44px;min-height:52px;border:2px solid #8f739f;border-radius:10px;font:600 17px Arial;padding:5px}.ldmp .ldmp-master-slot[data-selected=true]{outline:3px solid #c9ef6b;outline-offset:2px}.ldmp .ldmp-master-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.ldmp-master-log{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column-reverse;gap:10px}.ldmp-master-log li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 8px;align-items:center;padding:12px 9px;border:1px solid #705784;border-radius:10px;background:#2d2039}.ldmp-master-log small{font:10px Arial;color:#c4afcf}.ldmp-master-log p{grid-column:2/-1;font:11px/1.5 Arial,sans-serif;margin:4px 0 0;color:#ddcce7}.ldmp-master-log .ldmp-master-peg{width:29px;height:29px;font-size:10px}.ldmp-master-markers{font:17px/1 Arial,sans-serif;letter-spacing:1px;color:#c9ef6b}.ldmp-master-guess{justify-content:flex-start;gap:4px}
@media(max-width:650px){.ldmp-master-log li{grid-template-columns:18px minmax(0,1fr)}.ldmp-master-markers{grid-column:2}.ldmp .ldmp-master-slot{font-size:14px}.ldmp-master-secret{gap:5px}.ldmp-master-peg{width:35px;height:35px}}
/* Additional game options in 3.2 keep the existing palette and large controls. */
.ldmp .ldmp-snake-expanded [data-kind=portal]{background:#62d5d0;color:#21182b;border:1px dashed #f5edf9;font-weight:bold}
.ldmp .ldmp-snake-expanded [data-kind=trim]{background:#ba9ade;color:#21182b}
.ldmp .ldmp-picross-row[data-active=true],.ldmp .ldmp-picross-col[data-active=true]{box-shadow:inset 0 0 0 2px #c9ef6b}
.ldmp .ldmp-golf-card{margin:14px 0;color:#dccde8;font:11px/1.7 Arial,sans-serif;max-width:100%}
.ldmp .ldmp-golf-card summary{min-height:44px;padding:10px 0;cursor:pointer;color:#faf8fd;text-decoration:underline;text-underline-offset:4px}
.ldmp .ldmp-golf-card table{width:100%;table-layout:fixed;border-collapse:collapse;font:inherit}
.ldmp .ldmp-golf-card td,.ldmp .ldmp-golf-card th{padding:6px 4px;text-align:right;border-bottom:1px solid #8f739f55;overflow-wrap:anywhere}
.ldmp .ldmp-golf-card td:first-child,.ldmp .ldmp-golf-card th:first-child{width:64%;text-align:left}
.ldmp .ldmp-flood-expanded [data-start=true]{box-shadow:inset 0 0 0 3px #21182b;outline:2px solid #faf8fd;outline-offset:-1px;font-weight:bold}
.ldmp .ldmp-flood-expanded [data-connected=false]{border:1px solid #21182b33}
.ldmp .ldmp-board[data-solved=true] .ldmp-tile{visibility:hidden;pointer-events:none}
.ldmp .ldmp-mosaic-reveal{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:11px;animation:ldmp-mosaic-reveal .3s ease-out}
.ldmp .ldmp-mosaic-result{width:min(100%,350px);margin-top:18px;padding:18px;border:1px solid #c9ef6b80;border-radius:12px;background:#30243c;color:#faf8fd;text-align:left;overflow-wrap:anywhere}
.ldmp .ldmp-mosaic-success{margin:0 0 8px;font:600 10px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#c9ef6b}
.ldmp .ldmp-mosaic-result h4{margin:0 0 9px;padding:0;font:400 24px/1.2 Georgia,serif;color:#faf8fd}
.ldmp .ldmp-mosaic-stats{margin:0 0 13px;font:12px/1.7 Arial,sans-serif;color:#ded0e8}
.ldmp .ldmp-mosaic-result-tools{display:flex;flex-wrap:wrap;gap:8px}
.ldmp .ldmp-mosaic-result-tools button{flex:1 1 130px}
.ldmp .ldmp-mosaic-result .ldmp-mosaic-next{flex-basis:100%;background:#c9ef6b;border-color:#c9ef6b;color:#21182b;font-weight:600}
.ldmp .ldmp-mosaic-result small{display:block;margin-top:12px;font:10px/1.6 Arial,sans-serif;color:#bfaecb}
@keyframes ldmp-mosaic-reveal{from{opacity:0}to{opacity:1}}

/* Expanded studio games: scroll the board locally and keep controls at 44px. */
.ldmp-ink-viewport,.ldmp-memory-viewport{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:12px;margin:12px 0}
.ldmp .ldmp-ink-expanded{min-width:calc(var(--cols)*44px);max-width:100%;aspect-ratio:1;margin:0 auto}
.ldmp .ldmp-ink-cell[data-preview=true]{box-shadow:inset 0 0 0 2px #f5e8a3}
.ldmp .ldmp-ink[data-complete=true] .ldmp-ink-cell{border-color:transparent!important;box-shadow:none;outline:none}
.ldmp .ldmp-ink-result{padding:14px;background:#c9ef6b;color:#30213d;border-radius:12px}
.ldmp .ldmp-memory-expanded{min-width:calc(var(--cols)*44px + (var(--cols) - 1)*5px);max-width:420px}
.ldmp .ldmp-memory-card[data-matched=true]{background:#62d5d0;border-color:#62d5d0;color:#203339;box-shadow:inset 0 0 0 3px #2f665855}

.ldmp .ldmp-extra-options{margin:10px 0 16px}.ldmp .ldmp-extra-options .ldmp-setting{margin-top:14px}.ldmp .ldmp-game-controls[hidden]{display:none}

/* Picross collections: the drawing stays hidden until an exact solution. */
.ldmp-picross-progress{font:11px/1.6 Arial,sans-serif;color:#c9ef6b;margin:8px 0 12px}
.ldmp .ldmp-picross-caption{flex:1;min-width:150px}.ldmp .ldmp-picross-caption strong{display:block;font:22px/1.25 Georgia,serif;overflow-wrap:anywhere}.ldmp .ldmp-picross-caption p{font:11px/1.6 Arial,sans-serif;color:#ddcdea}
.ldmp .ldmp-picross-reveal{flex-wrap:wrap;align-items:center;gap:18px;margin-top:14px}
.ldmp .ldmp-picross-motif{width:200px;max-width:100%;flex-shrink:0;background:#eee7f4;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #a18ab366}
.ldmp .ldmp-picross-motif span[data-filled=true]{border-radius:0}
.ldmp .ldmp-picross-cell[data-x='14']{border-right:3px solid #a78bb9}.ldmp .ldmp-picross-cell[data-y='14']{border-bottom:3px solid #a78bb9}
.ldmp .ldmp-picross-table{border-collapse:separate}.ldmp .ldmp-picross-row{min-width:52px}

.ldmp .ldmp-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#d8c2f4;text-decoration:underline;text-underline-offset:4px}.ldmp-library,.ldmp-shell{scroll-margin-top:110px}

.ldmp .ldmp-picross[data-result=won] .ldmp-picross-cell{background:var(--picross-reveal)!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important}.ldmp .ldmp-picross-reveal .ldmp-picross-motif{width:clamp(180px,38vw,300px);background:#e4eae5;border-radius:8px;overflow:hidden}

/* Picross 3.11: one complete board, fitted to both available dimensions. */
.preview-brand:has(+main .ldmp[data-active-game=picross]){display:none}
.ldmp[data-active-game=picross]{padding:8px}
.ldmp[data-active-game=picross] .ldmp-play-layout{display:block;min-height:0}
.ldmp[data-active-game=picross] .ldmp-sidebar{display:none}
.ldmp[data-active-game=picross] .ldmp-playarea{padding:8px;display:block}
.ldmp[data-active-game=picross] .ldmp-stage{display:block;min-height:0!important;height:auto;overflow:visible}
.ldmp[data-active-game=picross] .ldmp-topbar{display:none}
.ldmp[data-active-game=picross] .ldmp-topbar .ldmp-tag{display:none}
.ldmp[data-active-game=picross] .ldmp-game-label strong{font-size:11px}
.ldmp[data-active-game=picross] .ldmp-feedback{min-height:20px;margin:3px 0 0;font-size:10px;line-height:1.3}
.ldmp[data-active-game=picross] .ldmp-bottom{padding:0 12px;min-height:44px}
.ldmp[data-active-game=picross] .ldmp-bottom>span{display:none}
.ldmp .ldmp-picross{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;width:100%;max-width:none;min-width:0;padding:0;min-height:0}
.ldmp .ldmp-picross-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;margin:0;align-items:center}
.ldmp .ldmp-picross-top:has(.ldmp-picross-detail-toggle:not([hidden])){grid-template-columns:minmax(0,1fr) auto auto}
.ldmp .ldmp-picross-detail-toggle{min-height:44px;padding:5px 10px;border:1px solid #c9dfaa;border-radius:8px;background:#354338;color:#f1f6e8;font:600 12px/1.2 Arial,sans-serif;white-space:nowrap}
.ldmp .ldmp-picross-page-controls{display:flex;gap:4px;min-width:0}
.ldmp .ldmp-picross-page-controls button{min-width:44px;min-height:44px;padding:3px;border:1px solid #806b91;border-radius:8px;background:#33263f;color:#f5eef7;font:600 12px/1.2 Arial,sans-serif}
.ldmp .ldmp-picross .ldmp-picross-page-controls .ldmp-game-button{width:auto;min-width:44px;flex:1 0 44px;padding:3px;white-space:nowrap}
.ldmp .ldmp-picross-page-controls[hidden]{display:none}
@media(max-width:600px) and (min-height:501px){
 .ldmp .ldmp-picross[data-detail=true] .ldmp-picross-utilities{flex-wrap:wrap}
 .ldmp .ldmp-picross[data-detail=true] .ldmp-picross-page-controls{flex-basis:100%}
 .ldmp .ldmp-picross[data-detail=true] .ldmp-picross-utilities details{flex:1 1 28%}
}
.ldmp .ldmp-picross-top label{display:block;margin:0;min-width:0}
.ldmp .ldmp-picross-top select{width:100%;margin:0;max-width:320px;min-height:44px;font-size:13px;text-overflow:ellipsis}
.ldmp .ldmp-picross-statusline{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 8px;font:10px/1.3 Arial;color:#d4c6df}
.ldmp .ldmp-picross-progress{font:inherit;margin:0}
.ldmp .ldmp-picross-workspace{display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:14px;min-height:0;min-width:0}
.ldmp .ldmp-picross-boardspace{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}
.ldmp .ldmp-picross-viewport{flex:none;width:calc(var(--picross-width,440px) + 2px);height:calc(var(--picross-height,440px) + 2px);max-width:100%;max-height:none;overflow:visible;padding:0;border:1px solid #9176a2;border-radius:3px;background:#191120}
.ldmp .ldmp-picross-table{width:var(--picross-width,440px);max-width:none;height:auto;margin:0;border-spacing:0;border-collapse:separate;table-layout:fixed;font:600 var(--picross-font,10px)/1 Arial}
.ldmp .ldmp-picross-table th,.ldmp .ldmp-picross-table td{position:static;min-width:0;margin:0;padding:0!important;border:0;line-height:1;vertical-align:middle}
.ldmp .ldmp-picross-table .ldmp-picross-row,.ldmp .ldmp-picross-table .ldmp-picross-corner{width:var(--picross-row,50px);min-width:var(--picross-row,50px);max-width:var(--picross-row,50px);font-size:var(--picross-font,10px);padding:0 3px!important;white-space:nowrap;text-align:right;border-right:1px solid #a78bb9}
.ldmp .ldmp-picross-table .ldmp-picross-col{width:var(--picross-cell);min-width:var(--picross-cell);height:var(--picross-col,40px);vertical-align:bottom!important;padding:3px 0!important;border-bottom:1px solid #a78bb9!important}
.ldmp .ldmp-picross-col span{font-size:var(--picross-font,10px);line-height:calc(var(--picross-font,10px) + 1px);height:calc(var(--picross-font,10px) + 1px);min-height:0}
.ldmp .ldmp-picross-cell{width:var(--picross-cell)!important;min-width:var(--picross-cell)!important;max-width:var(--picross-cell);height:var(--picross-cell)!important;min-height:var(--picross-cell)!important;padding:0!important;font-size:calc(var(--picross-cell)*.72);line-height:1;border:0;border-radius:0;box-shadow:inset 0 0 0 .5px #715985}
.ldmp .ldmp-picross-cell[data-mark='1']{box-shadow:inset 0 0 0 1px #ba9ade}
.ldmp .ldmp-picross-cell[data-selected=true]{outline:2px solid #e5ff9c;outline-offset:-2px;z-index:1}
.ldmp .ldmp-picross-rail{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:0}
.ldmp .ldmp-picross-readout{color:#ede6f4;font:12px/1.5 Arial;overflow-wrap:anywhere;min-height:36px;border-left:2px solid #c9ef6b;padding-left:8px}
.ldmp .ldmp-picross .ldmp-game-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0;min-width:0}
.ldmp .ldmp-picross .ldmp-game-controls[aria-label='Picross-Werkzeug']{grid-template-columns:repeat(5,minmax(0,1fr))}
.ldmp .ldmp-picross .ldmp-game-button{width:100%;min-width:0;min-height:44px;padding:4px;font-size:11px;line-height:1.2;margin:0}
.ldmp .ldmp-picross .ldmp-picross-navigation{grid-template-columns:repeat(5,minmax(0,1fr))}
.ldmp .ldmp-picross-navigation .ldmp-game-button{font-size:21px;flex-basis:auto}
.ldmp .ldmp-picross-navigation .ldmp-game-button:nth-child(3){color:#c9ef6b;border-color:#c9ef6b}
.ldmp .ldmp-picross .ldmp-picross-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.ldmp .ldmp-picross .ldmp-picross-actions button{font-size:10px}
.ldmp .ldmp-picross-utilities{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;position:relative}
.ldmp .ldmp-picross-utilities details{margin:0;min-width:0;flex:1}
.ldmp .ldmp-picross-utilities summary{display:flex;align-items:center;gap:5px;font:11px/1.2 Arial;min-height:44px;padding:5px 3px;list-style:none;justify-content:center;text-align:center;border:1px solid #806b91;border-radius:8px;text-decoration:none;background:#33263f;cursor:pointer}
.ldmp .ldmp-picross-utilities summary::-webkit-details-marker{display:none}
.ldmp .ldmp-picross-popover{position:absolute;bottom:calc(100% + 6px);left:0;right:0;z-index:8;max-height:min(65svh,420px);overflow:auto;padding:16px;background:#30203d;border:1px solid #b197c3;border-radius:10px;box-shadow:0 8px 30px #0007}
.ldmp .ldmp-picross-popover p{font:12px/1.6 Arial;color:#e5d9ed}
.ldmp .ldmp-picross-popover .ldmp-game-controls{margin-top:12px}
.ldmp .ldmp-picross-reveal:empty{display:none}
.ldmp .ldmp-picross .ldmp-picross-reveal{display:block;margin:0;font-size:13px}
.ldmp .ldmp-picross .ldmp-picross-reveal .ldmp-picross-motif{display:none}
.ldmp .ldmp-picross-caption strong{font:18px/1.2 Georgia;color:#d7f69a}
.ldmp .ldmp-picross-caption p{font:10px/1.3 Arial;margin:4px 0 8px;color:#ded0e8}
.ldmp .ldmp-picross[data-result=won] .ldmp-picross-readout{display:none}
.ldmp .ldmp-picross .ldmp-picross-cell[data-x]{border:0}
.ldmp .ldmp-picross .ldmp-picross-cell[data-x='4'],.ldmp .ldmp-picross .ldmp-picross-cell[data-x='9'],.ldmp .ldmp-picross .ldmp-picross-cell[data-x='14'],.ldmp .ldmp-picross .ldmp-picross-cell[data-x='19'],.ldmp .ldmp-picross .ldmp-picross-cell[data-x='24']{border-right:1.5px solid #b79dcc}
.ldmp .ldmp-picross .ldmp-picross-cell[data-y='4'],.ldmp .ldmp-picross .ldmp-picross-cell[data-y='9'],.ldmp .ldmp-picross .ldmp-picross-cell[data-y='14'],.ldmp .ldmp-picross .ldmp-picross-cell[data-y='19'],.ldmp .ldmp-picross .ldmp-picross-cell[data-y='24']{border-bottom:1.5px solid #b79dcc}
html body .ldmp-picross-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#21182b;color:#faf8fd;overflow:hidden}
.ldmp-picross-dialog::backdrop{background:#17101fe6}
html:has(.ldmp-picross-dialog[open]){overflow:hidden}
.ldmp-picross-dialog>.ldmp-picross-focus{height:100%;padding:0;background:#21182b;overflow:hidden}
.ldmp-picross-focus .ldmp-inner{max-width:1480px}
.ldmp-picross-focus .ldmp-heading,.ldmp-picross-focus .ldmp-library,.ldmp-picross-focus .ldmp-footnote{display:none}
.ldmp-picross-focus .ldmp-shell{border:0;border-radius:0}
.ldmp-picross-focus[data-active-game=picross] .ldmp-topbar{display:none}
.ldmp .ldmp-picross[data-layout=stacked]{gap:5px}
.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:6px}
.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-rail{gap:4px}
.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-readout{font-size:11px;line-height:1.25;min-height:28px;display:flex;flex-wrap:wrap;gap:0 10px}
.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-statusline{font-size:10px}
.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-utilities summary{font-size:11px}
@media(max-width:600px) and (min-height:501px){
 .ldmp[data-active-game=picross] .ldmp-topbar .ldmp-motion{font-size:8px}
}
@media(max-height:500px){
 .ldmp .ldmp-picross-workspace{grid-template-columns:minmax(0,1fr) 208px;gap:8px}
 .ldmp .ldmp-picross-top select,.ldmp .ldmp-picross-top button{min-height:36px}
 .ldmp .ldmp-picross-rail{gap:4px}
 .ldmp .ldmp-picross-readout{font-size:10px;min-height:24px;line-height:1.2}
 .ldmp .ldmp-picross .ldmp-picross-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
 .ldmp .ldmp-picross-utilities summary{min-height:28px}
 .ldmp[data-active-game=picross] .ldmp-topbar{display:none}
 .ldmp[data-active-game=picross] .ldmp-feedback{min-height:16px;font-size:9px}
 .ldmp[data-active-game=picross] .ldmp-bottom{min-height:32px}
}

/* Picross controls use fixed vector icons, never font-dependent symbols. */
.ldmp .ldmp-picross .ldmp-picross-icon-button{display:flex;align-items:center;justify-content:center;gap:3px;color:#f4edf8;line-height:1.1;overflow:visible}
.ldmp .ldmp-picross-icon-button svg{display:block;width:20px;height:20px;min-width:20px;max-width:none;flex:0 0 20px;pointer-events:none;overflow:visible}
.ldmp .ldmp-picross-button-label{display:block;font:11px/1.15 Arial,sans-serif;white-space:nowrap;word-break:normal;overflow-wrap:normal;letter-spacing:normal}
.ldmp .ldmp-picross [aria-label='Picross-Werkzeug'] .ldmp-picross-icon-button{flex-direction:column;padding:4px 1px;min-height:48px}
.ldmp .ldmp-picross [aria-label='Picross-Werkzeug'] .ldmp-picross-button-label{font-size:10px}
.ldmp .ldmp-picross .ldmp-picross-icon-button[aria-pressed=true]{color:#21182b;background:#c9ef6b;border-color:#c9ef6b}
.ldmp .ldmp-picross .ldmp-picross-icon-button:disabled{opacity:.48;color:#eee2f5;background:#36293f}
.ldmp .ldmp-picross-top .ldmp-picross-icon-button{padding:4px 8px;gap:6px;width:auto}
.ldmp .ldmp-picross-utilities summary::after{content:'';width:6px;height:6px;flex:0 0 6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.ldmp .ldmp-picross-utilities details[open]>summary{color:#c9ef6b;border-color:#c9ef6b}
.ldmp .ldmp-picross-utilities details[open]>summary::after{transform:rotate(225deg) translate(-2px,-1px)}

/* 3.12: the play surface and its controls share one visual viewport. */
.ldmp.ldmp-fit{padding:8px}
.preview-brand:has(+main .ldmp-fit){display:none}
.ldmp-fit .ldmp-shell{height:var(--ldmp-screen,calc(100svh - 16px));display:grid;grid-template-rows:44px minmax(0,1fr) 44px;position:relative;overflow:visible}
.ldmp-fit .ldmp-topbar{padding:0 12px;gap:6px;min-width:0;overflow:hidden;border-radius:18px 18px 0 0}
.ldmp-fit .ldmp-game-label{min-width:0;flex:1;flex-wrap:nowrap;gap:6px}
.ldmp-fit .ldmp-game-label strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px}
.ldmp-fit .ldmp-tag{display:none}
.ldmp-fit .ldmp-motion{font-size:9px;max-width:86px;line-height:1.2;flex-shrink:0}
.ldmp .ldmp-fit-focus{min-height:44px;min-width:44px;padding:3px 6px;border:0;background:transparent;color:#c9ef6b;font:11px/1.2 Arial;flex-shrink:0}
.ldmp-fit .ldmp-play-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:visible}
.ldmp-fit .ldmp-playarea{padding:8px 10px 0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 24px;justify-content:stretch;align-items:stretch;min-height:0;overflow:visible}
.ldmp-fit .ldmp-stage{display:block;height:100%;min-height:0;overflow:visible}
.ldmp-fit .ldmp-feedback{margin:3px 0 0;font:10px/1.3 Arial;min-height:0;max-height:21px;overflow:hidden;align-self:center}
.ldmp-fit .ldmp-sidebar{border:0;padding:4px 10px;display:flex;gap:10px;min-height:48px;align-items:center;min-width:0}
.ldmp-fit .ldmp-sidebar>.ldmp-kicker,.ldmp-fit .ldmp-sidebar>.ldmp-game-heading,.ldmp-fit .ldmp-sidebar>.ldmp-instruction,.ldmp-fit .ldmp-sidebar>.ldmp-options,.ldmp-fit .ldmp-sidebar>.ldmp-controls{display:none}
.ldmp-fit .ldmp-score{display:flex;flex-direction:row;flex-wrap:wrap;gap:2px 6px;margin:0;padding:0;border:0;max-width:180px;min-width:55px;align-items:center}
.ldmp-fit .ldmp-score strong{font-size:17px;order:-1;line-height:1}
.ldmp-fit .ldmp-score>span{font-size:7px}
.ldmp-fit .ldmp-score small{display:none}
.ldmp-fit .ldmp-actions{flex:1;margin:0;gap:4px;justify-content:flex-end}
.ldmp-fit .ldmp-actions button{min-height:44px;padding:4px 9px;font:11px/1.2 Arial;min-width:44px;flex:0 1 auto;gap:5px}
.ldmp-fit .ldmp-bottom{padding:0 12px;min-height:44px;gap:4px;font-size:10px;border-radius:0 0 18px 18px}
.ldmp-fit .ldmp-bottom>span{display:none}
.ldmp-fit .ldmp-fit-view{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;align-items:stretch;align-self:stretch;max-width:none;width:100%;height:100%;min-height:0;padding:0;position:static}
.ldmp-fit .ldmp-fit-field{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;gap:5px;overflow:visible}
.ldmp-fit .ldmp-fit-pad{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:0;min-width:0}
.ldmp-fit .ldmp-fit-pad>.ldmp-game-controls{display:flex;flex-wrap:wrap;gap:4px;margin:0;justify-content:center}
.ldmp-fit .ldmp-fit-pad .ldmp-game-button{min-height:44px;min-width:44px;margin:0;padding:4px 6px;font:11px/1.2 Arial;flex:1 1 auto;white-space:normal;word-break:normal;overflow-wrap:normal}
.ldmp[data-active-game=ink-splash] .ldmp-fit-pad>.ldmp-game-controls:has(button[aria-pressed]){display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.ldmp[data-active-game=ink-splash] .ldmp-fit-pad>.ldmp-game-controls:has(button[aria-pressed])>.ldmp-game-button{font-size:10px;min-width:0;padding:4px 2px}
.ldmp-fit .ldmp-fit-pad>.ldmp-range{display:grid;grid-template-columns:90px minmax(0,1fr);gap:5px;min-height:44px;margin:0;font-size:10px}
.ldmp-fit .ldmp-fit-pad>.ldmp-range input{min-height:44px;margin:0}
.ldmp-fit .ldmp-fit-menus{display:flex;gap:4px;position:static;flex-shrink:0}
.ldmp-fit .ldmp-fit-menu{flex:1;min-width:0;margin:0}
.ldmp-fit .ldmp-fit-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;border:1px solid #806493;border-radius:7px;min-height:44px;padding:4px;font:10px/1.2 Arial;color:#e8dbf1;background:#33223f;cursor:pointer}
.ldmp-fit .ldmp-fit-menu>summary::-webkit-details-marker{display:none}
.ldmp-fit .ldmp-fit-popover{position:absolute;z-index:10;left:10px;right:10px;bottom:100px;max-height:min(65svh,460px);overflow:auto;background:#30203d;border:1px solid #b197c3;border-radius:12px;padding:16px;box-shadow:0 8px 30px #0009;color:#eee5f5}
.ldmp-fit .ldmp-fit-popover .ldmp-setting{display:block;margin:0 0 10px}
.ldmp-fit .ldmp-fit-popover select{max-width:100%;width:100%;min-height:44px}
.ldmp-fit .ldmp-fit-popover>.ldmp-game-button{display:inline-flex;align-items:center;justify-content:center;margin:3px}
.ldmp-fit .ldmp-fit-readout{margin:0;padding:3px 5px;border-left:2px solid #c9ef6b;font:10px/1.25 Arial;min-height:20px}
.ldmp-fit .ldmp-fit-field>canvas{width:var(--ldmp-field-width);height:var(--ldmp-field-height);max-width:100%;flex:none;aspect-ratio:auto;touch-action:none}
.ldmp-fit .ldmp-fit-field>.ldmp-grid,.ldmp-fit .ldmp-fit-field>.ldmp-snake,.ldmp-fit .ldmp-fit-field>.ldmp-board{width:var(--ldmp-field-width);height:var(--ldmp-field-height);max-width:100%;margin:0;flex:none;min-height:0;min-width:0}
.ldmp-fit .ldmp-fit-field>.ldmp-ink-viewport,.ldmp-fit .ldmp-fit-field>.ldmp-memory-viewport,.ldmp-fit .ldmp-fit-field>.ldmp-sudoku-viewport{width:var(--ldmp-field-width);height:var(--ldmp-field-height);max-height:none;min-height:0;min-width:0;overflow:visible;padding:0;flex:none}
.ldmp-fit .ldmp-ink-viewport .ldmp-grid,.ldmp-fit .ldmp-memory-viewport .ldmp-grid{width:100%;height:100%;min-width:0;max-width:none;margin:0;gap:3px}
.ldmp-fit .ldmp-ink-viewport .ldmp-grid{gap:0}
.ldmp-fit .ldmp-memory-card{padding:3px;min-width:0;min-height:0;aspect-ratio:1;border-radius:8px;font-size:24px;overflow:hidden}
.ldmp .ldmp-memory-card svg{width:100%;height:100%;display:block;pointer-events:none}
.ldmp-fit .ldmp-memory-card[data-open=true]{background:#fffaf0}
.ldmp-fit .ldmp-memory-card[data-matched=true]{border:2px solid #62d5d0;box-shadow:0 0 0 1px #62d5d0}
.ldmp-fit .ldmp-flood-cell,.ldmp-fit .ldmp-ink-cell{font-size:clamp(7px,2vw,11px)}
.ldmp-fit .ldmp-fit-field>.ldmp-sudoku-viewport{border-width:2px;box-sizing:content-box;width:calc(var(--ldmp-sudoku-cell)*9);height:calc(var(--ldmp-sudoku-cell)*9)}
.ldmp-fit .ldmp-sudoku-table{table-layout:fixed;width:calc(var(--ldmp-sudoku-cell)*9);height:calc(var(--ldmp-sudoku-cell)*9);margin:0;border-spacing:0}
.ldmp-fit .ldmp-sudoku-cell{width:var(--ldmp-sudoku-cell);height:var(--ldmp-sudoku-cell);min-width:0;min-height:0;max-width:none;font-size:calc(var(--ldmp-sudoku-cell)*.5)}
.ldmp-fit .ldmp-killer-sum{font-size:clamp(6px,calc(var(--ldmp-sudoku-cell)*.23),10px);top:2px;left:2px}
.ldmp-fit .ldmp-sudoku-notes{font-size:calc(var(--ldmp-sudoku-cell)*.19);inset:7px 2px 2px}
.ldmp-fit .ldmp-fit-pad>.ldmp-sudoku-pad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.ldmp .ldmp-sudoku-pad button>svg{display:block;width:20px;height:20px;max-width:none;margin:auto;pointer-events:none}
.ldmp-fit .ldmp-fit-pad>.ldmp-master-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ldmp-fit .ldmp-mastermind .ldmp-fit-field{justify-content:flex-start}
.ldmp-fit .ldmp-master-secret{padding:2px;margin:0;gap:5px;min-height:28px}
.ldmp-fit .ldmp-master-secret .ldmp-master-peg{width:24px;height:24px;font-size:10px}
.ldmp-fit .ldmp-master-draft{width:100%;max-width:400px;margin:0;gap:5px;padding:3px}
.ldmp-fit .ldmp-master-slot{min-height:44px;height:44px;min-width:0;font-size:14px;padding:2px}
.ldmp-fit .ldmp-master-log{width:100%;max-width:470px;margin:0;padding:0;gap:2px;flex:1;min-height:0;justify-content:flex-end}
.ldmp-fit .ldmp-master-log li{min-height:0;height:var(--ldmp-log-row,20px);padding:0 4px;grid-template-columns:18px minmax(0,1fr) auto;gap:3px;border-radius:3px}
.ldmp-fit .ldmp-master-log .ldmp-master-peg{height:calc(var(--ldmp-log-row,20px) - 2px);width:calc(var(--ldmp-log-row,20px) - 2px);font-size:clamp(6px,calc(var(--ldmp-log-row)*.43),10px)}
.ldmp-fit .ldmp-master-log p{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.ldmp-fit .ldmp-master-markers{font-size:12px;grid-column:auto;white-space:nowrap}
.ldmp-fit .ldmp-mosaic-result{margin:0;padding:0;border:0;background:transparent}
.ldmp-fit .ldmp-mosaic-result h4{font-size:16px;margin:0}
.ldmp-fit .ldmp-mosaic-result p{margin:2px 0;font-size:9px}
.ldmp-fit .ldmp-mosaic-result small,.ldmp-fit .ldmp-mosaic-success{display:none}
.ldmp-fit .ldmp-mosaic-result-tools{display:flex;gap:4px;margin:4px 0}
.ldmp-fit .ldmp-mosaic-result-tools button{flex:1;min-height:44px;padding:3px;font-size:10px}
.ldmp-fit .ldmp-fit-view[data-fit-layout=stacked]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:6px}
.ldmp-fit [data-fit-layout=stacked] .ldmp-fit-pad{gap:4px}
.ldmp-fit [data-fit-layout=stacked] .ldmp-fit-pad>.ldmp-master-palette{grid-template-columns:repeat(8,minmax(0,1fr))}
.ldmp-fit [data-fit-layout=stacked] .ldmp-master-palette .ldmp-game-button{min-width:0;font-size:10px;padding:2px}
html body .ldmp-game-dialog{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-height:none;max-width:none;padding:0;border:0;background:#21182b;color:#faf8fd;overflow:hidden}
.ldmp-game-dialog::backdrop{background:#17101fe6}
html:has(.ldmp-game-dialog[open]){overflow:hidden}
.ldmp-game-dialog>.ldmp-fit-focus{padding:8px;height:100%;background:#21182b}
.ldmp-fit-focus .ldmp-heading,.ldmp-fit-focus .ldmp-library,.ldmp-fit-focus .ldmp-footnote{display:none}
.ldmp-fit-focus .ldmp-inner{max-width:1480px}
@media(max-height:500px){.ldmp-fit .ldmp-fit-view{grid-template-columns:minmax(0,1fr) 252px;gap:8px}.ldmp-fit .ldmp-fit-readout{font-size:9px}.ldmp-fit .ldmp-fit-pad{gap:3px}.ldmp-fit .ldmp-fit-popover{bottom:90px;max-height:65svh}}
.ldmp-fit .ldmp-fit-pad>.ldmp-game-controls:empty{display:none}
.ldmp[data-active-game=space-defender] .ldmp-fit-pad>.ldmp-game-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ldmp[data-active-game=space-defender] .ldmp-fit-pad>.ldmp-game-controls:has([aria-pressed]){grid-template-columns:repeat(3,minmax(0,1fr))}
.ldmp[data-active-game=space-defender] .ldmp-fit-pad>.ldmp-game-controls>.ldmp-game-button{min-width:0;padding:3px}
.ldmp .ldmp-flight-status-menu{display:none}
.ldmp[data-active-game=space-defender] .ldmp-fit-flight-status,.ldmp[data-active-game=space-defender] .ldmp-score{display:none}
.ldmp[data-active-game=space-defender] .ldmp-flight-status-menu{display:block}
@media(max-height:680px){.ldmp[data-active-game=space-defender] [data-fit-layout=stacked] .ldmp-fit-flight-status{display:none}.ldmp[data-active-game=space-defender] [data-fit-layout=stacked] .ldmp-flight-status-menu{display:block}}
.ldmp-fit .ldmp-sudoku .ldmp-fit-pad{display:grid;grid-template-columns:44px minmax(0,1fr);align-content:center;align-items:center}
.ldmp-fit .ldmp-sudoku .ldmp-fit-readout,.ldmp-fit .ldmp-sudoku .ldmp-sudoku-pad{grid-column:1/-1}
.ldmp-fit .ldmp-sudoku .ldmp-fit-pad>.ldmp-game-controls:not(.ldmp-sudoku-pad){grid-column:1}
.ldmp-fit .ldmp-sudoku .ldmp-fit-menus{grid-column:2}
.ldmp-fit .ldmp-sudoku .ldmp-fit-pad>.ldmp-game-controls:not(.ldmp-sudoku-pad) button{font-size:9px;padding:2px}
.ldmp-fit .ldmp-fit-flight-status{margin:0;padding:4px 6px;border-left:2px solid #62d5d0;font:11px/1.35 Arial;color:#e8f4df;white-space:pre-line}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-fit-readout{display:none}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-log{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:end;gap:2px}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-log li{grid-template-columns:12px minmax(0,1fr) auto;padding:0 2px;gap:2px}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-log .ldmp-master-peg{width:11px;height:calc(var(--ldmp-log-row) - 2px);font-size:6px;border-width:.5px}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-guess{gap:1px}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-markers{font-size:8px;letter-spacing:0}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-log small{font-size:7px}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-secret{min-height:24px}
.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-secret .ldmp-master-peg{height:20px;width:20px}
.ldmp .ldmp-picross-viewport{position:relative}
.ldmp .ldmp-picross-illustration{position:absolute;left:var(--picross-row);top:var(--picross-col);width:calc(var(--picross-width) - var(--picross-row));height:calc(var(--picross-height) - var(--picross-col));max-width:none;margin:0;padding:0;border:0;border-radius:0;pointer-events:auto;z-index:3;background:#e4eae5;object-fit:fill;cursor:default}
.ldmp .ldmp-picross[data-result=won] .ldmp-picross-rail>.ldmp-game-controls{display:none}
.ldmp .ldmp-picross-reveal-actions{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px}

/* 3.15: material, depth and original detail art for the thirteen selected games.
   Inset decoration preserves every fitted field's measured dimensions. */
.ldmp .ldmp-illustrated .ldmp-action-canvas{border-color:#91a8b3;box-shadow:inset 0 0 0 1px #e8dcbd22,0 8px 22px #10162544}
.ldmp-fit .ldmp-illustrated .ldmp-fit-pad>.ldmp-game-button{flex:0 0 auto;min-height:44px}
.ldmp .ldmp-illustrated .ldmp-flood-expanded{position:relative;background:#1b263b;padding:4px;border-radius:12px;box-shadow:inset 0 0 0 1px #b9c9c34d,0 5px 14px #0c172544}
.ldmp .ldmp-illustrated .ldmp-flood-cell{position:relative;isolation:isolate;overflow:hidden;border-radius:22%;background-image:linear-gradient(140deg,#ffffff55,transparent 48%,#182e4033);box-shadow:inset 0 1px 0 #ffffff88,inset 0 -2px 0 #162c3d44;color:#192d3d;font-weight:700;text-shadow:0 1px #ffffff55;transition:background-color .2s}
.ldmp .ldmp-illustrated .ldmp-flood-cell::before{content:"";position:absolute;inset:11% 15% 62% 15%;border-radius:50%;background:#ffffff28;pointer-events:none}
.ldmp .ldmp-illustrated .ldmp-flood-cell[data-connected=true]{box-shadow:inset 0 0 0 1px #f0f7e3aa,inset 0 -2px 0 #162c3d44}
.ldmp .ldmp-illustrated .ldmp-flood-cell[data-start=true]{outline:2px solid #fff3d9;outline-offset:-3px}
.ldmp .ldmp-illustrated .ldmp-merge{padding:6px;background:linear-gradient(140deg,#5d576b,#273449);border-radius:14px;box-shadow:inset 0 0 0 1px #d6d5c344,0 4px 14px #111d3344}
.ldmp .ldmp-illustrated .ldmp-number{position:relative;background-image:linear-gradient(145deg,#ffffff44,transparent 50%,#1c304633);box-shadow:inset 0 2px 0 #ffffff66,inset 0 -3px 0 #13223844,0 2px 3px #111b3244;text-shadow:0 1px #ffffff44;font-variant-numeric:tabular-nums;letter-spacing:-.045em;border-radius:15%}
.ldmp .ldmp-illustrated .ldmp-number[data-value="0"]{background-image:linear-gradient(140deg,#14243844,#101a3233);box-shadow:inset 0 2px 4px #121b3255;color:#d8cbd955}
.ldmp .ldmp-illustrated .ldmp-number:not([data-value="0"])::before{content:"";position:absolute;inset:7% 12% 78%;border-top:1px solid #fff7df88;border-radius:50%;pointer-events:none}
.ldmp .ldmp-illustrated .ldmp-number:is([data-value="512"],[data-value="1024"],[data-value="2048"]){box-shadow:inset 0 0 0 2px #fff1d5bb,inset 0 -3px 0 #13223844,0 0 14px #e4c88a55}
.ldmp .ldmp-illustrated .ldmp-snake{background:linear-gradient(145deg,#254d49,#183b43);padding:4px;border-radius:10px;box-shadow:inset 0 0 0 1px #92b2a477,inset 0 0 10px #122c3499}
.ldmp .ldmp-illustrated .ldmp-snake span{position:relative;background:radial-gradient(ellipse at 25% 25%,#d0e1b71c 0 10%,transparent 12%),#355b5166;box-shadow:inset 0 1px #9abc8d12;border-radius:15%;overflow:hidden}
.ldmp .ldmp-illustrated .ldmp-snake [data-kind=body]{background:linear-gradient(145deg,#c8dfa0,#7eac76);box-shadow:inset 0 1px #eef3cf,inset 0 -2px #406c5e}
.ldmp .ldmp-illustrated .ldmp-snake [data-kind=body]::after{content:"";position:absolute;inset:25%;border-radius:50%;border:1px solid #e7edbd55}
.ldmp .ldmp-illustrated .ldmp-snake [data-head=true]{background:none;box-shadow:none;overflow:visible}
.ldmp .ldmp-illustrated .ldmp-snake [data-head=true]::after{display:none}
.ldmp .ldmp-illustrated .ldmp-snake svg{display:block;width:100%;height:100%;pointer-events:none}
.ldmp .ldmp-illustrated .ldmp-snake [data-head=true][data-direction=left] svg{transform:rotate(180deg)}
.ldmp .ldmp-illustrated .ldmp-snake [data-head=true][data-direction=up] svg{transform:rotate(-90deg)}
.ldmp .ldmp-illustrated .ldmp-snake [data-head=true][data-direction=down] svg{transform:rotate(90deg)}
.ldmp .ldmp-illustrated .ldmp-snake :is([data-kind=food],[data-kind=trim],[data-kind=wall]){background:#244a4466;box-shadow:none}
.ldmp .ldmp-illustrated .ldmp-snake [data-kind=portal]{background:radial-gradient(circle,#182e43 25%,#bba7df 30%,#4b6a8066 45%,#93d9d7 55%,#253f47 62%);color:#f4f3d6;text-shadow:0 1px 2px #172f39;font-weight:700;box-shadow:inset 0 0 0 1px #b9e4d377}
.ldmp .ldmp-illustrated .ldmp-ink-viewport{border-radius:10px;background:#1b2e3e;box-shadow:inset 0 0 0 1px #d0c5ae55}
.ldmp .ldmp-illustrated .ldmp-ink-expanded{box-shadow:inset 0 0 0 1px #fff1d588}
.ldmp .ldmp-illustrated .ldmp-ink-expanded{position:relative;overflow:hidden}
.ldmp .ldmp-illustrated .ldmp-ink-spray{position:absolute;width:48%;aspect-ratio:1;z-index:3;pointer-events:none;opacity:0;transform:translate(-50%,-50%)}
.ldmp .ldmp-illustrated .ldmp-ink-spray svg{display:block;width:100%;height:100%}
.ldmp .ldmp-illustrated .ldmp-ink-cell{background-image:radial-gradient(ellipse at 25% 25%,#e0cfb718 0 12%,transparent 14%),linear-gradient(135deg,#ffffff08,#0b172525);box-shadow:inset 0 1px #ffffff1a,inset -1px -1px #111c3244;color:#e9e2d7}
.ldmp .ldmp-illustrated .ldmp-ink-cell[data-preview=true]:not([data-open=true]){background-color:#a694b5;box-shadow:inset 0 0 0 1px #fff1d5;color:#202a3c}
.ldmp .ldmp-illustrated .ldmp-ink-cell[data-open=true]{background:transparent;box-shadow:inset 0 0 0 1px #fff1d51a}
.ldmp .ldmp-illustrated .ldmp-ink-cell[data-selected=true]{outline:2px solid #e8d69e;outline-offset:-3px}
.ldmp .ldmp-illustrated.ldmp-sudoku .ldmp-sudoku-viewport{background:#1b2b3e;border-radius:8px;box-shadow:inset 0 0 0 1px #cfcead77,0 3px 12px #10233d44}
.ldmp .ldmp-illustrated.ldmp-sudoku .ldmp-sudoku-table{background:#23384a;border-color:#b7c2b2}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell{background:linear-gradient(140deg,#314453,#253747);box-shadow:inset 0 1px #cad5c216;color:#f1cf92}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell[data-given=true]{color:#eef1de;background:linear-gradient(140deg,#3b4d5b,#2e4050)}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell[data-peer=true]{background:#3c4c5b}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell[data-same=true]{background:#536878}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell[data-selected=true]{background:#cce0b2;color:#193441;box-shadow:inset 0 0 0 2px #fff5d5}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell[data-conflict=true]{background:#663b52;color:#fff0e3;box-shadow:inset 0 0 0 1px #eead9f}
.ldmp .ldmp-illustrated .ldmp-sudoku-value{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-variant-numeric:tabular-nums;text-shadow:0 1px 1px #13233233}
.ldmp .ldmp-illustrated .ldmp-sudoku-notes{color:#d8dfcf}
.ldmp .ldmp-illustrated .ldmp-killer-sum{color:#edcf93;font-weight:700;text-shadow:0 1px #142b3d}
.ldmp .ldmp-illustrated .ldmp-sudoku-cell[data-selected=true] .ldmp-killer-sum{color:#27384a;text-shadow:none}
.ldmp .ldmp-illustrated .ldmp-killer-outline{opacity:.9}
.ldmp .ldmp-illustrated .ldmp-master-secret{background:linear-gradient(145deg,#586176,#263a4d);box-shadow:inset 0 1px #d5dcc566,inset 0 -2px #0d1e33;border-radius:9px}
.ldmp .ldmp-illustrated :is(.ldmp-master-slot,.ldmp-master-peg){background-image:radial-gradient(ellipse at 30% 22%,#ffffffb0,transparent 25%),linear-gradient(150deg,#ffffff33,transparent 40%,#16293c66);border-radius:50%;box-shadow:inset 0 1px #f3edcf99,inset 0 -3px #18304466,0 2px 2px #12233655;font-variant-numeric:tabular-nums;text-shadow:0 1px #ffffff55;font-weight:700}
.ldmp .ldmp-illustrated .ldmp-master-slot[data-selected=true]{outline:2px solid #e9d39d;outline-offset:-2px;box-shadow:inset 0 0 0 3px #f3edcf88,inset 0 -3px #18304466,0 0 8px #e5d19a55}
.ldmp .ldmp-illustrated .ldmp-master-log{background:repeating-linear-gradient(0deg,#d7dfbd0c 0 1px,transparent 1px var(--ldmp-log-row,26px)),linear-gradient(90deg,#2c3f50,#263548);border-radius:8px;box-shadow:inset 0 0 0 1px #b4bfa333}
.ldmp .ldmp-illustrated .ldmp-master-log li{border-color:#d0d9c222;background-image:linear-gradient(0deg,#ffffff04,transparent)}
.ldmp .ldmp-illustrated .ldmp-master-markers{color:#efdab0;text-shadow:0 1px 2px #111d33}
.ldmp .ldmp-illustrated .ldmp-master-palette button{background-image:radial-gradient(ellipse at 30% 20%,#ffffff88,transparent 30%),linear-gradient(155deg,#ffffff22,transparent 40%,#1b2a4144);box-shadow:inset 0 1px #ffffff99,inset 0 -2px #172c3e55}
.ldmp.ldmp-reduced .ldmp-illustrated *{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.ldmp .ldmp-illustrated *{transition:none!important;animation:none!important}}
.ldmp .ldmp-picross-viewport{position:relative}
.ldmp .ldmp-picross-illustration{position:absolute;left:var(--picross-row);top:var(--picross-col);width:calc(var(--picross-width) - var(--picross-row));height:calc(var(--picross-height) - var(--picross-col));max-width:none;margin:0;padding:0;border:0;border-radius:0;pointer-events:none;z-index:3;background:#e4eae5;object-fit:fill}

/* 3.17: readable interface text; the drawing, board numbers and canvas HUD
   retain their own responsive typography. Long holds still reach game input. */
.ldmp :is(button,summary,[role=button]),.ldmp :is(button,summary,[role=button]) *{
 -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;
}
.ldmp :is(button,summary,[role=button]){touch-action:manipulation}
.ldmp .ldmp-title{font-size:clamp(38px,5vw,68px)}
.ldmp .ldmp-intro{font-size:18px}
.ldmp .ldmp-instruction{font-size:16px;line-height:1.5}
.ldmp .ldmp-kicker,.ldmp .ldmp-tag{font-size:12px}
.ldmp .ldmp-option-group>span,.ldmp .ldmp-reference{font-size:14px}
.ldmp .ldmp-picross-rules>summary{font-size:14px}
.ldmp .ldmp-eyebrow,.ldmp .ldmp-footnote{font-size:13px}
.ldmp .ldmp-footnote>span:last-child{font-size:12px;white-space:normal}
.ldmp .ldmp-library>summary,.ldmp .ldmp-search,.ldmp .ldmp-game-card strong{font-size:17px}
.ldmp .ldmp-categories button,.ldmp .ldmp-game-card>span:last-child,.ldmp .ldmp-search-status{font-size:15px}
.ldmp .ldmp-game-card small{font-size:13px}
.ldmp .ldmp-setting,.ldmp .ldmp-range,.ldmp .ldmp-game-note,.ldmp .ldmp-controls{font-size:15px;line-height:1.45}
.ldmp :is(.ldmp-setting select,.ldmp-picross-select){font-size:16px}
.ldmp .ldmp-game-label strong{font-size:16px}
.ldmp .ldmp-motion,.ldmp .ldmp-fit-focus{font:14px/1.2 Arial,sans-serif;max-width:118px}
.ldmp-fit .ldmp-shell{grid-template-rows:auto minmax(0,1fr) auto}
.ldmp-fit .ldmp-topbar{min-height:48px;gap:8px}
.ldmp-fit .ldmp-game-label strong{font-size:16px}
.ldmp-fit .ldmp-playarea{grid-template-rows:minmax(0,1fr) 38px}
.ldmp .ldmp-feedback,.ldmp[data-active-game=picross] .ldmp-feedback{font:13px/1.3 Arial,sans-serif;max-height:34px;min-height:0}
.ldmp-fit .ldmp-actions button,.ldmp-fit .ldmp-fit-pad .ldmp-game-button{font:14px/1.2 Arial,sans-serif}
.ldmp-fit .ldmp-score strong{font-size:24px}
.ldmp-fit .ldmp-score>span{font-size:11px}
.ldmp-fit .ldmp-sidebar{min-height:52px;gap:6px}
.ldmp-fit .ldmp-fit-view{grid-template-columns:minmax(0,1fr) 300px}
.ldmp-fit .ldmp-fit-pad{font-size:14px}
.ldmp-fit .ldmp-fit-pad>.ldmp-range{font-size:14px;grid-template-columns:100px minmax(0,1fr)}
.ldmp .ldmp-fit-menu>summary,.ldmp-fit .ldmp-fit-popover>summary{font:14px/1.25 Arial,sans-serif;min-height:44px}
.ldmp .ldmp-fit-popover,.ldmp .ldmp-fit-popover :is(p,li){font:16px/1.5 Arial,sans-serif}
.ldmp .ldmp-fit-popover select{font-size:16px}
.ldmp .ldmp-fit-popover button{font-size:14px}
.ldmp .ldmp-fit-readout,.ldmp .ldmp-fit-flight-status{font:14px/1.35 Arial,sans-serif}
.ldmp .ldmp-bottom,.ldmp .ldmp-bottom a{font-size:14px;min-height:44px}
.ldmp[data-active-game=ink-splash] .ldmp-fit-pad>.ldmp-game-controls:has(button[aria-pressed])>.ldmp-game-button{font-size:14px;padding:4px 1px}
.ldmp-fit [data-fit-layout=stacked] .ldmp-master-palette .ldmp-game-button{font-size:14px}
.ldmp-fit .ldmp-sudoku .ldmp-fit-pad{grid-template-columns:minmax(0,1fr)}
.ldmp-fit .ldmp-sudoku .ldmp-fit-pad>.ldmp-game-controls:not(.ldmp-sudoku-pad),.ldmp-fit .ldmp-sudoku .ldmp-fit-menus{grid-column:1/-1}
.ldmp-fit .ldmp-sudoku .ldmp-fit-pad>.ldmp-game-controls:not(.ldmp-sudoku-pad) button{font-size:14px;padding:4px}
.ldmp-fit .ldmp-fit-pad>.ldmp-sudoku-pad button{font-size:18px}
.ldmp-fit .ldmp-mosaic-result :is(p,small){font-size:14px}
.ldmp-fit .ldmp-mosaic-result-tools button{font-size:14px}
.ldmp .ldmp-picross-workspace{grid-template-columns:minmax(0,1fr) 288px}
.ldmp .ldmp-picross-top select{font-size:16px}
.ldmp .ldmp-picross .ldmp-game-button,.ldmp .ldmp-picross .ldmp-picross-actions button{font:14px/1.25 Arial,sans-serif}
.ldmp .ldmp-picross-button-label,.ldmp .ldmp-picross [aria-label='Picross-Werkzeug'] .ldmp-picross-button-label{font:14px/1.15 Arial,sans-serif}
.ldmp .ldmp-picross .ldmp-game-controls[aria-label='Picross-Werkzeug']{grid-template-columns:repeat(3,minmax(0,1fr)) 44px 44px}
.ldmp .ldmp-picross-statusline,.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-statusline{display:grid;grid-template-columns:minmax(0,1fr) auto;font:13px/1.3 Arial,sans-serif}
.ldmp .ldmp-picross-count{grid-column:2;grid-row:1}
.ldmp .ldmp-picross-progress{grid-column:1/-1;grid-row:2;font:inherit}
.ldmp .ldmp-picross-edition{font:13px/1.3 Arial,sans-serif}
.ldmp .ldmp-picross-readout,.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-readout{font:14px/1.3 Arial,sans-serif}
.ldmp .ldmp-picross-utilities summary,.ldmp .ldmp-picross[data-layout=stacked] .ldmp-picross-utilities summary{font:14px/1.25 Arial,sans-serif;min-height:44px}
.ldmp .ldmp-picross-popover :is(p,li){font:16px/1.5 Arial,sans-serif}
.ldmp .ldmp-picross-popover .ldmp-setting{font-size:15px}
.ldmp .ldmp-picross-popover select{font-size:16px}
.ldmp .ldmp-picross-caption p{font-size:14px}
.ldmp .ldmp-picross-caption strong{font-size:21px}
@media(max-width:600px) and (min-height:501px){
 .ldmp-fit .ldmp-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px}
 .ldmp-fit .ldmp-game-label{grid-column:1/-1;min-height:28px}
 .ldmp-fit .ldmp-motion{justify-self:start;max-width:none;font-size:14px}
 .ldmp-fit .ldmp-fit-focus{justify-self:end;max-width:none;font-size:14px}
}
@media(max-height:500px){
 .ldmp-fit .ldmp-fit-view{grid-template-columns:minmax(0,1fr) 300px}
 .ldmp .ldmp-picross-workspace{grid-template-columns:minmax(0,1fr) 288px}
 .ldmp .ldmp-picross-top select,.ldmp .ldmp-picross-top button{min-height:44px}
}

/* Gameplay controls keep secondary actions inside the existing tools menu. */
.ldmp .ldmp-ink[data-print-mode=register] .ldmp-ink-cell{opacity:1!important;color:#21182b;font-weight:700;text-shadow:0 1px #ffffff66}
.ldmp .ldmp-ink[data-print-mode=register] .ldmp-ink-cell[data-open=false]{color:#eee4f7}
.ldmp .ldmp-ink[data-print-mode=register]{background-image:none!important}
.ldmp .ldmp-number[data-value="-1"]{color:#edf4df;box-shadow:inset 0 0 0 2px #b2c4b0}

.ldmp-fit .ldmp-fit-pad>.ldmp-ink-colors{display:grid;grid-template-columns:repeat(var(--ink-colors,4),minmax(0,1fr));gap:4px}
.ldmp-fit .ldmp-fit-pad>.ldmp-ink-colors>.ldmp-game-button{min-width:0;padding:3px}

.ldmp.ldmp-fit[data-active-game=ink-splash] .ldmp-fit-pad>.ldmp-game-controls.ldmp-ink-colors{grid-template-columns:repeat(var(--ink-colors,4),minmax(0,1fr));gap:3px}
/* 3.21: original material studies for all seventeen games. Decorations never
   change board dimensions, hide clues or receive pointer events. */
.ldmp .ldmp-atelier .ldmp-action-canvas{border-radius:12px;box-shadow:0 0 0 1px #c6d7c64d,0 5px 18px #0b172e4d}
.ldmp[data-active-game=mosaic-shuffle] .ldmp-board{background:repeating-linear-gradient(115deg,#1c2636 0 3px,#28394a 3px 5px);box-shadow:0 0 0 1px #d7c9a277,0 4px 18px #080f274d;isolation:isolate}
.ldmp[data-active-game=mosaic-shuffle] .ldmp-tile:not(.ldmp-empty){box-shadow:inset 1px 1px #fff8dd99,inset -2px -2px #13243f88;border-radius:5px}
.ldmp[data-active-game=mosaic-shuffle] .ldmp-tile>span{border:1px solid #e0d5bb99;background:#172b40d9;color:#fff0cb;box-shadow:0 1px 3px #14233788;border-radius:4px;font-variant-numeric:tabular-nums}
.ldmp[data-active-game=mosaic-shuffle] .ldmp-empty{background:radial-gradient(circle at 50% 45%,#75877755,transparent 60%);color:#d8c59c;box-shadow:inset 0 0 0 1px #baac8c44}
.ldmp[data-active-game=mosaic-shuffle] .ldmp-board[data-solved=true]{box-shadow:0 0 0 2px #e3d3a7,0 4px 22px #101b3655}
.ldmp .ldmp-atelier .ldmp-flood-expanded{padding:3px;background:#172e42;gap:2px;border-radius:9px;box-shadow:inset 0 0 0 1px #e0d4b280}
.ldmp .ldmp-atelier .ldmp-flood-cell{position:relative;isolation:isolate;border-radius:3px;background-image:linear-gradient(135deg,#ffffff44,transparent 42%,#18344933);color:#1b2c43;box-shadow:inset 1px 1px #ffffff77,inset -1px -1px #1b30434d;font-weight:700;text-shadow:0 1px #ffffff55}
.ldmp .ldmp-atelier .ldmp-flood-cell:before{content:'';position:absolute;inset:2px;clip-path:polygon(0 0,65% 0,0 65%);background:#ffffff26;pointer-events:none;z-index:-1}
.ldmp .ldmp-atelier .ldmp-flood-cell[data-connected=true]{box-shadow:inset 0 0 0 1px #f9f4dabb,inset 0 -3px #1d3d4255}
.ldmp .ldmp-atelier .ldmp-flood-cell[data-start=true]{outline:2px solid #fff7d4;outline-offset:-2px;box-shadow:inset 0 0 0 4px #193148}
.ldmp .ldmp-atelier .ldmp-merge{gap:5px;padding:6px;background:repeating-linear-gradient(110deg,#273b49 0 3px,#293e4b 3px 6px);box-shadow:inset 0 0 0 1px #aebba677;border-radius:10px}
.ldmp .ldmp-atelier .ldmp-number{position:relative;isolation:isolate;background-image:linear-gradient(145deg,#ffffff50,transparent 40%,#233d4940);border:1px solid #f6ebc966;box-shadow:inset 0 1px 1px #fff9e288,inset 0 -3px #122d3b55,0 2px 3px #0e243b66;border-radius:7px;font-variant-numeric:tabular-nums;text-shadow:0 1px #fff8df66}
.ldmp .ldmp-atelier .ldmp-number:after{content:'';position:absolute;inset:5px;border:1px solid #fff4d533;border-radius:3px;pointer-events:none;z-index:-1}
.ldmp .ldmp-atelier .ldmp-number[data-value="0"]{background:#263847;box-shadow:inset 0 2px 5px #0c203a66;border-color:#a6b7ae22;color:#9eb0b7}
.ldmp .ldmp-atelier .ldmp-number[data-value="-1"]{background-image:linear-gradient(135deg,transparent 40%,#d6dfca44 41% 44%,transparent 45%),linear-gradient(45deg,#48676e,#a8b6a3);color:#1c3c49}
.ldmp .ldmp-atelier .ldmp-number:is([data-value="1024"],[data-value="2048"],[data-value="4096"],[data-value="8192"]){box-shadow:inset 0 0 0 2px #fff7d5,inset 0 -4px #695d3c66,0 0 12px #e8ca7a44}
.ldmp .ldmp-atelier .ldmp-snake{background-color:#294b43;background-image:radial-gradient(ellipse at 25% 25%,#9fb97f22 0 2%,transparent 3%),repeating-linear-gradient(0deg,#183c3b22 0 1px,transparent 1px 8%);box-shadow:inset 0 0 0 2px #a9b69899,0 4px 14px #12233566;border-radius:8px;gap:0;padding:3px}
.ldmp .ldmp-atelier .ldmp-snake>span{background-image:radial-gradient(ellipse at 25% 80%,#bfd29422 0 3%,transparent 5%);box-shadow:inset 0 0 0 .5px #acbf8b16;overflow:hidden}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=body]{background:transparent;box-shadow:none;border-radius:0}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=portal]{background:repeating-conic-gradient(#8adbd033 0 15deg,#263d5455 15deg 30deg),radial-gradient(circle,#142a40 25%,#b9a6e7 28%,#273f4d 45%,#89d7ca 50%,#25493f 65%);box-shadow:inset 0 0 0 1px #cce5c466}
.ldmp .ldmp-atelier .ldmp-ink-viewport{position:relative;isolation:isolate;background:repeating-linear-gradient(100deg,#283b4b 0 2px,#2b3d4c 2px 4px);box-shadow:inset 0 0 0 1px #c7c0a677}
.ldmp .ldmp-atelier .ldmp-ink-viewport:after{content:'';position:absolute;inset:0;pointer-events:none;border:5px solid transparent;border-image:linear-gradient(135deg,#e3d2a8 0 5%,transparent 5% 45%,#e3d2a8 45% 55%,transparent 55% 95%,#e3d2a8 95%) 5;z-index:4}
.ldmp .ldmp-atelier .ldmp-ink-cell{background-image:repeating-linear-gradient(45deg,#dcc7aa08 0 1px,transparent 1px 4px),linear-gradient(145deg,#ffffff18,#071d3526);color:#f7e5c8}
.ldmp .ldmp-atelier .ldmp-ink-cell[data-preview=true]:not([data-open=true]){background-image:repeating-linear-gradient(135deg,#f6dfae33 0 1px,transparent 1px 5px);box-shadow:inset 0 0 0 1px #f1d79e}
.ldmp .ldmp-atelier .ldmp-ink[data-print-mode=register] .ldmp-ink-cell[data-open=true]{background-image:radial-gradient(circle at 30% 30%,#ffffff18 0 5%,transparent 6%),repeating-linear-gradient(12deg,#1b34420b 0 1px,transparent 1px 3px);box-shadow:inset 0 1px #ffffff66,inset -1px -1px #192e3b33}
.ldmp[data-active-game=logo-memory] .ldmp-memory-card{background:linear-gradient(135deg,#8e97a3,#384b62);box-shadow:inset 0 0 0 1px #d9cfb6bb,0 2px 3px #111b3466;border-radius:9px}
.ldmp[data-active-game=logo-memory] .ldmp-memory-card>svg{display:block;width:100%;height:100%;pointer-events:none}
.ldmp[data-active-game=logo-memory] .ldmp-memory-card[data-open=true]{background:linear-gradient(145deg,#fff9df,#bba88b)}
.ldmp[data-active-game=logo-memory] .ldmp-memory-card[data-matched=true]{box-shadow:inset 0 0 0 2px #a8e8cf,0 0 7px #87d5be55}
.ldmp[data-active-game=picross] .ldmp-picross-viewport{background:#243749;box-shadow:0 0 0 1px #c6c7ac77,0 4px 15px #15233b66;border-radius:4px}
.ldmp[data-active-game=picross] .ldmp-picross-table :is(th,.ldmp-picross-corner){background:#243749;color:#f5e3b9}
.ldmp[data-active-game=picross] .ldmp-picross-cell{background:linear-gradient(140deg,#354756,#2b3d4e);box-shadow:inset 0 0 0 .5px #a9b5aa55;color:#e0d9c2}
.ldmp[data-active-game=picross] .ldmp-picross-cell[data-mark="1"]{background:linear-gradient(140deg,#c4dba9,#8faa82);box-shadow:inset 0 1px #eaf1d666,inset 0 0 0 .5px #54705f}
.ldmp[data-active-game=picross] .ldmp-picross-cell[data-mark="-1"]{background:#263b4d;color:#d1d4c7}
.ldmp[data-active-game=picross] .ldmp-picross-cell[data-selected=true]{outline-color:#fff0af;box-shadow:inset 0 0 0 1px #304c59}
.ldmp[data-active-game=picross] .ldmp-picross-table [data-match=true]{color:#bde6b8;box-shadow:inset 0 0 0 1px #bde6b866}
.ldmp .ldmp-atelier.ldmp-sudoku .ldmp-sudoku-viewport{background:repeating-linear-gradient(20deg,#22384b 0 2px,#263b4d 2px 5px);box-shadow:inset 0 0 0 1px #c9c6a7,0 3px 15px #14223a55}
.ldmp .ldmp-atelier .ldmp-sudoku-cell{background-image:linear-gradient(145deg,#3e5260,#293e50);box-shadow:inset 0 1px #d9e0c618;color:#f6d797}
.ldmp .ldmp-atelier .ldmp-sudoku-cell[data-given=true]{background:linear-gradient(145deg,#49616b,#354c5c);color:#fff4d9}
.ldmp .ldmp-atelier .ldmp-sudoku-cell[data-peer=true]{background:#415a64}
.ldmp .ldmp-atelier .ldmp-sudoku-cell[data-same=true]{background:#58777a;box-shadow:inset 0 0 0 1px #c9daba66}
.ldmp .ldmp-atelier .ldmp-sudoku-cell[data-selected=true]{background:linear-gradient(135deg,#f1e2b6,#bbd09e);color:#1b3545;box-shadow:inset 0 0 0 2px #fff1ce}
.ldmp .ldmp-atelier .ldmp-sudoku-cell[data-conflict=true]{background:#6a3d52;color:#fff2da;box-shadow:inset 0 0 0 2px #e7a39c}
.ldmp[data-active-game=killer-sudoku] .ldmp-killer-sum{background:#192f43;border-radius:2px;padding:0;left:1px;color:#ffe0a8}
.ldmp[data-active-game=killer-sudoku] .ldmp-killer-outline{filter:drop-shadow(0 0 .3px #f9dfaa);opacity:1}
.ldmp[data-active-game=killer-sudoku] .ldmp-sudoku-cell[data-selected=true] .ldmp-killer-sum{background:#e5d6a6;color:#263f4f}
.ldmp .ldmp-atelier .ldmp-master-secret{position:relative;isolation:isolate;background:repeating-linear-gradient(0deg,#c4cabb11 0 1px,transparent 1px 5px),linear-gradient(135deg,#536976,#273e53);box-shadow:inset 0 0 0 1px #c6c7ad88,inset 0 3px #e0d4b244,inset 0 -4px #152b40}
.ldmp .ldmp-atelier .ldmp-master-secret:before,.ldmp .ldmp-atelier .ldmp-master-secret:after{content:'';position:absolute;top:7px;bottom:7px;width:5px;background:radial-gradient(circle,#d7c9a7 0 2px,transparent 2.5px) center top/5px 13px;pointer-events:none;z-index:-1}
.ldmp .ldmp-atelier .ldmp-master-secret:before{left:6px}.ldmp .ldmp-atelier .ldmp-master-secret:after{right:6px}
.ldmp .ldmp-atelier .ldmp-master-log{background:repeating-linear-gradient(0deg,#eadfc00a 0 1px,transparent 1px var(--ldmp-log-row,26px)),linear-gradient(90deg,#314b5a,#263b50);box-shadow:inset 0 0 0 1px #aebfa566}
.ldmp .ldmp-atelier .ldmp-master-log li{box-shadow:inset 0 1px #d4d9be11;border-color:#c8ceb633}
.ldmp .ldmp-atelier .ldmp-master-slot{background-image:radial-gradient(ellipse at 32% 22%,#ffffffb0,transparent 24%),radial-gradient(circle at 50% 40%,transparent 55%,#172e4b77 75%);box-shadow:inset 0 0 0 1px #fff0c799,inset 0 -4px #152e4566,0 2px 3px #0f233b99}
.ldmp .ldmp-atelier .ldmp-master-markers{letter-spacing:.1em;color:#ffe0a2;font-weight:700}
@media(prefers-contrast:more){.ldmp .ldmp-atelier .ldmp-flood-cell,.ldmp .ldmp-atelier .ldmp-number{background-image:none}.ldmp[data-active-game=picross] .ldmp-picross-cell[data-mark="1"]{background:#d1e6b7}}
/* 3.22: bounded overlays sit inside the playing surface, without layout space,
   pointer targets, new focus stops or screen-reader announcements. */
.ldmp .ldmp-fx-anchor{position:relative;isolation:isolate}
.ldmp .ldmp-fx-layer{position:absolute!important;inset:3px!important;display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:6px!important;background:none!important;box-shadow:none!important;pointer-events:none!important;overflow:hidden!important;contain:layout paint;z-index:8;aspect-ratio:auto!important}
.ldmp .ldmp-fx-layer *{pointer-events:none!important;user-select:none!important}
.ldmp .ldmp-fx-badge{position:absolute;top:12%;left:8%;right:8%;display:block;text-align:center;padding:6px 9px;border:1px solid #e2d2a180;border-radius:6px;background:#142c43f5;color:#f4e2af;font:600 clamp(12px,1.5vw,15px)/1.3 Arial,sans-serif;box-shadow:0 2px 7px #10203644;opacity:0;white-space:normal;overflow-wrap:anywhere}
.ldmp .ldmp-fx-ring{position:absolute;left:20%;top:20%;width:60%;height:60%;border:2px solid #cde4b399;border-radius:50%;box-shadow:inset 0 0 14px #bce8ca18,0 0 12px #bce8ca18;opacity:0}
.ldmp .ldmp-fx-confetti{position:absolute;top:4%;left:var(--fx-x);width:4px;height:8px;border-radius:1px;opacity:0}
.ldmp.ldmp-reduced .ldmp-fx-layer,.ldmp.ldmp-reduced .ldmp-ink-spray{display:none!important}
@media(prefers-reduced-motion:reduce){.ldmp .ldmp-fx-layer,.ldmp .ldmp-ink-spray{display:none!important}}
.ldmp[data-active-game=picross] .ldmp-picross-cell[data-mark="2"]{background:#263b4d;color:#d1d4c7}
.ldmp[data-active-game=space-defender] .ldmp-fx-badge{top:18%}
.ldmp .ldmp-hud{font-variant-numeric:tabular-nums}

/* 3.23: one visual hierarchy for controls, game state and public resources. */
.ldmp{--hud-line:#ada8c43b;--hud-muted:#d2c8df;--hud-accent:#d0eb9c}
.ldmp .ldmp-shell{background:linear-gradient(145deg,#251e33,#211b2e);border:1px solid var(--hud-line);box-shadow:0 12px 36px #12102622}
.ldmp .ldmp-topbar{background:#30273d;border-bottom:1px solid var(--hud-line)}
.ldmp .ldmp-live-dot{background:#cadfa7;box-shadow:none}
.ldmp .ldmp-hud-phase{display:inline-flex;align-items:center;flex:0 0 auto;gap:5px;padding:3px 7px;border:1px solid #b6accc55;border-radius:20px;font:12px/1.2 Arial,sans-serif;color:#e3d9ed;white-space:nowrap}
.ldmp .ldmp-hud-phase:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.ldmp .ldmp-hud-phase[data-state=running],.ldmp .ldmp-hud-phase[data-state=won]{color:#d0eb9c}
.ldmp .ldmp-hud-phase[data-state=paused]{color:#f3d297}
.ldmp .ldmp-hud-phase[data-state=lost]{color:#f0b3bd}
.ldmp-fit .ldmp-sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;border-top:1px solid var(--hud-line);padding:6px 12px;background:#292236;min-height:60px}
.ldmp .ldmp-score.ldmp-hud{position:relative;display:grid;grid-template-columns:minmax(64px,1fr) repeat(3,minmax(0,1fr));grid-template-rows:16px 25px;column-gap:8px;row-gap:0;align-items:center;min-width:0;max-width:none;width:100%;margin:0;padding:2px 0 6px;border:0;background:none}
.ldmp .ldmp-score.ldmp-hud>span{grid-column:1;grid-row:1;align-self:end;font:11px/1.2 Arial,sans-serif;letter-spacing:.04em;color:var(--hud-muted);white-space:nowrap}
.ldmp .ldmp-score.ldmp-hud>strong{grid-column:1;grid-row:2;order:0;font:700 23px/1.1 Arial,sans-serif;color:#f7f2fc;white-space:nowrap;letter-spacing:-.03em}
.ldmp .ldmp-score.ldmp-hud>small{display:none}
.ldmp .ldmp-hud-metric{grid-row:1/3;min-width:0;border-left:1px solid var(--hud-line);padding-left:8px;display:flex;flex-direction:column;justify-content:center;gap:3px}
.ldmp .ldmp-hud-label{color:var(--hud-muted);font:11px/1.15 Arial,sans-serif;overflow-wrap:anywhere}
.ldmp .ldmp-hud-value{color:#e5edd3;font:700 17px/1.15 Arial,sans-serif;white-space:nowrap}
.ldmp .ldmp-hud-meter,.ldmp .ldmp-picross-meter{appearance:none;-webkit-appearance:none;height:3px;border:0;border-radius:4px;background:#53465e;overflow:hidden;color:var(--hud-accent)}
.ldmp .ldmp-hud-meter{position:absolute;bottom:0;left:0;width:100%}
.ldmp :is(.ldmp-hud-meter,.ldmp-picross-meter)::-webkit-progress-bar{background:#53465e}
.ldmp :is(.ldmp-hud-meter,.ldmp-picross-meter)::-webkit-progress-value{background:var(--hud-accent)}
.ldmp :is(.ldmp-hud-meter,.ldmp-picross-meter)::-moz-progress-bar{background:var(--hud-accent)}
.ldmp-fit .ldmp-actions{gap:6px;display:flex;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.ldmp-fit .ldmp-actions button{font-size:14px;min-height:44px;border-radius:9px;box-shadow:none;max-width:190px;white-space:normal}
.ldmp .ldmp-primary{background:#d0eb9c;color:#202c27;border:1px solid #d0eb9c;font-weight:700}
.ldmp .ldmp-restart{background:#342b42;border:1px solid #a59ab455;color:#e1d5eb}
.ldmp .ldmp-fit-pad{padding:8px;border:1px solid var(--hud-line);border-radius:12px;background:#2c2439}
.ldmp .ldmp-fit-pad .ldmp-game-button,.ldmp .ldmp-picross .ldmp-game-button{border-radius:8px;box-shadow:inset 0 1px #ffffff0b}
.ldmp .ldmp-fit-menu>summary,.ldmp .ldmp-picross-utilities summary{border-radius:8px;border-color:#a79ab95e;background:#362c44;color:#eee4f7}
.ldmp .ldmp-fit-menu[open]>summary,.ldmp .ldmp-picross-utilities details[open]>summary{border-color:#d0eb9c;color:#e0f0bd;background:#394136}
.ldmp .ldmp-fit-popover,.ldmp .ldmp-picross-popover{border:1px solid #b8a8ca88;border-radius:12px;background:#2d253b;box-shadow:0 12px 32px #0b081d88}
.ldmp :is(.ldmp-fit-popover,.ldmp-picross-popover) select{background:#211d2d;color:#f5edf9;border:1px solid #a69ab866;border-radius:7px;min-height:44px}
.ldmp :is(.ldmp-fit-pad,.ldmp-picross-rail) button[aria-pressed=true]{outline:2px solid #d0eb9c;outline-offset:-3px;box-shadow:inset 0 -3px #d0eb9c}
.ldmp :is(button,summary,select,input):focus-visible{outline:3px solid #dceba8;outline-offset:2px}
.ldmp :is(button,summary):active{filter:brightness(1.12)}
.ldmp button:disabled{opacity:.48;cursor:default;filter:none}
.ldmp .ldmp-feedback{color:#ddd1e8;text-align:left;padding-left:7px;border-left:2px solid #9184a3}
.ldmp .ldmp-feedback[data-success=true]{border-color:#d0eb9c;color:#e2efc7}
.ldmp .ldmp-bottom{border-top:1px solid var(--hud-line)}
.ldmp .ldmp-fit-readout{background:#221e2e;border:1px solid #a79ab92e;padding:6px 8px;border-radius:7px;color:#e2d8ed}
.ldmp .ldmp-fit-flight-status{display:none!important}
.ldmp .ldmp-picross-statusline{position:relative;gap:3px 12px;padding:7px 10px 10px;background:#30283d;border:1px solid var(--hud-line);border-radius:9px;color:#ece5f2}
.ldmp .ldmp-picross-edition{font-weight:700;font-size:14px;color:#e4efce}
.ldmp .ldmp-picross-progress{color:#c9bdd6;font-size:12px}
.ldmp .ldmp-picross-tool{grid-column:2;grid-row:2;text-align:right;color:#e0d5ed;font:12px/1.3 Arial,sans-serif}
.ldmp .ldmp-picross-statusline .ldmp-picross-progress{grid-column:1;white-space:normal}
.ldmp .ldmp-picross-count{font-weight:700;color:#f2edd9}
.ldmp .ldmp-picross-meter{position:absolute;bottom:0;left:7px;width:calc(100% - 14px)}
.ldmp .ldmp-picross-readout{padding:8px 10px;border:1px solid var(--hud-line);border-left:3px solid #d0eb9c;border-radius:7px;background:#292235}
.ldmp .ldmp-picross-rail{gap:8px}
@media(max-width:600px) and (min-height:501px){
 .ldmp-fit .ldmp-sidebar{grid-template-columns:minmax(0,1fr);gap:4px;padding:5px 10px}
 .ldmp-fit .ldmp-actions{justify-content:stretch;flex-wrap:nowrap}
 .ldmp-fit .ldmp-actions button{flex:1;max-width:none;min-width:0}
 .ldmp-fit .ldmp-actions:not(:has(button:not([hidden]))){display:none}
 .ldmp .ldmp-hud-phase{margin-left:auto}
 .ldmp .ldmp-score.ldmp-hud{grid-template-rows:14px 22px;padding-bottom:5px}
 .ldmp .ldmp-score.ldmp-hud>strong{font-size:21px}
 .ldmp .ldmp-hud-value{font-size:16px}
 .ldmp .ldmp-picross-statusline{font-size:12px;padding:6px 7px 9px;gap:2px 5px}
 .ldmp .ldmp-picross-progress,.ldmp .ldmp-picross-tool{font-size:11px}
 .ldmp .ldmp-fit-pad{padding:5px}
}
@media(max-height:500px){
 .ldmp-fit .ldmp-sidebar{min-height:54px;padding:4px 10px}
 .ldmp .ldmp-score.ldmp-hud{grid-template-rows:13px 23px}
 .ldmp .ldmp-hud-label{font-size:10px}
 .ldmp .ldmp-hud-value{font-size:16px}
 .ldmp .ldmp-fit-pad{padding:5px}
}

.ldmp .ldmp-fit-menu.ldmp-fit-status-menu{display:block}

.ldmp .ldmp-fit-pad{align-self:center;max-height:100%}
.ldmp .ldmp-control-title{order:-1;margin:0 0 3px;color:#bfb1cc;font:12px/1.25 Arial,sans-serif;letter-spacing:.035em}
@media(max-width:600px),(max-height:500px){.ldmp .ldmp-control-title{display:none}}

.ldmp .ldmp-range-caption{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.15}
.ldmp .ldmp-range-value{font:700 17px/1.1 Arial,sans-serif;color:#e3efc7;font-variant-numeric:tabular-nums}

.ldmp .ldmp-hud-metric[data-tone=warning] .ldmp-hud-value{color:#f1bb9e}
.ldmp .ldmp-hud[data-state=won] .ldmp-hud-value{color:#d0eb9c}

/* Reset legacy sidebar grid placement before assigning the compact HUD rows. */
.ldmp-fit .ldmp-score.ldmp-hud{grid-column:1;grid-row:1}
.ldmp-fit .ldmp-actions{grid-column:2;grid-row:1}
@media(max-width:600px) and (min-height:501px){
 .ldmp-fit .ldmp-actions{grid-column:1;grid-row:2}
}

.ldmp .ldmp-fit-menu>summary{gap:4px;white-space:nowrap}
.ldmp .ldmp-menu-chevron{font:10px/1 Arial,sans-serif;flex:none}
.ldmp .ldmp-fit-menu[open] .ldmp-menu-chevron{transform:rotate(180deg)}
.ldmp input[type=range]{accent-color:#d0eb9c}

.ldmp.ldmp-fit .ldmp-mastermind .ldmp-master-palette>.ldmp-game-button{white-space:nowrap;font-size:13px;padding:2px}

.ldmp-fit .ldmp-actions:not(:has(button:not([hidden]))){display:none}
.ldmp[data-active-game=space-defender] .ldmp-fit-pad>.ldmp-game-controls>.ldmp-game-button{overflow-wrap:anywhere}
.ldmp[data-active-game=ink-splash] .ldmp-fit-popover .ldmp-game-controls{display:flex;flex-wrap:wrap;gap:5px}
.ldmp[data-active-game=ink-splash] .ldmp-fit-popover .ldmp-game-controls button{flex:1 1 90px;min-height:44px}
.ldmp.ldmp-fit .ldmp-ink-cell{min-height:0;min-width:0}

/* Disabled puzzle pieces retain the illustration; only utility controls dim. */
.ldmp .ldmp-board .ldmp-tile:disabled{opacity:1}

.ldmp[data-active-game=ink-splash] .ldmp-hud-metric:last-of-type .ldmp-hud-value{font-size:14px}

/* 3.27.0: keep the player's completed cells beside the reference illustration. */
.ldmp .ldmp-picross-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;width:100%;height:100%;min-width:0;min-height:0}
.ldmp .ldmp-picross-result-figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:0;margin:0}
.ldmp .ldmp-picross-result-figure>figcaption{color:#e6edd6;font:14px/1.2 Arial,sans-serif;text-align:center;min-height:24px;display:flex;align-items:center;justify-content:center}
.ldmp .ldmp-picross-comparison .ldmp-picross-illustration{position:static;inset:auto;width:var(--picross-result-side);height:var(--picross-result-side);max-width:none;object-fit:contain;background:#e4eae5;border:0;border-radius:4px;box-shadow:0 0 0 1px #c6c7ac77;pointer-events:none;z-index:auto}
.ldmp .ldmp-picross[data-result=won] .ldmp-picross-table :is(thead,tbody th){display:none}
.ldmp .ldmp-picross[data-result=won] .ldmp-picross-viewport{pointer-events:none;flex:none;overflow:hidden}
.ldmp .ldmp-picross[data-result=won] .ldmp-picross-rail>.ldmp-game-controls{display:none}
.ldmp .ldmp-picross[data-result=won] .ldmp-picross-rail{justify-content:center}
@media(max-width:600px){.ldmp .ldmp-picross-comparison{gap:8px}.ldmp .ldmp-picross-result-figure>figcaption{font-size:12px}}

.ldmp .ldmp-picross[data-result=won] .ldmp-picross-cell{color:transparent;outline:0!important}

.ldmp .ldmp-picross[data-result=won] .ldmp-picross-rail>.ldmp-picross-readout,
.ldmp .ldmp-picross[data-result=won]>.ldmp-picross-utilities{display:none!important}

/* Bubble Shooter: preserve the complete board and primary controls on small screens. */
.ldmp .ldmp-bubble-canvas{aspect-ratio:540/452;touch-action:none}
.ldmp .ldmp-bubble-readout{font-size:12px;color:#d8e5d9;text-align:center;margin:0}
.ldmp .ldmp-bubble-controls{display:grid!important;grid-template-columns:44px minmax(72px,1fr) 44px 44px;gap:5px!important}
.ldmp .ldmp-bubble-controls>button{min-height:44px;min-width:44px}
.ldmp .ldmp-bubble-controls>button:last-child{grid-column:auto;font-size:22px!important}
.ldmp .ldmp-bubble-fire{background:#bfe2bd;color:#183b36;font-weight:700!important}
.ldmp .ldmp-bubble-powers{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;margin:0 0 8px!important}
.ldmp .ldmp-bubble-powers>button{min-height:48px;white-space:normal;font-size:14px!important;border:1px solid #92b5ad88;border-radius:9px;background:#233c45;color:#f5ead0;line-height:1.25}
.ldmp .ldmp-bubble-powers>button[aria-pressed=true]{background:#f1d48d;color:#263740;border-color:#ffe7ae;box-shadow:0 0 0 2px #f1d48d44}
.ldmp .ldmp-bubble-powers>button:disabled{opacity:.45}
.ldmp .ldmp-bubble-power-info{font:14px/1.45 Arial,sans-serif;color:#e0e8d8;margin:8px 0!important}
.ldmp .ldmp-bubble-controls>button{border-radius:10px!important;transition:background .15s ease,box-shadow .15s ease}
.ldmp .ldmp-bubble-fire{box-shadow:inset 0 1px 0 #ffffff55,0 3px 0 #1d554d66}
/* Centered, closable drawers keep powers reachable in portrait and landscape. */
.ldmp .ldmp-bubble .ldmp-fit-popover{position:fixed;inset:50% 12px auto;transform:translateY(-50%);max-width:420px;max-height:calc(100svh - 24px);box-sizing:border-box;margin-inline:auto;z-index:30}
.ldmp .ldmp-bubble .ldmp-bubble-close{position:sticky;top:0;z-index:2;display:flex;width:100%;min-height:44px;margin:0 0 10px!important;justify-content:center;background:#3c354e;color:#f5ecd7;border-color:#acb7a977}
/* Native modal game views use the stage as their positioning context. */
.ldmp-fit-focus .ldmp-bubble .ldmp-fit-popover{position:absolute;top:-44px;bottom:auto;transform:none;max-height:calc(100svh - 32px)}

/* Room for labels, values and fingers; the feedback preview has full text in Help. */
.ldmp-fit .ldmp-topbar{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px;padding:6px 12px;min-height:56px;overflow:visible}
.ldmp-fit .ldmp-game-label{grid-column:1;min-width:0;min-height:0;flex-wrap:wrap;gap:4px 8px;line-height:1.3}
.ldmp-fit .ldmp-game-label strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3;max-width:100%}
.ldmp-fit .ldmp-game-label .ldmp-live-dot{display:none}
.ldmp-fit .ldmp-topbar>.ldmp-fit-focus{grid-column:2;grid-row:1;min-height:44px;max-width:none;width:100%;padding:6px;line-height:1.3}
.ldmp-fit .ldmp-playarea{grid-template-rows:minmax(0,1fr) 26px}
.ldmp-fit .ldmp-feedback{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;max-height:none;line-height:1.45;padding:2px 8px;margin:0;min-width:0}
.ldmp .ldmp-fit-pad .ldmp-game-button,.ldmp-fit .ldmp-actions button{padding:6px 8px;line-height:1.3;overflow-wrap:anywhere;max-width:100%}
.ldmp .ldmp-fit-menu>summary{gap:5px;padding:7px 6px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.ldmp .ldmp-hud-label{line-height:1.3}
.ldmp .ldmp-hud-value{max-width:100%;line-height:1.25}
.ldmp .ldmp-hud-metric{gap:4px;padding-left:9px;padding-right:3px}
.ldmp .ldmp-fit-popover{scrollbar-gutter:stable;overflow-wrap:anywhere}
.ldmp .ldmp-fit-popover :is(label,p,li){line-height:1.5;min-width:0}
.ldmp .ldmp-fit-popover .ldmp-setting{margin-bottom:14px}
.ldmp .ldmp-fit-popover .ldmp-setting select{margin-top:5px;padding:8px 32px 8px 10px;line-height:1.4;min-width:0}
.ldmp .ldmp-fit-popover>.ldmp-motion{min-height:44px;max-width:100%;padding:8px;text-align:center;font:14px/1.3 Arial,sans-serif;color:#dfd4ea;border:1px solid #a79ab95e;border-radius:8px}
.ldmp .ldmp-bubble-tray{flex:none;width:100%;max-width:540px;min-width:0;padding:5px 6px 6px;border:1px solid #a8c4c444;border-radius:10px;background:#242637}
.ldmp .ldmp-bubble-energy{display:block;margin:0 0 5px;min-height:18px;color:#e4e9ce;font:13px/1.4 Arial,sans-serif;text-align:center;overflow-wrap:anywhere}
.ldmp .ldmp-bubble-powers{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px!important;margin:0!important;min-width:0}
.ldmp .ldmp-bubble-powers>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:48px;padding:4px;line-height:1.3}
.ldmp .ldmp-bubble-power-label{display:block;font:14px/1.25 Arial,sans-serif}
.ldmp .ldmp-bubble-power-cost{display:block;font:12px/1.2 Arial,sans-serif;opacity:.9}
.ldmp .ldmp-bubble .ldmp-fit-field{gap:7px}
.ldmp .ldmp-bubble-controls{grid-template-columns:44px minmax(72px,1fr) 44px 44px;gap:5px!important}
@media(min-width:601px){.ldmp-fit .ldmp-topbar{grid-template-columns:minmax(0,1fr) 120px}}
/* Bubble's live tray replaces the duplicate footer HUD and verbose feedback row. */
.ldmp[data-active-game=bubble-shooter] .ldmp-sidebar{display:none}
.ldmp[data-active-game=bubble-shooter] .ldmp-playarea{grid-template-rows:minmax(0,1fr);padding-bottom:6px}
.ldmp[data-active-game=bubble-shooter] .ldmp-feedback{position:absolute;width:1px;height:1px;clip-path:inset(50%);padding:0;border:0;overflow:hidden}
.ldmp .ldmp-bubble-tray{position:relative;padding:4px 6px 7px}
.ldmp .ldmp-bubble-energy{margin-bottom:4px}
.ldmp .ldmp-bubble-totals,.ldmp .ldmp-bubble-goal{display:block;font:13px/1.4 Arial,sans-serif}
.ldmp .ldmp-bubble-totals{font-weight:700;color:#f3e9c9}
.ldmp .ldmp-bubble-goal{color:#d2dfd9}
.ldmp .ldmp-bubble-powers>button{min-height:44px;min-width:44px;padding:4px}
.ldmp .ldmp-bubble-power-label{font-size:13px;line-height:1.3}
.ldmp .ldmp-bubble-energy-meter{position:absolute;bottom:0;left:8px;width:calc(100% - 16px);height:3px;border:0;appearance:none;-webkit-appearance:none;background:#51625f}
.ldmp .ldmp-bubble-energy-meter::-webkit-progress-bar{background:#51625f}
.ldmp .ldmp-bubble-energy-meter::-webkit-progress-value{background:#e2d08a}
.ldmp .ldmp-bubble-energy-meter::-moz-progress-bar{background:#e2d08a}
/* Flexible HUD rows reserve real space for wrapped labels and larger values. */
.ldmp .ldmp-score.ldmp-hud{grid-template-rows:minmax(16px,auto) minmax(25px,auto);row-gap:2px;padding:4px 0 9px}
.ldmp .ldmp-score.ldmp-hud>strong,.ldmp .ldmp-hud-value{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.ldmp .ldmp-hud-metric{padding-top:3px;padding-bottom:3px}
.ldmp .ldmp-fit-popover,.ldmp .ldmp-bubble .ldmp-fit-popover,.ldmp-fit-focus .ldmp-bubble .ldmp-fit-popover{position:absolute;inset:8px 8px auto;transform:none;max-width:520px;max-height:calc(100svh - 24px);margin-inline:auto;box-sizing:border-box;z-index:30;padding:14px}
.ldmp .ldmp-fit-popover>.ldmp-menu-close{position:sticky;top:0;z-index:2;display:flex;width:100%;min-height:44px;margin:0 0 12px!important;padding:8px 12px;justify-content:center;background:#3c354e;color:#f5ecd7;border:1px solid #acb7a977;border-radius:8px}
.ldmp .ldmp-picross-popover{position:absolute;inset:8px 8px auto;max-width:520px;margin-inline:auto;box-sizing:border-box;padding:14px;overflow-wrap:anywhere;scrollbar-gutter:stable}
.ldmp .ldmp-picross-popover>.ldmp-menu-close{position:sticky;top:0;z-index:2;display:flex;width:100%;min-height:44px;margin:0 0 12px;padding:8px 12px;justify-content:center;background:#3c354e;color:#f5ecd7;border:1px solid #acb7a977;border-radius:8px;font:14px/1.3 Arial,sans-serif}
.ldmp .ldmp-picross-popover .ldmp-game-controls{gap:8px;flex-wrap:wrap}
.ldmp .ldmp-picross-popover .ldmp-game-button{padding:8px 10px;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.ldmp .ldmp-picross-statusline{line-height:1.4}
.ldmp .ldmp-picross-readout{line-height:1.4}
/* Menu tabs size themselves to their labels instead of squeezing every label equally. */
.ldmp .ldmp-fit-menu{flex:1 1 auto}
.ldmp .ldmp-fit-menu>summary{padding:7px 8px;overflow-wrap:normal;white-space:normal}
.ldmp .ldmp-fit-menu>summary .ldmp-menu-chevron{display:none}
.ldmp .ldmp-bubble-power-short{display:none;font:13px/1.3 Arial,sans-serif}
.ldmp .ldmp-bubble-tray[data-compact=true] .ldmp-bubble-power-full{display:none}
.ldmp .ldmp-bubble-tray[data-compact=true] .ldmp-bubble-power-short{display:block}

/* Give the miniature identities the full card face without changing board geometry. */
.ldmp[data-active-game="logo-memory"] .ldmp-memory-card{padding:1px;background:#253e4b;border-radius:9px}
.ldmp[data-active-game="logo-memory"] .ldmp-memory-card[data-open="true"]{background:#fcf4e3}

.ldmp[data-active-game="logo-memory"] .ldmp-memory-card{border-radius:clamp(3px,1vw,9px)}
.ldmp[data-active-game="logo-memory"] .ldmp-fit-pad>.ldmp-game-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ldmp[data-active-game="logo-memory"] .ldmp-fit-pad>.ldmp-game-controls>.ldmp-game-button{min-width:0;font-size:13px;line-height:1.2;padding:6px}
.ldmp[data-active-game="logo-memory"] .ldmp-memory-expanded{gap:3px}

/* Kastl-Kaskade: original enamel workshop, compact pad for both game modes. */
.ldmp .ldmp-kastl{background:#10252a;touch-action:none}
.ldmp .ldmp-kastl .ldmp-action-canvas{border-radius:13px;touch-action:none}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-fit-pad>.ldmp-kastl-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.ldmp[data-active-game="kastl-kaskade"] [data-kastl-mode="atelier"] .ldmp-fit-pad>.ldmp-kastl-controls{grid-template-columns:repeat(4,minmax(0,1fr))}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-fit-pad>.ldmp-kastl-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-fit-pad>.ldmp-kastl-tray[hidden]{display:none}
.ldmp .ldmp-kastl-tray button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:64px!important;color:#f4e6c9;background:#18363a;border-color:#748d803f}
.ldmp .ldmp-kastl-tray button>span{font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:normal}
.ldmp .ldmp-kastl-tray svg{display:block;width:100%;max-width:70px;height:26px;pointer-events:none}
.ldmp .ldmp-kastl-tray button[aria-pressed="true"]{outline-color:#e3c88f;box-shadow:inset 0 -3px #e3c88f;background:#3b473b}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-fit-pad .ldmp-kastl-controls button{min-width:0;min-height:44px;font-size:20px;padding:5px 3px;overflow-wrap:normal}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-fit-pad .ldmp-kastl-controls button[data-kastl-command="place"]{font-size:14px}
.ldmp .ldmp-kastl-play{width:100%;background:#ddc28a;color:#183237;border-color:#ddc28a;font-weight:700}
.ldmp .ldmp-kastl .ldmp-fit-pad{background:#172e32;border-color:#879b823b}
.ldmp .ldmp-kastl .ldmp-fit-menu>summary{border-color:#879b8255;background:#18363a;color:#f4e8d2}
.ldmp .ldmp-kastl button,.ldmp .ldmp-kastl summary{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-play-layout{grid-template-rows:minmax(0,1fr)}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-playarea{grid-template-rows:minmax(0,1fr);position:relative}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-sidebar,.ldmp[data-active-game="kastl-kaskade"] .ldmp-feedback{position:absolute;width:1px;height:1px;padding:0;min-height:0;overflow:hidden;clip-path:inset(50%)}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-actions{display:none}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-kastl[data-fit-layout="stacked"] .ldmp-kastl-controls{grid-template-columns:repeat(5,minmax(0,1fr))}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-kastl[data-fit-layout="stacked"][data-kastl-mode="atelier"] .ldmp-kastl-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
.ldmp .ldmp-kastl[data-fit-layout="stacked"][data-kastl-mode="atelier"] .ldmp-kastl-controls :is([data-kastl-command="left"],[data-kastl-command="right"],[data-kastl-command="up"],[data-kastl-command="down"]){display:none}
.ldmp .ldmp-kastl[data-fit-layout="stacked"] .ldmp-kastl-tray button{min-height:56px!important}
.ldmp[data-active-game="kastl-kaskade"] .ldmp-kastl-tray button[aria-pressed="true"]{color:#fff1c8}
.ldmp .ldmp-kastl:focus-visible{outline-color:#e3c88f}
.ldmp .ldmp-kastl-play:hover{background:#ead3a5;color:#183237}

/* Raster-Retter: paper swatches and accessible press controls. */
.ldmp .ldmp-raster{background:#ede5d5;touch-action:none}
.ldmp .ldmp-raster .ldmp-action-canvas{border-radius:12px;touch-action:none}
.ldmp[data-active-game="raster-retter"] .ldmp-fit-pad>.ldmp-raster-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.ldmp[data-active-game="raster-retter"] .ldmp-fit-pad .ldmp-raster-controls button{min-width:0;min-height:44px;font-size:22px;padding:5px 3px;overflow-wrap:normal}
.ldmp .ldmp-raster-play{width:100%;background:#efcf80;color:#223745;border-color:#efcf80;font-weight:700;white-space:normal;line-height:1.3}
.ldmp .ldmp-raster-play:hover{background:#ffe1a0;color:#223745}
.ldmp .ldmp-raster .ldmp-fit-pad{background:#223745;border-color:#899b9e55}
.ldmp .ldmp-raster .ldmp-fit-menu>summary{border-color:#9bb5b555;background:#2d4552;color:#fff2d8}
.ldmp .ldmp-raster button,.ldmp .ldmp-raster summary{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.ldmp[data-active-game="raster-retter"] .ldmp-play-layout{grid-template-rows:minmax(0,1fr)}
.ldmp[data-active-game="raster-retter"] .ldmp-playarea{grid-template-rows:minmax(0,1fr);position:relative}
.ldmp[data-active-game="raster-retter"] .ldmp-sidebar,.ldmp[data-active-game="raster-retter"] .ldmp-feedback{position:absolute;width:1px;height:1px;padding:0;min-height:0;overflow:hidden;clip-path:inset(50%)}
.ldmp[data-active-game="raster-retter"] .ldmp-actions{display:none}
.ldmp[data-active-game="raster-retter"] .ldmp-raster[data-fit-layout="stacked"] .ldmp-raster-controls{grid-template-columns:repeat(5,minmax(0,1fr))}
.ldmp .ldmp-raster:focus-visible{outline-color:#37687a}

/* Creative games: workshop controls and compact idea cards. */
.ldmp .ldmp-klangfarben,.ldmp .ldmp-klangfarben canvas{touch-action:none}
.ldmp[data-active-game="klangfarben"] .ldmp-fit-pad>.ldmp-game-controls{display:flex;gap:4px}
.ldmp[data-active-game="klangfarben"] .ldmp-fit-pad .ldmp-game-button{min-height:44px;line-height:1.2}
.ldmp[data-active-game="klangfarben"] .ldmp-play-layout{grid-template-rows:minmax(0,1fr)}
.ldmp[data-active-game="klangfarben"] .ldmp-playarea{grid-template-rows:minmax(0,1fr);position:relative}
.ldmp[data-active-game="klangfarben"] .ldmp-sidebar,.ldmp[data-active-game="klangfarben"] .ldmp-feedback{position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%)}
.ldmp[data-active-game="klangfarben"] .ldmp-actions{display:none}
.ldmp[data-active-game="klangfarben"] .ldmp-fit-pad>.ldmp-klangfarben-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.ldmp[data-active-game="klangfarben"] .ldmp-klangfarben-controls button{min-width:0;padding:4px;font-size:12px}
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-fit-pad>.ldmp-flaechen-controls{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));grid-template-areas:'. up .' 'left down right';gap:4px;touch-action:none}
.ldmp[data-active-game="flaechenfieber"] .ldmp-flaechen-controls button{min-width:44px;min-height:44px;touch-action:none;font-size:21px;font-weight:700}
.ldmp[data-active-game="flaechenfieber"] .ldmp-flaechen-controls [data-direction=up]{grid-area:up}
.ldmp[data-active-game="flaechenfieber"] .ldmp-flaechen-controls [data-direction=left]{grid-area:left}
.ldmp[data-active-game="flaechenfieber"] .ldmp-flaechen-controls [data-direction=down]{grid-area:down}
.ldmp[data-active-game="flaechenfieber"] .ldmp-flaechen-controls [data-direction=right]{grid-area:right}
@media (orientation:landscape) and (max-height:500px){
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-fit-popover{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;padding:8px}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-menu-close{grid-column:1/-1;margin:0}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-setting{min-width:0;margin:0;font:12px/1.2 Arial,sans-serif}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-setting select{margin:3px 0 0}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child input[type=range]{max-width:80%}
}
@media(max-width:600px){
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-fit-popover{padding:10px}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-setting{margin:0 0 3px;font-size:13px;line-height:1.15}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-setting select{margin-top:0}
 .ldmp[data-active-game="klangfarben"] .ldmp-fit-menus>.ldmp-fit-menu:first-child .ldmp-menu-close{margin-bottom:4px!important}
}
.ldmp[data-active-game="umgedacht"] .ldmp-play-layout{grid-template-rows:minmax(0,1fr)}
.ldmp[data-active-game="umgedacht"] .ldmp-playarea{grid-template-rows:minmax(0,1fr);position:relative}
.ldmp[data-active-game="umgedacht"] .ldmp-sidebar,.ldmp[data-active-game="umgedacht"] .ldmp-feedback{position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%)}
.ldmp .ldmp-um-board{box-sizing:border-box;width:100%;max-width:850px;max-height:100%;display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid #d3c4a5;border-radius:14px;background:#faf1db;color:#263d42;font:14px/1.25 Arial,sans-serif;overflow:visible}
.ldmp .ldmp-um-board [hidden]{display:none!important}
.ldmp .ldmp-um-header{display:flex;align-items:center;gap:8px;min-height:27px}
.ldmp .ldmp-um-kicker{font-size:10px;letter-spacing:.08em;font-weight:bold}
.ldmp .ldmp-um-brand{font:bold 22px Georgia,serif}
.ldmp .ldmp-um-emblem{width:42px;height:32px;margin-left:auto}
.ldmp .ldmp-um-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.ldmp .ldmp-um-card,.ldmp .ldmp-um-perspective{min-width:0;padding:5px 7px;border:1px solid #d3c3a6;border-radius:8px;background:#fff9eb}
.ldmp .ldmp-um-custom{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:5px;border:1px solid #d3c3a6;border-radius:8px;background:#e3f0df;font-size:11px;font-weight:bold}
.ldmp .ldmp-um-occasion{background:#e3f0df}
.ldmp .ldmp-um-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;letter-spacing:.06em;font-weight:bold}
.ldmp .ldmp-um-board :is(button,select,input,textarea){box-sizing:border-box;font:14px/1.2 Arial,sans-serif}
.ldmp .ldmp-um-board :is(select,input,textarea){width:100%;min-width:0;min-height:44px;padding:6px;color:#263d42;background:#fffefa;border:1px solid #9daba1;border-radius:6px}
.ldmp .ldmp-um-board textarea{resize:none;display:block}
.ldmp .ldmp-um-board button{min-height:44px;padding:5px 8px;border:1px solid #b7aa91;border-radius:7px;background:#fff9eb;color:#263d42;cursor:pointer}
.ldmp .ldmp-um-shuffle{min-width:44px;font-size:20px!important}
.ldmp .ldmp-um-bar,.ldmp .ldmp-um-export,.ldmp .ldmp-um-steps{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.ldmp .ldmp-um-bar:has(.ldmp-um-button:nth-child(3):not([hidden])){display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ldmp .ldmp-um-bar>button{min-width:0;overflow-wrap:anywhere}
.ldmp .ldmp-um-steps,.ldmp .ldmp-um-idea-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.ldmp .ldmp-um-idea-tab{min-width:0}
.ldmp .ldmp-um-context,.ldmp .ldmp-um-favorite-readout{margin:0;font-size:12px;line-height:1.25}
.ldmp .ldmp-um-bar>button,.ldmp .ldmp-um-steps>button,.ldmp .ldmp-um-export>button{flex:1 1 auto}
.ldmp .ldmp-um-board button[aria-pressed=true],.ldmp .ldmp-um-step[aria-current=step]{background:#f0ca83;border-color:#9b773d;color:#243d40}
.ldmp .ldmp-um-instruction{margin:0 0 4px;font-size:12px;line-height:1.25}
.ldmp .ldmp-um-ideas,.ldmp .ldmp-um-fields{display:grid;gap:3px}
.ldmp .ldmp-um-idea{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:4px;align-items:end}
.ldmp .ldmp-um-label{display:block;font-size:11px;font-weight:bold;min-width:0}
.ldmp .ldmp-um-favorite{font-size:11px!important}
.ldmp .ldmp-um-panel{min-height:0}
.ldmp .ldmp-um-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ldmp .ldmp-um-board{background-color:#faf1db;background-image:radial-gradient(circle at 96% 4%,rgba(244,181,126,.24),transparent 23%),radial-gradient(circle at 2% 98%,rgba(114,182,166,.19),transparent 28%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.48),0 8px 28px rgba(20,12,29,.18)}
.ldmp .ldmp-um-card,.ldmp .ldmp-um-perspective{box-shadow:0 2px 0 rgba(88,80,59,.10),inset 0 0 0 1px rgba(255,255,255,.45)}
.ldmp .ldmp-um-object{border-top:3px solid #ee9b81}.ldmp .ldmp-um-occasion{border-top:3px solid #78b9a3}.ldmp .ldmp-um-perspective{border-top:3px solid #c69dc9}
.ldmp .ldmp-um-method{margin-bottom:3px;background:#edf3dc!important;border-color:#91aa7f!important;font-size:12px!important;min-height:36px!important}
.ldmp .ldmp-um-mission-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:3px;align-items:center}
.ldmp .ldmp-um-mission-row :is(select,button){min-width:0;min-height:36px;height:36px;margin:0;font-size:11px}
.ldmp .ldmp-um-mission-prompt{margin:0;font-size:11px;line-height:1.15}
.ldmp .ldmp-um-challenge:before{content:' · ✦ '}
.ldmp .ldmp-um-progress{font-size:10px;white-space:nowrap;background:#e0efdb;color:#29474b;border-radius:999px;padding:2px 6px;font-weight:700}
.ldmp .ldmp-um-challenge-button{padding:3px!important}
.ldmp .ldmp-um-board button{transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ldmp .ldmp-um-board button:active{transform:scale(.97)}
.ldmp .ldmp-klangfarben canvas{box-shadow:0 9px 30px rgba(18,10,30,.25)}
@media(prefers-reduced-motion:reduce){.ldmp .ldmp-um-board button{transition:none}}
/* In landscape, give the playfield more of the limited vertical space while
   keeping the overview link, status and controls visible. */
@media (orientation:landscape) and (max-height:500px){
 .ldmp.ldmp-fit{padding:4px}
 .ldmp-fit .ldmp-shell{height:calc(var(--ldmp-screen) + 8px);grid-template-rows:44px minmax(0,1fr) 38px}
 .ldmp-fit .ldmp-bottom{min-height:38px}
 .ldmp-fit .ldmp-playarea{padding-top:4px;grid-template-rows:minmax(0,1fr) 20px}
 .ldmp-fit .ldmp-feedback{font-size:11px;line-height:1.25}
 .ldmp-fit .ldmp-sidebar{min-height:48px}
 /* Keep the level, tool and filled-cell count on one compact line so that
    large Picross puzzles have more room after the device is rotated. */
 .ldmp[data-active-game=picross] .ldmp-picross-statusline{display:flex;flex-wrap:nowrap;align-items:center;min-height:24px;padding:3px 7px;gap:8px}
 .ldmp[data-active-game=picross] .ldmp-picross-statusline .ldmp-picross-meter,
 .ldmp[data-active-game=picross] .ldmp-picross-statusline .ldmp-picross-progress{display:none}
 .ldmp[data-active-game=picross] .ldmp-picross-statusline .ldmp-picross-edition{flex:1;min-width:0}
 .ldmp[data-active-game=picross] .ldmp-picross-readout{flex-shrink:0;padding:3px 7px;font:12px/1.2 Arial,sans-serif}
}
@media (orientation:landscape) and (max-height:360px){
 /* On very short phones keep the controls and clues in the play area. The
    progress and feedback remain available to assistive technology. */
 .ldmp[data-active-game=picross] .ldmp-picross-statusline,
 .ldmp[data-active-game=picross] .ldmp-feedback{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}
 .ldmp[data-active-game=picross] .ldmp-picross{gap:4px}
 .ldmp[data-active-game=picross] .ldmp-picross-rail{gap:3px}
}
.ldmp[data-active-game="umgedacht"] .ldmp-fit-pad{display:none}
.ldmp .ldmp-umgedacht.ldmp-fit-view,.ldmp .ldmp-umgedacht.ldmp-fit-view[data-fit-layout="stacked"]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
@media(max-width:600px){.ldmp .ldmp-um-board{padding:5px;gap:3px}.ldmp .ldmp-um-kicker{display:none}.ldmp .ldmp-um-emblem{width:30px;height:24px}.ldmp .ldmp-um-header{min-height:22px}.ldmp .ldmp-um-brand{font-size:18px}.ldmp .ldmp-um-board textarea{height:44px}.ldmp .ldmp-um-idea>.ldmp-um-label{font-size:0}.ldmp .ldmp-um-card{padding:2px 5px}.ldmp .ldmp-um-board button{font-size:12px}}
@media (max-height:500px) and (min-width:600px){
 .ldmp .ldmp-um-board{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'head steps' 'cards panel' 'bar panel' 'export export';gap:3px;padding:5px;align-content:center}
 .ldmp .ldmp-um-header{grid-area:head}.ldmp .ldmp-um-cards,.ldmp .ldmp-um-context{grid-area:cards}.ldmp .ldmp-um-bar{grid-area:bar}
 .ldmp .ldmp-um-steps{grid-area:steps}.ldmp .ldmp-um-panel{grid-area:panel}.ldmp .ldmp-um-export{grid-area:export}
 .ldmp .ldmp-um-board textarea{height:44px}.ldmp .ldmp-um-instruction{font-size:11px;margin:0}
}


/* Flächenfieber: controls and power-ups stay together in both orientations. */
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-fit-pad{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(94px,1fr);grid-template-areas:"directions powers" "menus menus";align-items:center;gap:4px}
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-fit-pad>.ldmp-control-title{display:none}
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-fit-pad>.ldmp-flaechen-controls{grid-area:directions}
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-fit-pad>.ldmp-flaechen-power-controls{grid-area:powers;display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));gap:4px}
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-fit-pad>.ldmp-fit-menus{grid-area:menus}
.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-flaechen-power-controls button{min-width:44px;min-height:44px;padding:3px 1px;font-size:11px;line-height:1.1;overflow-wrap:normal;word-break:normal}

.ldmp.ldmp-fit[data-active-game="flaechenfieber"] .ldmp-flaechen-power-controls button:disabled{opacity:.68}

/* Linienrausch keeps direction, swap and new-row controls visible together. */
.ldmp[data-active-game="linienrausch"] .ldmp-action-canvas{touch-action:none;aspect-ratio:680/800}
.ldmp.ldmp-fit[data-active-game="linienrausch"] .ldmp-fit-pad>.ldmp-linien-controls{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr)) repeat(2,minmax(48px,1fr));grid-template-areas:". up . swap rise" "left down right swap rise";gap:4px}
.ldmp[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=up]{grid-area:up}.ldmp[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=down]{grid-area:down}.ldmp[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=left]{grid-area:left}.ldmp[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=right]{grid-area:right}.ldmp[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=swap]{grid-area:swap}.ldmp[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=rise]{grid-area:rise}
.ldmp.ldmp-fit[data-active-game="linienrausch"] .ldmp-linien-controls button{min-width:44px;min-height:44px;padding:3px;font-size:19px;line-height:1.1;overflow-wrap:normal}.ldmp.ldmp-fit[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=swap],.ldmp.ldmp-fit[data-active-game="linienrausch"] .ldmp-linien-controls [data-command=rise]{font-size:11px;white-space:normal}
.ldmp.ldmp-fit[data-active-game="linienrausch"] .ldmp-fit-pad>.ldmp-control-title{display:none}

/* Farbgewitter: visible controls and a protected canvas in both orientations. */
.ldmp[data-active-game="farbgewitter"] .ldmp-action-canvas{touch-action:none;aspect-ratio:680/800}
.ldmp.ldmp-fit[data-active-game="farbgewitter"] .ldmp-fit-pad>.ldmp-farbgewitter-controls{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));grid-template-areas:"left rotate right" "down drop drop";gap:4px}
.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=left]{grid-area:left}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=rotate]{grid-area:rotate}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=right]{grid-area:right}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=down]{grid-area:down}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=drop]{grid-area:drop}
.ldmp.ldmp-fit[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls button{min-width:44px;min-height:44px;padding:3px;font-size:21px;line-height:1.1;touch-action:none}.ldmp.ldmp-fit[data-active-game="farbgewitter"] .ldmp-fit-pad>.ldmp-control-title{display:none}

/* Farbwirbel: all aiming and power controls remain reachable. */
.ldmp[data-active-game="farbwirbel"] .ldmp-action-canvas{touch-action:none}
.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-fit-pad>.ldmp-farbwirbel-controls{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));grid-template-areas:"left fire right" "swap swap freeze";gap:4px}
.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=left]{grid-area:left}.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=fire]{grid-area:fire}.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=right]{grid-area:right}.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=swap]{grid-area:swap}.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=freeze]{grid-area:freeze}
.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls button{min-width:44px;min-height:44px;padding:3px;font-size:20px;line-height:1.1;touch-action:manipulation}.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=swap],.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=freeze]{font-size:12px;white-space:normal}.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-fit-pad>.ldmp-control-title{display:none}

/* Compact five-column controls keep all tools visible in phone landscape. */
.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-fit-pad>.ldmp-farbwirbel-controls{grid-template-columns:repeat(5,minmax(44px,1fr));grid-template-areas:"left fire right swap freeze" "prism blast joker rewind .";gap:4px}
.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=blast]{grid-area:blast}.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=joker]{grid-area:joker}.ldmp[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=rewind]{grid-area:rewind}
.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls :is([data-command=swap],[data-command=freeze],[data-command=blast],[data-command=joker],[data-command=rewind]){font-size:10px;line-height:1.1;padding:2px;overflow-wrap:normal;word-break:normal}
.ldmp.ldmp-fit[data-active-game="farbgewitter"] .ldmp-fit-pad>.ldmp-farbgewitter-controls{grid-template-columns:repeat(5,minmax(44px,1fr));grid-template-areas:"left rotate right down drop" "palette swap joker erase freeze";gap:4px}
.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=swap]{grid-area:swap}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=joker]{grid-area:joker}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=erase]{grid-area:erase}.ldmp[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=freeze]{grid-area:freeze}
.ldmp.ldmp-fit[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls :is([data-command=swap],[data-command=joker],[data-command=erase],[data-command=freeze]){font-size:10px;line-height:1.1;padding:2px;overflow-wrap:normal;word-break:normal}

.ldmp.ldmp-fit[data-active-game="farbwirbel"] .ldmp-farbwirbel-controls [data-command=prism]{grid-area:prism;font-size:10px;line-height:1.1;padding:2px;overflow-wrap:normal;word-break:normal}
.ldmp.ldmp-fit[data-active-game="farbgewitter"] .ldmp-farbgewitter-controls [data-command=palette]{grid-area:palette;font-size:10px;line-height:1.1;padding:2px;overflow-wrap:normal;word-break:normal}

/* Snake Mini: garden textures and motion remain decorative; the logical grid stays unchanged. */
.ldmp .ldmp-atelier .ldmp-snake{position:relative;overflow:hidden;border:1px solid #a9c29a;border-radius:12px;background-color:#244b41;background-image:radial-gradient(ellipse at 25% 15%,#83a97755,transparent 48%),linear-gradient(140deg,#386d59,#183c39);box-shadow:inset 0 0 0 3px #d4e3a637,inset 0 0 26px #0b252d88,0 8px 24px #0c222966}
.ldmp .ldmp-atelier .ldmp-snake>span{position:relative;border-radius:2px;background:linear-gradient(145deg,#b3d09a0d,#0a302f13);box-shadow:inset 0 0 0 .5px #d0dfa61c;overflow:hidden}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=empty][data-ground="1"],.ldmp .ldmp-atelier .ldmp-snake [data-kind=empty][data-ground="7"]{background-image:radial-gradient(ellipse at 32% 68%,#b9da9a55 0 4%,transparent 6%),radial-gradient(ellipse at 62% 45%,#8bb78555 0 3%,transparent 5%)}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=empty][data-ground="4"]::before{content:"";position:absolute;left:60%;top:28%;width:12%;height:12%;border-radius:50%;background:#efdab688;box-shadow:-3px 0 #b9d49b88,2px 3px #a4c99188}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=body]{z-index:2;overflow:visible;background:transparent;box-shadow:none}
.ldmp .ldmp-atelier .ldmp-snake [data-head=true]{z-index:3;overflow:visible}
.ldmp .ldmp-atelier .ldmp-snake :is([data-kind=food],[data-kind=trim],[data-kind=wall]){background:transparent;box-shadow:none}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=portal]{z-index:1;border-radius:50%;background:radial-gradient(circle,#182f39 18%,#b9b3e4 25%,#4a7690 35%,#9ce0d4 48%,#2b6258 60%,transparent 67%);box-shadow:inset 0 0 0 1px #bfe6d288;color:#f8f5db}
.ldmp .ldmp-atelier .ldmp-snake [data-kind=portal]::before{content:"";position:absolute;inset:12%;border:1px dashed #e6fff2aa;border-radius:50%;pointer-events:none}
.ldmp:not(.ldmp-reduced) .ldmp-snake[data-motion=on] [data-kind=food] svg{animation:ldmp-snake-fruit 1.8s ease-in-out infinite}
.ldmp:not(.ldmp-reduced) .ldmp-snake[data-motion=on] [data-kind=portal]::before{animation:ldmp-snake-portal 4s linear infinite}
.ldmp:not(.ldmp-reduced) .ldmp-snake[data-motion=on] .snake-tongue{transform-box:fill-box;transform-origin:left center;animation:ldmp-snake-tongue 2.5s ease-in-out infinite}

/* Mastermind: code atelier, enamel counters and a readable clue board. */
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-secret{position:relative;isolation:isolate;width:min(100%,400px);box-sizing:border-box;border:1px solid #d8c69b88;border-radius:10px;background:linear-gradient(120deg,#132d3d,#254b55 47%,#182d43);box-shadow:inset 0 1px #f3e5bd66,inset 0 -3px #071c2caa,0 4px 12px #080f2055}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-secret::before,.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-secret::after{background:radial-gradient(circle,#f1d8a8 0 1px,#283e49 1.5px,transparent 2px) center top/5px 12px}
.ldmp .ldmp-mastermind .ldmp-master-secret .ldmp-master-peg[data-kind=hidden]{border-color:#dbccaa88;background-image:radial-gradient(circle at 33% 24%,#ffffff80,transparent 25%),linear-gradient(145deg,#476a71,#172b3c 75%);box-shadow:inset 0 1px #f4e2bc99,inset 0 -3px #07172499,0 1px 4px #06111c88;color:#edf3db}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-draft{padding:4px;gap:6px}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-slot{position:relative;min-width:0;border:1px solid #efe0bc99;border-radius:12px;background-image:radial-gradient(ellipse at 32% 17%,#ffffffaa,transparent 26%),linear-gradient(155deg,#ffffff2b,transparent 40%,#14253f77);box-shadow:inset 0 1px #ffffffaa,inset 0 -4px #122c4566,0 3px 5px #0b182b88;text-shadow:0 1px #ffffff66;transition:box-shadow .18s ease,filter .18s ease}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-slot[data-selected=true]{outline:2px solid #f1dfaa;outline-offset:1px;box-shadow:inset 0 1px #fff,inset 0 -4px #19324c66,0 0 0 3px #e6c57e40,0 0 15px #e6c57e66}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log{position:relative;isolation:isolate;overflow:hidden;border:1px solid #c2c6ad66;border-radius:12px;background:radial-gradient(ellipse at 15% 12%,#87c5b31c,transparent 40%),repeating-linear-gradient(0deg,#e8ddbe0c 0 1px,transparent 1px var(--ldmp-log-row,26px)),linear-gradient(135deg,#1a3644,#233d4b 55%,#142b3b);box-shadow:inset 0 1px #d6dbc644,inset 0 0 0 3px #11293b99,0 8px 22px #0b152b55}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log:empty{background:radial-gradient(circle at 50% 44%,transparent 0 29%,#d9e3c711 29.2% 29.7%,transparent 30% 35%,#d9e3c70c 35.2% 35.7%,transparent 36%),radial-gradient(ellipse at 50% 44%,#98c4a91c,transparent 58%),repeating-linear-gradient(0deg,#e8ddbe0c 0 1px,transparent 1px var(--ldmp-log-row,26px)),linear-gradient(135deg,#1a3644,#233d4b 55%,#142b3b)}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log:empty::before{content:'CODE · ATELIER';position:absolute;left:8%;right:8%;top:39%;text-align:center;color:#e8ddb7aa;font:700 clamp(10px,1.3vw,15px)/1.2 Arial,sans-serif;letter-spacing:.24em}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log:empty::after{content:'Ihr erster Versuch wartet';position:absolute;left:8%;right:8%;top:51%;text-align:center;color:#c4d9cf99;font:12px/1.2 Arial,sans-serif;letter-spacing:.03em}
.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log li{position:relative;box-sizing:border-box;border:1px solid #c3d4bb44;border-radius:6px;background:linear-gradient(100deg,#52737766,#2b4855bb 52%,#243e4dbb);box-shadow:inset 0 1px #eef2d52c,0 2px 4px #081d2c44}
.ldmp .ldmp-mastermind .ldmp-master-log small{color:#f0dcae;font-weight:700;font-variant-numeric:tabular-nums}
.ldmp .ldmp-mastermind .ldmp-master-log .ldmp-master-peg{border-color:#ede2c888;box-shadow:inset 0 1px #ffffffaa,inset 0 -2px #0e274b77,0 1px 3px #08172799}
.ldmp .ldmp-mastermind .ldmp-master-markers{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;letter-spacing:0}
.ldmp .ldmp-mastermind .ldmp-master-marker{display:block;flex:none;box-sizing:border-box;width:clamp(5px,calc(var(--ldmp-log-row,26px)*.42),11px);height:clamp(5px,calc(var(--ldmp-log-row,26px)*.42),11px);border-radius:50%;border:1px solid #d9e5cf77;background:#16303b;box-shadow:inset 0 1px 2px #071e2a}
.ldmp .ldmp-mastermind .ldmp-master-marker[data-kind=exact]{border-color:#d8f7d2;background:radial-gradient(circle at 33% 25%,#fff,#a7eea7 37%,#4da99b 80%);box-shadow:0 0 5px #a8ebba88}
.ldmp .ldmp-mastermind .ldmp-master-marker[data-kind=misplaced]{border:2px solid #ecd19a;background:#344b4b;box-shadow:inset 0 0 2px #f3d9a366}
.ldmp .ldmp-mastermind .ldmp-master-palette button{border:1px solid #f7e8ca88;border-radius:9px;background-image:radial-gradient(ellipse at 30% 18%,#ffffffaa,transparent 32%),linear-gradient(155deg,#ffffff44,transparent 42%,#142b484d);box-shadow:inset 0 1px #ffffffb3,inset 0 -3px #1a304955,0 2px 4px #101a2a77;font-weight:700}
.ldmp .ldmp-mastermind .ldmp-master-palette button:focus-visible,.ldmp .ldmp-mastermind .ldmp-master-slot:focus-visible{outline:3px solid #fff4cb;outline-offset:2px}
@media(max-height:680px){.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log:empty::before{top:30%;font-size:10px;letter-spacing:.13em}.ldmp .ldmp-atelier.ldmp-mastermind .ldmp-master-log:empty::after{top:55%;font-size:10px}.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-markers{gap:1px}.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-marker{width:5px;height:5px}.ldmp-fit .ldmp-mastermind[data-short=true] .ldmp-master-marker[data-kind=misplaced]{border-width:1px}}
@media (orientation:landscape) and (max-height:500px){
 .ldmp.ldmp-fit[data-active-game=mastermind] .ldmp-shell{grid-template-rows:34px minmax(0,1fr) 30px}
 .ldmp[data-active-game=mastermind] .ldmp-topbar{box-sizing:border-box;min-height:0;height:34px}
 .ldmp[data-active-game=mastermind] .ldmp-topbar .ldmp-fit-focus{min-height:0;height:34px}
 .ldmp[data-active-game=mastermind] .ldmp-bottom{min-height:30px}
 .ldmp[data-active-game=mastermind] .ldmp-playarea{grid-template-rows:minmax(0,1fr);padding-top:3px}
 .ldmp[data-active-game=mastermind] .ldmp-feedback{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}
 .ldmp[data-active-game=mastermind] .ldmp-sidebar{min-height:34px;padding:2px 10px}
 .ldmp[data-active-game=mastermind] .ldmp-score.ldmp-hud{grid-template-rows:11px 18px;gap:0 6px;padding:1px 0 3px}
 .ldmp[data-active-game=mastermind] .ldmp-score.ldmp-hud>strong,.ldmp[data-active-game=mastermind] .ldmp-hud-value{font-size:14px;line-height:1.05}
 .ldmp[data-active-game=mastermind] .ldmp-hud-label,.ldmp[data-active-game=mastermind] .ldmp-score.ldmp-hud>span{font-size:9px;line-height:1}
 .ldmp[data-active-game=mastermind] .ldmp-hud-metric{gap:1px;padding:0 4px}
 .ldmp[data-active-game=mastermind] .ldmp-fit-pad{gap:3px;padding:3px}
 .ldmp[data-active-game=mastermind] .ldmp-fit-pad>.ldmp-game-controls:not(.ldmp-master-palette){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
 .ldmp[data-active-game=mastermind] .ldmp-fit-pad>.ldmp-game-controls:not(.ldmp-master-palette)>.ldmp-game-button{min-width:0;padding:2px;font-size:10px}
}
@keyframes ldmp-snake-fruit{0%,100%{transform:scale(.92);filter:brightness(1)}50%{transform:scale(1.04);filter:brightness(1.14)}}
@keyframes ldmp-snake-portal{to{transform:rotate(360deg)}}
@keyframes ldmp-snake-tongue{0%,85%,100%{opacity:.35;transform:scaleX(.4)}90%,96%{opacity:1;transform:scaleX(1)}}
