.gx-memory{position:relative;isolation:isolate;max-width:800px;margin:22px auto;font:600 14px/1.45 system-ui,sans-serif;color:#f4eddc;text-align:left;scroll-margin-top:100px}.gx-memory *{box-sizing:border-box}.gx-memory [hidden]{display:none!important}.gx-memory button,.gx-memory select{font:inherit;text-transform:none;letter-spacing:normal;margin:0;color:#f7efdf}.gx-memory button{cursor:pointer;border:1px solid #af9780;border-radius:7px;min-height:40px;padding:8px 10px;background:linear-gradient(145deg,#55415e,#292b40);touch-action:manipulation;line-height:1.3}.gx-memory button:hover{background:#63516c}.gx-memory button:disabled{cursor:default;opacity:.46}.gx-memory button:focus-visible,.gx-memory select:focus-visible{outline:3px solid #ffe39a;outline-offset:2px}.gx-memory p{padding:0;margin:0}.gx-memory .mm-shell{padding:14px;background:linear-gradient(140deg,#33253b,#182b32);border:2px solid #a69482;border-radius:14px;box-shadow:0 7px 24px #19132055;overflow:hidden}.gx-memory .mm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.gx-memory .mm-brand{min-width:0}.gx-memory .mm-brand small{display:block;font-size:8px;letter-spacing:.09em;color:#d0b5ce}.gx-memory .mm-brand strong{display:block;font:900 28px/1.1 Georgia,serif;letter-spacing:.01em;color:#ffe0a5;text-shadow:0 2px #352038}.gx-memory .mm-tools{display:flex;flex-shrink:0;gap:5px}.gx-memory .mm-tools button{font-size:11px;padding:7px;min-height:36px}.gx-memory .mm-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.gx-memory .mm-hud>div{position:relative;overflow:hidden;padding:7px 10px;border:1px solid #9b8a8f;border-radius:6px;background:#161d2ed9;font-variant-numeric:tabular-nums}.gx-memory .mm-hud span{display:block;font-size:10px;color:#d3bdcd}.gx-memory .mm-hud strong{display:block;font-size:23px;line-height:1.25;color:#ffdea1;font-weight:900}.gx-memory .mm-hud .is-urgent{color:#ffaaa5}.gx-memory .mm-clockline{position:absolute;bottom:0;left:0;right:0;height:3px;background:#82d4bc;transform-origin:left}.gx-memory .mm-stage{position:relative;min-height:0;padding:15px 18px;border:1px solid #a58e95;border-radius:11px;overflow:hidden}.gx-memory .mm-library{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.gx-memory .mm-play{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;margin:auto;width:100%;max-width:680px;outline:none}.gx-memory .mm-mission{display:flex;justify-content:space-between;width:100%;font-size:11px;min-height:16px;color:#ead9cc}.gx-memory .mm-mission span:last-child{color:#f5d793}.gx-memory .mm-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:7px;width:min(100%,calc(420px * var(--ratio)));aspect-ratio:var(--ratio);padding:8px;background:#1517299e;border:1px solid #bea78a;border-radius:10px;box-shadow:inset 0 0 15px #0006,0 6px 14px #0004}.gx-memory .mm-cell{position:relative;min-width:0;min-height:0;padding:0;border:0;border-radius:6px;perspective:600px;background:none!important;box-shadow:none;overflow:visible}.gx-memory .mm-cell:disabled{opacity:1}.gx-memory .mm-card{display:block;position:absolute;inset:0;transform-style:preserve-3d;transition:transform .24s ease}.gx-memory .mm-cell.is-open .mm-card{transform:rotateY(180deg)}.gx-memory .mm-back,.gx-memory .mm-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.gx-memory .mm-back{background:repeating-linear-gradient(45deg,#76558418 0 1px,transparent 1px 8px),linear-gradient(140deg,#694376,#342c51 65%,#22544d);border:2px solid #ddbf8b;box-shadow:inset 0 0 0 3px #413349,0 3px 0 #080e1b}.gx-memory .mm-back:before{content:'';position:absolute;inset:6px;border:1px solid #d5b98579;border-radius:3px}.gx-memory .mm-moon{width:34%;height:34%;border-radius:50%;border:1px solid #ecd5a1;background:#cdb17a;box-shadow:inset -6px -2px #634a78;transform:rotate(-20deg)}.gx-memory .mm-card-number{position:absolute;bottom:3px;right:5px;color:#ecddc4;font:8px ui-monospace,monospace}.gx-memory .mm-face{transform:rotateY(180deg);border:2px solid #dabf8b;background:radial-gradient(ellipse at 40% 25%,#fffced,#eedbb7);color:#382c40;box-shadow:inset 0 0 0 2px #fff5d2,0 3px #0c1821;gap:1px;padding:3px}.gx-memory .mm-emblem{display:flex;align-items:center;justify-content:center;width:68%;height:63%;filter:drop-shadow(0 2px 1px #43303236)}.gx-memory .mm-emblem svg{display:block;width:100%;height:100%;max-width:66px;max-height:66px}.gx-memory .mm-card-label{font-size:10px;font-weight:800;line-height:1.1;white-space:nowrap}.gx-memory .mm-cell.is-found .mm-face{border-color:#8ce1bd;background:radial-gradient(ellipse at 40% 25%,#f1ffde,#b4dfca);box-shadow:inset 0 0 0 2px #e3ffd6,0 0 11px #91e9ba55}.gx-memory .mm-cell.is-found:after{content:'✓';position:absolute;top:0;right:3px;font-size:11px;color:#1d654d;pointer-events:none}.gx-memory .mm-pin{position:absolute;top:-5px;left:-3px;z-index:2;display:none;color:#fff2b8;background:#6d4876;border:1px solid #ffe39a;border-radius:3px;padding:0 3px;font-size:11px;line-height:1.3;pointer-events:none}.gx-memory .is-pinned .mm-pin{display:block}.gx-memory .mm-cell.is-marking{outline:2px dashed #ffe29b;outline-offset:1px}.gx-memory .mm-cell:focus-visible{z-index:3;outline:3px solid #f9e7af;outline-offset:2px}.gx-memory .mm-message{font-size:12px;color:#ffe8b6;min-height:18px;text-align:center;font-weight:800}.gx-memory .mm-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.gx-memory .mm-controls button{min-height:44px;font-weight:800;background:linear-gradient(#584263,#273b44)}.gx-memory .mm-controls button[aria-pressed=true]{outline:2px solid #ffdf99;background:#6b4f5e}.gx-memory .mm-footer{display:flex;justify-content:space-between;gap:8px;margin-top:9px;font-size:10px;color:#d1bfcf;min-height:15px}.gx-memory .mm-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.gx-memory .mm-stage:has(.mm-panel:not([hidden])){min-height:430px}.gx-memory .mm-panel{position:absolute;inset:10px;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:13px;padding:clamp(14px,3vw,25px);overflow:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#4b3453fc,#1d293afc 70%,#2c4946fc);border:1px solid #c4af91;border-radius:9px;box-shadow:0 6px 24px #0006}.gx-memory .mm-panel>*{flex-shrink:0}.gx-memory .mm-eyebrow{text-align:center;font-size:10px;letter-spacing:.16em;color:#dfc3d9}.gx-memory h2.mm-title{font:900 25px/1.3 system-ui,sans-serif;color:#fff2d2!important;text-align:center;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}.gx-memory .mm-title:before,.gx-memory .mm-title:after{content:none!important;display:none!important}.gx-memory .mm-note{text-align:center;color:#ead8dc;font-size:12px}.gx-memory .mm-modes{display:grid;gap:7px}.gx-memory .mm-modes button{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:8px;min-height:46px}.gx-memory .mm-modes strong{font-size:15px;white-space:nowrap}.gx-memory .mm-modes span{font-size:11px;color:#e0d4df}.gx-memory .mm-modes button[aria-pressed=true]{border-color:#ffe4a4;background:#675150;box-shadow:inset 3px 0 #ffda89}.gx-memory .mm-difficulty{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.gx-memory select{background:#2b2a40;border:1px solid #c7ad9d;padding:7px 10px;min-height:39px;width:65%;border-radius:6px}.gx-memory .mm-primary{font-size:17px;font-weight:900;min-height:47px;background:linear-gradient(#ffe6a6,#d5a65c);color:#3c2840;border-color:#fff2bf;box-shadow:0 3px #7c4d43}.gx-memory .mm-primary:hover{background:#ffdf9c;color:#34223a}.gx-memory .mm-secondary{font-size:12px;min-height:36px}.gx-memory .mm-equipment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gx-memory .mm-equipment button{min-width:0;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:8px 4px}.gx-memory .mm-equipment b{font-size:34px;color:#ffdda0;line-height:1}.gx-memory .mm-equipment strong{font-size:13px;white-space:normal}.gx-memory .mm-equipment span{font-size:10px;color:#ead7de;line-height:1.5}.gx-memory .mm-points{display:flex;flex-direction:column;align-items:center;color:#ffe0a0;gap:2px}.gx-memory .mm-points strong{font-size:clamp(35px,8vw,55px);font-variant-numeric:tabular-nums;font-weight:950;line-height:1.1}.gx-memory .mm-points span{font-size:10px;letter-spacing:.15em}.gx-memory .mm-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gx-memory .mm-result-stats>div{background:#172336bb;border:1px solid #a78e9b;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.gx-memory .mm-result-stats span{font-size:10px;color:#dac4d4}.gx-memory .mm-result-stats strong{font-size:21px;color:#fff0cf}.gx-memory .mm-record-note{text-align:center;font-size:11px;color:#ffe0a0}.gx-memory .mm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gx-memory .mm-actions button{font-size:13px}
.gx-memory .mm-shell:fullscreen,.gx-memory .mm-expanded{width:100vw;height:100dvh;max-width:none;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:5px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border:0;border-radius:0;background:#261f34}.gx-memory .mm-expanded{position:fixed;inset:0;z-index:2147483000}.gx-memory .mm-shell:fullscreen .mm-head,.gx-memory .mm-expanded .mm-head,.gx-memory .mm-shell:fullscreen .mm-hud,.gx-memory .mm-expanded .mm-hud,.gx-memory .mm-shell:fullscreen .mm-controls,.gx-memory .mm-expanded .mm-controls,.gx-memory .mm-shell:fullscreen .mm-footer,.gx-memory .mm-expanded .mm-footer{margin:0}.gx-memory .mm-shell:fullscreen .mm-stage,.gx-memory .mm-expanded .mm-stage{min-height:0!important;padding:8px;container-type:size}.gx-memory .mm-shell:fullscreen .mm-play,.gx-memory .mm-expanded .mm-play{height:100%;gap:6px;justify-content:center;max-width:none}.gx-memory .mm-shell:fullscreen .mm-grid,.gx-memory .mm-expanded .mm-grid{width:min(100%,calc((100cqh - 46px) * var(--ratio)));padding:5px;gap:4px}.gx-memory .mm-shell:fullscreen .mm-panel,.gx-memory .mm-expanded .mm-panel{inset:6px;max-width:620px;height:max-content;max-height:calc(100% - 12px);margin:auto;padding:12px;gap:9px}.gx-memory .mm-shell:fullscreen .mm-modes,.gx-memory .mm-expanded .mm-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.gx-memory .mm-shell:fullscreen .mm-modes button,.gx-memory .mm-expanded .mm-modes button{display:block;text-align:center;min-height:39px;padding:6px}.gx-memory .mm-shell:fullscreen .mm-modes span,.gx-memory .mm-expanded .mm-modes span,.gx-memory .mm-shell:fullscreen .mm-panel[data-kind=menu] .mm-note,.gx-memory .mm-expanded .mm-panel[data-kind=menu] .mm-note{display:none}.gx-memory .mm-shell:fullscreen .mm-primary,.gx-memory .mm-expanded .mm-primary{min-height:37px;font-size:14px}.gx-memory.mm-portal{position:fixed;inset:0;z-index:2147483000;width:100vw;height:100dvh;max-width:none;margin:0;isolation:isolate}
@media(max-width:480px){.gx-memory .mm-shell{padding:9px;border-radius:10px}.gx-memory .mm-brand strong{font-size:21px}.gx-memory .mm-brand small{font-size:7px;letter-spacing:0}.gx-memory .mm-tools{gap:4px}.gx-memory .mm-tools button{font-size:10px;min-height:34px;padding:6px}.gx-memory .mm-hud{gap:4px}.gx-memory .mm-hud>div{padding:6px}.gx-memory .mm-hud span{font-size:9px}.gx-memory .mm-hud strong{font-size:21px}.gx-memory .mm-stage{padding:12px 9px}.gx-memory .mm-grid{padding:6px;gap:5px}.gx-memory .mm-modes button{display:block;min-height:48px}.gx-memory .mm-modes strong{font-size:14px}.gx-memory .mm-modes span{display:block;font-size:10px;margin-top:3px}.gx-memory .mm-panel{padding:14px;gap:11px}.gx-memory h2.mm-title{font-size:22px}.gx-memory .mm-equipment button{min-height:132px;gap:8px}.gx-memory .mm-equipment strong{font-size:11px}.gx-memory .mm-equipment span{font-size:9px}.gx-memory .mm-footer{font-size:9px}.gx-memory .mm-card-label{font-size:9px}}
@media(max-width:359px){.gx-memory .mm-brand strong{font-size:17px}.gx-memory .mm-brand small{font-size:6px}.gx-memory .mm-tools{gap:3px}.gx-memory .mm-tools button{font-size:9px;padding:5px}.gx-memory .mm-head{gap:4px}.gx-memory .mm-hud strong{font-size:19px}.gx-memory .mm-mission{font-size:10px}.gx-memory .mm-grid{gap:4px;padding:5px}.gx-memory .mm-panel{inset:7px;padding:12px}.gx-memory h2.mm-title{font-size:20px}.gx-memory .mm-result-stats>div{padding:6px 8px}.gx-memory .mm-result-stats strong{font-size:19px}.gx-memory .mm-record-note{font-size:10px}}
@media(max-height:500px) and (orientation:landscape){.gx-memory .mm-shell:fullscreen,.gx-memory .mm-expanded{grid-template-columns:minmax(165px,.65fr) minmax(0,1.35fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:5px}.gx-memory .mm-shell:fullscreen .mm-head,.gx-memory .mm-expanded .mm-head{grid-column:1;display:block}.gx-memory .mm-shell:fullscreen .mm-brand strong,.gx-memory .mm-expanded .mm-brand strong{font-size:23px}.gx-memory .mm-shell:fullscreen .mm-tools,.gx-memory .mm-expanded .mm-tools{margin-top:5px}.gx-memory .mm-shell:fullscreen .mm-hud,.gx-memory .mm-expanded .mm-hud{grid-column:1;grid-row:2;grid-template-columns:1fr 1fr}.gx-memory .mm-shell:fullscreen .mm-hud>div,.gx-memory .mm-expanded .mm-hud>div{padding:4px 7px}.gx-memory .mm-shell:fullscreen .mm-hud strong,.gx-memory .mm-expanded .mm-hud strong{font-size:19px}.gx-memory .mm-shell:fullscreen .mm-stage,.gx-memory .mm-expanded .mm-stage{grid-column:2;grid-row:1/-1;padding:4px;min-height:0!important}.gx-memory .mm-shell:fullscreen .mm-controls,.gx-memory .mm-expanded .mm-controls{grid-column:1;grid-row:3;align-content:center}.gx-memory .mm-shell:fullscreen .mm-controls button,.gx-memory .mm-expanded .mm-controls button{min-height:40px;font-size:10px;padding:6px 3px}.gx-memory .mm-shell:fullscreen .mm-footer,.gx-memory .mm-expanded .mm-footer{grid-column:1;grid-row:4;display:block;font-size:9px}.gx-memory .mm-shell:fullscreen .mm-footer span,.gx-memory .mm-expanded .mm-footer span{display:block}.gx-memory .mm-shell:fullscreen .mm-mission,.gx-memory .mm-expanded .mm-mission,.gx-memory .mm-shell:fullscreen .mm-message,.gx-memory .mm-expanded .mm-message{display:none}.gx-memory .mm-shell:fullscreen .mm-grid,.gx-memory .mm-expanded .mm-grid{width:min(100%,calc(100cqh * var(--ratio)));gap:3px;padding:4px}.gx-memory .mm-shell:fullscreen .mm-card-label,.gx-memory .mm-expanded .mm-card-label{font-size:8px}.gx-memory .mm-shell:fullscreen .mm-panel,.gx-memory .mm-expanded .mm-panel{gap:7px;padding:10px}.gx-memory .mm-shell:fullscreen h2.mm-title,.gx-memory .mm-expanded h2.mm-title{font-size:18px}.gx-memory .mm-shell:fullscreen .mm-eyebrow,.gx-memory .mm-expanded .mm-eyebrow{font-size:8px}.gx-memory .mm-shell:fullscreen .mm-modes,.gx-memory .mm-expanded .mm-modes{grid-template-columns:1fr;gap:4px}.gx-memory .mm-shell:fullscreen .mm-modes button,.gx-memory .mm-expanded .mm-modes button{min-height:27px;padding:4px}.gx-memory .mm-shell:fullscreen .mm-modes strong,.gx-memory .mm-expanded .mm-modes strong{font-size:11px}.gx-memory .mm-shell:fullscreen .mm-difficulty,.gx-memory .mm-expanded .mm-difficulty{font-size:10px}.gx-memory .mm-shell:fullscreen select,.gx-memory .mm-expanded select{min-height:28px;font-size:10px;padding:3px}.gx-memory .mm-shell:fullscreen .mm-primary,.gx-memory .mm-expanded .mm-primary{min-height:31px;font-size:12px}.gx-memory .mm-shell:fullscreen .mm-equipment button,.gx-memory .mm-expanded .mm-equipment button{min-height:100px;gap:7px;padding:5px 3px}.gx-memory .mm-shell:fullscreen .mm-equipment b,.gx-memory .mm-expanded .mm-equipment b{font-size:24px}.gx-memory .mm-shell:fullscreen .mm-equipment strong,.gx-memory .mm-expanded .mm-equipment strong{font-size:10px}.gx-memory .mm-shell:fullscreen .mm-equipment span,.gx-memory .mm-expanded .mm-equipment span{font-size:9px}.gx-memory .mm-shell:fullscreen .mm-points strong,.gx-memory .mm-expanded .mm-points strong{font-size:31px}.gx-memory .mm-shell:fullscreen .mm-result-stats>div,.gx-memory .mm-expanded .mm-result-stats>div{padding:4px 7px}.gx-memory .mm-shell:fullscreen .mm-result-stats strong,.gx-memory .mm-expanded .mm-result-stats strong{font-size:17px}.gx-memory .mm-shell:fullscreen .mm-record-note,.gx-memory .mm-expanded .mm-record-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.gx-memory *{animation:none!important;transition:none!important}}

.gx-memory .mm-cell.is-found{cursor:default}
