/* Cabinet styles are scoped so the community homepage keeps its own layout. */
.mini-game{--mini-green:#baff65;--mini-purple:#be82ff;--mini-muted:#b9adc9;color:#f4effb;font-family:"DM Sans",system-ui,sans-serif;width:100%;min-width:0}
.mini-game *{box-sizing:border-box}
.mini-heading{max-width:660px;margin-bottom:20px}
.mini-game p.mini-kicker{color:var(--mini-green);font-size:10px;font-weight:900;letter-spacing:.18em;margin:0 0 12px}
.mini-game .mini-title{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(35px,7vw,66px);font-weight:900;line-height:.95;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 12px}
.mini-game p.mini-instructions{color:#cec3dc;font-size:13px;line-height:1.65;margin:0;max-width:580px}
.mini-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px 21px;border:1px solid #704a8a;border-bottom:0;background:linear-gradient(110deg,#271737,#17241b)}
.mini-metric{min-width:0;border-left:1px solid #77518f;padding-left:18px}
.mini-metric:first-child{padding-left:0;border-left:0}
.mini-metric>span{display:block;font-size:9px;letter-spacing:.15em;font-weight:900;color:#ccbadc}
.mini-metric>strong{display:block;font-family:"Barlow Condensed",Impact,sans-serif;font-size:37px;line-height:1.1;font-variant-numeric:tabular-nums}
.mini-metric:nth-child(2)>strong{color:var(--mini-green)}
.mini-board{position:relative;isolation:isolate;overflow:hidden;border:1px solid #704a8a;background:radial-gradient(ellipse at 20% 10%,#49266655,transparent 70%),radial-gradient(ellipse at 85% 85%,#489d3630,transparent 70%),#101016;min-height:330px;outline-offset:3px;touch-action:manipulation}
.mini-board::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.45;background-image:linear-gradient(#bf8cfa12 1px,transparent 1px),linear-gradient(90deg,#bf8cfa12 1px,transparent 1px);background-size:36px 36px}
.mini-timing-board{height:clamp(330px,42vw,440px)}
.mini-targets{position:absolute;inset:0}
.mini-overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:28px;background:radial-gradient(ellipse at center,#1d1328ed,#0d1114f7);text-align:center}
.mini-overlay[hidden]{display:none}
.mini-overlay>.mini-art{height:80px;width:80px;filter:drop-shadow(0 0 20px #b884f94d)}
.mini-overlay>.mini-leaf{width:65px}
.mini-overlay-title{max-width:420px;color:var(--mini-green);font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(31px,5vw,49px);line-height:.95;letter-spacing:-.015em}
.mini-game .mini-overlay>p{color:#ccbedb;font-size:13px;line-height:1.65;max-width:350px;margin:0}
.mini-controls{display:flex;gap:10px;margin-top:15px}
.mini-controls>button{min-height:47px;padding:12px 24px;font:900 11px/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:.08em;border:1px solid #9d73bd;cursor:pointer;color:#eee5f6;background:#271834;transition:background .15s,border-color .15s;touch-action:manipulation}
.mini-controls>.mini-start{background:var(--mini-green);color:#17220e;border-color:var(--mini-green);flex:1}
.mini-controls>button:hover:not(:disabled){background:#543269;border-color:#d7b7f2}
.mini-controls>.mini-start:hover:not(:disabled){background:#d1ff9a;border-color:#d1ff9a}
.mini-controls>button:disabled{opacity:.45;cursor:wait}
.mini-game button:focus-visible,.mini-board:focus-visible{outline:3px solid #f1ffcb;outline-offset:3px}
.mini-game p.mini-status{min-height:40px;font-size:12px;font-weight:700;color:var(--mini-green);line-height:1.6;margin:14px 0 7px}
.mini-game p.mini-keyboard,.mini-game p.mini-pause-note{font-size:10px;line-height:1.7;color:var(--mini-muted);margin:6px 0}
.mini-art{display:block;width:100%;height:100%;pointer-events:none;object-fit:contain}
.mini-memory-board{padding:17px}
.mini-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;position:relative}
.mini-card{position:relative;min-width:0;aspect-ratio:1.1;min-height:77px;padding:7px;border:1px solid #9560b8;border-radius:7px;background:repeating-linear-gradient(45deg,#54316520,#54316520 4px,transparent 4px,transparent 8px),linear-gradient(145deg,#301b43,#171323);cursor:pointer;touch-action:manipulation;transition:border-color .15s,background .15s,box-shadow .15s;box-shadow:inset 0 0 20px #0004}
.mini-card:hover:not(:disabled){border-color:#d6aff7}
.mini-card-back{display:grid;place-items:center;position:absolute;inset:0;color:#c493e0;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(24px,6vw,43px);font-weight:900;letter-spacing:-.035em;transform:rotate(-10deg);text-shadow:0 0 20px #bd7dff55;pointer-events:none}
.mini-card-front{display:none;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}
.mini-card-front>.mini-art{height:calc(100% - 15px);width:70%;max-height:75px;filter:drop-shadow(0 4px 4px #0005)}
.mini-card-front>.mini-leaf{width:48%}
.mini-card-name{font-size:8px;font-weight:900;letter-spacing:.07em;color:#e2f4d7;line-height:1.2}
.mini-card.is-open{background:linear-gradient(140deg,#1f402a,#132418);border-color:#a0d87d}
.mini-card.is-open>.mini-card-back{display:none}
.mini-card.is-open>.mini-card-front{display:flex}
.mini-card.is-matched{background:linear-gradient(140deg,#315b2c,#233721);border-color:var(--mini-green);box-shadow:inset 0 0 16px #c0ff6830,0 0 12px #b6f76515}
.mini-card.is-matched::after{content:"✓";position:absolute;right:5px;top:3px;font:900 13px/1 system-ui;color:var(--mini-green)}
.mini-game[data-mode=paused] .mini-card,.mini-game[data-mode=saving] .mini-card{pointer-events:none}
.mini-target{position:absolute;left:50%;top:50%;translate:-50% -50%;width:82px;height:82px;display:grid;place-items:center;padding:9px;border:0;background:radial-gradient(circle,#b5ff6130,#101519 69%);cursor:pointer;touch-action:manipulation;isolation:isolate}
.mini-target>.mini-art{width:70px;height:70px;filter:drop-shadow(0 0 8px #c5ff9d55)}
.mini-sweet-ring,.mini-approach-ring{position:absolute;inset:0;border:3px solid var(--mini-green);border-radius:50%;pointer-events:none}
.mini-sweet-ring{box-shadow:0 0 15px #baff6544,inset 0 0 12px #baff6533}
.mini-approach-ring{border-color:#cb8dff;transform:scale(var(--ring-scale,2.25));opacity:.8;box-shadow:0 0 12px #be82ff55}
.mini-target.is-perfect .mini-sweet-ring{border-color:#efffc8;box-shadow:0 0 25px #c9ff79aa,inset 0 0 18px #baff6555}
.mini-target.is-perfect{background:radial-gradient(circle,#baff6550,#101519 72%)}
@media(min-width:700px){.mini-memory-board{padding:20px 30px}.mini-cards{gap:13px}.mini-card{max-height:116px}.mini-game p.mini-status{min-height:22px}}
@media(max-width:480px){.mini-heading{margin-bottom:16px}.mini-game .mini-title{font-size:39px}.mini-game p.mini-instructions{font-size:12px}.mini-hud{padding:12px 14px;gap:9px}.mini-metric{padding-left:12px}.mini-metric>strong{font-size:32px}.mini-memory-board{padding:10px;min-height:280px}.mini-cards{gap:7px}.mini-card{min-height:73px;aspect-ratio:.88}.mini-card-front>.mini-art{width:91%;max-height:60px}.mini-card-front>.mini-leaf{width:62%}.mini-card-name{font-size:6.5px;letter-spacing:.03em}.mini-controls>button{padding:12px 14px}.mini-overlay{padding:20px;gap:12px}.mini-overlay>.mini-art{height:65px;width:65px}.mini-game .mini-overlay>p{font-size:12px}.mini-target{width:72px;height:72px}.mini-target>.mini-art{width:60px;height:60px}.mini-game p.mini-status{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mini-game *{transition:none!important}.mini-approach-ring{box-shadow:none}}
