:root{--ink:#2a2440;--cream:#fff6e6;--sky:#bfeaf0;--sky2:#eafafc;--sea:#5fc9d6;--sea2:#46b3c2;--grass:#8fd16a;--grass2:#82c75c;--orange:#ff8a3d;--violet:#8b5cf6;--violet-soft:#efe9ff;--yellow:#ffd23f;--red:#ff6b5b;--green:#7be07b;--wood:#6b4f3a;--block:#ffe2c7;--touch:48px;--radius:16px;--font:"Nunito", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:linear-gradient(var(--sky), var(--sky2) 60%);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;background-attachment:fixed;font-weight:700}#root,.app{min-height:100dvh}button{color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;font-family:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,[role=button]:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid var(--violet);outline-offset:2px}h1,h2{margin:8px 0;font-weight:900}h1{font-size:clamp(22px,4vw,30px)}h2{font-size:clamp(18px,3vw,22px)}code{background:#0001;border-radius:4px;padding:0 4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));max-width:1200px;margin:0 auto}.center-msg{text-align:center;place-items:center;min-height:100dvh;font-size:22px;display:grid}.sub{opacity:.85;margin:0 0 12px;font-weight:700}.note{opacity:.8;font-size:15px;font-weight:700}.note.warn{color:#a3271a;opacity:1}.icon-btn{min-width:var(--touch);min-height:var(--touch);border:3px solid var(--ink);vertical-align:middle;background:#fff;border-radius:50%;flex:none;place-items:center;padding:0;font-size:22px;display:inline-grid}.big-btn{border-radius:var(--radius);border:3px solid var(--ink);min-height:56px;box-shadow:0 4px 0 var(--ink);background:#fff;padding:10px 18px;font-size:20px;font-weight:900}.big-btn.go{background:var(--green)}.big-btn.light{background:var(--cream)}.small-btn{min-height:var(--touch);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:14px;padding:8px 14px;font-size:16px;font-weight:900}.small-btn.danger{background:#ffe3df}.big-btn:active:not(:disabled),.small-btn:active:not(:disabled),.ctl:active:not(:disabled),.pb:active:not(:disabled),.tcard:active:not(:disabled),.ask-btn:active:not(:disabled),.tool:active,.card:active,.pick:active{box-shadow:0 2px 0 var(--ink);transform:translateY(2px)}.back-btn{min-height:var(--touch);min-width:var(--touch);border:3px solid var(--ink);background:#fff;border-radius:14px;flex:none;padding:4px 12px;font-size:18px;font-weight:900}.parent-link{min-height:var(--touch);opacity:.6;background:0 0;border:2px dashed #2a244055;border-radius:12px;margin:24px auto 4px;padding:8px 16px;font-size:14px;font-weight:800;display:block}.tools-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tools-row.center{justify-content:center}.avatar{border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid}.avatar-new{background:#fff;border-style:dashed;width:104px;height:104px;font-size:44px}.say{align-items:center;gap:10px;margin:6px 0;display:flex}.who{border:3px solid var(--ink);background:#fff;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.who svg{width:42px;height:42px}.who-lumo svg{animation:1.6s ease-in-out infinite pulse}.bubble{border:3px solid var(--ink);background:#fff;border-radius:18px;flex:1;align-items:center;min-height:52px;margin:0;padding:8px 14px;font-size:clamp(15px,2.2vw,19px);font-weight:800;display:flex}.bubble-win{background:#fff4c2}.bubble-bad{background:#ffe3df}.overlay{z-index:40;background:#2a244066;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gate-card,.win-card{background:var(--cream);border:4px solid var(--ink);text-align:center;width:min(420px,100%);max-height:calc(100dvh - 32px);box-shadow:0 10px 0 var(--ink);border-radius:24px;padding:18px;position:relative;overflow:auto}.gate-close{font-size:18px;position:absolute;top:10px;right:10px}.gate-card p{font-size:18px}.hold-btn{border:3px solid var(--ink);touch-action:none;background:#fff;border-radius:18px;width:100%;min-height:72px;font-size:20px;font-weight:900;position:relative;overflow:hidden}.hold-fill{background:var(--yellow);transform-origin:0;transform:scaleX(var(--p,0));position:absolute;inset:0}.hold-txt{position:relative}.gate-answer{min-height:48px;margin:4px 0 10px;font-size:34px;font-weight:900;display:block}.gate-answer.wrong{color:#a3271a;animation:.5s shake}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keypad button{border:3px solid var(--ink);background:#fff;border-radius:14px;min-height:56px;font-size:24px;font-weight:900}.keypad .ok{background:var(--green)}.toast-slot{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:60;width:max-content;max-width:92vw;position:fixed;transform:translate(-50%)}.toast{background:var(--ink);color:#fff;text-align:center;border-radius:14px;padding:12px 18px;font-weight:800}.banner{background:var(--violet);color:#fff;text-align:center;border-radius:12px;margin-bottom:6px;padding:8px;font-weight:900}@keyframes bob{50%{transform:rotate(45deg)translate(-3px,-3px)}}@keyframes pop{to{opacity:0;transform:scale(1.8)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)rotate(-8deg)}40%{transform:translate(6px)rotate(8deg)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes sink{30%{transform:translateY(-10px)rotate(-10deg)}to{opacity:.35;transform:translateY(14px)scale(.6)rotate(25deg)}}@keyframes dance{25%{transform:rotate(-18deg)translateY(-6px)}50%{transform:rotate(18deg)}75%{transform:rotate(-12deg)translateY(-4px)}}@keyframes jump{50%{transform:translateY(-16px)}}@keyframes float{to{opacity:0;transform:translateY(-40px)}}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes starIn{0%{opacity:0;transform:scale(0)rotate(-40deg)}70%{opacity:1;transform:scale(1.3)rotate(8deg)}to{transform:scale(1)rotate(0)}}@keyframes confetti{0%{opacity:1;transform:translateY(-10vh)rotate(0)}to{opacity:.8;transform:translateY(105vh)rotate(540deg)}}@keyframes zzz{0%{opacity:0;transform:translate(0)}30%{opacity:1}to{opacity:0;transform:translate(20px,-40px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.confetti{display:none}.who-lumo svg,.gem-shape{animation:none!important}}.level{flex-direction:column;max-width:1280px;height:100dvh;display:flex}.level-head{flex:none;align-items:center;gap:10px;display:flex}.level-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:clamp(19px,3.2vw,26px);overflow:hidden}.level-stars{flex:none;font-size:20px}.hint-btn{background:#fff3d6}.invite{background:var(--violet-soft);border:3px dashed var(--violet);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;padding:6px 10px;font-weight:900;display:flex}.level-main{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);gap:14px;min-height:0;display:grid}.board-area{justify-content:center;align-items:center;min-width:0;min-height:0;padding:4px 4px 12px;display:flex;overflow:hidden}.editor{-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;min-height:0;padding:2px 4px 12px;display:flex;overflow-y:auto}@media (orientation:portrait){.level{height:auto;min-height:100dvh}.level-main{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:6px}.editor{overflow:visible}}@media (orientation:landscape) and (height<=500px){.level .say{margin:2px 0}.level .bubble{min-height:44px;padding:4px 10px;font-size:15px}.level .who{width:48px;height:48px}.level .who svg{width:34px;height:34px}.level-main{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:8px}.back-txt{display:none}}.lbl{opacity:.8;font-size:15px;font-weight:900}.board{border:5px solid var(--wood);box-shadow:0 8px 0 var(--wood), 0 16px 26px #0002;--c:56px;--d:.45s;border-radius:18px;flex:none;width:max-content;display:grid;position:relative;overflow:hidden}.cell{width:var(--c);height:var(--c);border:0;margin:0;padding:0;display:block;position:relative}.cell.g{background:var(--grass)}.cell.g.alt{background:var(--grass2)}.cell.w{background:radial-gradient(circle at 30% 35%, #fff5 0 8%, transparent 9%), radial-gradient(circle at 70% 70%, #fff4 0 6%, transparent 7%), var(--sea)}.cell.w.alt{background:radial-gradient(circle at 60% 30%, #fff5 0 7%, transparent 8%), var(--sea2)}.cell.r{background:var(--grass2)}.cell.r:after{content:"";background:#aaa196;border-radius:42% 48% 36% 52%;position:absolute;inset:13%;box-shadow:inset -5px -6px #8a8177,inset 3px 3px #c9c1b7}.board.predicting .cell{cursor:crosshair;outline-offset:-4px;outline:2px dashed #fff9}.cell.predcell{outline:4px dashed var(--violet)!important;outline-offset:-6px!important}.ent{width:var(--c);height:var(--c);pointer-events:none;transition:transform var(--d) ease-in-out;place-items:center;display:grid;position:absolute;top:0;left:0}.gem-shape{border:2px solid var(--ink);background:linear-gradient(135deg,#ddd6fe,#7c3aed);border-radius:4px;width:36%;height:36%;animation:1.6s ease-in-out infinite bob;transform:rotate(45deg);box-shadow:0 0 12px #a78bfa}.gem.got{animation:.45s forwards pop}.faro svg{width:62%;height:88%}.faro.on svg{filter:drop-shadow(0 0 10px #ffd23f)}.predmark{z-index:2;font-size:calc(var(--c) * .42);opacity:.85}.tuerca{z-index:3}.tuerca.instant{transition:none}.tuerca-flip,.tuerca-body{place-items:center;width:80%;height:80%;display:grid}.tuerca-flip.flip{transform:scaleX(-1)}.tuerca-body,.tuerca-body svg{width:100%;height:100%}.anim-bump .tuerca-body{animation:.6s shake}.anim-splash .tuerca-body{animation:1s forwards sink}.anim-dance .tuerca-body{animation:.7s dance}.anim-win .tuerca-body{animation:.5s 3 jump}.fx{z-index:5;font-size:calc(var(--c) * .5);pointer-events:none;animation:1.1s forwards float;position:absolute}.palette{flex-wrap:wrap;gap:8px;display:flex}.pb{border:3px solid var(--ink);background:var(--block);min-width:64px;height:64px;box-shadow:0 4px 0 var(--ink);border-radius:16px;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-size:30px;display:inline-flex}.pb-rep{background:#d9f2ff;padding:0 12px}.pb-txt{font-size:18px;font-weight:900}.pb-fun{background:#ffd6ec}.prog{background:#fff;border:3px dashed #b9ad9a;border-radius:18px;min-height:120px;padding:10px}.prog-empty{opacity:.6;margin:0;padding:8px;font-weight:800}.block-list{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.block{background:var(--block);border:3px solid var(--ink);border-radius:14px;place-items:center;width:58px;height:58px;padding:0;font-size:28px;transition:transform .15s,background .15s;display:grid}.block:disabled{opacity:1}.block.fun{background:#ffd6ec}.block.turnable{background:#fff0b8;border-style:dashed}.block.active{background:var(--yellow);transform:scale(1.14);box-shadow:0 0 0 5px #ffd23f88}.block.err{background:#ff9b8f;animation:.5s shake;box-shadow:0 0 0 4px #ff6b5b88}.rep{border:3px solid var(--ink);background:#d9f2ff;border-radius:16px;flex-direction:column;gap:6px;min-width:160px;padding:6px;display:flex}.rep.target{box-shadow:0 0 0 5px var(--orange)}.rep.active{background:#fff1a8}.rep-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rep-title{min-height:var(--touch);border:2px solid var(--ink);background:#fff;border-radius:12px;padding:4px 10px;font-size:17px;font-weight:900}.rep-title:disabled{opacity:1}.rep.target .rep-title{background:#ffe0c2}.rep-btn{width:var(--touch);height:var(--touch);border:2px solid var(--ink);background:#fff;border-radius:12px;padding:0;font-size:22px;font-weight:900}.rep-n{text-align:center;min-width:20px;font-size:22px}.rep-veces{font-weight:800}.rep-x{font-size:16px}.rep-empty{opacity:.6;padding:6px;font-size:14px;font-weight:800}.hint-box,.note-box{color:#7a4b00;background:#fff3d6;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-size:16px;font-weight:800;display:flex}.note-box{color:var(--ink);background:#eef7ff}.hint-text{flex:1}.ghost{opacity:.45;border:3px dashed #9a8fb8;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;font-weight:800;display:flex}.ghost-list{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.ghost-block{font-size:22px}.ghost-rep{border:2px solid #9a8fb8;border-radius:10px;padding:2px 6px}.controls{flex-wrap:wrap;gap:8px;display:flex}.ctl{border:3px solid var(--ink);min-width:56px;min-height:56px;box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:14px;padding:8px 12px;font-size:20px;font-weight:900}.ctl.on{background:#e6dcff}.ctl-run{background:var(--green);flex:140px;font-size:21px}.ctl-txt{font-size:16px}details.code{border:3px solid var(--ink);background:#fff;border-radius:14px;padding:6px 10px}details.code summary{cursor:pointer;align-items:center;min-height:40px;font-weight:900;display:flex}details.code pre{color:#e8e3ff;background:#1f1b33;border-radius:10px;margin:6px 0 0;padding:10px;font-size:14px;overflow:auto}.lumo-panel{background:var(--violet-soft);border:3px solid var(--ink);border-radius:18px;flex-direction:column;gap:10px;padding:10px;display:flex}.lumo-cards{flex-wrap:wrap;gap:8px;display:flex}.tcard{border:3px solid var(--ink);min-height:52px;box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:14px;align-items:center;padding:8px 14px;font-size:17px;font-weight:900;display:inline-flex}.tcard.fixed{background:#ffe9a8}.tcard.sel{background:#c9f2c4}.tcard.off{border-style:dashed}.ask-btn{border:3px solid var(--ink);background:var(--violet);color:#fff;min-height:56px;box-shadow:0 4px 0 var(--ink);border-radius:14px;padding:10px 16px;font-size:20px;font-weight:900}.lumo-note{opacity:.75;font-weight:700}.win-overlay{background:#2a244055}.win-card{width:min(460px,100%)}.win-stars{justify-content:center;gap:8px;font-size:54px;line-height:1.1;display:flex}.win-star{opacity:.35;display:inline-block}.win-star.got{opacity:1;animation:.6s both starIn}.win-msg{font-size:19px;font-weight:900}.win-actions{flex-direction:column;gap:10px;display:flex}.battery-msg{background:#e9fbe9;border-radius:14px;padding:10px;font-size:20px;font-weight:900}.battery-icon{animation:1.4s ease-in-out infinite pulse;display:inline-block}.confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{font-size:30px;animation:2.6s ease-in forwards confetti;position:absolute;top:-10vh}.inicio{text-align:center;max-width:900px}.inicio-head{justify-content:center;align-items:center;gap:10px;display:flex}.hero{flex-direction:column;align-items:center;margin-top:12px;display:flex}.hero-tuerca{width:96px;height:112px;animation:2.4s ease-in-out infinite dance}.alias-preview{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:8px 0 12px;display:flex}.alias-name{font-size:clamp(24px,5vw,34px);font-weight:900}.surprise{background:var(--yellow)}.pick-title{margin-top:18px}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.pick{border:3px solid var(--ink);min-height:56px;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:17px;font-weight:900;display:flex}.pick.on{background:var(--yellow)}.pick-emoji{font-size:26px}.color-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.swatch{border:3px solid var(--ink);border-radius:50%;width:56px;height:56px}.swatch.on{box-shadow:0 0 0 4px #fff, 0 0 0 8px var(--ink)}.done-btn{min-width:220px;margin-top:20px}.profiles{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:16px;display:flex}.profile-btn{border:3px solid var(--ink);width:160px;box-shadow:0 5px 0 var(--ink);background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;display:flex}.profile-name{font-size:18px;font-weight:900}.top-bar{background:var(--cream);border:3px solid var(--ink);border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.logo{align-items:center;gap:8px;font-size:24px;font-weight:900;display:flex}.logo-tuerca{width:34px;height:40px}.profile-chip{border:3px solid var(--ink);background:#fff;border-radius:99px;align-items:center;gap:8px;min-height:52px;padding:4px 12px 4px 4px;display:flex}.chip-name{font-size:16px;font-weight:900}.map-title{margin:12px 4px 8px}.map-wrap{border:4px solid var(--ink);background:linear-gradient(#9fdde6,#d8f5f8);border-radius:24px;overflow:hidden}.map-svg{width:100%;height:auto;display:block}.isl{cursor:pointer;outline:none}.isl.locked{filter:grayscale(.85);opacity:.6}.isl.sel>ellipse{stroke-width:6px}.isl:focus-visible>ellipse{stroke:var(--violet);stroke-width:7px}.cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.card{border:3px solid var(--ink);min-height:96px;box-shadow:0 4px 0 var(--ink);text-align:left;background:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;font-size:15px;display:flex}.card.kind-lumo{background:var(--violet-soft)}.card.kind-fix{background:#fff7dd}.card.locked{filter:grayscale(.8);opacity:.6}.card-num{opacity:.8;font-size:15px;font-weight:900}.card-title{font-size:18px}.card-stars{margin-top:auto;font-size:20px}.card-taller{background:#ffe9c9}.card-sub{opacity:.8;font-weight:700}.taller{max-width:900px}.tpal{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.tool{border:3px solid var(--ink);min-height:52px;box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:14px;padding:6px 12px;font-size:17px;font-weight:900}.tool.on{background:var(--yellow)}.taller-area{justify-content:center;padding:6px 0 16px;display:flex}.tgrid{border:5px solid var(--wood);width:max-content;box-shadow:0 8px 0 var(--wood);--c:58px;border-radius:18px;display:grid;overflow:hidden}.tgrid .cell{cursor:pointer;place-items:center;display:grid}.tg-art{z-index:1;width:70%;height:86%;position:relative}.tg-gem{place-items:center;width:100%;height:100%;display:grid}.linkbox{width:100%;min-height:var(--touch);border:2px solid var(--ink);border-radius:10px;margin-top:10px;padding:8px;font-family:inherit;font-size:14px}.bateria{text-align:center;max-width:700px;padding-top:40px}.sleepy{display:inline-block;position:relative}.sleepy-tuerca{filter:saturate(.6);width:140px;height:164px;transform:rotate(-8deg)}.zzz{font-size:34px;animation:2.4s ease-in-out infinite zzz;position:absolute;top:0;right:-10px}.battery-icon.big{font-size:44px;position:absolute;bottom:6px;left:-24px}.papa{max-width:1100px}.pgrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:14px;margin-top:10px;display:grid}.pcard{border:3px solid var(--ink);background:#fff;border-radius:18px;padding:14px;font-weight:700}.pcard h2{align-items:center;gap:8px;margin-top:0;display:flex}.limit-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.pair-row{flex-wrap:wrap;gap:10px;display:flex}.pair-input{letter-spacing:.3em;text-transform:uppercase;text-align:center;border:3px solid var(--ink);border-radius:14px;flex:200px;min-width:0;min-height:64px;font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:34px;font-weight:900}.sync-status p{margin:4px 0 8px}.switch-row{min-height:var(--touch);align-items:center;gap:10px;display:flex}.switch-row input{flex:none;width:28px;height:28px}.voice-group{border-top:2px dashed #ccc;padding:6px 0}.voice-group summary{min-height:var(--touch);cursor:pointer;align-items:center;font-weight:900;display:flex}.voice-list{margin:0;padding:0;list-style:none}.voice-row{border-bottom:1px dashed #ddd;align-items:center;gap:8px;padding:6px 0;display:flex}.voice-row.rec{background:#ffe3df;border-radius:10px}.voice-text{flex:1;font-size:14px}.voice-btns{flex:none;gap:6px;display:flex}.voice-btns .icon-btn{font-size:18px}.rec-btn{background:var(--red);animation:1s ease-in-out infinite pulse}
