#game-root{--mj-accent:#10B981;--mj-accent-dark:#0c8d64;--mj-accent-light:#e3f9ef;--mj-accent-border:#a7f3d0;--mj-glass-bg:rgba(255, 255, 255, .62);--mj-glass-border:rgba(255, 255, 255, .45)}.kwg-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.mj-wrap{position:relative;max-width:760px;margin:0 auto}.mj-wrap-narrow{max-width:560px}.mj-loading,.mj-error{text-align:center;padding:48px 16px}.mj-loading-icon,.mj-error-icon{font-size:40px;margin-bottom:10px}.mj-loading-icon{animation:mj-pulse 1.2s ease-in-out infinite}.mj-loading-text{font-size:15px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2)}.mj-error-text{font-size:15px;font-weight:700;color:#fff;background:#ef4444;display:inline-block;padding:6px 16px;border-radius:999px}.mj-header{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}.mj-header-icon{display:flex;font-size:30px;line-height:1}.mj-header-icon img{display:block;height:38px;width:auto}.mj-header-title{font-size:22px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2)}.mj-levels{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.mj-level-card{display:flex;flex-direction:column;border:1px solid var(--mj-glass-border);border-radius:var(--kw-radius,12px);background:var(--mj-glass-bg);backdrop-filter:blur(14px)saturate(160%);-webkit-backdrop-filter:blur(14px)saturate(160%);padding:0;cursor:pointer;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform .15s ease,box-shadow .15s ease}.mj-level-card:hover{transform:translateY(-4px);box-shadow:0 10px 18px rgba(0,0,0,.14)}.mj-level-card:active{transform:translateY(-1px)}.mj-level-thumb{margin-top:10px;display:flex;align-items:center;justify-content:center;height:70px;font-size:36px;background:linear-gradient(135deg,var(--mj-accent-light),var(--mj-accent-border));background-size:70px 70px;background-repeat:no-repeat;background-position:50%}.mj-level-body{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 16px}.mj-level-name{font-size:17px;font-weight:800;color:var(--kw-text,#2D2A32);text-align:center}.mj-level-age{font-size:14px;font-weight:700;color:var(--mj-accent-dark);background:var(--mj-accent-light);padding:2px 10px;border-radius:999px}.mj-level-row{justify-content:space-between;align-items:center;margin-bottom:10px}.mj-level-pill{display:inline-flex;align-items:center;gap:5px;background:var(--mj-accent-light);color:var(--mj-accent-dark);border-radius:999px;padding:6px 12px;font-weight:700;font-size:12px}.mj-level-pill-icon{display:inline-flex;line-height:1}.mj-level-pill-icon img{display:block;width:14px;height:14px;object-fit:cover;border-radius:50%}.mj-change-level-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--mj-glass-border);background:var(--mj-glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--mj-accent-dark);border-radius:999px;font-weight:700;font-size:12px;line-height:1;cursor:pointer;padding:6px 12px 6px 10px;transition:transform .1s ease,background .15s ease}.mj-change-level-btn svg{width:12px;height:12px}.mj-change-level-btn:hover{background:rgba(255,255,255,.8);transform:translateY(-1px)}.mj-change-level-btn:active{transform:translateY(0)}.mj-stat-row{justify-content:center;margin-bottom:16px;text-align:center}.mj-stat{background:var(--mj-accent-light);color:var(--mj-accent-dark);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px}.mj-thumb{display:inline-block;height:44px;width:auto;border:3px solid #d4a63c;border-radius:3px;background-color:#fff;background-size:cover;background-position:50%;box-shadow:0 2px 6px rgba(0,0,0,.25);flex-shrink:0}.mj-board{display:block;width:100%;margin:0 auto;height:auto;touch-action:none;background:#faf9ff;border-radius:8px;-webkit-user-select:none;user-select:none}.mj-board-bg{fill:#efe9dc;stroke:#d4a63c;stroke-width:4}.mj-target-outline{fill:rgba(0,0,0,.035);stroke:#c9c5db;stroke-width:1.5;stroke-dasharray:4,4;pointer-events:none}.mj-ghost-layer{opacity:0;pointer-events:none;transition:opacity .3s ease}.mj-ghost-layer.mj-ghost-visible{opacity:.3}.mj-target-outline.hint-active{stroke:#ef4444;stroke-width:3.5;fill:rgba(239,68,68,.22);animation:mj-hint-pulse-outline .7s ease-in-out infinite}.mj-piece{cursor:grab}.mj-piece-edge{fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.5;transition:stroke .15s ease,stroke-opacity .6s ease}.mj-piece.dragging{filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}.mj-piece.hint-active .mj-piece-edge{stroke:#ef4444;stroke-width:4;animation:mj-hint-pulse-piece .7s ease-in-out infinite}.mj-piece-highlight{fill:#ef4444;fill-opacity:0;pointer-events:none;transition:fill-opacity .15s ease}.mj-piece.hint-active .mj-piece-highlight{animation:mj-hint-pulse-fill .7s ease-in-out infinite}.mj-piece:active{cursor:grabbing}.mj-piece:hover .mj-piece-edge{stroke:#fff;stroke-width:2.5}.mj-piece.placed{pointer-events:none}.mj-piece.placed .mj-piece-edge{stroke:rgba(255,255,255,.45);stroke-width:.8}.mj-reveal{opacity:0;pointer-events:none;transition:opacity .9s ease .2s}.mj-reveal-frame{fill:none;stroke:#d4a63c;stroke-width:8}.mj-complete .mj-reveal{opacity:1}.mj-complete .mj-piece-edge{stroke-opacity:0}.mj-controls{justify-content:center;margin-top:20px}.mj-ctrl-btn{background:var(--mj-accent);color:#fff;border:none;padding:9px 18px;border-radius:999px;font-weight:700;cursor:pointer;font-size:14px}.mj-ctrl-btn:hover:not(:disabled){opacity:.9}.mj-ctrl-btn:disabled{opacity:.45;cursor:default}.mj-ctrl-btn.secondary{background:var(--mj-accent-light);color:var(--mj-accent-dark)}.mj-hint{text-align:center;font-size:12px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2);margin-top:10px}.mj-done-card{text-align:center;background:var(--mj-glass-bg);backdrop-filter:blur(14px)saturate(160%);-webkit-backdrop-filter:blur(14px)saturate(160%);border:1px solid var(--mj-glass-border);border-radius:var(--kw-radius,12px);padding:32px 20px;box-shadow:0 3px 12px rgba(0,0,0,.12);animation:mj-pop .3s ease}.mj-done-score{font-size:16px;font-weight:600;color:#555;margin-bottom:10px}.mj-done-stars{display:flex;justify-content:center;align-items:center;gap:4px;font-size:24px}.mj-done-share{justify-content:center;margin-top:16px}.mj-done-actions{justify-content:center;margin-top:20px}.mj-btn-primary,.mj-btn-secondary{border:none;padding:12px 22px;border-radius:999px;font-weight:800;font-size:14px;cursor:pointer;transition:transform .1s ease}.mj-btn-primary{background:var(--mj-accent);color:#fff;box-shadow:0 3px 0 var(--mj-accent-dark)}.mj-btn-primary:hover{transform:translateY(-1px)}.mj-btn-secondary{background:var(--mj-accent-light);color:var(--mj-accent-dark)}.mj-btn-secondary:hover{background:var(--mj-accent-border)}@keyframes mj-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mj-pop{0%{transform:scale(.85)}100%{transform:scale(1)}}@keyframes mj-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@keyframes mj-hint-pulse-outline{0%,100%{stroke-opacity:1;fill-opacity:1}50%{stroke-opacity:.35;fill-opacity:.35}}@keyframes mj-hint-pulse-piece{0%,100%{filter:drop-shadow(0 0 0 rgba(239,68,68,0))}50%{filter:drop-shadow(0 0 16px #ef4444)}}@keyframes mj-hint-pulse-fill{0%,100%{fill-opacity:.18}50%{fill-opacity:.6}}.mj-level-pieces{font-size:12px;font-weight:700;color:#6b6475}.mj-museum-sub{text-align:center;font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.25);margin:-8px 0 10px}.mj-progress{height:10px;max-width:320px;margin:0 auto 16px;border-radius:999px;background:rgba(255,255,255,.55);overflow:hidden}.mj-progress-fill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#f3cf6b,#d4a63c);transition:width .5s ease}.mj-museum-actions{justify-content:center;margin-bottom:18px}.mj-btn-big{font-size:17px;padding:14px 28px}.mj-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px 14px;padding:20px 16px;border-radius:var(--kw-radius,12px);background:linear-gradient(180deg,#f6efe2 0%,#ece0cb 100%);box-shadow:inset 0 -10px #c9a77a,0 3px 12px rgba(0,0,0,.14)}.mj-frame-btn{display:flex;flex-direction:column;align-items:center;gap:8px;border:none;background:0 0;padding:0;cursor:pointer;font:inherit;color:inherit;transition:transform .15s ease}.mj-frame-btn:hover{transform:translateY(-3px)rotate(-1deg)}.mj-frame-btn:focus-visible{outline:3px solid var(--mj-accent);outline-offset:4px;border-radius:4px}.mj-frame-art{display:flex;align-items:center;justify-content:center;width:100%;height:120px}.mj-frame-art img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border:6px solid #d4a63c;border-color:#e8c25d #b8862b #a8761f #dcb24a;box-shadow:0 0 0 2px #8a6216,0 6px 10px rgba(0,0,0,.3);background:#fff}.mj-frame-q{display:flex;align-items:center;justify-content:center;width:86px;height:104px;border:6px solid #a89f93;background:repeating-linear-gradient(45deg,#ddd5c8 0 8px,#d3cabb 8px 16px);box-shadow:0 0 0 2px #857b6f,0 6px 10px rgba(0,0,0,.2);font-size:40px;font-weight:800;color:#8c8274}.mj-frame-mystery:hover .mj-frame-q{color:var(--mj-accent-dark)}.mj-frame-cap{display:flex;flex-direction:column;align-items:center;gap:3px;max-width:100%;padding:4px 8px;background:#fffdf8;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.mj-frame-title{font-size:12px;font-weight:700;line-height:1.25;color:#2d2a32;text-align:center}.mj-frame-mystery .mj-frame-title{color:#8c8274;font-style:italic}.mj-frame-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--mj-accent-dark)}.mj-frame-badge svg{width:11px;height:11px}.mj-credit{text-align:center;font-size:11px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);margin-top:12px}.mj-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(25,20,15,.6);overflow-y:auto}.mj-modal[hidden]{display:none}.mj-modal-card{width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow-y:auto;background:#f6efe2;border-radius:var(--kw-radius,12px);padding:20px 16px 16px;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:mj-pop .25s ease}.mj-modal-actions{justify-content:center;margin:14px 0 0}.mj-gold-frame{display:flex;justify-content:center;margin:0 auto}.mj-gold-frame img{display:block;max-width:100%;max-height:46vh;width:auto;height:auto;border:12px solid #d4a63c;border-color:#e8c25d #b8862b #a8761f #dcb24a;box-shadow:0 0 0 3px #8a6216,inset 0 0 0 2px #f6e3a5,0 10px 20px rgba(0,0,0,.35);background:#fff}.mj-label{position:relative;max-width:420px;margin:18px auto 0;padding:14px 16px 12px;background:#fffdf8;border-radius:4px;border-left:5px solid var(--mj-accent);box-shadow:0 3px 10px rgba(0,0,0,.18);text-align:left;color:#2d2a32}.mj-finish-label .mj-label{animation:mj-label-up .6s cubic-bezier(.2,.9,.3,1.2)both .2s}.mj-label-new{display:inline-flex;align-items:center;gap:5px;margin-bottom:8px;padding:3px 10px;border-radius:999px;background:linear-gradient(90deg,#f3cf6b,#d4a63c);color:#4a3407;font-size:12px;font-weight:800}.mj-label-new svg{width:13px;height:13px}.mj-label-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mj-label-title{font-family:Georgia,times new roman,serif;font-style:italic;font-size:19px;font-weight:700;line-height:1.2}.mj-label-artist{font-size:14px;font-weight:700;color:#6b6475;margin-top:3px}.mj-label-fact{font-size:15px;line-height:1.45;margin-top:10px;padding-top:10px;border-top:1px solid #e8e1d4}.mj-label-place{font-size:12px;color:#8c8274;margin-top:8px}.mj-finish-title{text-align:center;font-size:22px;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.25);margin-bottom:14px;animation:mj-pop .3s ease}.mj-finish-art{animation:mj-pop .4s ease}.mj-wrap .mj-done-card{margin-top:16px;padding:16px 20px}.mj-error-actions{justify-content:center;margin-top:16px}@keyframes mj-label-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.mj-wall{grid-template-columns:repeat(2,1fr);padding:16px 10px}.mj-frame-art{height:110px}.mj-label-title{font-size:17px}.mj-btn-big{font-size:16px;padding:12px 22px}}@media(prefers-reduced-motion:reduce){.mj-finish-label .mj-label,.mj-finish-art,.mj-finish-title{animation:none}}