@font-face{font-family:Silkscreen;font-weight:700;font-display:swap;src:url(/assets/fonts/silkscreen-700.woff2)format("woff2")}@font-face{font-family:Nunito Variable;font-weight:200 1000;font-display:swap;src:url(/assets/fonts/nunito.woff2)format("woff2")}:root{--bg:#160a4a;--bg-2:#1f0f62;--bar:#170b4c;--panel:#341c8c8c;--panel-solid:#2a1680;--panel-deep:#1b0d5a;--line:#7a5cf0;--line-soft:#4a32b8;--line-strong:#a48bff;--glow:#7b5cff73;--text:#f7f3ff;--muted:#cbbff5;--dim:#9a8cd6;--yellow:#ffd23f;--yellow-2:#ffb21c;--cyan:#34e3ff;--cyan-2:#18b6e6;--pink:#ff4fd8;--green:#3dff8a;--red:#ff5a6a;--violet:#6b4cff;--font-pixel:"Silkscreen", ui-monospace, monospace;--font-body:"Nunito Variable", "Nunito", system-ui, sans-serif;--radius:18px;--radius-sm:12px;--outline:#1a0838;--title-outline:drop-shadow(2px 0 0 var(--outline)) drop-shadow(-2px 0 0 var(--outline)) drop-shadow(0 2px 0 var(--outline)) drop-shadow(0 -2px 0 var(--outline)) drop-shadow(0 4px 0 #0b0420);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1);--sidebar:228px;--topbar:60px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);color:var(--text);background:radial-gradient(1100px 560px at 55% -10%, #33189a 0%, transparent 65%), radial-gradient(800px 500px at 100% 60%, #ff4fd812, transparent 70%), radial-gradient(800px 500px at 0% 80%, #34e3ff0f, transparent 70%), var(--bg);margin:0;font-size:1rem;line-height:1.5;overflow-x:hidden}body:before,body:after{content:"";z-index:-1;pointer-events:none;background-repeat:repeat;position:fixed;inset:0}body:before{opacity:.6;background-image:radial-gradient(1.5px 1.5px at 23px 41px,#fff 50%,#0000 52%),radial-gradient(1px 1px at 140px 90px,#d9ccff 50%,#0000 52%),radial-gradient(1.5px 1.5px at 260px 200px,#fff 50%,#0000 52%),radial-gradient(1px 1px at 80px 260px,#bfe9ff 50%,#0000 52%),radial-gradient(1px 1px at 300px 30px,#fff 50%,#0000 52%);background-size:340px 320px}body:after{background-image:radial-gradient(2px 2px at 60px 150px,#fff 50%,#0000 52%),radial-gradient(2px 2px at 410px 60px,#ffe9a8 50%,#0000 52%),radial-gradient(1.5px 1.5px at 220px 330px,#fff 50%,#0000 52%);background-size:520px 420px;animation:4s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.25}}img,svg,canvas{max-width:100%;display:block}.pix{image-rendering:pixelated}a{color:var(--cyan)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{text-wrap:balance;margin:0;line-height:1.2}p{text-wrap:pretty;margin:0}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none;width:20px;height:20px}.muted{color:var(--muted)}.dim{color:var(--dim)}.hidden{display:none!important}.btn{--b-bg:linear-gradient(180deg, #ffe46e 0%, #ffc21a 100%);--b-ink:#2a1500;--b-edge:#c46a00;--b-glow:#ffc82859;isolation:isolate;min-height:46px;color:var(--b-ink);background:var(--b-bg);border:2px solid var(--b-edge);border-radius:var(--radius-sm);box-shadow:0 4px 0 var(--b-edge), 0 0 18px var(--b-glow);cursor:pointer;user-select:none;white-space:nowrap;justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1.3rem;font-size:1.02rem;font-weight:900;line-height:1.15;text-decoration:none;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;transition:transform .7s var(--ease-out);background:linear-gradient(115deg,#0000 30%,#ffffff80 48%,#0000 66%);position:absolute;inset:-2px;transform:translate(-120%)}.btn:hover{box-shadow:0 6px 0 var(--b-edge), 0 0 26px var(--b-glow);filter:brightness(1.05);transform:translateY(-2px)}.btn:hover:before{transform:translate(120%)}.btn:active{box-shadow:0 1px 0 var(--b-edge), 0 0 12px var(--b-glow);transform:translateY(3px)}.btn .icon{width:18px;height:18px}.btn--cyan{--b-bg:linear-gradient(180deg, #7ef2ff 0%, #22c4ef 100%);--b-ink:#04213a;--b-edge:#0b6fa8;--b-glow:#34e3ff66}.btn--green{--b-bg:linear-gradient(180deg, #7dffae 0%, #22d36c 100%);--b-ink:#042a14;--b-edge:#0b8a42;--b-glow:#3dff8a59}.btn--violet{--b-bg:linear-gradient(180deg, #8d74ff 0%, #5b3df0 100%);--b-ink:#fff;--b-edge:#3320a8;--b-glow:#7b5cff73}.btn--red{--b-bg:linear-gradient(180deg, #ff8f99 0%, #ef4659 100%);--b-ink:#2c0509;--b-edge:#9c1e2d;--b-glow:#ff5a6a59}.btn--ghost{--b-bg:#1e0e5ab3;--b-ink:var(--text);--b-edge:var(--line);--b-glow:transparent;box-shadow:none;font-weight:800}.btn--ghost:hover{box-shadow:0 0 0 1px var(--line-strong), 0 0 16px var(--glow);background:#3c20a0b3}.btn--ghost:active{box-shadow:none}.btn--outline-cyan{--b-bg:#0a1e508c;--b-ink:#e6fbff;--b-edge:var(--cyan);--b-glow:#34e3ff40;box-shadow:0 0 14px var(--b-glow)}.btn--sm{min-height:38px;box-shadow:0 3px 0 var(--b-edge), 0 0 12px var(--b-glow);padding:.45rem .9rem;font-size:.92rem}.btn--ghost.btn--sm,.btn--ghost.btn--xs{box-shadow:none}.btn--xs{min-height:32px;box-shadow:0 2px 0 var(--b-edge);border-radius:9px;padding:.3rem .7rem;font-size:.85rem}.btn--block{width:100%}.btn--lg{min-height:54px;padding-inline:1.6rem;font-size:1.15rem}.btn[disabled],.btn[aria-disabled=true]{filter:grayscale(.7)brightness(.75);pointer-events:none}.btn--glow{animation:2.6s ease-in-out infinite btn-glow}@keyframes btn-glow{0%,to{box-shadow:0 4px 0 var(--b-edge), 0 0 14px var(--b-glow)}50%{box-shadow:0 4px 0 var(--b-edge), 0 0 32px var(--b-glow), 0 0 52px var(--b-glow)}}.icon-btn{border:2px solid var(--line-soft);cursor:pointer;background:#1e0e5a99;border-radius:10px;place-items:center;width:38px;height:38px;transition:border-color .15s,background .15s;display:inline-grid}.icon-btn:hover{border-color:var(--line-strong);background:#3c20a0b3}.icon-btn .icon{width:18px;height:18px}.tag{border:2px solid var(--line);color:var(--text);white-space:nowrap;background:#190c50b3;border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .75rem;font-size:.88rem;font-weight:800;display:inline-flex}.tag .icon{width:16px;height:16px}.tag--cyan{border-color:var(--cyan-2);color:#bff6ff;background:#0c466e99}.tag--gold{color:#ffe7a0;background:#6e460073;border-color:#d9a21a}.tag--green{color:#b6ffd3;background:#0a5a3280;border-color:#1fbf63}.tag--pink{color:#ffd1f4;background:#6e145a80;border-color:#d23fb4}.tag--red{color:#ffd0d5;background:#6e141e80;border-color:#e04a5a}.tag--soft{border-color:var(--line-soft);color:var(--muted)}.squares{gap:6px;display:flex}.squares i{background:#4b2fa6;border-radius:5px;width:24px;height:24px;box-shadow:inset 0 -3px #0003}.squares i.on{background:linear-gradient(#ffe46e,#ffc21a);box-shadow:inset 0 -3px #d58a00,0 0 10px #ffc82859}.squares--lg i{border-radius:8px;width:38px;height:38px}.squares--sm{gap:4px}.squares--sm i{border-radius:3px;width:14px;height:14px}.num-badge{color:#1a0d52;background:#d9d0ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:1.15rem;font-weight:900;display:inline-grid}.num-badge--cyan{background:var(--cyan);color:#04213a;box-shadow:0 0 14px #34e3ff80}.card{border:2px solid var(--line);border-radius:var(--radius);background:linear-gradient(#3c20a08c,#2612708c);min-width:0;padding:1.15rem;position:relative;box-shadow:inset 0 0 26px #7b5cff1f}.card--feature{border-color:var(--cyan);background:linear-gradient(#241678d9,#140a46d9);box-shadow:0 0 0 2px #34e3ff59,0 0 28px #34e3ff59,inset 0 0 30px #34e3ff1f}.card--dashed{border-style:dashed;border-color:var(--line-strong);background:#28147859}.card--link{cursor:pointer;transition:transform .2s var(--ease-out), border-color .2s, box-shadow .2s;color:inherit;text-decoration:none;display:block}.card--link:hover{border-color:var(--line-strong);box-shadow:0 0 24px var(--glow), inset 0 0 26px #7b5cff2e;transform:translateY(-4px)}.card-head{align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.card-head h2,.card-head h3{font-size:1.45rem;font-weight:900}.card-head .spacer{flex:1}.head-icon{color:#3b2196;background:#d8cfff;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;display:grid}.head-icon .icon{width:24px;height:24px}.head-icon--plain{color:var(--text);background:0 0;width:auto}.head-icon--plain .icon{width:30px;height:30px}.frame{border:2px solid var(--line);background:#241272;border-radius:14px;overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%}.tipbar{border-radius:var(--radius);border:2px solid var(--line);text-align:center;background:linear-gradient(#4628b48c,#2d16828c);justify-content:center;align-items:center;gap:1rem;padding:.85rem 1.4rem;font-size:clamp(1.02rem,1.7vw,1.3rem);font-weight:800;display:flex}.bulb{flex:none;width:44px;height:44px}.empty{text-align:center;color:var(--muted);justify-items:center;gap:.8rem;padding:2rem 1rem;display:grid}.empty img{width:90px}.hero{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin:.2rem 0 1.4rem;display:grid;position:relative}.hero-deco{width:92px;animation:3.4s ease-in-out infinite float}.hero-deco--r{width:110px;animation-delay:-1.6s}.hero-cloud{opacity:.8;pointer-events:none;width:100px;position:absolute;top:18px}.hero-cloud--l{left:-10px}.hero-cloud--r{right:-10px}.hero-text{text-align:center;z-index:1;position:relative}.ptitle{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:-.04em;word-spacing:-.15em;color:#fff;filter:var(--title-outline);font-size:clamp(1.5rem,3.9vw,3rem);font-weight:700;line-height:1.05}.gold{background:linear-gradient(180deg, #fff59a 0%, var(--yellow) 42%, var(--yellow-2) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{text-shadow:0 2px 0 var(--outline);margin-top:.45rem;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:800}@keyframes float{50%{transform:translateY(-8px)}}.topbar{z-index:30;grid-template-columns:var(--sidebar) 1fr auto;height:var(--topbar);backdrop-filter:blur(8px);border-bottom:2px solid var(--line-soft);background:#170b4ceb;align-items:center;padding-right:1rem;display:grid;position:sticky;top:0}.brand{color:#fff;white-space:nowrap;align-items:center;gap:.6rem;padding-left:1.2rem;font-size:1.35rem;font-weight:900;text-decoration:none;display:flex}.brand img{width:42px}.crumbs{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:1.12rem;font-weight:800;overflow:hidden}.crumbs span{color:var(--muted)}.crumbs b{color:var(--yellow);font-weight:900}.crumbs .sep{color:#fff;margin-inline:.7rem}.top-actions{align-items:center;gap:.8rem;display:flex}.btn-help{border:2px solid var(--line);cursor:pointer;background:#1e0e5ab3;border-radius:10px;align-items:center;gap:.5rem;height:40px;padding:0 1rem;font-weight:800;display:inline-flex}.btn-help:hover{border-color:var(--line-strong);box-shadow:0 0 16px var(--glow)}.user-menu{position:relative}.avatar-btn{cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;display:flex}.avatar{object-fit:cover;width:46px;height:46px;image-rendering:pixelated;box-shadow:0 0 0 3px var(--violet);background:#3a22a8;border:2px solid #fff;border-radius:50%}.avatar--lg{width:96px;height:96px}.avatar--sm{width:34px;height:34px;box-shadow:0 0 0 2px var(--violet);border-width:1px}.dropdown{border:2px solid var(--line);min-width:240px;box-shadow:0 18px 40px #00000073, 0 0 24px var(--glow);animation:pop .18s var(--ease-out);background:#1d0d63;border-radius:14px;padding:.5rem;position:absolute;top:calc(100% + 10px);right:0}.dropdown header{border-bottom:1px solid var(--line-soft);margin-bottom:.4rem;padding:.5rem .7rem .7rem}.dropdown header strong{display:block}.dropdown header small{color:var(--muted)}.dropdown button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.6rem;width:100%;padding:.6rem .7rem;font-weight:700;display:flex}.dropdown button:hover{background:#6b4cff4d}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.menu-toggle{display:none}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:calc(100dvh - var(--topbar));display:grid}.sidebar{top:var(--topbar);height:calc(100dvh - var(--topbar));border-right:2px solid var(--line-soft);background:linear-gradient(#1c0e5aa6,#12083ca6);flex-direction:column;padding:1.6rem .8rem .6rem;display:flex;position:sticky;overflow-y:auto}.nav{gap:.35rem;display:grid}.nav a{color:var(--text);border:2px solid #0000;border-radius:12px;align-items:center;gap:.85rem;padding:.7rem .85rem;font-size:1.08rem;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.nav a .icon{color:#d5ccff;width:26px;height:26px}.nav a:hover{background:#6b4cff2e}.nav a[aria-current=page]{background:linear-gradient(#7e62ff,#5a3cf0);border-color:#a995ff;box-shadow:0 0 18px #7b5cff99}.nav a[aria-current=page] .icon{color:#fff}.nav-sep{background:var(--line-soft);border-radius:2px;height:2px;margin:1.4rem .5rem 1.2rem}.side-progress{padding:0 .6rem}.side-progress h4{margin-bottom:.6rem;font-size:1.1rem;font-weight:900}.side-progress p{color:var(--muted);margin-top:.4rem;font-weight:700}.side-island{align-self:center;width:82%;margin-top:auto;padding-top:1rem;animation:4s ease-in-out infinite float}.main{min-width:0;padding:1.2rem clamp(1rem,2.4vw,2rem) 2.5rem}.view{animation:view-in .45s var(--ease-out)}@keyframes view-in{0%{opacity:0;transform:translateY(14px)}}.grid{gap:1.2rem;display:grid}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{gap:1.2rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.row--between{justify-content:space-between}.mt{margin-top:1.2rem}.home-top{grid-template-columns:1.55fr 1fr;gap:1.4rem;display:grid}.continue{grid-template-columns:1.05fr 1fr;align-items:center;gap:1.2rem;padding:1.4rem;display:grid}.continue img{border-radius:12px;width:100%}.continue h2{font-family:var(--font-pixel);letter-spacing:-.03em;font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.15}.continue .squares{margin:1.1rem 0 .7rem}.continue .step{margin-bottom:1.2rem;font-weight:700}.next-mission{text-align:center;gap:.6rem;display:grid}.next-mission img{object-fit:contain;width:100%;max-height:130px}.next-mission h3{font-size:1.5rem;font-weight:900}.shortcut{align-content:start;gap:.5rem;min-height:280px;display:grid}.shortcut h3{font-size:1.55rem;font-weight:900}.shortcut p{color:var(--text);font-weight:600}.shortcut img{border-radius:10px;width:72%;margin:.6rem auto 0}.shortcut .card-head{align-items:flex-start;margin-bottom:0}.route{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem 2rem;display:grid}.route-card{align-content:start;gap:.6rem;padding:1rem 1.1rem 1.1rem;display:grid}.route-card h3{align-items:center;gap:.7rem;font-size:1.5rem;font-weight:900;display:flex}.route-card img{aspect-ratio:3/2;object-fit:cover;mix-blend-mode:lighten;border-radius:12px;width:100%}.route-card .actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.route-card.is-off img{filter:saturate(.85)brightness(.9)}.route-card:after{content:"";border-top:3px dotted var(--line-strong);width:2rem;position:absolute;top:50%;right:-2rem}.route-card:nth-child(3n):after{display:none}.tabs{flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-bottom:1.4rem;display:flex}.tab{border:2px solid var(--line);cursor:pointer;background:#1e0e5a99;border-radius:12px;justify-content:center;align-items:center;gap:.7rem;min-width:220px;min-height:52px;padding:.5rem 1.2rem;font-size:1.15rem;font-weight:800;transition:background .15s,box-shadow .15s;display:inline-flex}.tab .icon{width:24px;height:24px}.tab:hover{box-shadow:0 0 16px var(--glow)}.tab[aria-selected=true]{color:#04213a;background:linear-gradient(#7ef2ff,#22c4ef);border-color:#8ff4ff;font-weight:900;box-shadow:0 0 22px #34e3ff80}.tab .count{background:#00000040;border-radius:99px;padding:0 .5rem;font-size:.85rem}.mission-main{grid-template-columns:1.65fr 1fr;gap:1.4rem;display:grid}.mission-hero{grid-template-columns:1.15fr 1fr;gap:1.4rem;padding:1.4rem;display:grid}.mission-hero .frame{aspect-ratio:440/356}.mission-hero h2{margin:.6rem 0 .4rem;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:900}.mission-hero p{font-size:1.1rem;font-weight:600}.mission-steps{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.1rem 0;display:grid}.mstep{border:2px solid var(--line);background:#1e0e5a8c;border-radius:12px;justify-items:center;gap:.3rem;padding:.7rem .4rem;font-weight:800;display:grid}.mstep .icon{width:28px;height:28px}.mstep.done{border-color:var(--cyan-2);background:#0c466e73}.mstep.done .icon{color:var(--cyan)}.challenge h2{font-size:1.7rem;font-weight:900}.challenge>p{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.challenge ol{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.challenge li{border:2px solid var(--line);background:#1e0e5a73;border-radius:12px;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:1.12rem;font-weight:800;display:flex}.mini-mission{align-items:center;gap:1.2rem;display:flex}.mini-mission .thumb{border:2px solid var(--line);background:#140a46b3;border-radius:14px;flex:none;place-items:center;width:110px;height:92px;display:grid}.mini-mission .thumb img{width:64px}.mini-mission .body{border-left:2px solid var(--line-soft);gap:.5rem;padding-left:1.2rem;display:grid}.mini-mission h3{font-size:1.4rem;font-weight:800}.feedback{background:#6e46004d;border:2px solid #d9a21a;border-radius:12px;gap:.8rem;padding:.85rem 1rem;display:flex}.feedback strong{color:var(--yellow)}.stars{gap:2px;display:inline-flex}.stars img{width:22px}.stars img.off{filter:grayscale()brightness(.45)}.section-bar{align-items:center;gap:1rem;padding:.9rem 1.2rem;display:flex}.section-bar h2{flex:1;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:900}.info-bar{border-radius:14px;align-items:center;gap:.8rem;padding:.65rem 1.2rem;font-size:1.05rem;font-weight:600;display:flex}.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;display:grid}.project{align-content:start;gap:.7rem;padding:.9rem;display:grid}.project canvas{aspect-ratio:2;border:2px solid var(--line);width:100%;image-rendering:pixelated;background:#2b1a8f;border-radius:12px}.project h3{font-size:1.45rem;font-weight:900}.project .actions{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.3rem;display:grid}.project .actions .btn:only-child{grid-column:1/-1}.project-new{text-align:center;align-content:center;place-items:center;gap:1.2rem;min-height:360px;display:grid}.project-new .plus{border:3px solid var(--cyan);width:96px;height:96px;color:var(--cyan);border-radius:18px;place-items:center;display:grid;box-shadow:0 0 22px #34e3ff66}.project-new .plus .icon{width:52px;height:52px}.project-new h3{font-size:1.55rem;font-weight:900}.keep{align-items:center;gap:1.4rem;padding:1.1rem 1.4rem;display:flex}.keep .head-icon{border:2px solid var(--line-strong);width:64px;height:64px;color:var(--cyan);background:0 0}.keep .head-icon .icon{width:34px;height:34px}.keep .body{border-left:2px solid var(--line-soft);flex:1;padding-left:1.4rem}.keep h3{font-size:1.6rem;font-weight:900}.keep p{font-size:1.1rem}.passport{grid-template-columns:1fr 2fr 1.05fr;align-items:start;gap:1.2rem;display:grid}.passport .card{padding:0;overflow:hidden}.passport .card-head{border-bottom:2px solid var(--line-soft);margin:0;padding:1rem 1.2rem}.passport .card-head h2{font-size:1.5rem}.pp-body{gap:.7rem;padding:1.1rem 1.2rem;display:grid}.pp-avatar{aspect-ratio:1;border:3px solid var(--cyan);background:#241272;border-radius:18px;justify-self:center;width:190px;overflow:hidden;box-shadow:0 0 22px #34e3ff66}.pp-avatar img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.pp-label{color:var(--text);font-weight:700}.pp-field{border:2px solid var(--line);text-align:center;background:#140a4699;border-radius:12px;padding:.45rem .9rem;font-size:1.5rem;font-weight:900}.pp-level{border:2px solid var(--cyan);background:#0c466e80;border-radius:12px;justify-content:center;align-items:center;gap:.7rem;padding:.5rem .9rem;font-size:1.3rem;font-weight:900;display:flex}.pp-skills{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.pp-skill{aspect-ratio:1;border:2px solid var(--line);background:#1e0e5a8c;border-radius:12px;place-items:center;display:grid}.pp-skill img{width:58%}.pp-skill.off img{filter:grayscale()brightness(.4)}.pp-shot canvas{aspect-ratio:2;border:2px solid var(--line);border-radius:12px;width:100%}.pp-steps{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.pp-step{border:2px solid var(--line);text-align:center;background:#28147880;border-radius:14px;justify-items:center;gap:.25rem;padding:.9rem .6rem;display:grid}.pp-step img{object-fit:contain;width:52px;height:52px}.pp-step strong{font-size:1.4rem;font-weight:900}.pp-step span{font-weight:600;line-height:1.3}.checklist{gap:.7rem;display:grid}.check{border:2px solid var(--line);background:#1e0e5a73;border-radius:12px;align-items:center;gap:.9rem;padding:.7rem .9rem;font-size:1.2rem;font-weight:800;display:flex}.check .box{border:2px solid #d9d0ff;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.check.on .box{background:var(--cyan);border-color:var(--cyan);color:#04213a}.check .box .icon{width:22px;height:22px}.reflect{grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.reflect h3{align-items:center;gap:.7rem;margin-bottom:.6rem;font-size:1.35rem;font-weight:900;display:flex}.field{gap:.35rem;display:grid}.field>span,.field>label{color:var(--muted);font-size:.95rem;font-weight:800}.input{width:100%;min-height:46px;color:var(--text);border:2px solid var(--line);border-radius:var(--radius-sm);background:#0e0634bf;padding:.6rem .9rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #34e3ff4d}.input::placeholder{color:#8d80c8}textarea.input{resize:vertical;min-height:100px}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:2.2rem}select.input option{background:#1d0d63}.form{gap:1rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.switch{cursor:pointer;align-items:center;gap:.6rem;font-weight:700;display:inline-flex}.switch input{width:20px;height:20px;accent-color:var(--cyan)}.checks{border:2px solid var(--line-soft);background:#0e063480;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.4rem;max-height:220px;padding:.6rem;display:grid;overflow:auto}.table-wrap{border:2px solid var(--line-soft);border-radius:14px;overflow-x:auto}table.table{border-collapse:collapse;width:100%;min-width:640px}.table th,.table td{text-align:left;vertical-align:middle;padding:.75rem .9rem}.table th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#140a46b3;font-size:.82rem;font-weight:900}.table tr+tr td{border-top:1px solid var(--line-soft)}.table tbody tr:hover td{background:#6b4cff1a}.table .who{align-items:center;gap:.7rem;font-weight:800;display:flex}.table .who small{color:var(--muted);font-weight:600;display:block}.table .acts{justify-content:flex-end;gap:.4rem;display:flex}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;display:grid}.stat{align-items:center;gap:1rem;display:flex}.stat img{object-fit:contain;width:58px;height:58px}.stat strong{color:var(--yellow);text-shadow:0 3px #8a4b00;font-size:2.3rem;font-weight:1000;line-height:1;display:block}.stat span{color:var(--muted);font-weight:700}.page-head{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.page-head h1{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:-.03em;filter:var(--title-outline);flex:1;font-size:clamp(1.3rem,2.6vw,2rem)}.list{gap:.6rem;display:grid}.list-item{border:2px solid var(--line-soft);background:#140a4680;border-radius:12px;align-items:center;gap:.9rem;padding:.7rem .9rem;display:flex}.list-item .grow{flex:1;min-width:0}.list-item .grow strong{display:block}.list-item .grow small{color:var(--muted)}.group-card h3{font-size:1.35rem;font-weight:900}.bar{background:#3a2399;border-radius:99px;height:12px;overflow:hidden}.bar i{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), #7ef2ff);height:100%;display:block}.toolbar{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.toolbar .input{flex:1;width:auto;min-width:200px;max-width:340px}.lab{grid-template-columns:220px minmax(0,1fr) 270px;align-items:start;gap:1rem;display:grid}.lab-top{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.lab-top .input{max-width:340px;font-size:1.1rem;font-weight:800}.modes{border:2px solid var(--line);background:#0e063499;border-radius:14px;gap:.4rem;padding:.3rem;display:inline-flex}.mode{cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-weight:800;display:inline-flex}.mode[aria-pressed=true]{color:#04213a;background:linear-gradient(#7ef2ff,#22c4ef)}.palette{padding:.8rem}.palette h3{color:var(--muted);margin:.4rem 0 .5rem;font-size:1rem;font-weight:900}.tiles{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.tile-btn{aspect-ratio:1;border:2px solid var(--line-soft);cursor:pointer;background:#0e063499;border-radius:10px;place-items:center;min-width:0;padding:6px;display:grid;position:relative}.tile-btn img{object-fit:contain;width:calc(100% - 14px);height:calc(100% - 14px);position:absolute;inset:7px}.tile-btn .icon{width:26px;height:26px}.tile-btn:hover{border-color:var(--line-strong)}.tile-btn[aria-pressed=true]{border-color:var(--yellow);background:#6e460059;box-shadow:0 0 14px #ffc82873}.stage{padding:.7rem;position:relative}.stage canvas{border:2px solid var(--line);width:100%;image-rendering:pixelated;touch-action:none;background:#3121b0;border-radius:12px}.stage-hint{color:var(--muted);text-align:center;margin-top:.6rem;font-size:.95rem;font-weight:700}.pad{justify-content:space-between;gap:1rem;margin-top:.7rem;display:none}.pad div{gap:.6rem;display:flex}.pad button{border:2px solid var(--line-strong);touch-action:none;user-select:none;background:#3c20a0b3;border-radius:16px;width:64px;height:64px;font-size:1.6rem;font-weight:900}.side-panel{gap:1rem;display:grid}.side-panel .card{padding:.9rem}.side-panel h3{align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:1.1rem;font-weight:900;display:flex}.chars{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.seg{gap:.3rem;display:flex}.seg button{border:2px solid var(--line-soft);cursor:pointer;background:#0e063499;border-radius:9px;flex:1;padding:.4rem .3rem;font-size:.85rem;font-weight:800}.seg button[aria-pressed=true]{border-color:var(--cyan);color:#bff6ff;background:#0c466e99}.rule{gap:.35rem;margin-bottom:.8rem;display:grid}.rule>span{color:var(--muted);font-size:.9rem;font-weight:800}.login{place-items:center;min-height:100dvh;padding:2rem 1rem;display:grid;position:relative;overflow:hidden}.login-box{z-index:1;gap:1.6rem;width:min(100%,980px);display:grid;position:relative}.login-logo{filter:drop-shadow(0 10px 30px #7b5cff73);width:190px;margin:0 auto;animation:4s ease-in-out infinite float}.roles{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.role{text-align:center;cursor:pointer;border:2px solid var(--line);color:inherit;font:inherit;justify-items:center;gap:.5rem;padding:1.2rem 1rem 1.3rem;display:grid}.role img{object-fit:contain;height:150px;transition:transform .3s var(--ease-back)}.role:hover img{transform:translateY(-8px)rotate(-2deg)}.role h2{font-size:1.5rem;font-weight:900}.role p{color:var(--muted);font-weight:600}.role[aria-pressed=true]{border-color:var(--cyan);box-shadow:0 0 0 2px #34e3ff59,0 0 28px #34e3ff59}.login-form{width:min(100%,460px);margin:0 auto}.demo-hint{color:var(--muted);text-align:center;font-size:.92rem}.demo-hint code{font-family:var(--font-pixel);color:var(--yellow);font-size:.8rem}.login-deco{pointer-events:none;animation:5s ease-in-out infinite float;position:absolute}.modal-backdrop{z-index:60;backdrop-filter:blur(4px);background:#08031eb3;place-items:center;padding:1rem;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{border:2px solid var(--line-strong);width:min(100%,560px);max-height:calc(100dvh - 2rem);box-shadow:0 30px 60px #00000080, 0 0 40px var(--glow);animation:pop .25s var(--ease-back);background:linear-gradient(#2c1890,#1b0d5e);border-radius:20px;padding:1.4rem;overflow:auto}.modal--wide{width:min(100%,860px)}.modal h2{align-items:center;gap:.6rem;margin-bottom:1rem;font-size:1.5rem;font-weight:900;display:flex}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;margin-top:1.3rem;display:flex}@keyframes fade{0%{opacity:0}}#toast-root{z-index:80;gap:.5rem;width:min(92vw,460px);display:grid;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.toast{border:2px solid var(--cyan);animation:pop .25s var(--ease-back);background:#1d0d63;border-radius:14px;align-items:center;gap:.7rem;padding:.8rem 1.1rem;font-weight:800;display:flex;box-shadow:0 14px 30px #0006,0 0 18px #34e3ff4d}.toast img{width:30px}.toast--warn{border-color:var(--yellow)}@media (pointer:fine){html,body{cursor:image-set(url(/assets/cursores/flecha.png) 1x, url(/assets/cursores/flecha@2x.png) 2x) 1 0, auto}a,button,select,label[for],[role=button],[role=tab],.role{cursor:image-set(url(/assets/cursores/mano.png) 1x, url(/assets/cursores/mano@2x.png) 2x) 15 7, pointer}.btn{cursor:image-set(url(/assets/cursores/flecha-brillo.png) 1x, url(/assets/cursores/flecha-brillo@2x.png) 2x) 3 3, pointer}input:not([type=checkbox],[type=radio],[type=file]),textarea{cursor:image-set(url(/assets/cursores/texto.png) 1x, url(/assets/cursores/texto@2x.png) 2x) 19 22, text}[aria-disabled=true],:disabled{cursor:image-set(url(/assets/cursores/bloqueado.png) 1x, url(/assets/cursores/bloqueado@2x.png) 2x) 1 4, not-allowed}.btn-help{cursor:image-set(url(/assets/cursores/ayuda.png) 1x, url(/assets/cursores/ayuda@2x.png) 2x) 1 8, help}.stage canvas.is-design{cursor:crosshair}}@media (width<=1280px){.lab{grid-template-columns:190px minmax(0,1fr)}.lab .side-panel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.passport{grid-template-columns:1fr 1.6fr}.passport>:last-child{grid-column:1/-1}}@media (width<=1100px){.home-top,.mission-main{grid-template-columns:1fr}.route{grid-template-columns:repeat(2,minmax(0,1fr))}.route-card:after{display:none}.projects,.g-3,.stats,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){:root{--sidebar:260px}.topbar{grid-template-columns:auto 1fr auto;gap:.6rem;padding-inline:.6rem}.brand{padding-left:0;font-size:1.1rem}.brand img{width:34px}.menu-toggle{display:inline-grid}.crumbs{font-size:.95rem}.crumbs span,.crumbs .sep,.btn-help span{display:none}.shell{grid-template-columns:1fr}.sidebar{z-index:40;left:0;top:var(--topbar);width:var(--sidebar);transition:transform .3s var(--ease-out);background:#170b4c;position:fixed;transform:translate(-105%);box-shadow:20px 0 40px #0006}.sidebar.open{transform:none}.lab{grid-template-columns:1fr}.lab .stage{order:-1}.lab .side-panel{grid-template-columns:1fr}.palette .tiles{grid-template-columns:repeat(6,1fr)}.pad{display:flex}.passport,.roles{grid-template-columns:1fr}.role{text-align:left;grid-template-columns:90px 1fr;place-items:center start}.role img{grid-row:span 2;height:90px}}@media (width<=640px){.hero{grid-template-columns:1fr}.hero-deco,.hero-cloud{display:none}.continue,.mission-hero,.route,.projects,.g-2,.g-3,.g-4,.stats,.form-row{grid-template-columns:1fr}.tab{flex:1;min-width:0;font-size:1rem}.tabs{gap:.5rem}.keep{flex-wrap:wrap}.keep .body{border:0;padding:0}.reflect,.pp-steps{grid-template-columns:1fr}.mini-mission{flex-wrap:wrap}.mini-mission .body{border:0;padding:0}.avatar{width:38px;height:38px}.crumbs{visibility:hidden}.top-actions{gap:.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
