@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAVoAA8AAAAACegAAAUTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbDBwYBmAAbBEIColciA0LHgABNgIkAzgEIAWDZAc+DAcb9QdRlE5OmOBngm2rYa0IiBSU4SB6GXpb1ovxAEMb3kc8/X6ve+4LIEoWKsKQjE0KaAS5si8LV935qoC6jkBWl99PeNa/acrMsmIWkJM7J2fiwyD6/rZ3nySQEEJPI2+8mQgCjl/7/xfCPjhmumgbjyJtDTLAgZRI5C2Lsyg9Ej+AogCfIgpT4Glg/xqJD/gP3cxixar09EqCLkAR0S2CjsmOByOgCZ096O8EMaNtszM3NFMavYQr9Cp5x9dfFA/5c6zg2Tty8yAadUVizTiA6qa3QCC/ewmYw2NFVjA0W0NfnG8fGGCFUMwlNjUZzmSW9PlG/R/AyDGpxk28hPlctcMi84z8m/D+t4A8BCJ1LJF6PM8poA/kPvkJWDJ1K8BaUZaAFU7lYnST2ctUYrFxdcncWZ+9iCBZ7QpGtRZjgknaiROuAw9zmuW0fBVJAuYMq2n1OtKMXVFHky8Q0hrFz5fHL9r+nEPMnjt7HmivMC8x91xDA/1M/oAFOmT59tOnXR4D/SyfffGCednGaXbT8vxlrLJwBWKuYq7gZdFz7CSU+gIt6kE7uc+Qo2v37Ql5HkHKQsxRQtvGGz2XFwMdv411vIFQ6YqXmDMUlNIsQgwHBXRRFWtcw+hMzOajmR59mMsOuWmOF4yqrMx9tIxFTBfJL+Ii0RlIK4ImubT7MpIsjraaeanajTm7MtJOmW4rxrqXFRkT0If2oT0spW5rQzzafpjguAN9hiRinFZih+0AJ4zTkDbS8Uh95LjURmGlmKaOU1gqqpGTVk+skg4HuviVSNOtxkAukjRmgehpuFJzeK1lTT5P1BR1/PNEQdrPnuV+BTaWg//+kPhs+NC04dbkEaOaIOzcWmf+0GCvjO57t/beypjctoHZoyi8WpYUkmvITj8o+TTCOX91Xp24bnVevsQkk/AmUsZTIOZotreXUWEZNO7bn9qWsbLZpFW6JvXu9NXJzKKH42p+jchuqW1L6vNy1e9301q7tfmbr/QZMkUOD899Yd14NHBLo/SjF5cCSkjT2NHk135OQk4wT8IJPl3A+KVAmsC6w9Yzeb5ippX3NAv4svYkQsqFgb5lm1UzJZ7DRrsvW6fPCvnquOaJ3AZkUSKvIgyXf96PrZJ0kgSzaEuXOoX1hffmtOr/WYZ+xra+RIUo1WFKdehUQIrG3y5m3i9eznH2AwnYJE9dQSY4kM2VOdnutWqt4pcfeb+k1NlrCD2P3ZO5XLekNz+2uPpKb/XJ2t0NUfOkPccR0vHefWSNS4H/BGiupbdcml/BnXeommkZlIk13/I8D/sOQlw8z33xfpVl+C/GxBeA17vkDn3BYWv7dXrdRJsCQnVz7EH1QwnxcArxoPR47glkG2iQNwSZIChqhlyhaVP9a/045AZNdsyOfJGctxwg9NgmBAURbAFAm+MIaZIADY94zBhygFn0uMesbKlubVJlNpuQyGwxwB96jhQ4qR9Qu4XyKu1Tp1cLH/p5ZE990E5DFwpNaqksidKBtoMWVahBSjs1KNRwaI2gi380ig9P3rz5SjWgRqcMBWu/Q2sDMrNLKOq0U7MWT/ny5gPGn6tBkwHtavQaVcbp0m0kfWtTWctTnNVxceak0ulKzTpDe6uiNRqHjom7XY06zVt5qtVilAt3lKFEEM26JK19bwCDFNQf9sQgYUrmZO1Qm5ZiW0CGLZ6Hyvq4TZke5H+6xGcf+8Snzvruczt8Mu1G9R7wrwIAAA==)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAdoAA4AAAAACcgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAABYAAAAWABEADkdQT1MAAAFcAAAADAAAAAwAFQAKR1NVQgAAAWgAAAAYAAAAGGyKdIVPUy8yAAABgAAAAE8AAABgZgH8y2NtYXAAAAHQAAAAUwAAAGxDUOfcZ2FzcAAAAiQAAAAIAAAACAAAABBnbHlmAAACLAAAA1QAAATSWeRXtGhlYWQAAAWAAAAAMgAAADb4vFe7aGhlYQAABbQAAAAeAAAAJAbhAvBobXR4AAAF1AAAADgAAAA4FcIAhmxvY2EAAAYMAAAAHgAAAB4HgwZJbWF4cAAABiwAAAAYAAAAIAAVAE5uYW1lAAAGRAAAAPIAAAHkJa9Cm3Bvc3QAAAc4AAAALwAAAD4DnwR9AAEAAAAMAAAAAAAAAAIAAQABAA0AAQAAAAEAAAAKAAoACgAAAAEAAAAKABYAFgABbGF0bgAIAAAAAAAAeNpjYGJczjiBgZWBgWkPUxcDA0MPhGa8y2DE8AsoygADDQwMugxIICAyKJjBgUFBQYF51n9VBgbm2Qx3gMKMDCDiF9MBIKXAwAQAu3UOIwB42mNgYGACYmYgFgGSjGCahSECSAsxCDAwA2UVGJ0YExkrGOsYJzEdV1D4/5+BASjmyJgAFKuFif1//O/wv2X/Jvzr+Vf51/X+W6BJGAAA3YQYRQAAAQAB//8AD3jabJQDtOtKFIb3nkmTpkqRSWqeukdBr23bNheebXvx2bZtLz7b9uLTcnsnBxe9J8bM/N8mILgA8E3yNlQARoUK+XLJGtUchyF+NXWNhUxD11RJrCMbeirk8qXpubBbENzhnBGL2sbmwZfN1zp3Mdx6MuiOoyelJJUUsqBIBVFp/TXwekZVr6o1n6PabuGx5FVIARTVQmkCHqZsHi6LbOfi8YMC47esmDT4NMkto/TRoMJWhUqt6waegUCq/T/+Q6+BGkwAGJVGw7Z6KF+5aRqarjJVlEp5puppqmvOS74HrSY6WgqK+V4s2c5IvTk/smFFdHLWDlTO2zv7VNKQJ+8outPl7rh94mnjt8xO4wJZUcXrJbd0vZiXyZln/KtYOUVPh8pszKOnZGKUFvaJuS4tJAQiqaixdN/FRB27dAl5VEtXXMsFYblLzlhz5wInjnHi+8hbUIAmJ9ZMTlx2MAxtgLbAcdNkgLaQL9kj0k5d0pu2zth/zZ66u24k2Oii3rd336zjE9jooHyynylR8/i5C7NxbTaNRnyhmBouTVi8ra+WnEgSHXC0/V/7P3ISvQA0SEMJAB0vSpTxwPBoTUBa4h8ySNX8BLQMpg/d8Ur/calF9P1RyWZi1GfC2sxpvjnWZZf9etll5PaCW2xN+z0kCVQK/4ivid6uL7Eiui6XXVcNXB2PFPklTq+AFPQBRAbzwswZmipR0zgsC61RiZFCF5KoS2Z4QbAf/3wGUZMF0au3TpN76Z/nd/iDiD2RnljPeQFs3dSnG0njlLSA+/CiEaIEgA/xKGlQdZhsawBIwVEGUwdhJmHkaJi6FMFJUh++/nDQ42u9qtTIK5d0MODy+gmrvfivb1Zi5nZGvsN9nerYvrs9Ad/l6nX+wgWduqBOOlhNJ2FGRQocyKmdURPRdPImgHYpryCe7A2J0txS9Fl7bpec7a24ijO8Lo9nBvVuWtzYls1m50gU/80bXYHW2Y/Fral+ZuGJGTUxStuzNBZndp4wiwHCbOLDm7l+GGAEj+OxnW59q8MEhGL7UXyefAMFAAw58eM5fqjb2IPdJoXD0cVaSgmkUsdFJCrI4QMrBHOKgBxWDiHGaf8sIKUA4wlZXlkB2a0Q3lYwhwEAvBLSq3jaY2BkYADi5t8fKo7F89t8ZeBmfsEABKd1OU/B6P9d/1WYdzLPBnI5GJhAogCeEw3qAAB42mNgZGBgnv1fBUi++9/1/zzzTqAIKuADAKY3BtYAAADHAAAAAAAAAU0AAAC8AAAB1QAFAX0ABQIYAB0BwgAZAmf/9QIzACUBxgAZAab/pgHjAEgB2wAlAAAAAAAAAAAAAAA7AGcAwAEOAUkBkwHSAhICMwJpAAB42mNgZGBg4GPwZWBjAAIgDw0AAAnZAGR42m2OBWoDQBREX929WLFPkLoXC1J3V5y4u8tpeoKeoFhOlgHiCWuzY3xgkiAjDI1OAf/UGniIVf4aeJh5fht4hDPcDTza4RljjZsGHmeZkwaeF4Iwea00Tva1cvjIEtE/L7ynEyGuNyU2JP2VG560xOrk8YhJEuBHJ4vcpPQ3DpU50DrigQIecc9IIY+a5BUj5MS6uqzRJp4jpQ+1PvQPqSMuPTvQfUmKNBWy4kOEpRkb+NjsaLHWHDZwEiWINhxniCchNq6/j7DuPbxqr6pzB6MknBdvaDpyOlmKuv1ibhrtxotyCaQLOwZO7qgDp2hIawAAeNptwUkBgCAAALCJf8MY0TA24EUa7hhQgE0AVvQ6eXAJbkXVdMkw/bJvA722ChwA)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2)format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-bg:#fff8d6;--c-surface:#fff;--c-surface-2:#fff4b5;--c-ink:#1a1a1a;--c-muted:#47433a;--c-line:#d9cf9a;--c-line-strong:#a89d5a;--c-brand:#0d47a1;--c-brand-strong:#0d47a1;--c-brand-ink:#fff;--c-brand-soft:#dbe8ff;--c-brand-wash:#eef4ff;--c-action:#ffd400;--c-action-strong:#f2c800;--c-action-ink:#1a1a1a;--c-ok:#0b6b34;--c-ok-soft:#d3f3de;--c-ok-line:#9fd9b4;--c-ok-wash:#f3fbf6;--c-warn:#7a3f00;--c-warn-soft:#ffe3a3;--c-warn-line:#f1c99a;--c-warn-edge:#f0c48f;--c-warn-wash:#fffaf2;--c-error:#b8322a;--c-error-soft:#fbe7e4;--c-error-line:#f0b4ad;--c-error-wash:snow;--c-path:#f3e3b5;--c-path-edge:#85651a;--c-water:#9ecdf2;--c-wall:#2b3448;--c-rough:#d9b98a;--c-goal:#fff3b0;--c-goal-ink:#8a5f00;--c-sun:#f0c23a;--c-sun-wash:#fff8dc;--c-chip:#fff3df;--c-chip-line:#f1dfbd;--c-signal:#d99a00;--c-placeholder:#6b7280;--c-on-ink:#fff;--c-on-ink-ok:#7ee2a8;--c-on-ink-error:#ff9d94;--c-on-ink-link:#9cc2ff;--c-on-ink-muted:#c9cdd6;--c-series-student:#0d47a1;--c-series-average:#d90429;--topic-ciencia:#1f8a4c;--topic-tecnologia:#2f6fdc;--topic-ingenieria:#d9822b;--topic-artes:#8e5bd8;--topic-matematicas:#e0604f;--steam-ciencia:#3ddc84;--steam-tecnologia:#4da3ff;--steam-ingenieria:#ff9f1c;--steam-artes:#ff6fb5;--steam-matematicas:#b388ff;--steam-ciencia-wash:#d2f6e2;--steam-tecnologia-wash:#d6e8ff;--steam-ingenieria-wash:#ffe5c2;--steam-artes-wash:#ffd6ea;--steam-matematicas-wash:#e6d9ff;--paint-yellow:#ffd400;--paint-blue:#4da3ff;--paint-green:#3ddc84;--paint-violet:#b388ff;--paint-red:#ff3b5c;--c-grass:#a8d58a;--c-grass-dark:#8cc06e;--radius:12px;--radius-lg:14px;--shadow:4px 4px 0 var(--c-ink);--shadow-lg:6px 6px 0 var(--c-ink);--shadow-sm:3px 3px 0 var(--c-ink);--font:"Baloo 2 Variable", "Baloo 2", "Segoe UI", system-ui, sans-serif;--font-head:"Lilita One", "Baloo 2 Variable", "Segoe UI", system-ui, sans-serif;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--topic-tecnologia-water:#9ecdf2;--topic-tecnologia-accent:#2f6fdc;--topic-tecnologia-deco-1:#d94141;--topic-tecnologia-deco-2:#fff;--topic-tecnologia-deco-3:#4a78d8;--topic-ciencia-frame:#4f9d7c;--topic-ciencia-block:#bfe3d2;--topic-ciencia-path:#f6fbf9;--topic-ciencia-water:#bfe4f2;--topic-ciencia-accent:#1f8a4c;--topic-ciencia-deco-1:#dcede6;--topic-ciencia-deco-2:#dcede6;--topic-ingenieria-frame:#c9741f;--topic-ingenieria-block:#f0b565;--topic-ingenieria-path:#fff0cf;--topic-ingenieria-water:#6d625a;--topic-ingenieria-accent:#d9822b;--topic-ingenieria-deco-1:#e4b768;--topic-artes-frame:#7d4cc7;--topic-artes-block:#d6c2f3;--topic-artes-path:#fbf7ff;--topic-artes-water:#eaa9cc;--topic-artes-accent:#8e5bd8;--topic-matematicas-frame:#d9503f;--topic-matematicas-block:#f7b9b0;--topic-matematicas-path:#fff6f3;--topic-matematicas-water:#bfe4f2;--topic-matematicas-accent:#e0604f;--topic-matematicas-deco-1:#f3c9c2;--topic-matematicas-deco-2:#f3c9c2}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);background:var(--c-bg);color:var(--c-ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-head);margin:0 0 .5rem;font-weight:400;line-height:1.2}h2{font-size:1.5rem}h3{font-size:1.15rem}p{margin:0}a{color:var(--c-brand-strong)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--c-brand);outline-offset:2px}.icon{flex:none}[hidden]{display:none!important}.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}.page{max-width:1100px;margin:0 auto;padding:20px 16px 64px}.stack{gap:16px;display:grid}.stack-sm{gap:8px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.two-col{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:16px;display:grid}@media (width<=860px){.two-col{grid-template-columns:1fr}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head h2{margin:0}.muted{color:var(--c-muted)}.small{font-size:.875rem}.card{background:var(--c-surface);border:3px solid var(--c-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.card-link{color:var(--c-ink);transition:border-color .15s var(--ease), transform .15s var(--ease);gap:6px;text-decoration:none;display:grid}.card-link:hover{border-color:var(--c-ink);box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.btn{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface);min-height:44px;box-shadow:var(--shadow-sm);cursor:pointer;color:var(--c-ink);transition:transform .12s var(--ease), box-shadow .12s var(--ease), background-color .12s var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--c-surface-2)}.btn:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-action);color:var(--c-action-ink)}.btn-primary:hover:not(:disabled){background:var(--c-action-strong)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--c-surface-2);border-color:var(--c-ink)}.btn-ghost:active:not(:disabled){transform:none}.btn-danger{color:var(--c-error)}.btn[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-btn{color:var(--c-brand-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-weight:700;text-decoration:none;display:inline-flex}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{color:var(--c-muted);cursor:default}.icon-btn{width:40px;height:40px;color:var(--c-muted);cursor:pointer;transition:background-color .12s var(--ease), color .12s var(--ease);background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;display:inline-grid;position:relative}.icon-btn:hover:not(:disabled){background:var(--c-surface-2);border-color:var(--c-line);color:var(--c-ink)}.icon-btn-danger:hover:not(:disabled){background:var(--c-error-soft);color:var(--c-error);border-color:#0000}.icon-btn:disabled{opacity:.35;cursor:not-allowed}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--c-ink);color:var(--c-on-ink);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s var(--ease), transform .12s var(--ease);z-index:5;border-radius:8px;padding:4px 8px;font-size:.75rem;font-weight:700;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,4px)}[data-tooltip]:hover:not(:disabled):after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}@media (hover:none){[data-tooltip]:after{display:none}}.field{gap:6px;display:grid}.field>label,.label{font-size:.9rem;font-weight:700}.hint{color:var(--c-muted);font-size:.85rem}.input,.select{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface);width:100%;min-height:44px;transition:background-color .12s var(--ease);padding:10px 14px}.input:hover,.select:hover{background:var(--c-surface-2)}.input::placeholder{color:var(--c-placeholder)}.input[aria-invalid=true]{border-color:var(--c-error);background:var(--c-error-wash)}.field-error{color:var(--c-error);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}textarea.input{resize:vertical;line-height:1.5}.input-with-action{position:relative}.input-with-action .input{padding-right:52px}.input-action{width:40px;height:40px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-action:hover{color:var(--c-ink);background:var(--c-surface-2)}.input-action[data-tooltip]:after{left:auto;right:0;transform:translateY(4px)}.input-action[data-tooltip]:hover:after,.input-action[data-tooltip]:focus-visible:after{transform:translateY(0)}.rules{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.rules li{color:var(--c-muted);transition:color .15s var(--ease);align-items:center;gap:6px;font-size:.875rem;display:flex}.rules li[data-ok=true]{color:var(--c-ok);font-weight:700}.otp-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800}.alert{border-radius:var(--radius);padding:12px 16px;font-weight:600}.alert.row{gap:10px}.alert-error{background:var(--c-error-soft);color:var(--c-error)}.alert-ok{background:var(--c-ok-soft);color:var(--c-ok)}.alert-info{background:var(--c-brand-soft);color:var(--c-brand-strong)}.badge{background:var(--c-brand-soft);color:var(--c-brand-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.badge-ok{background:var(--c-ok-soft);color:var(--c-ok)}.badge-warn{background:var(--c-warn-soft);color:var(--c-warn)}.badge-muted{background:var(--c-surface-2);color:var(--c-muted);border:1px solid var(--c-line)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--c-line);padding:10px 8px}.table tbody tr:last-child td{border-bottom:0}.table th{text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);background:var(--c-surface-2);font-size:.75rem}.table-wrap{overflow-x:auto}.table .row-link{color:var(--c-ink);font-weight:700;text-decoration:none}.table .row-link:hover{color:var(--c-brand-strong);text-decoration:underline}.medal{font-size:1.4rem;line-height:1}.position{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:.85rem;font-weight:800;display:inline-grid}.meter{background:var(--c-line);border:2px solid var(--c-ink);border-radius:999px;height:12px;overflow:hidden}.meter>span{background:var(--c-ok);height:100%;transform:scaleX(var(--value,0));transform-origin:0;transition:transform .3s var(--ease);display:block}.live{color:var(--c-ok);align-items:center;gap:6px;font-size:.8rem;font-weight:800;display:inline-flex}.live:before{content:"";width:8px;height:8px;animation:pulse 1.6s var(--ease) infinite;background:currentColor;border-radius:50%}@keyframes pulse{50%{opacity:.3}}.segmented{background:var(--c-surface);border:3px solid var(--c-ink);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;display:grid}.segmented button{min-height:38px;color:var(--c-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--c-action);color:var(--c-action-ink)}.empty{text-align:center;color:var(--c-muted);border:2px dashed var(--c-line);border-radius:var(--radius-lg);justify-items:center;gap:10px;padding:28px 20px;display:grid}.empty .icon{color:var(--c-line-strong)}.code{letter-spacing:.12em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:1.05rem;font-weight:800}.connection-banner{z-index:40;background:var(--c-warn-soft);width:max-content;max-width:calc(100% - 32px);color:var(--c-warn);border:1px solid var(--c-warn-edge);box-shadow:var(--shadow-lg);animation:toast-in .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:700;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.connection-banner[data-kind=unreachable]{background:var(--c-error-soft);color:var(--c-error);border-color:var(--c-error-line)}.toasts{z-index:30;gap:8px;width:min(480px,100% - 32px);display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius);background:var(--c-ink);color:var(--c-on-ink);box-shadow:var(--shadow-lg);animation:toast-in .2s var(--ease);align-items:center;gap:10px;padding:12px 12px 12px 16px;font-weight:600;display:flex}.toast>span{flex:1}.toast[data-tone=ok] .icon:first-child{color:var(--c-on-ink-ok)}.toast[data-tone=error] .icon:first-child{color:var(--c-on-ink-error)}.toast-action{color:var(--c-on-ink-link);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-weight:800}.toast-close{color:var(--c-on-ink-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:4px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.topbar{background:var(--c-action);border-bottom:4px solid var(--c-ink)}.topbar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:14px 16px;display:flex}.brand{font-family:var(--font-head);color:var(--c-ink);align-items:center;gap:10px;font-size:1.6rem;font-weight:400;text-decoration:none;display:flex}.brand img{background:var(--c-path);border-radius:12px;width:40px;height:40px;padding:5px}.robot-badge{background:var(--c-path);border-radius:999px;place-items:center;width:112px;height:112px;margin:0 auto;display:grid}.robot-badge img{width:76px}.user-chip{align-items:center;gap:4px;display:flex}.user-chip [data-tooltip]:after{left:auto;right:0;transform:translateY(4px)}.user-chip [data-tooltip]:hover:not(:disabled):after,.user-chip [data-tooltip]:focus-visible:after{transform:translateY(0)}.avatar{background:var(--c-brand-soft);width:36px;height:36px;color:var(--c-brand-strong);border-radius:50%;place-items:center;font-weight:800;display:grid}.tabs{flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:16px 0;display:flex}.tab{color:var(--c-ink);background:var(--c-surface);border:3px solid var(--c-ink);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 16px;font-weight:800;text-decoration:none;display:inline-flex}.tab:hover{background:var(--c-surface-2)}.tab[aria-current=page]{background:var(--c-action);box-shadow:var(--shadow-sm)}@media (width<=640px){.has-bottom-nav .page{padding-bottom:96px}.tabs{z-index:20;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--c-surface);border-top:3px solid var(--c-ink);border-bottom:0;flex-wrap:nowrap;justify-content:space-around;gap:4px;margin:0;position:fixed;bottom:0;left:0;right:0}.tab{background:0 0;border-width:2px;border-color:#0000;border-radius:12px;flex-direction:column;flex:1;gap:2px;padding:6px 4px;font-size:.75rem}.tab[aria-current=page]{box-shadow:none;border-color:var(--c-ink);background:var(--c-action)}.user-name{display:none}}.auth{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{width:min(460px,100%);padding:28px}.auth-title{margin-bottom:4px;font-size:1.6rem}.hero{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.hero-inner{text-align:center;justify-items:center;gap:12px;max-width:760px;display:grid}.hero h1{margin:0;font-size:clamp(2rem,5vw,3rem)}.choices{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;width:100%;margin-top:20px;display:grid}.choices-title{margin:12px 0 0;font-size:1.25rem}.choice{text-align:center;border-radius:var(--radius-lg);background:var(--c-surface);border:3px solid var(--c-ink);color:var(--c-ink);box-shadow:var(--shadow);transition:border-color .15s var(--ease), transform .15s var(--ease);justify-items:center;gap:6px;padding:24px;text-decoration:none;display:grid;position:relative}.choice:hover{border-color:var(--c-brand);transform:translateY(-2px)}.choice strong{font-size:1.3rem}.choice-img{width:120px;height:120px;transition:transform .2s var(--ease);margin-bottom:4px}.choice:hover .choice-img{transform:scale(1.05)}.choice-go{color:var(--c-muted);position:absolute;top:16px;right:16px}.choice:hover .choice-go{color:var(--c-brand-strong)}.class-list{gap:8px;display:grid}.class-item{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface);color:var(--c-ink);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-weight:700;text-decoration:none;display:flex}.class-item:hover{border-color:var(--c-brand)}.class-item[aria-current=page]{border-color:var(--c-brand);background:var(--c-brand-soft)}.name-preview{gap:6px;margin:0;padding:0;list-style:none;display:grid}.name-preview li{border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:6px 10px;font-size:.9rem;display:grid}.name-preview li[data-status=ok]{background:var(--c-ok-soft);color:var(--c-ok);font-weight:700}.name-preview li[data-status=invalid]{background:var(--c-error-soft);color:var(--c-error)}.name-preview li[data-status=duplicate]{background:var(--c-warn-soft);color:var(--c-warn)}.name-preview .reason{grid-column:2;font-size:.8rem;font-weight:600}.code-cell{align-items:center;gap:4px;display:flex}.q-card{gap:14px;display:grid}.q-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.q-head h3{align-items:center;gap:10px;margin:0;display:flex}.q-number{background:var(--c-brand-soft);width:30px;height:30px;color:var(--c-brand-strong);border-radius:50%;place-items:center;font-size:.95rem;display:grid}.q-tools{gap:2px;display:flex}.option-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.option-row .field-error{grid-column:2/-1}.correct-toggle{border:1px solid var(--c-line-strong);background:var(--c-surface);min-height:40px;color:var(--c-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:.8rem;font-weight:800;display:inline-flex}.correct-toggle[aria-pressed=true]{border-color:var(--c-ok);background:var(--c-ok-soft);color:var(--c-ok)}.points-input{text-align:center;width:84px}@media (width<=640px){.hide-mobile{display:none}}.form-footer{z-index:10;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--c-line);box-shadow:var(--shadow-lg);background:#ffffffeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:0}@media (width<=640px){.form-footer{bottom:84px}}.kid{font-size:1.15rem}.kid .btn{min-height:56px;padding:12px 24px;font-size:1.15rem}.code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;min-height:72px;font-family:ui-monospace,Consolas,monospace;font-size:2rem}.game{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.board-column{grid-area:1/2;gap:16px;min-width:0;display:grid}.workspace{flex-direction:column;grid-area:1/1;align-self:stretch;gap:14px;padding:18px;display:flex}.goal-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;display:grid}.goal-card{align-content:start;gap:8px;padding:16px;display:grid}.goal-card .badge{justify-self:start}.goal-card .play-goal{box-shadow:none;background:0 0;border:0;padding:0}.robi-card{align-content:center;justify-items:center;gap:6px;padding:10px 12px;display:grid}.board-panel{justify-items:center;gap:10px;padding:16px;display:grid}.board-panel h2{text-transform:uppercase;justify-self:start;margin:0;font-size:1.4rem}.board-panel .board,.board-panel .board[data-topic]{width:100%;max-width:300px;box-shadow:none;background:0 0;border:0;padding:0}.camera-slot:empty{display:none}.camera-slot .vision-controls{background:var(--c-surface-2)}@media (width<=860px){.game{grid-template-columns:1fr}.board-column,.workspace{grid-column:1}.workspace{grid-row:2}.vision-camera{aspect-ratio:16/7}}.program-workspace,.editor{flex-direction:column;flex:1;gap:14px;display:flex}.program-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.program-title{margin:0;font-size:1.4rem}.program-head-actions,.mode-toggle{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mode-toggle .btn[data-active]{background:var(--c-action)}.sequence[data-editable]{border:2px solid var(--c-ink);border-radius:var(--radius);background:var(--c-surface);flex-direction:column;flex:1;gap:12px;min-height:150px;padding:16px;display:flex}.sequence[data-editable] .program{background:0 0;border:0;min-height:0;padding:0}.program-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:auto;display:flex}.piece-tray{border:3px solid var(--c-ink);border-radius:var(--radius-lg);background:var(--c-surface-2);padding:14px}.piece-hand{font-size:2.6rem;line-height:1}.block-btn.piece-thumb{cursor:default;font-size:2.6rem}@media (width<=640px){.palette-sep{display:none}}.palette-sep{background:var(--c-ink);border-radius:2px;width:4px;height:56px}.block-btn[data-current]{background:var(--c-action);box-shadow:var(--shadow);transform:translate(-2px,-2px)}.progress-dots{gap:8px;display:flex}.progress-dots span{background:var(--c-line);border-radius:50%;width:18px;height:18px}.progress-dots span[data-state=done]{background:var(--c-ok)}.progress-dots span[data-state=current]{background:var(--c-brand);box-shadow:0 0 0 4px var(--c-brand-soft)}.board{border-radius:var(--radius-lg);border:3px solid var(--c-ink);box-shadow:var(--shadow);background:var(--c-grass-dark);-webkit-user-select:none;user-select:none;gap:4px;max-width:min(100%,72vh);padding:10px;display:grid;position:relative}.tile{aspect-ratio:1;background:var(--c-grass);border-radius:10px;place-items:center;display:grid}.tile[data-walkable=true]{background:var(--c-path)}.tile .star{filter:drop-shadow(0 2px 2px #0003);width:62%}.robot{pointer-events:none;transition:transform var(--step-ms,.45s) ease, left var(--step-ms,.45s) ease, top var(--step-ms,.45s) ease;place-items:center;display:grid;position:absolute}.robot img{width:78%}.palette{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.vision-controls{border:3px solid var(--c-ink);border-radius:var(--radius);background:var(--c-surface);box-shadow:var(--shadow);gap:12px;padding:16px;display:grid}.vision-head{align-items:center;gap:8px;padding-right:24px;display:flex}.vision-title{font-family:var(--font-head);font-size:1.1rem}.vision-state{border:2px solid var(--c-ink);background:var(--c-surface);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:800}.vision-camera{aspect-ratio:16/9;background:var(--c-surface-2);border-radius:10px;position:relative;overflow:hidden}.vision-video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.vision-preparing{border:2px solid var(--c-ink);background:var(--c-surface);color:var(--c-ink);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:800;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.vision-placeholder{text-align:center;height:100%;color:var(--c-muted);place-content:center;justify-items:center;gap:12px;padding:16px;display:grid}.vision-feedback{gap:6px;display:grid}.vision-feedback progress{width:100%;height:10px;accent-color:var(--c-brand)}.block-btn{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface);box-shadow:var(--shadow-sm);cursor:pointer;min-height:92px;transition:background-color .12s var(--ease), transform .12s var(--ease), box-shadow .12s var(--ease);place-items:center;gap:4px;padding:10px 6px;font-size:.85rem;font-weight:800;display:grid}.block-btn:hover:not(:disabled){background:var(--c-surface-2)}.block-btn img{object-fit:contain;width:56px;height:48px}.block-btn:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}.block-btn:disabled{opacity:.5;cursor:not-allowed}.program{border-radius:var(--radius);border:2px dashed var(--c-line);background:var(--c-surface);flex-wrap:wrap;gap:8px;min-height:88px;padding:10px;display:flex}.program-block{border:3px solid var(--c-ink);background:var(--c-brand-soft);cursor:pointer;border-radius:12px;place-items:center;width:64px;height:64px;display:grid;position:relative}.program-block img{object-fit:contain;width:46px;height:40px}.program-block .step-n{color:var(--c-muted);font-size:.7rem;font-weight:800;position:absolute;top:2px;left:6px}.program-block[data-state=active]{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.program-block[data-state=error]{border-color:var(--c-error);background:var(--c-error-soft)}.repeat-block{border:2px solid var(--c-line);background:var(--c-surface-2);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.feedback{border-radius:var(--radius);padding:14px 16px;font-weight:700}.feedback[data-tone=success]{background:var(--c-ok-soft);color:var(--c-ok)}.feedback[data-tone=retry]{background:var(--c-warn-soft);color:var(--c-warn)}.dialog{background:var(--c-surface);width:min(640px,100% - 32px);max-height:calc(100dvh - 32px);color:inherit;border-radius:var(--radius-lg);animation:pop-in .22s var(--ease);border:0;margin:auto;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.dialog::backdrop{animation:fade-in .16s var(--ease);background:#1f243073}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)translateY(8px)}}.options{gap:12px;margin-top:16px;display:grid}.option{border-radius:var(--radius-lg);border:3px solid var(--c-ink);min-height:72px;box-shadow:var(--shadow-sm);background:var(--c-surface);text-align:left;cursor:pointer;transition:border-color .12s var(--ease), transform .12s var(--ease);align-items:center;gap:14px;padding:16px 20px;font-size:1.35rem;font-weight:800;display:flex}.option:hover:not(:disabled){border-color:var(--c-brand)}.option:active:not(:disabled){transform:scale(.98)}.option-letter{background:var(--c-brand-soft);width:40px;height:40px;color:var(--c-brand-strong);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;display:grid}.result-robot{background:var(--c-path);border-radius:999px;place-items:center;width:128px;height:128px;margin:0 auto;display:grid}.result-robot img{width:88px}.result-score{font-size:clamp(3rem,10vw,5rem);font-weight:900;line-height:1}.print-only{display:none}@media print{body{background:#fff}body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{display:block;position:absolute;inset:0}.print-cards{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.print-card{break-inside:avoid;text-align:center;border:1px dashed #999;border-radius:12px;padding:14px}.print-card .code{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.btn-sm{min-height:36px;padding:6px 14px;font-size:.9rem}.explore{min-height:100dvh}.explore-header{z-index:15;background:var(--c-action);border-bottom:4px solid var(--c-ink);position:sticky;top:0}.explore-header-inner{align-items:center;gap:20px;max-width:1100px;margin:0 auto;padding:10px 16px;display:flex}.explore-nav{flex:1;gap:4px;display:flex;overflow-x:auto}.explore-nav a{border-radius:var(--radius);color:var(--c-ink);white-space:nowrap;border:3px solid #0000;padding:6px 14px;font-size:.95rem;font-weight:800;text-decoration:none}.explore-nav a:hover{border-color:var(--c-ink);background:var(--c-surface)}.explore-nav a[aria-current=page]{color:var(--c-ink);background:var(--c-surface);border-color:var(--c-ink);box-shadow:var(--shadow-sm)}.explore-main{gap:24px;max-width:1100px;margin:0 auto;padding:28px 16px 64px;display:grid}@media (width<=640px){.explore-header-inner{flex-wrap:wrap;gap:8px}.explore-nav{flex-basis:100%;order:3}.sound-toggle{margin-left:auto}.sound-toggle-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.hero-title{margin:0 0 6px;font-size:clamp(1.9rem,4.5vw,2.6rem)}.breadcrumbs{color:var(--c-muted);font-size:.875rem}.breadcrumbs a{color:var(--c-brand-strong);font-weight:700;text-decoration:none}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.topic-card{border-radius:var(--radius-lg);background:var(--c-surface);border:3px solid var(--c-ink);box-shadow:inset 0 -6px 0 var(--topic), var(--shadow);color:var(--c-ink);transition:transform .15s var(--ease), border-color .15s var(--ease);align-content:start;gap:4px;padding:18px 18px 22px;text-decoration:none;display:grid}a.topic-card:hover{border-color:var(--topic);transform:translateY(-2px)}.topic-card[aria-disabled=true]{opacity:.7;box-shadow:inset 0 -6px 0 var(--c-line), var(--shadow)}.topic-card .badge{justify-self:start;margin-top:4px}.topic-emoji{background:var(--c-surface-2);border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:6px;font-size:1.5rem;display:grid}.role-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px;display:grid}.role-card{border-radius:var(--radius-lg);background:var(--c-surface);border:3px solid var(--c-ink);box-shadow:var(--shadow);color:var(--c-ink);transition:border-color .15s var(--ease);align-items:center;gap:16px;padding:18px;text-decoration:none;display:flex}.role-card:hover{border-color:var(--c-ink);box-shadow:var(--shadow-lg)}.role-card img{flex:none;width:96px;height:96px}.role-card .btn{justify-self:start}.topic-head{align-items:center;gap:14px;display:flex}.topic-head .topic-emoji{background:var(--c-brand-soft);width:56px;height:56px;margin:0;font-size:1.9rem}.level-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.level-card{border-radius:var(--radius-lg);background:var(--c-surface);border:3px solid var(--c-ink);box-shadow:var(--shadow);color:var(--c-ink);align-content:start;gap:6px;padding:20px;text-decoration:none;display:grid}a.level-card:hover{border-color:var(--c-brand)}.level-card[aria-disabled=true]{opacity:.6}.level-card .badge{justify-self:start}.level-dots{gap:4px;display:flex}.level-dots span{background:var(--c-line);border-radius:50%;width:9px;height:9px}.level-dots span[data-on=true]{background:var(--c-brand)}.level-name{font-size:1.3rem}.level-ages{color:var(--c-brand-strong);font-size:.85rem;font-weight:800}.segmented-link{min-height:38px;color:var(--c-muted);border-radius:999px;place-items:center;padding:0 14px;font-weight:700;text-decoration:none;display:grid}.segmented-link[aria-current=page]{background:var(--c-action);color:var(--c-action-ink)}.challenge-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.challenge-card{border-radius:var(--radius-lg);background:var(--c-surface);border:3px solid var(--c-ink);box-shadow:var(--shadow);color:var(--c-ink);transition:transform .15s var(--ease), box-shadow .15s var(--ease);text-decoration:none;display:grid;overflow:hidden}.challenge-card:hover{box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.challenge-card[data-done]{background:var(--c-ok-soft)}.challenge-art{background:var(--c-brand-soft);place-items:center;height:90px;font-size:2.2rem;display:grid}.challenge-info{gap:4px;padding:12px 14px 14px;display:grid}.challenge-info .badge{justify-self:start}.intro-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:start;gap:16px;display:grid}@media (width<=860px){.intro-grid{grid-template-columns:1fr}}.preview{background:var(--c-brand-wash)}.preview .board{margin:0 auto;max-width:320px!important}.chip{background:var(--c-chip);border:1px solid var(--c-chip-line);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.play-goal{border-radius:var(--radius);background:var(--c-surface);border:3px solid var(--c-ink);box-shadow:var(--shadow-sm);padding:10px 14px}[data-over]{color:var(--c-warn)}.program[data-readonly]{background:var(--c-surface-2);border-style:solid}.progress-row{grid-template-columns:140px minmax(0,1fr) 110px;align-items:center;gap:12px;display:grid}.progress-label{font-weight:700}.progress-count{text-align:right}.topic-meter>span{background:var(--topic)}@media (width<=560px){.progress-row{grid-template-columns:1fr auto}.progress-row .meter{grid-area:2/1/auto/-1}}.tile[data-kind=water]{background:var(--c-water)}.tile-mark{font-size:clamp(1rem,3vw,1.8rem);line-height:1}button.tile{font:inherit;cursor:pointer;border:0;padding:0}button.tile:hover{box-shadow:inset 0 0 0 3px var(--c-brand)}.tile[data-picked]{box-shadow:inset 0 0 0 4px var(--c-brand);background:var(--c-brand-soft)}.tile[data-answer]{box-shadow:inset 0 0 0 4px var(--c-ok)}.impact-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.impact-stat{border-radius:var(--radius-lg);border:1px solid var(--c-line);background:var(--c-surface);gap:2px;padding:18px 20px;display:grid}.impact-stat strong{color:var(--c-brand-strong);font-variant-numeric:tabular-nums;font-size:2.4rem;line-height:1.1}.impact-stat span{font-weight:700}.impact-stat small{color:var(--c-muted)}.impact-qr{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.qr{border-radius:var(--radius);border:1px solid var(--c-line);flex:none}details>summary{cursor:pointer}.evidence{gap:6px;margin:8px 0 0;padding-left:20px;display:grid}.progress-row[data-wide]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 72px}@media (width<=640px){.progress-row[data-wide]{grid-template-columns:minmax(0,1fr) 72px}.progress-row[data-wide] .progress-label{grid-column:1/-1}.progress-row[data-wide] .meter{grid-area:2/1}.progress-row[data-wide] .progress-count{grid-row:2}}body:before,body:after{content:"";z-index:-1;pointer-events:none;background:var(--c-action);opacity:.4;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);position:fixed}body:before{width:150px;height:130px;top:110px;right:6%}body:after{width:110px;height:96px;bottom:40px;left:3%}@media (width<=860px){body:before,body:after{display:none}}.page,.explore-main,.explore-header-inner{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}@media (width<=640px){.tabs{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}}.lab-board{border-radius:var(--radius-lg);background:var(--c-line);-webkit-user-select:none;user-select:none;gap:4px;width:100%;max-width:min(100%,72vh,520px);margin:0 auto;padding:10px;display:grid;position:relative}.lab-tile{aspect-ratio:1;background:var(--c-surface);color:var(--c-muted);border-radius:10px;place-items:center;font-size:clamp(.9rem,2.6vw,1.3rem);font-weight:800;display:grid;position:relative}.lab-tile[data-kind=wall]{background:var(--c-wall)}.lab-tile[data-kind=rough]{background:var(--c-warn-soft);color:var(--c-warn);box-shadow:inset 0 0 0 2px var(--c-warn-edge)}.lab-tile[data-kind=station]{background:var(--c-brand-soft);color:var(--c-brand-strong)}.lab-tile[data-kind=goal]{background:var(--c-ok-soft)}.lab-tile[data-kind=start]{background:var(--c-surface-2)}.lab-tile[data-visited],.lab-tile[data-kind=rough][data-visited]{box-shadow:inset 0 0 0 3px var(--c-ok)}.lab-star{filter:drop-shadow(0 2px 2px #0003);width:62%}.lab-mark{line-height:1}.lab-legend{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lab-legend .chip:before{content:"";background:var(--swatch,var(--c-line));width:12px;height:12px;box-shadow:var(--swatch-ring,none);border-radius:4px}.mission-thumb{background:var(--c-line);border-radius:12px;gap:2px;width:100%;max-width:120px;padding:6px;display:grid}.mission-thumb span{aspect-ratio:1;background:var(--c-surface);border-radius:3px}.mission-thumb span[data-kind=wall]{background:var(--c-wall)}.mission-thumb span[data-kind=rough]{background:var(--c-warn-edge)}.mission-thumb span[data-kind=station]{background:var(--c-brand)}.mission-thumb span[data-kind=goal]{background:var(--c-ok)}.mission-thumb span[data-kind=start]{background:var(--c-path)}.mission-card .challenge-art{background:var(--c-surface-2);height:auto;padding:10px}.lab-levels{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.lab-level{text-align:left;border-radius:var(--radius);border:2px solid var(--c-line);background:var(--c-surface);cursor:pointer;color:var(--c-ink);transition:border-color .12s var(--ease);align-content:start;gap:4px;padding:12px 14px;display:grid}.lab-level:hover:not(:disabled){border-color:var(--c-brand)}.lab-level[aria-pressed=true]{border-color:var(--c-brand);background:var(--c-brand-soft)}.lab-level-num{letter-spacing:.08em;text-transform:uppercase;color:var(--c-brand-strong);font-size:.7rem;font-weight:800}.lab-level strong{font-size:1.05rem}.lab-level .badge{justify-self:start}.lab-arrows{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.lab-arrow{border-radius:var(--radius);border:2px solid var(--c-line);background:var(--c-brand-soft);min-height:56px;color:var(--c-brand-strong);cursor:pointer;transition:border-color .12s var(--ease), transform .12s var(--ease);font-size:1.6rem;font-weight:800}.lab-arrow:hover:not(:disabled){border-color:var(--c-brand)}.lab-arrow:active:not(:disabled){transform:scale(.95)}.lab-arrow:disabled{opacity:.5;cursor:not-allowed}.lab-program{border-radius:var(--radius);border:2px dashed var(--c-line);background:var(--c-surface);flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:88px;padding:10px;display:flex}.lab-steps{flex-wrap:wrap;flex:100%;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lab-steps:empty{display:none}.lab-cmd{background:var(--c-brand);min-height:40px;color:var(--c-brand-ink);cursor:pointer;border:0;border-radius:10px;padding:0 10px;font-size:1.1rem;font-weight:800}.lab-cmd:hover:not(:disabled){background:var(--c-error)}.lab-cmd:disabled{opacity:.6;cursor:not-allowed}.lab-cmd[data-state=error]{background:var(--c-error)}.lab-meters{flex-wrap:wrap;gap:8px;display:flex}.lab-meters .chip[data-over]{background:var(--c-error-soft);border-color:var(--c-error-line);color:var(--c-error)}.lab-meters .chip[data-done]{background:var(--c-ok-soft);border-color:var(--c-ok-line);color:var(--c-ok)}.lab-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lab-steps li{background:var(--c-surface-2);border:1px solid var(--c-line);color:var(--c-muted);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:700}.lab-steps li[aria-current=step]{background:var(--c-brand-soft);color:var(--c-brand-strong);border-color:#0000}.lab-steps li[data-done]{color:var(--c-ok)}.lab-validation{border-radius:var(--radius);background:var(--c-surface-2);border:1px solid var(--c-line);gap:6px;padding:14px 16px;display:grid}.lab-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--c-brand-strong);font-size:.72rem;font-weight:800}.lab-preview{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=480px){.lab-preview{grid-template-columns:1fr}}.lab-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.lab-logs{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lab-log{border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;font-size:.9rem;line-height:1.45}.lab-log[data-ok]{border-color:var(--c-ok-line);background:var(--c-ok-wash)}.lab-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}@media (width<=640px){.lab-hero{grid-template-columns:1fr}}.lab-mission-card{color:var(--c-ink);grid-template-columns:120px minmax(0,1fr);align-items:start;gap:10px;text-decoration:none;display:grid}.lab-mission-card .row{gap:6px}@media (width<=480px){.lab-mission-card{grid-template-columns:1fr}}.explore-back{width:44px;height:44px;color:var(--c-brand-strong);border-radius:12px;flex:none;place-items:center;margin-left:-10px;display:inline-grid}.explore-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:1.1rem;font-weight:800;overflow:hidden}.explore-menu-btn{color:var(--c-ink);margin-left:auto}@media (width<=640px){.explore-header-inner{gap:8px;min-height:60px}.explore-header-inner .brand{color:var(--c-ink);flex:1}.explore-header .explore-nav{border-top:3px solid var(--c-ink);gap:4px;padding:4px 12px 12px;display:grid;overflow:visible}.explore-header .explore-nav a{border-radius:var(--radius);min-height:48px;color:var(--c-ink);white-space:normal;padding:12px 14px;font-size:1rem;display:block}.explore-header .explore-nav a[aria-current=page]{color:var(--c-ink);background:var(--c-surface);border-color:var(--c-ink)}.explore-main>.breadcrumbs{display:none}.explore-main{padding-top:20px}}.action-bar{align-items:center;gap:12px;display:flex}.action-bar>.btn-primary{flex:1}@media (width<=640px){.action-bar{z-index:20;padding:10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--c-surface);border-top:1px solid var(--c-line);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1f243014}.action-bar .btn{min-height:52px}.has-action-bar{padding-bottom:calc(88px + env(safe-area-inset-bottom))}body:has(.action-bar) .toasts{bottom:calc(88px + env(safe-area-inset-bottom))}}@property --mo-amp{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esx{syntax:"<number>";inherits:true;initial-value:1}@property --mo-esy{syntax:"<number>";inherits:true;initial-value:1}@property --mo-tilt{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edy{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edx{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esx2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esy2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-tilt2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edy2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-lock{syntax:"<number>";inherits:true;initial-value:0}@property --mo-shake{syntax:"<number>";inherits:true;initial-value:0}@property --mo-rock{syntax:"<number>";inherits:true;initial-value:0}@property --mo-rockp{syntax:"<number>";inherits:true;initial-value:1}@property --mo-bdy{syntax:"<number>";inherits:true;initial-value:0}.mo-root,.mo-breathe,.mo-bob{transform-box:view-box;transform-origin:50%}.mo-root{--mo-amp:0;--mo-morph:calc(.4s*var(--mo-rate,1));--mo-morph-ease:ease-in-out;--mo-tp:--mo-esx,--mo-esy,--mo-tilt,--mo-edy,--mo-edx,--mo-esx2,--mo-esy2,--mo-tilt2,--mo-edy2,--mo-lock,--mo-shake,--mo-rock,--mo-bdy;--mo-md:var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph);--mo-me:var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease);transition-property:--mo-amp,transform,var(--mo-tp);transition-duration:calc(.4s*var(--mo-rate,1)),calc(.16s*var(--mo-rate,1)),var(--mo-md);transition-timing-function:ease-out,cubic-bezier(.23,1,.32,1),var(--mo-me);animation:mo-shake calc(.112s*var(--mo-rate,1))linear infinite}.mo-bob>g:not(.mo-eyes){fill:var(--mo-head);transition:fill var(--mo-morph)var(--mo-morph-ease)}.mo-eyes{fill:var(--mo-eye);transition:fill var(--mo-morph)var(--mo-morph-ease)}@keyframes mo-shake{0%,to{translate:calc(.62px*var(--mo-shake))calc(-.34px*var(--mo-shake))}25%{translate:calc(-.7px*var(--mo-shake))calc(.22px*var(--mo-shake))}50%{translate:calc(.38px*var(--mo-shake))calc(.66px*var(--mo-shake))}75%{translate:calc(-.44px*var(--mo-shake))calc(-.6px*var(--mo-shake))}}.mo-root.mo-expr{--mo-morph:calc(.3s*var(--mo-rate,1));--mo-morph-ease:cubic-bezier(.45,.05,.5,1)}.mo-root:hover{--mo-amp:1;transition-duration:calc(.4s*var(--mo-rate,1)),calc(.22s*var(--mo-rate,1)),var(--mo-md);transform:translateY(-1.5px)scale(1.04)}.mo-root.mo-always{--mo-amp:1}.mo-breathe{animation-name:mo-breathe;animation-duration:calc(2.8s*var(--mo-rate,1));animation-delay:calc(var(--mo-phase,0s)*var(--mo-rate,1));animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}@keyframes mo-breathe{to{transform:scaleX(calc(1 + .022*var(--mo-amp)))scaleY(calc(1 - .018*var(--mo-amp)))}}.mo-bob{translate:0 calc(var(--mo-bdy)*1px);animation-name:mo-bob;animation-duration:calc(3.4s*var(--mo-rate,1));animation-delay:calc(var(--mo-bob-phase,0s)*var(--mo-rate,1));animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}@keyframes mo-bob{0%{transform:translateY(0)}to{transform:translateY(calc(-1.1px*var(--mo-amp)))}}.mo-eye{transform-box:view-box;--mo-sel:calc((var(--mo-wrap,1) + 1)/2);--mo-x:calc(var(--mo-esx) + var(--mo-esx2)*var(--mo-sel));--mo-y:calc(var(--mo-esy) + var(--mo-esy2)*var(--mo-sel));--mo-t:calc(var(--mo-tilt) + var(--mo-tilt2)*var(--mo-sel));--mo-ph:calc(var(--mo-sel)*(1 - var(--mo-rock)) + var(--mo-rock)*((1 + var(--mo-wrap,1)*var(--mo-rockp))/2));translate:calc(var(--mo-edx)*var(--mo-wrap,1)*1px)calc((var(--mo-edy) + var(--mo-edy2)*var(--mo-ph))*1px);rotate:calc((var(--mo-t)*var(--mo-wrap,1) - var(--mo-lean,0)*var(--mo-lock))*1deg);transform:rotate(calc(var(--mo-lean,0)*1deg))scaleX(var(--mo-x))scaleY(var(--mo-y))rotate(calc(var(--mo-lean,0)*-1deg));animation-name:mo-rock;animation-duration:calc(.9s*var(--mo-rate,1));animation-timing-function:ease-in-out;animation-iteration-count:infinite}@container style(--mo-rock:0){.mo-eye{animation-name:none}}@keyframes mo-rock{0%,to{--mo-rockp:1}50%{--mo-rockp:-1}}.mo-eye>*{transform-box:fill-box;transform-origin:50%;animation-name:mo-blink,mo-wrap;animation-duration:calc(var(--mo-blink,4.8s)*var(--mo-rate,1)),calc(var(--mo-saccade,5.6s)*var(--mo-rate,1));animation-delay:calc(var(--mo-blink-phase,0s)*var(--mo-rate,1)),calc(var(--mo-saccade-phase,0s)*var(--mo-rate,1));animation-timing-function:linear;animation-iteration-count:infinite}@keyframes mo-blink{0%,97.2%{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(1)rotate(calc(var(--mo-lean,0)*-1deg));animation-timing-function:ease-in}98.6%{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(calc(1 - .92*var(--mo-amp)))rotate(calc(var(--mo-lean,0)*-1deg));animation-timing-function:ease-out}to{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(1)rotate(calc(var(--mo-lean,0)*-1deg))}}.mo-eyes{animation-name:mo-saccade;animation-duration:calc(var(--mo-saccade,5.6s)*var(--mo-rate,1));animation-delay:calc(var(--mo-saccade-phase,0s)*var(--mo-rate,1));animation-timing-function:linear;animation-iteration-count:infinite}@keyframes mo-saccade{0%,15%{translate:0}16.5%,31%{translate:calc(-.8px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.9px*var(--mo-look-y,1.1)*var(--mo-amp))}32.5%,47%{translate:calc(1px*var(--mo-look-x,1.4)*var(--mo-amp))calc(.1px*var(--mo-look-y,1.1)*var(--mo-amp))}48.5%,63%{translate:calc(-.15px*var(--mo-look-x,1.4)*var(--mo-amp))calc(.85px*var(--mo-look-y,1.1)*var(--mo-amp))}64.5%,79%{translate:calc(.75px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.8px*var(--mo-look-y,1.1)*var(--mo-amp))}80.5%,98.5%{translate:calc(-1px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.15px*var(--mo-look-y,1.1)*var(--mo-amp))}to{translate:0}}@keyframes mo-wrap{0%,15%{rotate:none;scale:1}16.5%,31%{scale:calc(1 - .0176*var(--mo-look-mx,1.4)*var(--mo-amp) + .008*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .027*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.648deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}32.5%,47%{scale:calc(1 - .022*var(--mo-look-mx,1.4)*var(--mo-amp) - .01*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .003*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.09deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}48.5%,63%{scale:calc(1 - .0033*var(--mo-look-mx,1.4)*var(--mo-amp) + .0015*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .0255*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(-.115deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}64.5%,79%{scale:calc(1 - .0165*var(--mo-look-mx,1.4)*var(--mo-amp) - .0075*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .024*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(-.54deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}80.5%,98.5%{scale:calc(1 - .022*var(--mo-look-mx,1.4)*var(--mo-amp) + .01*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .0045*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.135deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}to{rotate:none;scale:1}}@media not ((hover:hover) and (pointer:fine)){.mo-root:hover{--mo-amp:0;transform:none}.mo-root.mo-always{--mo-amp:1}.mo-root:not(.mo-always),.mo-root:not(.mo-always) *{animation-play-state:paused}.mo-root.mo-expr:not(.mo-always) .mo-eye{animation-play-state:running}}.mo-slow{--mo-rate:5}@media (prefers-reduced-motion:reduce){.mo-root,.mo-breathe,.mo-bob,.mo-eyes,.mo-eye,.mo-eye>*{transition:none;animation:none}.mo-bob>g:not(.mo-eyes){transition:none}}.guide{right:max(16px, env(safe-area-inset-right));z-index:12;pointer-events:none;align-items:flex-end;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px}.guide>*{pointer-events:auto}.guide-face{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.guide-avatar{filter:drop-shadow(0 4px 6px #1f243026);display:block}.guide-bubble{background:var(--c-surface);border:3px solid var(--c-ink);min-width:0;max-height:40vh;box-shadow:var(--shadow);border-radius:18px 18px 4px;gap:6px;padding:12px 14px;font-size:.95rem;display:grid;position:relative;overflow-y:auto}.guide-bubble .btn{justify-self:start}.guide-name{color:var(--c-ok);font-size:.8rem}.guide[data-mood=happy] .guide-bubble{border-color:var(--c-ok-line);background:var(--c-ok-wash)}.guide[data-mood=surprised] .guide-bubble,.guide[data-mood=sad] .guide-bubble{border-color:var(--c-warn-line);background:var(--c-warn-wash)}.guide[data-folded] .guide-bubble{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:is(body:has(.guide) .explore-main,body:has(.guide) .page){padding-bottom:160px}@media (width<=640px){.guide{right:max(12px, env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));max-width:min(300px,100vw - 24px)}.guide-face svg{width:56px;height:56px}.guide-bubble{max-height:30vh;font-size:.9rem}.has-action-bar .guide{bottom:calc(88px + env(safe-area-inset-bottom))}}.robot-result{margin-top:16px}.robot-sheet .btn[aria-pressed=true]{background:var(--c-action);color:var(--c-action-ink)}.robot-dot{background:var(--c-error);border-radius:50%;flex:none;width:10px;height:10px}[data-state=searching] .robot-dot{background:var(--c-signal);animation:pulse 1.6s var(--ease) infinite}[data-state=on] .robot-dot{background:var(--c-ok)}.robot-btn{gap:10px}.robot-btn[data-state=on]{border-color:var(--c-ok);color:var(--c-ok)}.robot-chip{background:var(--c-error-soft);color:var(--c-error);border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:6px 14px;font-size:.9rem;font-weight:800;display:inline-flex}.robot-chip[data-state=searching]{background:var(--c-warn-soft);color:var(--c-warn)}.robot-chip[data-state=on]{background:var(--c-ok-soft);color:var(--c-ok)}.robot-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.robot-steps li{align-items:center;gap:10px;display:flex}.robot-step-n{background:var(--c-brand);width:26px;height:26px;color:var(--c-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:800;display:grid}.robot-sheet{gap:16px;display:grid}.robot-sheet:not([open]){display:none}.robot-sheet .input.code{text-transform:uppercase;max-width:180px}.sheet-actions{justify-content:flex-end}.sheet-actions .btn{flex:1}.sheet-handle{display:none}@media (width<=640px){.sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:none;padding:12px 20px calc(24px + env(safe-area-inset-bottom));animation:sheet-in .24s var(--ease);margin:auto 0 0}.sheet-handle{background:var(--c-line-strong);border-radius:999px;width:44px;height:5px;margin:0 auto;display:block}.robot-sheet .input.code{max-width:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.editor-label{color:var(--c-muted);font-size:.85rem;font-weight:800}.palette{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.block-btn{width:76px;height:76px;min-height:0;padding:6px}.block-btn img{width:58px;height:50px}.piece{position:relative}.piece-info{z-index:2;width:18px;height:18px;color:var(--c-muted);background:#ffffffe0;border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;right:3px}.piece-tip{z-index:5;background:var(--c-ink);width:max-content;max-width:120px;color:var(--c-on-ink);text-align:center;pointer-events:none;animation:fade-in .12s var(--ease);border-radius:8px;padding:4px 8px;font-size:.75rem;font-weight:700;line-height:1.25;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.piece:first-child>.piece-tip{left:0;transform:none}.piece:last-child>.piece-tip{left:auto;right:0;transform:none}.piece-info:active+.piece-tip{display:block}.piece:has(:focus-visible)>.piece-tip{display:block}@media (hover:hover){.piece:hover>.piece-tip{display:block}}.piece[data-tip-open]>.piece-tip{display:block}.piece-tip-detail{color:var(--c-on-ink-muted);font-weight:600;display:block}.piece[data-wide]>.piece-tip{text-align:left;max-width:220px}.piece[data-tip-dismissed]>.piece-tip{display:none}.repeat-icon{object-fit:contain;width:40px;height:34px}.repeat-block>.piece{place-items:center;width:48px;height:44px;display:grid}ul.program,ul.repeat-body{margin:0;list-style:none}ul.program{align-items:center}ul.repeat-body{flex-wrap:wrap;gap:6px;padding:0;display:flex}.repeat-times{width:70px;min-height:40px;padding:4px 8px;font-weight:800}.repeat-block[data-piece=repeat]{border-color:var(--c-sun);background:var(--c-sun-wash)}.program-block .step-n{z-index:1}.slot-empty{border:2px dashed var(--c-line-strong);border-radius:12px;width:64px;height:64px}@media (width<=640px){.palette{gap:8px}.block-btn{width:64px;height:64px;padding:5px}.block-btn img{width:50px;height:44px}.program-block,.slot-empty{width:56px;height:56px}.program-block img{width:42px;height:36px}.piece-info{width:16px;height:16px}}.program-actions [data-tooltip]:after{left:auto;right:0;transform:translateY(4px)}.program-actions [data-tooltip]:hover:not(:disabled):after,.program-actions [data-tooltip]:focus-visible:after{transform:translateY(0)}.play-goal h1{font-size:inherit;letter-spacing:normal;margin:0;font-weight:800;display:inline}.done{text-align:center;justify-items:center;gap:24px;max-width:620px;margin:0 auto}.done-top{justify-items:center;gap:8px;display:grid}.done-top h1{margin:0;font-size:clamp(1.9rem,6vw,2.4rem)}.done-burst{font-size:3rem;line-height:1}.stat-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.stat{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface-2);min-width:96px;padding:12px 16px;display:grid}.stat strong{color:var(--c-brand-strong);font-variant-numeric:tabular-nums;font-size:1.6rem}.stat span{color:var(--c-muted);font-size:.8rem}.done-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.saved-note{border-radius:var(--radius);background:var(--c-brand-soft);color:var(--c-brand-strong);flex-basis:100%;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:flex}@media (width<=640px){.done{min-height:calc(100dvh - 120px);box-shadow:none;background:0 0;border:0;grid-template-rows:auto 1fr;padding:0}.done-actions{padding-bottom:env(safe-area-inset-bottom);flex-direction:column;align-self:end;align-items:stretch}.done-actions .btn{min-height:52px}.done-actions .link-btn{justify-content:center;min-height:44px}}.mb{-webkit-user-select:none;user-select:none;width:100%;max-width:340px;position:relative}.mb-grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:4px;display:grid}.mb-cell{aspect-ratio:1;border:2px solid var(--c-path-edge);background:var(--c-path);border-radius:10px;place-items:center;font-size:1.2rem;line-height:1;display:grid;position:relative}.mb-cell[data-kind=wall]{background:var(--c-water)}.mb-cell[data-kind=rough]{background:var(--c-rough)}.mb-cell[data-kind=goal]{background:var(--c-goal)}.mb-cell[data-kind=station]{background:var(--c-brand-soft);border-color:var(--c-brand)}.mb-cell[data-visited]{background:var(--c-ok-soft)}.mb-cost{font-family:var(--font-head);color:var(--c-ink);font-size:.95rem}.mb-robot{top:calc(var(--r) * (100% / var(--rows)));left:calc(var(--c) * (100% / var(--cols)));width:calc(100% / var(--cols));height:calc(100% / var(--rows));transition:top var(--step-ms,.35s) ease, left var(--step-ms,.35s) ease;pointer-events:none;place-items:center;display:grid;position:absolute}.mb-robot-face{font-size:1.6rem;line-height:1}.mb-robot-heading{color:var(--c-brand);transform:rotate(var(--heading));transition:transform var(--step-ms,.35s) ease;place-items:start center;font-size:.8rem;display:grid;position:absolute;inset:0}.mission-player-meter{gap:4px;font-weight:800;display:grid}.mission-player-meter meter{width:100%;height:14px}.tile[data-walkable=true]{border:2px solid var(--c-path-edge)}.board[data-topic]{background:var(--board-frame)}.board[data-topic] .tile{background:var(--board-block)}.board[data-topic] .tile[data-walkable=true]{background-color:var(--board-path)}.board[data-topic] .tile[data-kind=water]{background:var(--board-water)}.board[data-topic] .tile[data-picked]{background-color:var(--c-brand-soft)}.tile[data-goal]{position:relative}.board[data-topic] .tile[data-goal]{box-shadow:inset 0 0 0 3px var(--board-accent)}.goal-mark{font-size:clamp(.7rem,2.2vw,1.15rem);line-height:1;position:absolute;top:4%;right:6%}.board[data-topic=tecnologia]{--board-frame:var(--c-grass-dark);--board-block:var(--c-grass);--board-path:var(--c-path);--board-water:var(--topic-tecnologia-water);--board-accent:var(--topic-tecnologia-accent)}.board[data-topic=tecnologia] .tile[data-walkable=false]:not([data-kind=water]){background-image:radial-gradient(circle at 24% 30%, var(--topic-tecnologia-deco-1) 0 9%, transparent 10%), radial-gradient(circle at 72% 26%, var(--topic-tecnologia-deco-2) 0 9%, transparent 10%), radial-gradient(circle at 48% 72%, var(--topic-tecnologia-deco-3) 0 9%, transparent 10%)}.board[data-topic=ciencia]{--board-frame:var(--topic-ciencia-frame);--board-block:var(--topic-ciencia-block);--board-path:var(--topic-ciencia-path);--board-water:var(--topic-ciencia-water);--board-accent:var(--topic-ciencia-accent)}.board[data-topic=ciencia] .tile[data-walkable=true]{background-image:linear-gradient(var(--topic-ciencia-deco-1) 1px, transparent 1px), linear-gradient(90deg, var(--topic-ciencia-deco-2) 1px, transparent 1px);background-size:50% 50%}.board[data-topic=ingenieria]{--board-frame:var(--topic-ingenieria-frame);--board-block:var(--topic-ingenieria-block);--board-path:var(--topic-ingenieria-path);--board-water:var(--topic-ingenieria-water);--board-accent:var(--topic-ingenieria-accent)}.board[data-topic=ingenieria] .tile[data-walkable=true]{background-image:radial-gradient(var(--topic-ingenieria-deco-1) 1.5px, transparent 2px);background-size:12px 12px}.board[data-topic=artes]{--board-frame:var(--topic-artes-frame);--board-block:var(--topic-artes-block);--board-path:var(--topic-artes-path);--board-water:var(--topic-artes-water);--board-accent:var(--topic-artes-accent)}.board[data-topic=artes] .tile[data-walkable=true]{background-image:repeating-linear-gradient(45deg,#8e5bd814 0 6px,#0000 6px 12px)}.board[data-topic=matematicas]{--board-frame:var(--topic-matematicas-frame);--board-block:var(--topic-matematicas-block);--board-path:var(--topic-matematicas-path);--board-water:var(--topic-matematicas-water);--board-accent:var(--topic-matematicas-accent)}.board[data-topic=matematicas] .tile[data-walkable=true]{background-image:linear-gradient(var(--topic-matematicas-deco-1) 1px, transparent 1px), linear-gradient(90deg, var(--topic-matematicas-deco-2) 1px, transparent 1px);background-size:25% 25%}.board[data-topic=ingenieria] .tile[data-kind=water] .tile-mark{filter:drop-shadow(0 1px 1px #0006)}.join-card{width:min(480px,100%);margin:24px auto 0;padding:28px}.join-card h1{font-size:1.6rem}.join-code{letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-weight:800}.class-tag{background:var(--c-brand-soft);color:var(--c-brand-strong);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.class-challenges{text-align:left;gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-challenge{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface);color:var(--c-ink);transition:border-color .15s var(--ease);align-items:center;gap:12px;padding:12px 14px;font-size:1rem;text-decoration:none;display:flex}.class-challenge:hover{border-color:var(--c-brand)}.class-challenge[data-solved]{border-color:var(--c-ok)}.class-challenge-art{background:var(--c-brand-soft);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:1.4rem;display:grid}.class-challenge-info{flex:1;gap:2px;min-width:0;display:grid}.class-challenge-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-chip{background:var(--c-ok-soft);color:var(--c-ok);white-space:nowrap;border-radius:999px;justify-self:start;align-items:center;padding:2px 10px;font-size:.8rem;font-weight:800;display:inline-flex}.progress-chip[data-complete]{background:var(--c-ok);color:var(--c-brand-ink)}.level-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.topic-card .progress-chip{margin-top:4px}.topic-card .topic-chevron{display:none}@media (width<=560px){.topic-grid{grid-template-columns:1fr;gap:10px}.topic-card{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"icon name chevron""icon tagline chevron""icon chip chevron";align-items:center;column-gap:14px;padding:14px 16px 18px}.topic-card .topic-emoji{grid-area:icon;margin:0}.topic-card>strong{grid-area:name}.topic-card>.small{grid-area:tagline}.topic-card>.progress-chip,.topic-card>.badge{grid-area:chip;margin-top:2px}.topic-card .topic-chevron{color:var(--c-muted);grid-area:chevron;display:grid}}.steam-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.steam-card{border:3px solid var(--c-ink);background:var(--steam);box-shadow:var(--shadow);color:var(--c-ink);transition:transform .15s var(--ease), box-shadow .15s var(--ease);border-radius:18px;grid-template-rows:auto auto;text-decoration:none;display:grid;overflow:hidden}a.steam-card:hover{box-shadow:var(--shadow-lg);transform:translate(-2px,-3px)}.steam-card[aria-disabled=true]{opacity:.7}.steam-card[data-topic=ciencia]{--steam:var(--steam-ciencia);--wash:var(--steam-ciencia-wash)}.steam-card[data-topic=tecnologia]{--steam:var(--steam-tecnologia);--wash:var(--steam-tecnologia-wash)}.steam-card[data-topic=ingenieria]{--steam:var(--steam-ingenieria);--wash:var(--steam-ingenieria-wash)}.steam-card[data-topic=artes]{--steam:var(--steam-artes);--wash:var(--steam-artes-wash)}.steam-card[data-topic=matematicas]{--steam:var(--steam-matematicas);--wash:var(--steam-matematicas-wash)}.steam-scene{aspect-ratio:200/176;--u:1.136cqmin;position:relative;overflow:hidden;container-type:size}.steam-scene:before{content:"";border:2px dashed color-mix(in srgb, var(--c-surface) 75%, transparent);border-radius:50%;position:absolute;inset:12% 9%}.steam-letter{font-family:var(--font-head);font-size:calc(66 * var(--u));color:color-mix(in srgb, var(--c-surface) 30%, transparent);-webkit-text-stroke:3px var(--c-ink);paint-order:stroke fill;place-items:center;line-height:1;display:grid;position:absolute;inset:0}.steam-deco{font-size:var(--s,calc(20 * var(--u)));white-space:nowrap;line-height:1;position:absolute}.steam-name{border-top:3px solid var(--c-ink);background:var(--wash);min-height:56px;font-family:var(--font-head);text-align:center;place-items:center;padding:0 8px;font-size:1.3rem;font-weight:400;display:grid}.steam-card[data-topic=ciencia] .d1{--s:calc(24 * var(--u));top:4%;left:5%}.steam-card[data-topic=ciencia] .d2{color:var(--c-ink);--s:calc(28 * var(--u));top:4%;left:62%}.steam-card[data-topic=ciencia] .d3{--s:calc(24 * var(--u));top:58%;left:6%}.steam-card[data-topic=ciencia] .d4{--s:calc(12 * var(--u));top:62%;left:80%}.steam-card[data-topic=ciencia] .d5{--s:calc(9 * var(--u));top:44%;left:3%}.steam-card[data-topic=ciencia] .d6{--s:calc(10 * var(--u));top:34%;left:84%}.steam-card[data-topic=tecnologia] .d1{border:2px solid var(--c-ink);background:var(--c-surface);--s:calc(9 * var(--u));border-radius:6px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-weight:800;top:6%;left:7%}.steam-card[data-topic=tecnologia] .d2{--s:calc(24 * var(--u));top:4%;left:66%}.steam-card[data-topic=tecnologia] .d3,.steam-card[data-topic=tecnologia] .d5,.steam-card[data-topic=tecnologia] .d6{color:var(--c-surface);--s:calc(9 * var(--u));font-family:ui-monospace,Consolas,monospace;font-weight:800}.steam-card[data-topic=tecnologia] .d3{top:66%;left:6%}.steam-card[data-topic=tecnologia] .d4{--s:calc(24 * var(--u));top:60%;left:66%}.steam-card[data-topic=tecnologia] .d5{top:86%;left:38%}.steam-card[data-topic=tecnologia] .d6{top:70%;left:52%}.steam-card[data-topic=ingenieria] .steam-scene{background-image:linear-gradient(color-mix(in srgb, var(--c-surface) 35%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--c-surface) 35%, transparent) 1px, transparent 1px);background-size:calc(10 * var(--u)) calc(10 * var(--u))}.steam-card[data-topic=ingenieria] .d1{--s:calc(24 * var(--u));top:6%;left:6%}.steam-card[data-topic=ingenieria] .d2{--s:calc(26 * var(--u));top:4%;left:64%}.steam-card[data-topic=ingenieria] .d3{--s:calc(24 * var(--u));top:60%;left:6%}.steam-card[data-topic=ingenieria] .d4{--s:calc(20 * var(--u));top:66%;left:70%}.steam-card[data-topic=ingenieria] .d5{--s:calc(16 * var(--u));top:72%;left:40%}.steam-card[data-topic=ingenieria] .d6{--s:calc(12 * var(--u));top:38%;left:82%}.steam-card[data-topic=artes] .d1,.steam-card[data-topic=artes] .d2,.steam-card[data-topic=artes] .d3,.steam-card[data-topic=artes] .d4,.steam-card[data-topic=artes] .d5{border-radius:55% 45% 60% 40%/50% 60% 40% 50%}.steam-card[data-topic=artes] .d1{width:calc(34 * var(--u));height:calc(32 * var(--u));background:var(--paint-yellow);top:-4%;left:-4%}.steam-card[data-topic=artes] .d2{width:calc(34 * var(--u));height:calc(30 * var(--u));background:var(--paint-blue);top:0;left:70%}.steam-card[data-topic=artes] .d3{width:calc(34 * var(--u));height:calc(30 * var(--u));background:var(--paint-green);top:58%;left:-2%}.steam-card[data-topic=artes] .d4{width:calc(36 * var(--u));height:calc(32 * var(--u));background:var(--paint-violet);top:58%;left:68%}.steam-card[data-topic=artes] .d5{width:calc(64 * var(--u));height:calc(58 * var(--u));background:var(--paint-red);top:12%;left:18%}.steam-card[data-topic=artes] .d6{--s:calc(14 * var(--u));top:66%;left:12%}.steam-card[data-topic=artes] .d7{--s:calc(16 * var(--u));top:62%;left:70%}.steam-card[data-topic=matematicas] .steam-letter{color:color-mix(in srgb, var(--steam-matematicas) 55%, transparent)}.steam-cloud{border:3px solid var(--c-ink);background:color-mix(in srgb, var(--c-surface) 85%, transparent);border-radius:50% 50% 46% 46%/58% 58% 42% 42%;position:absolute;inset:8% 4% 6%}.steam-card[data-topic=matematicas] .steam-deco{font-family:var(--font-head);--s:calc(14 * var(--u))}.steam-card[data-topic=matematicas] .d1{color:var(--paint-red);--s:calc(16 * var(--u));top:18%;left:10%;transform:rotate(-8deg)}.steam-card[data-topic=matematicas] .d2{color:var(--paint-blue);top:62%;left:72%;transform:rotate(10deg)}.steam-card[data-topic=matematicas] .d3{color:var(--paint-green);top:60%;left:14%;transform:rotate(-6deg)}.steam-card[data-topic=matematicas] .d4{color:var(--paint-red);--s:calc(11 * var(--u));top:8%;left:44%}.steam-card[data-topic=matematicas] .d5{color:var(--paint-violet);--s:calc(16 * var(--u));top:20%;left:76%}.steam-card[data-topic=matematicas] .d6{color:var(--steam-ingenieria);top:40%;left:78%;transform:rotate(8deg)}.steam-card[data-topic=matematicas] .d7{color:var(--paint-blue);--s:calc(18 * var(--u));top:40%;left:6%;transform:rotate(12deg)}.steam-card[data-topic=matematicas] .d8{color:var(--paint-violet);--s:calc(13 * var(--u));top:72%;left:62%}.steam-card[data-topic=matematicas] .d9{color:var(--paint-violet);--s:calc(15 * var(--u));top:74%;left:36%}.steam-card[data-topic=matematicas] .d10{color:var(--paint-green);--s:calc(12 * var(--u));top:66%;left:52%}@media (width<=900px){.steam-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}@media (width<=560px){.steam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.steam-card[data-topic=matematicas]{grid-column:1/-1}.steam-card[data-topic=matematicas] .steam-scene{aspect-ratio:358/174}}.live-student{width:100%;max-width:1100px;margin:0 auto}.live-room h1,.live-room h2{margin:0}.live-room h1{overflow-wrap:anywhere}.live-room h1:focus{outline:none}.live-game{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.live-game .board,.live-preview .board{width:100%;margin:0 auto}.live-preview{text-align:center;width:min(100%,420px);margin:0 auto}.live-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.live-palette .btn{text-align:left;justify-content:flex-start;padding:10px}.live-controls{border:0;min-width:0;margin:0;padding:0}.live-program{flex-wrap:wrap;gap:8px;max-height:240px;margin:0;padding:8px 0;list-style:none;display:flex;overflow-y:auto}.live-program li{background:var(--c-surface-2);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.9rem;display:flex}.live-feedback{background:var(--c-brand-soft);color:var(--c-ink);border-radius:var(--radius);margin:0;padding:12px}.live-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;display:grid}.live-rooms{gap:14px;margin:0;padding:0;list-style:none;display:grid}.live-room-link{color:var(--c-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;text-decoration:none;display:flex}.live-room-link:hover{background:var(--c-surface-2)}.live-room .table th[scope=row]{text-transform:none;letter-spacing:normal;font-weight:700}@media (width<=720px){.live-game{grid-template-columns:minmax(0,1fr);gap:20px}.live-room .page-head{align-items:flex-start}.live-palette .btn{font-size:.9rem}}.code-chip{background:var(--c-brand-soft);min-height:32px;color:var(--c-brand-strong);cursor:pointer;white-space:nowrap;transition:border-color .12s var(--ease), background-color .12s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.code-chip:hover{border-color:var(--c-brand)}.code-chip-wait{cursor:default;color:var(--c-muted);background:var(--c-surface-2)}.code-chip-code{letter-spacing:.08em;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.code-chip-action{text-decoration:underline}.created-class{text-align:center;justify-items:center}.created-code{letter-spacing:.14em;color:var(--c-brand-strong);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:2.2rem;font-weight:800}.class-cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.class-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.class-card-text{gap:2px;min-width:0;display:grid}.class-card-title{color:var(--c-ink);font-size:1.1rem;font-weight:800;text-decoration:none}.class-card-title:hover{color:var(--c-brand);text-decoration:underline}.class-title{margin:0;font-size:1.7rem}.delete-link{color:var(--c-brand)}.delete-link:hover{color:var(--c-error)}.confirm-box{border-color:var(--c-error-line);background:var(--c-error-wash);max-width:420px}.subtabs{border-bottom:1px solid var(--c-line);gap:4px;display:flex}.subtab{color:var(--c-muted);border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:6px;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-flex}.subtab:hover{color:var(--c-ink)}.subtab[aria-current=page]{color:var(--c-ink);box-shadow:inset 0 -3px 0 var(--c-brand)}.subtab-count{background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;display:inline-grid}.results-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;display:grid}.result-stat{gap:2px;padding:18px 22px;display:grid}.result-stat strong{color:var(--c-brand);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.1}.results-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);align-items:start;gap:16px;display:grid}@media (width<=860px){.results-grid{grid-template-columns:1fr}}.observed-box{border-radius:var(--radius);gap:2px;padding:12px 14px;display:grid}.observed-box[data-tone=hints]{background:var(--c-error-soft);color:var(--c-error)}.observed-box[data-tone=fix]{background:var(--c-ok-soft);color:var(--c-ok)}.observed-box .small{color:var(--c-ink)}.home-greeting{margin:0;font-size:1.9rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{gap:2px;padding:18px 22px;display:grid}.stat-card strong{color:var(--c-brand);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.1}.home-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;gap:16px;display:grid}.home-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.home-item{border-bottom:1px solid var(--c-line);align-items:center;gap:12px;padding:8px 4px;display:flex}.home-item:last-child{border-bottom:0}.home-item-art{background:var(--c-surface-2);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:1.2rem;display:grid}.home-item-text{flex:1;gap:1px;min-width:0;display:grid}.home-item-text a{color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;text-decoration:none;overflow:hidden}.home-item-text a:hover{color:var(--c-brand);text-decoration:underline}.home-class{flex-wrap:wrap}.home-class .home-item-text{flex:10rem}.home-class .home-code{margin-left:auto}.home-code{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.code-badge{letter-spacing:.06em;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.stepper{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stepper-step{letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.stepper-step+.stepper-step:before{content:"";background:var(--c-line-strong);width:24px;height:2px;margin-right:4px}.stepper-dot{background:var(--c-surface-2);border:1px solid var(--c-line-strong);width:26px;height:26px;color:var(--c-muted);letter-spacing:0;border-radius:50%;place-items:center;font-size:.8rem;display:grid}.stepper-step[data-state=current]{color:var(--c-ink)}.stepper-step[data-state=current] .stepper-dot{background:var(--c-action);border-color:var(--c-ink);color:var(--c-action-ink)}.stepper-step[data-state=done] .stepper-dot{background:var(--c-ok-soft);border-color:var(--c-ok);color:var(--c-ok)}.creator-title{margin:0;font-size:1.6rem}.creator-actions{gap:20px;padding-top:8px}.pick-card{cursor:pointer;font:inherit;text-align:left;align-items:start}.pick-card:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.pick-card[aria-pressed=true]{background:var(--c-action)}.topic-card.pick-card[aria-pressed=true]{box-shadow:inset 0 -6px 0 var(--topic), var(--shadow)}.pick-card:disabled{cursor:not-allowed;opacity:.6}.game-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.game-card{border-radius:var(--radius-lg);background:var(--c-surface);border:3px solid var(--c-ink);box-shadow:var(--shadow);color:var(--c-ink);font:inherit;text-align:left;cursor:pointer;transition:transform .15s var(--ease), border-color .15s var(--ease), background-color .15s var(--ease);align-content:start;gap:10px;padding:14px;display:grid}.game-card:hover{box-shadow:var(--shadow-lg);transform:translate(-2px,-2px)}.game-card[aria-pressed=true]{background:var(--c-action)}.game-info{gap:2px;display:grid}.game-thumb{justify-items:center;display:grid}.game-thumb .board{border-radius:12px;gap:3px;width:100%;padding:6px;max-width:100%!important}.game-thumb .tile{border-radius:5px}.game-thumb .tile-mark{font-size:1rem}.mission-thumb{grid-template-columns:repeat(var(--size,6), 1fr);background:var(--c-grass-dark);-webkit-user-select:none;user-select:none;border-radius:12px;gap:3px;width:100%;padding:6px;display:grid}.mission-cell{aspect-ratio:1;background:var(--c-path);color:var(--c-ink);border-radius:4px;place-items:center;font-size:.7rem;font-weight:900;line-height:1;display:grid}.mission-cell[data-kind=wall]{background:var(--c-wall)}.mission-cell[data-kind=rough]{background:var(--c-rough);background-image:repeating-linear-gradient(45deg,#0000 0 3px,#0000001a 3px 5px)}.mission-cell[data-kind=station]{background:var(--c-brand-soft);color:var(--c-brand-strong);box-shadow:inset 0 0 0 2px var(--c-brand)}.mission-cell[data-kind=start]{color:var(--c-brand);font-size:.9rem}.mission-cell[data-kind=goal]{background:var(--c-goal);color:var(--c-goal-ink);font-size:.95rem}.publish-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:start;gap:16px;display:grid}@media (width<=860px){.publish-grid{grid-template-columns:1fr}}.visibility{gap:12px;min-width:0;margin:0;display:grid}.visibility legend{margin-bottom:8px;padding:0}.visibility-option{border-radius:var(--radius);border:3px solid var(--c-ink);background:var(--c-surface);cursor:pointer;transition:background-color .12s var(--ease);align-items:center;gap:12px;padding:12px 16px;display:flex}.visibility-option:hover{background:var(--c-surface-2)}.visibility-option:has(:checked){background:var(--c-action)}.visibility-option:has(:focus-visible){outline:3px solid var(--c-brand);outline-offset:2px}.visibility-text{gap:2px;display:grid}.publish-grid .preview .game-thumb{width:100%;max-width:280px;margin:0 auto}.published{text-align:center;justify-items:center;max-width:560px;margin:24px auto 0}.published .done-burst{font-size:3rem;line-height:1}.link-box{text-align:left;width:100%}.link-url{border-radius:var(--radius);background:var(--c-bg);border:1px solid var(--c-chip-line);min-width:0;color:var(--c-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:10px 14px;font-weight:700;text-decoration:none;overflow:hidden}.assign-form{text-align:left;width:100%}.retos-filters{flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex}.retos-filters .field{min-width:180px}.reto-progress{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.reto-progress .meter{width:90px}.reto-cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.reto-card{gap:4px;min-height:44px}.reto-meta{color:var(--c-muted);flex-wrap:wrap;gap:4px 12px;margin-top:4px;display:flex}.way-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.way-card h2{margin:0;font-size:1.4rem}.way-card p{margin:0}.way-card-ai{background:var(--c-surface-2);position:relative}.way-emoji{font-size:2.2rem;line-height:1}.way-badge{position:absolute;top:18px;left:74px}.way-note{border:3px solid var(--c-ink);border-radius:var(--radius);background:var(--c-surface);align-items:center;gap:8px;margin:0;padding:12px 16px;font-weight:800;display:flex}.assistant-form{padding:22px}.assistant-count{justify-self:end}.assistant-options{flex-wrap:wrap;gap:24px 40px;display:flex}.chip-group{border:0;margin:0;padding:0}.chip-group legend{margin-bottom:6px;padding:0;font-size:.85rem;font-weight:800}.chip-btn{border:3px solid var(--c-ink);background:var(--c-surface);min-height:44px;color:var(--c-ink);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:4px;padding:6px 16px;font-weight:800;display:inline-flex}.chip-btn[aria-pressed=true]{background:var(--c-action)}.chip-btn:disabled{opacity:.6;cursor:not-allowed}.proposal-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.proposal-card{align-content:start;padding:18px}.proposal-grade{margin:0;font-size:1.3rem}.proposal-title{font-family:var(--font-head);margin:0;font-size:1.3rem}.proposal-energy{margin:0;font-weight:800}.mission-thumb-v1{grid-template-columns:repeat(var(--size,4), minmax(0, 1fr));align-items:start;max-width:260px}.mission-cell[data-kind=water]{background:var(--c-water)}.mission-thumb-v1 .mission-cell{font-size:.9rem}.has-bottom-nav .page-head h1{margin:0;font-size:1.5rem}.progress-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width>=900px){.progress-grid{grid-template-columns:minmax(0,1fr) 280px}}.progress-grid .table th,.progress-grid .table td{white-space:nowrap}.progress-solved{color:var(--c-ok)}.progress-unsolved{color:var(--c-warn)}
