:root{--bg: #05060f;--panel: #0d1124;--panel2: #151a33;--line: #2a3260;--txt: #e6e9f5;--dim: #8890b0;--gold: #f5c542;--cyan: #3ee8ff;--green: #3dff9a;--pink: #ff5fa2}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(ellipse at top,#141a3a 0%,var(--bg) 60%);color:var(--txt);font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}#app{max-width:1280px;margin:0 auto;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:100%}#top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:linear-gradient(180deg,#121836,#0b0f22);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.brand{font-weight:800;letter-spacing:2px;font-size:14px;color:var(--dim)}.brand b{color:var(--cyan);text-shadow:0 0 10px rgba(62,232,255,.6);font-size:17px}.val{display:flex;flex-direction:column;line-height:1;padding:2px 10px;border-left:1px solid var(--line)}.val span{color:var(--gold);font-weight:800;font-size:18px;text-shadow:0 0 8px rgba(245,197,66,.4);font-variant-numeric:tabular-nums}.val small{color:var(--dim);font-size:11px;margin-top:2px}.chip{background:var(--panel2);border:1px solid var(--line);padding:3px 9px;border-radius:99px;font-weight:700}.modesw{display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;margin-left:auto}.modesw button{background:transparent;border:0;padding:6px 12px;color:var(--dim);font-weight:700}.modesw button.on{background:var(--gold);color:#1a1405}body[data-mode=sim] .modesw button.on{background:var(--green);color:#04150c}.tools{display:flex;gap:4px}.tools button{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:5px 9px}.tools button:hover{border-color:var(--cyan)}.tools button.off{opacity:.45}#stage{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#000;box-shadow:0 0 40px #3ee8ff14}#cv{display:block;width:100%;aspect-ratio:960 / 400;image-rendering:auto;touch-action:manipulation}body.mg-on #cv{aspect-ratio:960 / 540}#objective{position:absolute;left:10px;top:8px;background:#060814b3;border:1px solid rgba(255,255,255,.08);padding:4px 10px;border-radius:99px;font-size:13px;pointer-events:none;max-width:60%}#toasts{position:absolute;right:10px;top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none;z-index:5}.toast{background:#080a1aeb;border:1px solid var(--line);border-left:4px solid var(--cyan);padding:6px 12px;border-radius:8px;font-size:13px;max-width:340px;animation:tin .35s cubic-bezier(.2,1.4,.4,1);display:flex;flex-direction:column}.toast small{color:var(--dim);font-size:12px}.toast.money{border-left-color:var(--gold)}.toast.money b{color:var(--gold);font-size:16px}.toast.patent{border-left-color:#c9a227;background:#281e06eb}.toast.ach{border-left-color:var(--pink);background:#28081eeb}.toast.ency{border-left-color:var(--green)}.toast.out{opacity:0;transform:translate(30px);transition:.35s}@keyframes tin{0%{opacity:0;transform:translate(40px) scale(.9)}}#actCard{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:6}.act{text-align:center;background:radial-gradient(ellipse,rgba(0,0,0,.85),transparent 70%);padding:40px 80px;animation:actin 1s ease-out}.act.out{opacity:0;transition:.6s}.actN{font-size:20px;letter-spacing:8px;color:var(--cyan)}.actT{font-size:clamp(22px,4vw,42px);font-weight:800;color:var(--gold);text-shadow:0 0 20px rgba(245,197,66,.5)}@keyframes actin{0%{opacity:0;letter-spacing:20px}}#mgOverlay{position:absolute;inset:0;display:none;pointer-events:none;z-index:4}#mgOverlay>*{pointer-events:auto}.mg-help{position:absolute;left:10px;bottom:10px;max-width:58%;background:#050814cc;border:1px solid var(--line);padding:6px 10px;border-radius:8px;font-size:12px;color:#cfd6ee}.mg-btn{background:var(--cyan);color:#021216;border:0;border-radius:8px;padding:8px 14px;font-weight:800}.mg-btn.ghost{background:#0a0e1ed9;color:var(--txt);border:1px solid var(--line);font-weight:600}.synth-ui>.mg-btn,.rover-ui>.mg-btn,.flight-ui>.mg-btn{position:absolute;right:10px;bottom:10px}.flight-ui>.mg-btn:nth-last-child(2){right:150px}.synth-ui .sl-grid{position:absolute;left:10px;right:10px;bottom:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px 14px;background:#04100ad9;border:1px solid rgba(61,255,154,.35);padding:8px 10px;border-radius:8px}.sl-row{display:grid;grid-template-columns:1fr;font-size:12px;color:#bfe}.sl-row input{width:100%;accent-color:var(--green)}.sl-row b{color:#fff;font-family:Consolas,monospace}.flight-ui .sl-row{position:absolute;left:10px;bottom:60px;width:260px;background:#04100ad9;padding:6px 10px;border-radius:8px;border:1px solid rgba(61,255,154,.35)}.synth-ui .sl-bar{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:8px}.synth-ui .sl-bar .mg-btn.ghost:last-child{margin-left:auto}body[data-mode=sim] .synth-ui>.mg-help{display:none}.duel-ui,.xrd-pick{position:absolute;left:50%;transform:translate(-50%);bottom:12px;width:min(760px,96%);display:flex;flex-direction:column;gap:4px;background:#060610e6;border:1px solid var(--line);padding:8px;border-radius:10px}.duel-ui:empty{display:none}.xrd-pick{bottom:auto;top:380px;flex-direction:row;flex-wrap:wrap;justify-content:center}.duel-title{color:var(--dim);font-size:12px;width:100%;text-align:center}.duel-opt{text-align:left;background:transparent;border:0;color:#ffe9a8;padding:5px 8px;border-radius:6px;font-size:14px}.xrd-pick .duel-opt{border:1px solid var(--line)}.duel-opt:hover{background:#f5c54226;color:#fff}.duel-opt.weak{color:#9aa0b8}#panel{position:relative;background:linear-gradient(180deg,#0f1430,#090c1d);border:1px solid var(--line);border-radius:10px;padding:6px}body.mg-on #panel{display:none}#sentence{min-height:26px;padding:3px 8px;color:#cfe6ff;font-size:15px;display:flex;gap:10px;align-items:center}#sentence .room{color:var(--dim);font-size:12px;border:1px solid var(--line);border-radius:99px;padding:1px 8px;white-space:nowrap}#sentence b{color:var(--cyan)}.dim{color:var(--dim)}#panelBody{display:grid;grid-template-columns:auto 1.25fr 1fr;gap:8px;align-items:stretch}#portraits{display:flex;gap:6px}.portrait{background:var(--panel2);border:2px solid var(--line);border-radius:10px;padding:3px;width:84px;display:flex;flex-direction:column;align-items:center;gap:1px}.portrait canvas{width:72px;height:72px;border-radius:7px}.portrait .pname{font-weight:800;font-size:13px}.portrait .proom{font-size:9.5px;color:var(--dim);text-align:center;line-height:1.1;min-height:2.2em}.portrait.on{border-color:var(--gold);box-shadow:0 0 14px #f5c54259}.portrait.locked{opacity:.45}.portrait.mg{outline:2px dashed var(--pink)}#verbs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.verb{background:#121838;border:1px solid #222a55;border-radius:6px;color:#8fb0ff;font-weight:700;font-size:13.5px;padding:6px 4px}.verb:hover{color:#fff;border-color:var(--cyan)}.verb.hint{color:#dff;border-color:#3ee8ff8c}.verb.on{background:var(--cyan);color:#021216}.verb[data-v=patent]{color:var(--gold)}.verb[data-v=patent].on{background:var(--gold);color:#1a1405}.verb.only{opacity:.45}#invWrap{display:flex;gap:4px}.invNav{background:var(--panel2);border:1px solid var(--line);border-radius:6px;width:26px}.invNav:disabled{opacity:.3}#invWrap #inv{order:0}#invWrap #invUp{order:1}#invWrap #invDown{order:2}#inv{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.slot{background:#0a0e22;border:1px solid #222a55;border-radius:8px;aspect-ratio:1;padding:0;display:flex;align-items:center;justify-content:center;min-height:48px}.slot canvas{width:80%;height:80%;max-width:56px;max-height:56px}.slot:hover{border-color:var(--cyan);background:#101640}.slot.sel{border-color:var(--gold);box-shadow:inset 0 0 12px #f5c5424d}.slot.empty{cursor:default;opacity:.5}#dialog{position:absolute;inset:32px 6px 6px;overflow:auto;display:flex;flex-direction:column;gap:2px;padding:4px}.dopt{text-align:left;background:transparent;border:0;color:#ffe9a8;font-size:15.5px;padding:6px 10px;border-radius:6px}.dopt span{color:var(--dim);margin-right:6px}.dopt:hover{background:#f5c5421f;color:#fff}#modal{position:fixed;inset:0;background:#02030ab8;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}#modal[hidden]{display:none}#modal .box{position:relative;background:linear-gradient(180deg,#121836,#0a0d20);border:1px solid var(--line);border-radius:14px;padding:18px 22px;width:min(560px,100%);max-height:88vh;overflow:auto;box-shadow:0 20px 60px #0009}#modal.wide .box{width:min(900px,100%)}#modal .close{position:absolute;right:10px;top:8px;background:transparent;border:0;font-size:18px;color:var(--dim)}#modal h2{margin:0 0 8px;color:var(--cyan)}#modal h2 small{color:var(--dim);font-size:14px}.lead{color:var(--dim);margin-top:0}.ency{display:grid;grid-template-columns:240px 1fr;gap:14px}.ency nav{display:flex;flex-direction:column;gap:3px;max-height:60vh;overflow:auto}.enc{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:13px}.enc.on{border-color:var(--green);color:var(--green)}.enc.locked{color:#555c80;padding:6px 8px;font-size:13px}.ency article h3{margin-top:0;color:var(--green)}.ency article p{line-height:1.55}.achs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}.achv{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;display:flex;flex-direction:column;opacity:.5}.achv.got{opacity:1;border-color:var(--pink)}.achv small{color:var(--dim)}.menu{display:flex;flex-direction:column;gap:8px;margin:10px 0}.menu button,#modal input+button,.tjoin button{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-weight:700}.menu button:hover{border-color:var(--cyan)}#modal input,.tjoin input{background:#070a18;border:1px solid var(--line);color:var(--txt);border-radius:6px;padding:7px 9px;font:inherit;text-transform:uppercase}#modal input.link{width:100%;text-transform:none}.code{font-size:42px;font-weight:900;letter-spacing:10px;color:var(--gold);text-align:center;margin:6px 0 12px}.help li{margin-bottom:7px;line-height:1.45}.ending{text-align:center}.ending h2{font-size:30px}.bigval{font-size:46px;font-weight:900;color:var(--gold);margin:10px 0;text-shadow:0 0 24px rgba(245,197,66,.5)}.bigval small{display:block;font-size:16px;color:var(--pink)}#title{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse at 70% 20%,rgba(232,176,122,.25),transparent 40%),radial-gradient(ellipse at center,#0506148c,#02030af2);overflow:auto}#title[hidden]{display:none}.tbox{text-align:center;max-width:680px}.tsub{letter-spacing:4px;color:var(--cyan);font-size:12px;text-transform:uppercase}#title h1{font-size:clamp(36px,8vw,78px);line-height:.95;margin:10px 0;letter-spacing:3px;color:#dfe6ff;text-shadow:0 0 30px rgba(62,232,255,.35)}#title h1 span{color:var(--gold);font-size:1.25em;letter-spacing:10px;text-shadow:0 0 30px rgba(245,197,66,.55)}.tlead{color:#b9c0dc;font-size:16px;line-height:1.5}.tmode{margin:16px 0;color:var(--dim);display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}.tmode small{width:100%}.tmode button{background:var(--panel2);border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-weight:700}.tmode button.on{border-color:var(--gold);color:var(--gold)}.tbtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.tbtns button{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 22px;font-size:17px;font-weight:800}.tbtns button.primary{background:linear-gradient(180deg,var(--gold),#c99a1c);color:#1a1405;border:0;box-shadow:0 0 24px #f5c54266}.tbtns button:hover{transform:translateY(-1px)}.tjoin{margin-top:20px;color:var(--dim);font-size:14px}.tjoin input{width:110px}@media (max-width: 820px){#app{padding:4px}.brand,.tools button span{display:none}.modesw{margin-left:0}#panelBody{grid-template-columns:1fr}#portraits{justify-content:center}.portrait{width:30%;flex-direction:row;gap:6px}.portrait canvas{width:40px;height:40px}.portrait .proom{display:none}.verb{font-size:12px;padding:7px 2px}#inv{grid-template-columns:repeat(8,1fr)}.slot{min-height:36px}.ency{grid-template-columns:1fr}.mg-help{max-width:96%;bottom:auto;top:8px}#objective{max-width:70%;font-size:11px}}.map{position:relative;height:320px;background:radial-gradient(ellipse at center,#1a1f3d,#070915);border:1px solid var(--line);border-radius:12px;margin:8px 0;overflow:hidden}.mlinks{position:absolute;inset:0}.mlinks line{stroke:#9fe8ff59;stroke-width:3;stroke-dasharray:6 6}.mnode{position:absolute;transform:translate(-50%,-50%);background:#121838;border:2px solid var(--cyan);border-radius:12px;padding:8px 10px;min-width:110px;display:flex;flex-direction:column;gap:4px;align-items:center;font-size:12px;box-shadow:0 0 14px #3ee8ff40}.mnode:hover:not(:disabled){background:#1d2a5c;transform:translate(-50%,-52%)}.mnode.here{border-color:var(--gold);box-shadow:0 0 18px #f5c54273}.mnode.unseen{border-color:#333a5e;color:#555c80;box-shadow:none}.mnode:disabled{cursor:default}.mnode .heads{display:flex;gap:3px;min-height:18px}.mnode .heads i{font-style:normal;color:#111;font-weight:900;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px}@media (max-width: 820px){.mnode{min-width:70px;font-size:10px;padding:5px}.map{height:280px}}.mg-help{animation:helpfade .8s ease 9s forwards}.mg-help:hover{animation:none;opacity:1}@keyframes helpfade{to{opacity:.22}}@media (max-width: 820px){.tools{flex-wrap:wrap;width:100%}.tools button{padding:5px 8px;flex:1 0 auto}#inv{grid-template-columns:repeat(4,1fr)}.invNav{width:22px}#invWrap{min-width:0}#panelBody>*{min-width:0}}#notes{position:absolute;left:10px;top:40px;display:flex;flex-direction:column;gap:6px;z-index:7;max-width:min(380px,70%)}.note{position:relative;background:#0a1028f2;border:1px solid var(--gold);border-left:4px solid var(--gold);border-radius:10px;padding:8px 30px 8px 12px;box-shadow:0 6px 24px #00000080;animation:tin .35s cubic-bezier(.2,1.4,.4,1)}.note b{color:var(--gold);font-size:13px;display:block}.note p{margin:3px 0 0;font-size:14px;line-height:1.4;color:#eef}.note .nclose{position:absolute;right:6px;top:5px;background:transparent;border:0;color:var(--dim);font-size:15px}.note .nclose:hover{color:#fff}.note.out{opacity:0;transform:translate(-20px);transition:.25s}body.mg-on #notes{display:none}@media (max-width: 820px){#notes{max-width:90%}.note p{font-size:12px}}.verb.off{color:#3a4266;border-color:#161b36;background:#0c1028}.verb.off:hover{color:#6a74a0}.verb{transition:color .12s,background .12s,border-color .12s}#updateBar{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;background:linear-gradient(180deg,#1d2a5c,#121838);border:2px solid var(--gold);border-radius:14px;padding:10px 14px;box-shadow:0 10px 40px #0009,0 0 24px #f5c54259;max-width:calc(100% - 24px);animation:tin .4s cubic-bezier(.2,1.4,.4,1)}#updateBar span{font-size:14px}#updateBar .upd{background:linear-gradient(180deg,var(--gold),#c99a1c);color:#1a1405;border:0;border-radius:10px;padding:9px 18px;font-weight:900;letter-spacing:1px;font-size:15px;animation:pulse 1.6s infinite}#updateBar .later{background:transparent;border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--dim)}#updateBar.min{left:auto;right:12px;transform:none;padding:6px}#updateBar.min span,#updateBar.min .later{display:none}@keyframes pulse{50%{box-shadow:0 0 18px #f5c542cc}}#dialog[hidden]{display:none!important}.slot{position:relative}.slot .iname{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%);background:#050814f2;border:1px solid var(--cyan);color:#fff;font-size:12px;padding:3px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:5}.slot:hover .iname{opacity:1}.slot .who{position:absolute;right:5px;top:5px;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #0a0e22}#actbar{position:absolute;left:50%;top:-46px;transform:translate(-50%);background:linear-gradient(180deg,#3a2c06,#241b03);border:2px solid var(--gold);color:#ffe08a;font-weight:800;font-size:15px;padding:7px 16px;border-radius:10px;box-shadow:0 6px 24px #0000008c;white-space:nowrap;max-width:96%;overflow:hidden;text-overflow:ellipsis;z-index:8;pointer-events:none}#actbar[hidden]{display:none}#actbar.pop{animation:actpop .35s cubic-bezier(.2,1.5,.4,1)}@keyframes actpop{0%{transform:translate(-50%) scale(.8);opacity:0}}#selhelp{position:absolute;left:50%;top:-96px;transform:translate(-50%);display:flex;gap:10px;align-items:center;background:#0c1028f7;border:2px solid var(--gold);border-radius:12px;padding:8px 14px;width:min(640px,96%);z-index:9;box-shadow:0 8px 30px #0009;pointer-events:none;animation:tin .3s ease}#selhelp[hidden]{display:none}#selhelp canvas{width:44px;height:44px;flex:none;background:#0a0e22;border-radius:8px}#selhelp div{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#dfe6ff}#selhelp .sn{color:var(--gold);font-size:15px}#selhelp small{color:var(--dim)}@media (max-width: 820px){#selhelp{top:-120px}#actbar{font-size:13px}}.note .thumbs{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap}.note .thumb{margin:0;background:#070a18;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;max-width:100%}.note .thumb canvas{display:block;max-width:100%;height:auto}.note .thumb figcaption{padding:3px 7px 5px;font-size:11px;line-height:1.25;display:flex;flex-direction:column}.note .thumb figcaption b{color:#fff;font-size:12px}.note .thumb figcaption span{color:var(--cyan)}.note.bump{animation:bump .5s ease}@keyframes bump{30%{transform:scale(1.04);box-shadow:0 0 22px #f5c542b3}}#objective{pointer-events:auto;cursor:pointer}#objective .oq{font-style:normal;color:var(--gold);font-size:11px;margin-left:6px;text-decoration:underline dotted}#notes{top:44px}.portrait:not(.on) canvas{filter:saturate(.55) brightness(.75)}.portrait:not(.on) .pname{opacity:.75}.duel-opt.tip{color:#3dff9a}#bHint{position:relative}#bHint.nudge{border-color:var(--gold);color:#ffe08a;animation:hintpulse 1.4s ease-in-out infinite}#bHint.nudge:after{content:"¿Atascado? ¡Pulsa aquí!";position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);background:var(--gold);color:#1a1405;font-weight:800;font-size:12px;padding:4px 9px;border-radius:8px;white-space:nowrap;z-index:20;pointer-events:none;box-shadow:0 4px 14px #00000080}#bHint.nudge:before{content:"";position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--gold);z-index:20}@keyframes hintpulse{50%{box-shadow:0 0 18px #f5c542d9;background:#3a2c06}}.dwho{color:var(--dim);font-size:12px;padding:0 10px}.gotcard{background:radial-gradient(ellipse at center,#281e06f5,#0a0a1ef5);border:2px solid var(--gold);border-radius:16px;padding:12px 22px 14px;text-align:center;box-shadow:0 0 40px #f5c5428c,0 12px 40px #0009;animation:gotin .55s cubic-bezier(.2,1.6,.4,1)}.gotcard.out{opacity:0;transform:scale(.85);transition:.35s}.gotcard .gtitle{color:var(--gold);font-weight:900;letter-spacing:3px;font-size:20px;text-shadow:0 0 14px rgba(245,197,66,.7)}.gotcard .gitems{display:flex;gap:14px;justify-content:center;margin-top:8px;flex-wrap:wrap}.gotcard .gitem{display:flex;flex-direction:column;align-items:center;gap:4px}.gotcard .gitem canvas{width:72px;height:72px;background:#0a0e22;border-radius:12px;border:1px solid var(--line);animation:gotspin 1.2s ease}.gotcard .gitem b{color:#fff;font-size:14px;max-width:180px}@keyframes gotin{0%{transform:scale(.4) rotate(-6deg);opacity:0}}@keyframes gotspin{0%{transform:scale(.2) rotate(-200deg)}70%{transform:scale(1.15) rotate(10deg)}to{transform:none}}.tlast{background:#070a18;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}.tline{font-size:15px;line-height:1.4}.tolder{margin-top:10px;color:var(--dim)}.tolder .tline{font-size:13px;opacity:.8;margin:4px 0}.toast.stow{border-left-color:#8f95ad;opacity:.9}.toast.stow b{color:#c9cde0}
