/* Four self-contained bilingual interactive exhibits. Existing site styles stay unchanged. */
.mini-game-page{height:100dvh;min-height:490px;display:flex;flex-direction:column;overflow:hidden;background:#f6f5f0}
.mini-game-page .topline{flex:none}.mini-game-page .nav{flex:none;padding:9px 0}.mini-game-page .nav .brand{font-size:16px}.mini-game-page .nav .brand-square{width:27px;height:27px}
.mini-layout{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;padding:0 8px 9px}
.mini-device{height:100%;max-height:925px;width:min(100%,430px);border-radius:19px;border:1px solid var(--edge);background:var(--shell);color:var(--fg);box-shadow:0 16px 36px #18262922;display:flex;flex-direction:column;overflow:hidden;position:relative;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;user-select:none;-webkit-user-select:none}
.mini-device *{box-sizing:border-box}.mini-device button{font-family:inherit;cursor:pointer}.mini-device button:active{transform:scale(.98)}
.mini-top{padding:13px 15px 11px;flex:none;border-bottom:1px solid var(--edge)}.mini-over{font-size:9px;letter-spacing:1.6px;font-weight:850;color:var(--sub)}.mini-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.mini-heading h1{font-size:22px;line-height:1.2;letter-spacing:-.8px;margin:0;color:var(--fg);font-weight:850}.mini-counter{text-align:right;font-variant-numeric:tabular-nums}.mini-counter strong{font-size:30px;line-height:1;font-weight:850}.mini-counter small{font-size:10px;margin-left:3px;color:var(--sub)}
.mini-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;color:var(--sub);font-size:10px}.mini-meta strong{color:var(--accent);font-weight:800}
.mini-stage{flex:1;min-height:0;position:relative;overflow:hidden}.mini-stage>canvas{height:100%;width:100%;display:block;touch-action:none}
.mini-badge{position:absolute;top:11px;left:10px;font-size:10px;letter-spacing:.4px;padding:7px 9px;background:var(--chip);border:1px solid var(--edge);color:var(--fg);border-radius:6px;pointer-events:none}
.mini-message{background:var(--chip);border:1px solid var(--edge);color:var(--fg);font-size:11px;line-height:1.5;padding:9px 11px;border-radius:8px;min-height:38px}
.mini-bottom{flex:none;padding:11px 13px 13px;border-top:1px solid var(--edge);display:grid;gap:9px}.mini-actions{display:flex;gap:8px;align-items:center}.mini-actions button{border-radius:8px;border:1px solid var(--edge);background:var(--chip);color:var(--fg);padding:10px;font-size:11px;font-weight:800}.mini-actions button.primary{background:var(--accent-bg);color:var(--accent-fg);border-color:transparent;flex:1}
.mini-overlay{position:absolute;inset:0;background:#091720ce;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:10}.mini-overlay[hidden]{display:none}.mini-modal{background:var(--shell);border:1px solid var(--edge);padding:24px 18px;border-radius:16px;text-align:center;width:100%;box-shadow:0 18px 50px #0008}.mini-modal h2{font-size:25px;color:var(--fg);margin:8px 0}.mini-modal p{font-size:12px;color:var(--sub);line-height:1.7;margin:9px 0 18px}.mini-modal .big{font-size:42px;font-weight:850;font-variant-numeric:tabular-nums;color:var(--accent)}.mini-modal button{background:var(--accent-bg);color:var(--accent-fg);border:0;border-radius:9px;padding:13px;width:100%;font-size:13px;font-weight:850}
.theme-cream{--shell:#f4f0e7;--fg:#493f35;--sub:#94816d;--edge:#d8ccbd;--accent:#6c7959;--accent-bg:#35564a;--accent-fg:#fffdf5;--chip:#fffaf1}
.theme-metal{--shell:#142631;--fg:#f0f2ea;--sub:#9eb9b7;--edge:#46616b;--accent:#b7ead3;--accent-bg:#b5e8ce;--accent-fg:#163e31;--chip:#28434d}
.theme-crt{--shell:#e3dfd4;--fg:#34463d;--sub:#858479;--edge:#b7b8a9;--accent:#61866a;--accent-bg:#3f6854;--accent-fg:#fafcef;--chip:#f2f1e8}
.mini-float-note{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);border:1px solid var(--edge);border-radius:30px;background:var(--chip);padding:9px 14px;font-size:11px;color:var(--fg);pointer-events:none;white-space:nowrap;z-index:2;opacity:.94}
@media(max-width:680px){.mini-game-page .topline{display:none}.mini-game-page .nav{padding:7px 0}.mini-layout{padding:0 5px 5px}.mini-device{border-radius:14px}.mini-top{padding:11px 12px}}
@media(max-height:680px){.mini-game-page .topline{display:none}.mini-game-page .nav{padding:5px 0}.mini-top{padding:8px 11px}.mini-heading h1{font-size:19px}.mini-bottom{padding:8px 10px}}
