.mg-page,.mg-home{color:#20384a;min-width:0}.mg-kicker{font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#54717e}.mg-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.mg-header h1{font-size:clamp(30px,4vw,44px);line-height:1.1;margin:7px 0 10px}.mg-header p{max-width:650px;line-height:1.55;margin:0}.mg-header>.btn{flex-shrink:0}.mg-page .btn,.mg-home button{min-height:46px;white-space:normal}.mg-page button:focus-visible,.mg-home button:focus-visible{outline:3px solid #087ead;outline-offset:3px}.mg-home h2{font-size:27px;margin:7px 0}.mg-home>div>p{line-height:1.5}.mg-game-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:20px}.mg-game-entry{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1fr);align-items:center;gap:8px;padding:17px;border:2px solid #a3c6ce;border-radius:17px;background:linear-gradient(145deg,#eef9f5,#d7eff0);color:#20384a;text-align:left;cursor:pointer;box-shadow:0 5px 0 #20394a16}.mg-game-entry.vaults{background:linear-gradient(145deg,#f8efdb,#ece0be);border-color:#c1a669}.mg-entry-art{min-width:0}.mg-game-entry>span:last-child{display:flex;flex-direction:column;gap:8px}.mg-game-entry small{font-size:11px;font-weight:750;line-height:1.45;color:#516c7a}.mg-game-entry b{font-size:24px;line-height:1.1}.mg-game-entry span span{font-size:13px;line-height:1.5}.mg-game-entry strong{font-size:12px;margin-top:5px}.mg-machine-svg{display:block;width:100%;height:auto;overflow:visible}.mg-machine-part.ghost{opacity:.13;filter:grayscale(1)}.mg-machine-part.built{opacity:1;transition:opacity .45s}.mg-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:22px 0}.mg-projects>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;border:2px solid #b6ccd3;border-radius:17px;background:#fbfcf6;color:#20384a;padding:17px;cursor:pointer;box-shadow:0 4px 0 #20394a12}.mg-projects>button>div{width:100%;border-radius:12px;background:radial-gradient(ellipse,#f9edc7,transparent 70%);margin-bottom:12px}.mg-projects>button[aria-pressed=true]{border-color:#1d8ba4;background:#eef9f7;box-shadow:0 4px 0 #78b1c44a}.mg-projects>button:disabled{cursor:default;background:#edf0eb;box-shadow:none;color:#6e807e}.mg-projects .mg-kicker{font-size:10px;line-height:1.4}.mg-projects>button>b{font-size:23px;line-height:1.2;margin:7px 0}.mg-projects p{font-size:13px;line-height:1.55;margin:0 0 12px}.mg-projects small{margin-top:auto;font-size:12px;line-height:1.5;font-weight:750}.mg-level{padding:15px 18px;border:1px solid #bdcfd5;border-radius:13px;background:#f2f7f7}.mg-level label{display:block;font-size:14px;font-weight:800;margin-bottom:9px}.mg-level select{min-height:46px;max-width:100%;padding:10px;border:1px solid #9dbbc9;border-radius:9px;background:white;color:#20384a;font:inherit}.mg-level p{font-size:12px;line-height:1.5;margin:9px 0 0}.mg-lobby-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.mg-status{font-size:14px;line-height:1.5;background:#eef6fa;border:1px solid #b8d0dc;border-radius:11px;padding:13px 16px;margin:17px 0}.mg-status[aria-busy=true]{border-left:5px solid #218aa9}.mg-progress{padding:14px 18px;margin:0 0 18px;background:#eaf4f3;border:1px solid #bad2d3;border-radius:13px}.mg-progress>div{display:flex;gap:10px;justify-content:space-between}.mg-progress span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800}.mg-progress span>b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#ccddde;color:#3d6270}.mg-progress .current>b{background:#ffcf66;border:2px solid #aa7e2c}.mg-progress .done>b{background:#3b8a74;color:#fff}.mg-progress p{margin:10px 0 0;font-size:12px;color:#456672}.mg-play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,.82fr);gap:20px;align-items:start}.mg-scene-panel{position:sticky;top:14px;min-width:0}.mg-factory-scene{position:relative;aspect-ratio:4/3;min-height:290px;overflow:hidden;isolation:isolate;border:3px solid #42626c;border-radius:18px;background:linear-gradient(#20394f99,#1d394acd),url('../workshop/assets/room-shell.png') center/cover;box-shadow:inset 0 0 45px #142b3c80,0 5px 0 #244a5d1a}.mg-scene-halo{position:absolute;inset:10% 8% 20%;background:radial-gradient(ellipse,#e2f8d73d,transparent 68%);z-index:-1}.mg-bay-sign{position:absolute;left:5%;right:5%;top:5%;padding:9px 12px;border:1px solid #dbb868;border-radius:8px;background:#18394de8;color:#fbe7ae;text-align:center;font-size:12px;font-weight:850;letter-spacing:.05em}.mg-assembly{position:absolute;inset:10% 6% 9%;display:flex;align-items:center;filter:drop-shadow(0 8px 4px #10263655)}.mg-belt{position:absolute;bottom:3%;left:0;width:100%;height:auto;filter:drop-shadow(0 5px 3px #10263666)}.mg-factory-label{position:absolute;bottom:1%;left:20%;right:20%;font-size:11px;font-weight:750;color:#fff0bb;text-align:center;background:#1d3a4cd9;border-radius:6px;padding:3px}.mg-produced .mg-moving-part{animation:mg-belt-roll 1.2s linear 2;animation-delay:var(--part-delay)}.mg-produced .mg-assembly{animation:mg-build-ready .6s ease-out both}.mg-vault-scene{position:relative;aspect-ratio:4/3;overflow:hidden;border:3px solid #425a69;border-radius:18px;background:radial-gradient(ellipse at 50% 45%,#386f80,#142d40 75%);box-shadow:0 5px 0 #244a5d1a}.mg-vault-scene>svg{display:block;width:100%;height:100%;padding:4%;box-sizing:border-box}.mg-vault-caption{position:absolute;top:5%;left:12%;right:12%;text-align:center;font-size:12px;font-weight:850;letter-spacing:.06em;color:#fff0b5;text-transform:uppercase}.mg-vault-doors{transform-origin:380px 280px;transition:opacity .7s,transform .7s}.mg-vault-open .mg-vault-doors{opacity:.12;transform:scale(.85)}.mg-vault-treasure{position:absolute;inset:12% 11% 12%;filter:drop-shadow(0 0 20px #a0fff599);animation:mg-build-ready .6s ease-out}.mg-voices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.mg-voices p{display:flex;align-items:center;gap:8px;padding:10px;margin:0;border:1px solid #b5cfd8;border-radius:12px;background:#eff7f8;font-size:12px;line-height:1.5}.mg-voices img{width:42px;height:70px;object-fit:contain;flex-shrink:0}.mg-voices b{display:block;font-size:11px;margin-bottom:3px}.mg-task{padding:23px;border:2px solid #c2d4d8;border-radius:17px;background:#fffdf6;min-width:0;scroll-margin-top:18px}.mg-task h2,.mg-reward h2{font-size:clamp(23px,2.4vw,31px);line-height:1.2;margin:9px 0 13px}.mg-task>p{font-size:16px;line-height:1.65;margin:10px 0 19px}.mg-task h3{font-size:13px;line-height:1.4;margin:0 0 8px}.mg-task-actions{position:sticky;bottom:10px;z-index:5;display:flex;flex-wrap:wrap;gap:8px;padding:11px 0 0;background:linear-gradient(#fffdf6e8,#fffdf6);margin-top:17px}.mg-task-actions>.btn:first-child{flex:1;min-width:150px}.mg-quantity-label{display:block;font-size:14px;font-weight:800;margin-top:20px}.mg-quantity{display:grid;grid-template-columns:48px minmax(80px,1fr) 48px;gap:8px;margin-top:9px;max-width:310px}.mg-quantity input{box-sizing:border-box;width:100%;min-width:0;min-height:57px;text-align:center;font-size:29px;font-weight:800;color:#1a4a62;border:2px solid #6ba7b8;border-radius:12px;background:#fff;outline-offset:3px}.mg-quantity .btn{padding:5px;font-size:28px}.mg-unit{margin:6px 0!important;font-size:12px!important;color:#52717d}.mg-feedback{padding:13px 15px;border:1px solid #d0ad55;border-left:5px solid #d0ad55;border-radius:12px;background:#fff3ce;line-height:1.5;margin-bottom:18px}.mg-feedback p{font-size:13px;margin:6px 0 0}.mg-hint{padding:14px;margin-top:16px;border:1px solid #8fbfce;border-radius:12px;background:#eaf5f9;line-height:1.5}.mg-hint p{font-size:14px;margin:6px 0}.mg-success{background:#eff8ef;border-color:#8fbd9e}.mg-reward{text-align:center;padding:23px;border:2px solid #c09a49;border-radius:18px;background:radial-gradient(ellipse at top,#fff0aa,#fffaf0 75%);min-width:0;scroll-margin-top:20px}.mg-reward>p{font-size:15px;line-height:1.6}.mg-reward .rr-chest-art{width:230px;max-width:90%;height:auto;display:block;margin:15px auto;animation:mg-chest-bob 2.5s ease-in-out infinite}.mg-reveal-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}.mg-reveal-row>div{min-width:0}.mg-reveal-row .rr-sticker-svg{width:100%;height:auto;max-width:190px}.mg-reveal-row b{display:block;font-size:15px}.mg-reveal-row p{font-size:12px;line-height:1.5}.mg-reward-actions{display:flex;flex-direction:column;gap:9px;align-items:stretch;margin-top:20px}.mg-reward-actions span{font-size:13px}.mg-trays,.mg-fraction-model,.mg-recipe-model{padding:14px;border:1px solid #bdd1d4;border-radius:13px;background:#edf5f3}.mg-diagram-label{display:block;font-size:13px;font-weight:800;margin-bottom:10px}.mg-trays>div{display:flex;gap:8px;flex-wrap:wrap}.mg-tray{width:61px;min-height:53px;display:flex;flex-wrap:wrap;gap:4px;align-content:center;justify-content:center;position:relative;padding:12px 7px 6px;border:2px solid #ac9670;border-radius:7px;background:#fff7df}.mg-tray>b{position:absolute;top:1px;left:4px;font-size:9px;color:#75684f}.mg-tray i{width:7px;height:7px;background:#bc8e41;border:1px solid #796339;border-radius:50%}.mg-question-mark{font-size:22px;color:#928671}.mg-fraction-model>b{font-size:15px}.mg-fraction-model>div{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));gap:4px;margin-top:13px}.mg-fraction-model>div>span{display:flex;flex-direction:column;align-items:center;gap:5px}.mg-fraction-model i{display:block;min-height:42px;width:100%;border:2px solid #85aeb9;border-radius:5px;background:#dce8e9;box-sizing:border-box}.mg-fraction-model .wanted i{background:#f6c45e;border-color:#a98236}.mg-fraction-model small{font-size:8px;text-align:center}.mg-recipe-model{display:flex;align-items:center;justify-content:center;gap:14px}.mg-recipe-model>span{display:flex;flex-direction:column;gap:5px;text-align:center;font-size:15px}.mg-recipe-model small{font-size:11px;color:#5a7680}.mg-grid{display:grid;grid-template-columns:repeat(var(--grid-n),minmax(0,1fr));gap:4px;aspect-ratio:1;width:100%;max-width:220px;padding:7px;border:2px solid #7798a5;border-radius:10px;box-sizing:border-box;background:#17364a;overflow:hidden}.mg-cell{display:grid;place-items:center;aspect-ratio:1;min-width:0;background:#284b5f;border:1px solid #52727c;border-radius:5px;color:#234356;font-size:clamp(15px,2vw,25px);padding:0}.mg-cell.c1{background:#f3ce71;border-color:#ffe8b1;color:#694f26}.mg-cell.c2{background:#6cddd6;border-color:#b9fff7;color:#164b60}.mg-grid.editable{max-width:268px}.mg-grid.editable>.mg-cell{min-height:44px;cursor:pointer}.mg-key-pair{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:center;margin:20px 0}.mg-key-pair>section{min-width:0}.mg-transform-arrow{text-align:center;color:#527e8d;font-size:22px}.mg-key-pair:has(.editable){display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:14px}.mg-key-pair:has(.editable)>section:first-child{max-width:125px;flex:1}.mg-key-pair:has(.editable)>section:last-child{width:100%}.mg-turn-tool{padding:13px;border:1px solid #acc9d4;border-radius:12px;background:#eef6f7}.mg-turn-tool #mgTurningKey{max-width:165px;margin:0 auto 14px}.mg-tool-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.mg-tool-buttons .btn{font-size:13px;flex:1;min-width:75px;padding:9px}.mg-symbol-help{font-size:12px!important;line-height:1.5!important}.mg-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-items:center;margin:18px 0}.mg-sequence small{display:block;font-size:10px;font-weight:750;margin-bottom:6px}.mg-sequence .mg-grid{gap:2px;padding:3px;border-width:1px;border-radius:5px}.mg-sequence .mg-cell{border-radius:2px;font-size:10px}.mg-missing-signal>b{display:grid;place-items:center;aspect-ratio:1;border:2px dashed #87a7ae;border-radius:10px;font-size:36px;color:#7a9b9f}.mg-key-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mg-key-options>button{padding:10px;border:2px solid #b5cdd2;border-radius:12px;background:#f6fbf7;cursor:pointer;color:#284e60}.mg-key-options>button[aria-pressed=true]{background:#e4f3ef;border-color:#277e91;box-shadow:0 0 0 2px #81bdc5}.mg-key-options .mg-cell{font-size:15px}.mg-key-options>button>b{display:block;margin-top:7px;font-size:15px}.mg-task #mgResetKey{min-height:44px}
@keyframes mg-belt-roll{from{transform:translateX(-35px)}to{transform:translateX(35px)}}@keyframes mg-build-ready{from{transform:translateY(10px) scale(.96);opacity:.6}to{transform:none;opacity:1}}@keyframes mg-chest-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:1150px){.mg-play-layout{grid-template-columns:minmax(0,1fr)}.mg-scene-panel{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:14px;align-items:center}.mg-voices{grid-template-columns:1fr;margin:0}.mg-factory-scene{min-height:240px}.mg-task{max-width:none}.mg-key-pair:has(.editable){flex-wrap:nowrap}.mg-key-pair:has(.editable)>section:last-child{width:auto;flex:2}.mg-game-cards{grid-template-columns:1fr 1fr}.mg-game-entry{display:flex;flex-direction:column;text-align:center;gap:0}.mg-entry-art{width:150px}.mg-projects{gap:10px}.mg-projects>button{padding:12px}.mg-projects>button>b{font-size:20px}}
@media(max-width:700px){.mg-header{flex-direction:column;gap:12px}.mg-header>.btn{align-self:flex-start}.mg-projects{grid-template-columns:1fr}.mg-projects>button{display:grid;grid-template-columns:115px minmax(0,1fr);column-gap:13px;padding:13px}.mg-projects>button>div{grid-column:1;grid-row:1/5;margin:0}.mg-projects>button>.mg-kicker,.mg-projects>button>b,.mg-projects>button>p,.mg-projects>button>small{grid-column:2}.mg-projects>button>p{font-size:12px;margin:5px 0}.mg-projects>button>b{font-size:21px;margin:3px 0}.mg-scene-panel{display:block}.mg-voices{grid-template-columns:1fr 1fr;margin-top:12px;gap:8px}.mg-voices p{display:block;font-size:11px;padding:9px}.mg-voices img{float:left;width:32px;height:54px;margin:0 7px 3px 0}.mg-voices b{font-size:10px}.mg-factory-scene{min-height:0}.mg-task,.mg-reward{padding:16px}.mg-task>p{font-size:15px;line-height:1.6}.mg-progress{padding:12px}.mg-progress span{font-size:11px;gap:4px}.mg-progress span>b{width:24px;height:24px}.mg-progress>div{gap:4px}.mg-bay-sign{font-size:10px;padding:7px}.mg-key-pair:has(.editable){flex-wrap:wrap}.mg-key-pair:has(.editable)>section:last-child{width:100%;flex:auto}.mg-grid.editable{margin:auto}.mg-reveal-row{gap:5px}.mg-reveal-row b{font-size:13px}.mg-game-cards{grid-template-columns:1fr}.mg-game-entry{display:grid;grid-template-columns:110px minmax(0,1fr);text-align:left;gap:9px;padding:12px}.mg-entry-art{width:100%}.mg-game-entry b{font-size:24px}.mg-lobby-actions{flex-direction:column}.mg-level{padding:13px}.mg-level select{width:100%;font-size:13px}.mg-task-actions{bottom:5px}.mg-quantity{max-width:none}.mg-vault-caption{font-size:10px}.mg-factory-label{font-size:10px}.mg-key-options{gap:8px}.mg-key-options>button{padding:7px}.mg-recipe-model{gap:9px}.mg-recipe-model>span{font-size:14px}}
@media(max-width:360px){.mg-projects>button{grid-template-columns:85px minmax(0,1fr);gap:8px}.mg-projects>button>b{font-size:19px}.mg-projects>button>p{font-size:11px}.mg-progress span{flex-direction:column;gap:5px}.mg-voices{grid-template-columns:1fr}.mg-task-actions>.btn{width:100%;flex:auto}.mg-key-options .mg-grid{gap:3px;padding:4px}.mg-sequence .mg-cell{font-size:8px}.mg-recipe-model>span{font-size:12px}.mg-grid.editable{padding:5px;gap:3px}.mg-game-entry{grid-template-columns:85px minmax(0,1fr)}.mg-game-entry b{font-size:21px}}
@media(prefers-reduced-motion:reduce){.mg-produced .mg-moving-part,.mg-produced .mg-assembly,.mg-reward .rr-chest-art,.mg-vault-treasure{animation:none}.mg-machine-part.built,.mg-vault-doors{transition:none}}

.mg-task-actions{position:static;bottom:auto}.mg-vault-open .mg-vault-doors{animation:mg-vault-unseal .8s ease-out both}@keyframes mg-vault-unseal{from{opacity:1;transform:scale(1)}to{opacity:.12;transform:scale(.85)}}@media(prefers-reduced-motion:reduce){.mg-vault-open .mg-vault-doors{animation:none}}
.mg-activity{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-basis:100%;min-width:0;min-height:40px;text-align:left;color:#56747f;font-size:12px;line-height:1.5}.mg-activity>span{min-width:0}.mg-activity[data-status=working]>span::before{content:'●';display:inline-block;margin-right:7px;color:#178492}.mg-activity[data-status=error]{color:#79571c}.mg-activity .btn{font-size:13px;padding:9px 12px}.mg-activity [hidden]{display:none}
