
:root{--paper:#eae8de;--ink:#19382e;--muted:#68756a;--orange:#e86538;--yellow:#f6ce61;--line:#c7cbbd;--screen:#10271f;--mono:'Cascadia Code',Consolas,'Courier New',monospace;--display:'Arial Black','Bahnschrift',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;background-image:radial-gradient(#526c421b .8px,transparent .8px);background-size:6px 6px}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button{color:inherit}button svg{flex-shrink:0}svg{vertical-align:middle}button{touch-action:manipulation}button:disabled{opacity:.55}[hidden]{display:none!important}.mono{font-family:var(--mono)}.caps{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter}.topbar{max-width:1370px;margin:auto;min-height:89px;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{border:0;background:none;padding:0;display:flex;align-items:center;gap:13px;text-align:left}.brand-mark{width:41px;height:38px;background:var(--ink);color:var(--paper);display:grid;place-items:center;box-shadow:3px 3px 0 #9ba895;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.brand-name{font-family:var(--display);font-size:23px;letter-spacing:-1px}.brand-name em{font-style:normal;color:var(--orange)}.brand-sub{display:block;font-family:var(--mono);font-size:9px;letter-spacing:2.3px;margin-top:3px;color:var(--muted)}.top-right{display:flex;align-items:center;gap:24px}.demo-badge{color:var(--muted);font:10px var(--mono);letter-spacing:.7px;border:1px dashed #9ba895;padding:6px 9px}.player{display:flex;align-items:center;gap:9px}.player-avatar{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--line);background:#e0e3d6}.player span{font:11px var(--mono);font-weight:bold}.player small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.tools{display:flex;gap:6px}.tool{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:transparent;min-height:34px;padding:7px 10px}.tool[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.library{max-width:1290px;margin:auto;padding:39px 0 20px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted);font:10px var(--mono);font-weight:bold;letter-spacing:1.5px}.led{display:inline-block;width:7px;height:7px;background:var(--orange);box-shadow:0 0 0 3px #e8653818}.intro h1{font-family:var(--display);font-size:clamp(28px,3.25vw,45px);line-height:1.08;letter-spacing:-1.8px;margin:14px 0 11px}.intro h1 span{color:var(--orange)}.intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.intro-side{text-align:right;flex-shrink:0;padding-bottom:3px}.intro-side strong{font:12px var(--mono)}.intro-side small{display:block;color:var(--muted);font:10px var(--mono);margin-top:9px}.console{background:#dedfd3;border:1px solid #b7bfad;border-radius:12px 12px 18px 18px;padding:17px 22px 18px;box-shadow:0 5px 0 #b8c0af,0 15px 32px #10271f10;position:relative}.console-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font:10px var(--mono);letter-spacing:1.5px}.console-top .model{display:flex;gap:9px;align-items:center}.power{width:6px;height:6px;border-radius:50%;background:#558348;box-shadow:0 0 5px #55834877}.vents{display:flex;gap:4px}.vents i{height:12px;width:3px;background:#b3bdab;transform:skewX(-20deg)}.viewport{background:var(--screen);padding:23px 24px 26px;border:5px solid #b8c1ae;outline:1px solid #a6b29d;box-shadow:inset 0 0 40px #0004;border-radius:5px;position:relative;color:#eef0d9}.viewport:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:5px;z-index:4}.screen-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #395042;padding-bottom:16px;margin-bottom:24px;font:10px var(--mono);letter-spacing:1px}.screen-top>span:first-child{color:var(--yellow)}.screen-top b{background:var(--yellow);color:var(--screen);padding:3px 6px;margin-right:7px}.screen-top>span:last-child{color:#95aa96}.cartridges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cartridge{position:relative;display:block;padding:10px 10px 0;background:#e6e2d4;border:3px solid #e6e2d4;border-radius:9px 9px 5px 5px;text-align:left;box-shadow:5px 6px 0 #07140f;transition:transform .16s,box-shadow .16s;color:var(--ink);min-width:0}.cartridge:hover,.cartridge:focus-visible{transform:translateY(-6px);box-shadow:5px 12px 0 #07140f;border-color:var(--yellow);outline:0}.cartridge:hover .launch,.cartridge:focus-visible .launch{background:var(--yellow);color:var(--screen)}.cart-label{background:#17382e;overflow:hidden;border:1px solid #203d31;border-radius:3px}.cart-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:#f1e8d4;font:9px var(--mono);letter-spacing:.8px;border-bottom:1px solid #ffffff25}.cart-meta b{font-size:9px;color:var(--yellow)}.cover{position:relative;height:198px;isolation:isolate;overflow:hidden;background:#152e2a}.cover svg{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.cover-title{position:absolute;top:17px;left:16px;font-family:var(--display);font-weight:900;font-size:30px;line-height:.98;letter-spacing:-1px;color:#f4e9c8;text-shadow:3px 3px 0 #091e1c}.cover-title small{font:9px var(--mono);display:block;letter-spacing:3px;margin-bottom:7px;color:#b6cdc0;text-shadow:none}.cover-sub{position:absolute;bottom:12px;left:15px;font:9px var(--mono);letter-spacing:1px;color:#d2dfc3;background:#10271fd9;padding:4px 6px;border:1px solid #8da88e55}.cart-description{background:#eee9d9;padding:14px 12px;min-height:73px;line-height:1.5;font-size:12px}.cart-description strong{display:block;font-size:12px;margin-bottom:3px}.cart-description span{color:#677263;font-size:11px}.cart-bottom{display:flex;justify-content:space-between;align-items:center;padding:11px 1px 10px;font:9px var(--mono);letter-spacing:.5px}.launch{border:1px solid #9aa68d;padding:6px 9px;display:flex;align-items:center;gap:6px;background:#d8dec9;transition:background .16s}.cart-grip{height:14px;border-top:1px solid #b6bda9;display:flex;align-items:center;justify-content:center;gap:4px}.cart-grip i{display:block;width:25px;height:2px;background:#bdc4b0}.coming{display:flex;gap:16px;margin-top:25px}.coming-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #526452;padding:13px 17px;flex:1;color:#9eae9a;background:#1a3027}.coming-title{display:flex;align-items:center;gap:12px}.coming strong{display:block;font-size:12px;color:#c4cdb7;font-weight:normal;font-family:var(--mono)}.coming small{font-size:9px;display:block;margin-top:4px;color:#8ba18c}.coming-badge{font:8px var(--mono);letter-spacing:.7px;white-space:nowrap;border:1px solid #526452;padding:5px 7px}.console-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 5px 0}.console-name{font:10px var(--mono);letter-spacing:3px;color:#728166}.console-controls{display:flex;gap:20px;align-items:center}.little-btn{border:0;background:#b7c0aa;width:27px;height:8px;border-radius:5px;transform:rotate(-20deg);box-shadow:0 2px 0 #939f86}.little-btn.orange{background:var(--orange);box-shadow:0 2px 0 #b74726}.library-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:29px;font:10px var(--mono);color:var(--muted)}.keys{display:flex;gap:18px;align-items:center}.keys>span{display:flex;gap:7px;align-items:center}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:22px;padding:2px 5px;background:#f0efe5;border:1px solid #c3c9b9;border-bottom-width:3px;border-radius:3px;font:10px var(--mono);color:#586950}.saved-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#5a8157;margin-right:6px}.footer-brand{font-size:9px;letter-spacing:2px}
dialog{border:2px solid var(--ink);padding:0;background:#eeeee2;color:var(--ink);box-shadow:8px 8px 0 #0c211d66;max-height:90vh}dialog::backdrop{background:#071b16b8;backdrop-filter:blur(3px)}.level-modal{width:520px;max-width:calc(100vw - 30px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);padding:15px 22px;font:11px var(--mono);letter-spacing:1px}.close{border:0;background:transparent;color:inherit;padding:4px;font-size:22px;line-height:1}.dialog-body{padding:26px}.dialog-body h2{font-family:var(--display);letter-spacing:-1px;font-size:29px;margin:0 0 10px}.dialog-body>p{color:var(--muted);line-height:1.6;margin:0 0 23px;font-size:13px}.level-list{display:flex;flex-direction:column;gap:10px}.level-button{width:100%;display:flex;gap:16px;align-items:center;text-align:left;padding:17px;background:#e0e4d4;border:1px solid #bdc8b1;box-shadow:0 3px 0 #c0c9b4}.level-button:hover:not(:disabled){background:var(--yellow);border-color:#caaa50}.level-number{font:20px var(--mono);opacity:.5}.level-button strong{font:12px var(--mono);font-weight:bold;display:block}.level-button small{display:block;font-size:10px;margin-top:6px;color:var(--muted)}.level-button .arrow{margin-left:auto}.dialog-footer{padding:15px 26px;background:#e2e5d8;font:10px var(--mono);color:var(--muted)}
.game{max-width:1370px;margin:auto;padding:25px 40px}.game-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.back{border:0;background:none;padding:5px 0;display:flex;align-items:center;gap:8px;font:11px var(--mono)}.game-name{display:flex;align-items:center;gap:12px}.game-name strong{font-size:16px;font-family:var(--display);letter-spacing:-.3px}.game-name .game-tag{color:var(--muted);font:10px var(--mono);border-left:1px solid #b8c1af;padding-left:12px}.game-nav-left{display:flex;align-items:center;gap:24px}.notebook-btn{background:var(--yellow);border:1px solid #b7a159;box-shadow:0 3px 0 #b7a159;display:flex;align-items:center;gap:8px;padding:9px 13px;font:10px var(--mono);font-weight:bold}.game-strip{display:flex;align-items:center;justify-content:space-between;border:1px solid #bac5ad;background:#dce3d0;padding:13px 18px;margin-bottom:18px}.game-strip-left{display:flex;align-items:center;gap:11px}.mission-number{background:var(--ink);color:var(--yellow);font:10px var(--mono);padding:8px}.mission-name{font-size:12px;font-weight:bold}.mission-name small{font-weight:normal;font-size:10px;display:block;margin-top:4px;color:#687c62}.level-switch{border:0;background:transparent;font:10px var(--mono);display:flex;gap:8px;align-items:center}.play-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.mission-panel{border:1px solid #bbc4b1;background:#f2f1e7;min-height:596px;box-shadow:0 3px 0 #c9cfbe}.panel-tabs{display:flex;border-bottom:1px solid #c7cfbd;gap:0}.panel-tab{flex:1;border:0;border-bottom:3px solid transparent;background:#e5e8db;font:10px var(--mono);letter-spacing:.6px;padding:15px 8px}.panel-tab.active{background:#f2f1e7;border-bottom-color:var(--orange);font-weight:bold}.doc-scroll{padding:25px 23px;max-height:560px;overflow:auto;font-size:12px;line-height:1.8}.doc-kicker{font:9px var(--mono);color:var(--orange);letter-spacing:1.5px;margin:0 0 13px}.doc-scroll h2{font-family:var(--display);font-size:25px;letter-spacing:-.8px;line-height:1.1;margin:0 0 18px}.doc-scroll p{color:#5b6e58;margin:0 0 17px}.doc-scroll h3{font:11px var(--mono);margin:25px 0 12px}.objective{display:flex;gap:10px;align-items:flex-start;border-top:1px solid #d2d7c7;padding:13px 0;line-height:1.7;color:#54664f}.objective>span:first-child{font:10px var(--mono);background:#e0e7d5;color:#546b4e;padding:2px 4px;flex-shrink:0;margin-top:3px}.doc-note{border-left:3px solid var(--orange);background:#e7e9da;padding:12px;margin:18px 0;color:#506247;font-size:11px}.inline-code{font:11px var(--mono);background:#e3e8d9;padding:2px 3px}.sample-button{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;border:1px solid #b7c5ab;background:#e0e7d4;padding:12px;font:10px var(--mono);text-align:left;margin:15px 0}.table-reference{font:11px var(--mono);padding:12px 0;border-bottom:1px solid #d3d9c6}.table-reference small{display:block;font:11px Arial;color:#75816b;line-height:1.6;margin-top:5px}.workspace{min-width:0}.editor-panel{background:#122920;border:1px solid #10291f;box-shadow:0 4px 0 #aab69f;position:relative}.editor-panel:after{content:'';position:absolute;inset:0;pointer-events:none}.editor-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #34503c;background:#1b352a;color:#b4c5a6;font:10px var(--mono);letter-spacing:1px}.editor-title{display:flex;align-items:center;gap:8px;color:#eddfad}.editor-lights{display:flex;gap:5px}.editor-lights i{width:6px;height:6px;background:#435d46}.editor-lights i:first-child{background:var(--orange)}.editor-area{display:flex;min-height:269px;position:relative}.line-numbers{width:43px;flex-shrink:0;padding-top:22px;text-align:right;padding-right:12px;font:13px/25px var(--mono);color:#526b51;user-select:none;overflow:hidden;max-height:269px}.code-wrap{position:relative;flex:1;min-width:0;height:269px;overflow:hidden}.code-wrap pre,.code-wrap textarea{position:absolute;inset:0;margin:0;padding:18px 18px 18px 8px;font:14px/25px var(--mono);letter-spacing:0;tab-size:4;white-space:pre;overflow:auto;border:0;background:transparent;resize:none;border-radius:0}.code-wrap pre{color:#d5ddba;pointer-events:none;scrollbar-width:none}.code-wrap pre::-webkit-scrollbar{display:none}.code-wrap textarea{color:transparent;caret-color:#ffde82;-webkit-text-fill-color:transparent;outline:none}.code-wrap textarea::selection{background:#6e7e4f88}.code-wrap textarea:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #d3b54b77}.kw{color:#eaca72}.str{color:#a1c594}.comment{color:#6d8d72}.num{color:#e89b75}.editor-actions{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:#193326;border-top:1px solid #324e38;gap:10px}.editor-status{font:9px var(--mono);color:#88a17d}.editor-status .saved-dot{background:#9ab67b}.run{display:flex;gap:10px;align-items:center;background:var(--yellow);color:#203327;border:1px solid #edc054;padding:10px 13px;box-shadow:0 3px 0 #a88831;font:11px var(--mono);font-weight:bold}.run:active{transform:translateY(2px);box-shadow:0 1px 0 #a88831}.run small{font-size:9px;color:#6c672b;border-left:1px solid #bba64f;padding-left:10px}.result-panel{border:1px solid #bbc5af;background:#f2f2e7;margin-top:21px;min-height:225px;box-shadow:0 3px 0 #c6ceba}.result-head{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;border-bottom:1px solid #ccd4c0;font:10px var(--mono)}.result-title{display:flex;align-items:center;gap:8px;font-weight:bold}.result-head-right{display:flex;align-items:center;gap:12px}.result-head small{font-size:9px;color:#74826b}.result-to-note{border:0;background:none;font:9px var(--mono);display:flex;gap:6px;align-items:center;color:#6c7d60}.result-body{overflow:auto;max-height:290px}.empty-result{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:33px 20px;gap:10px;text-align:center;color:#8b967d}.empty-result strong{font:11px var(--mono);color:#6a7b5e;font-weight:normal}.empty-result small{font-size:11px;color:#7b8a6e}.result-table{width:100%;border-collapse:collapse;text-align:left;font:11px/1.6 var(--mono)}.result-table th{background:#e4ead9;color:#637454;font-weight:normal;padding:10px 14px;position:sticky;top:0;border-bottom:1px solid #c6d0b8}.result-table td{padding:11px 14px;max-width:470px;min-width:80px;vertical-align:top;border-bottom:1px solid #dce2d1;color:#314d34}.result-table tr:nth-child(even){background:#e9eddf}.result-message{padding:24px;font:12px/1.8 var(--mono);color:#446842}.result-warning{padding:8px 17px;background:#ece7cc;font:9px var(--mono);color:#817546;border-top:1px solid #d9d3b4}.game-footer{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font:9px var(--mono);padding:21px 0;line-height:1.8}.game-footer .keys{gap:12px;font-size:9px}.game-footer kbd{height:20px}.notebook{position:fixed;right:0;left:auto;top:0;bottom:0;margin:0;width:390px;max-width:95vw;max-height:100vh;height:100vh;border-width:0 0 0 2px;border-color:#233c2c;background:#f5f0d9;box-shadow:-10px 0 40px #0b201b44}.notebook::backdrop{background:#0f291c55;backdrop-filter:none}.notebook-body{padding:27px 26px;height:calc(100% - 56px);display:flex;flex-direction:column}.notebook-title{font-family:var(--display);font-size:28px;letter-spacing:-1px;margin:0 0 10px}.notebook-desc{font-size:12px;line-height:1.7;color:#7c7b60;margin:0 0 22px}.notebook textarea{width:100%;flex:1;resize:none;border:0;outline:0;background:repeating-linear-gradient(transparent,transparent 27px,#b7b58b55 27px,#b7b58b55 28px);font:13px/28px var(--mono);color:#4d5538;padding:0 5px;min-height:200px}.notebook textarea:focus-visible{outline:2px dashed #b3ab77;outline-offset:6px}.notebook-save{font:9px var(--mono);margin-top:20px;color:#797b59}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(70px);background:var(--ink);color:#f6eacb;border:1px solid #65805e;padding:13px 20px;box-shadow:4px 4px 0 #071b1655;font:11px var(--mono);z-index:50;opacity:0;transition:.2s;pointer-events:none;max-width:90vw}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
@media(min-width:1500px){.library{padding-top:45px}.cover{height:218px}.intro{margin-bottom:33px}.viewport{padding:27px 30px 30px}.coming{margin-top:29px}}
@media(max-width:1370px){.library{margin:0 40px}.game{padding-left:30px;padding-right:30px}.cover-title{font-size:27px}.play-grid{grid-template-columns:295px minmax(0,1fr)}}
@media(max-width:1050px){.cartridges{gap:14px}.viewport{padding:20px 16px}.console{padding:15px}.cover{height:180px}.cover-title{font-size:23px;left:12px}.cart-meta{padding:9px 8px;font-size:8px}.cart-description{padding:12px 9px}.intro-side{display:none}.topbar{padding:20px 30px}.play-grid{grid-template-columns:260px minmax(0,1fr)}.game-nav-left{gap:15px}.game-name .game-tag{display:none}.demo-badge{font-size:9px}.top-right{gap:14px}.keys{gap:10px}.library-footer .footer-brand{display:none}.mission-panel{min-height:596px}.doc-scroll{padding:23px 18px}}
@media(max-width:760px){.topbar{padding:17px 19px;min-height:78px}.brand-name{font-size:20px}.brand-sub{font-size:8px}.brand-mark{width:34px;height:32px}.top-right .player,.demo-badge{display:none}.top-right{gap:0}.library{margin:0 18px;padding-top:28px}.intro h1{font-size:31px;letter-spacing:-1.2px}.intro p{font-size:12px}.cartridges{grid-template-columns:1fr;gap:22px}.cover{height:220px}.cover-title{font-size:32px;left:19px}.cartridge{max-width:none}.cart-description{min-height:0}.cart-meta{font-size:9px}.cart-bottom{padding:10px 6px}.coming{flex-direction:column;gap:12px}.console{padding:13px 10px}.viewport{padding:19px 14px}.screen-top{font-size:9px;letter-spacing:0}.screen-top>span:last-child{font-size:8px}.console-name{font-size:8px;letter-spacing:1px}.library-footer{font-size:9px;flex-wrap:wrap;justify-content:center}.library-footer .keys{display:none}.game{padding:20px 16px}.game-nav{gap:10px}.game-name strong{font-size:13px}.back{font-size:10px}.back span{display:none}.game-nav-left{gap:13px}.notebook-btn{font-size:9px;padding:8px}.play-grid{grid-template-columns:1fr;gap:16px}.mission-panel{min-height:0}.doc-scroll{max-height:260px;padding:20px}.doc-scroll h2{font-size:23px;margin-bottom:12px}.game-strip{padding:11px;gap:10px}.mission-name{font-size:11px}.level-switch{font-size:9px}.game-footer .keys{display:none}.code-wrap pre,.code-wrap textarea{font-size:12px}.editor-status{font-size:8px}.editor-actions{padding:12px}.run{font-size:10px;padding:10px}.run small{display:none}.result-head-right small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Dos temas completos; el editor y las carátulas conservan su identidad de consola. */
:root{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;--paper:#131c19;--ink:#e0e8d6;--muted:#a0ad99;--line:#3a4b3d;--orange:#f28d60;--screen:#0b1813}
body{min-height:100vh;display:flex;flex-direction:column;transition:background-color .18s,color .18s}
main{flex:1}.tool{font:10px var(--mono);font-weight:bold}.tool[aria-pressed=true]{background:#294335;color:#f7da86;border-color:#637958}
.credits-footer{width:100%;max-width:1290px;margin:24px auto 0;padding:23px 0 27px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;color:var(--muted)}
.credits-brand{display:flex;align-items:center;gap:14px}.credits-logo{display:block;width:61px;height:61px;object-fit:contain;flex-shrink:0}.credits-brand strong{display:block;font:700 14px var(--mono);color:var(--ink);letter-spacing:1.1px}.credits-brand p{font-size:11px;line-height:1.6;margin:5px 0 0}.credits-brand a,.credits-author a{color:inherit;text-decoration:none;text-underline-offset:4px}.credits-brand a:hover,.credits-author a:hover{text-decoration:underline;color:var(--orange)}.credits-author{text-align:right;font:10px/1.9 var(--mono)}.credits-author strong{display:block;color:var(--ink);font-weight:normal}.credits-author small{display:block;color:var(--muted);font-size:9px}
html[data-theme="dark"] body{background-image:radial-gradient(#adc3a510 .8px,transparent .8px)}
html[data-theme="dark"] .brand-mark{background:#243c2e;color:#ecd99e;box-shadow:3px 3px 0 #0a100c}
html[data-theme="dark"] .player-avatar{background:#243329;border-color:#46583d}
html[data-theme="dark"] .console{background:#243128;border-color:#42513e;box-shadow:0 5px 0 #111e15,0 15px 32px #0003}
html[data-theme="dark"] .viewport{border-color:#16251b;outline-color:#3d4d37}
html[data-theme="dark"] .console-name{color:#acb89f}
html[data-theme="dark"] .vents i{background:#4c5d43}
html[data-theme="dark"] .little-btn{background:#607451;box-shadow:0 2px 0 #102016}
html[data-theme="dark"] .little-btn.orange{background:#e86538;box-shadow:0 2px 0 #81391f}
html[data-theme="dark"] .cartridge{background:#354635;border-color:#354635;color:#e2e7cf}
html[data-theme="dark"] .cartridge:hover,html[data-theme="dark"] .cartridge:focus-visible{border-color:var(--yellow)}
html[data-theme="dark"] .cart-label{border-color:#506044}
html[data-theme="dark"] .cart-description{background:#243529}
html[data-theme="dark"] .cart-description span{color:#b5c2a9}
html[data-theme="dark"] .cart-grip{border-color:#59674c}
html[data-theme="dark"] .cart-grip i{background:#61714f}
html[data-theme="dark"] .launch{background:#213223;color:#e0e6cc;border-color:#6a7a51}
html[data-theme="dark"] .cartridge:hover .launch,html[data-theme="dark"] .cartridge:focus-visible .launch{background:var(--yellow);color:#1d3022}
html[data-theme="dark"] kbd{background:#24372a;color:#d1dcc0;border-color:#526249}
html[data-theme="dark"] .demo-badge{border-color:#637359}
html[data-theme="dark"] dialog{background:#1b2a21;color:var(--ink);border-color:#5a7051;box-shadow:8px 8px 0 #030b0777}
html[data-theme="dark"] .dialog-header{background:#102219;color:#d6e0c4}
html[data-theme="dark"] .dialog-footer{background:#243729;color:#b2c0a4}
html[data-theme="dark"] .level-button{background:#2a3e2c;border-color:#546b45;box-shadow:0 3px 0 #0c1c11}
html[data-theme="dark"] .level-button:hover:not(:disabled){background:#e2bc62;color:#1b2e20}
html[data-theme="dark"] .level-button:hover:not(:disabled) small{color:#415232}
html[data-theme="dark"] .game-strip{background:#253b2b;border-color:#4d6644}
html[data-theme="dark"] .mission-number{background:#10251a;color:var(--yellow)}
html[data-theme="dark"] .mission-name small{color:#b1c0a3}
html[data-theme="dark"] .notebook-btn{color:#213327}
html[data-theme="dark"] .mission-panel{background:#1d2c22;border-color:#455d3c;box-shadow:0 3px 0 #0a170e}
html[data-theme="dark"] .panel-tabs{border-color:#455d3c}
html[data-theme="dark"] .panel-tab{background:#263b2b;color:#bbc9ac}
html[data-theme="dark"] .panel-tab.active{background:#1d2c22;color:#f0e7bf}
html[data-theme="dark"] .doc-scroll p{color:#bdc9b2}
html[data-theme="dark"] .objective{color:#c4d0b7;border-color:#3e5236}
html[data-theme="dark"] .objective>span:first-child,html[data-theme="dark"] .inline-code{background:#31472f;color:#d8dfb6}
html[data-theme="dark"] .doc-note{background:#293d29;color:#d2dbb8}
html[data-theme="dark"] .sample-button{background:#2b452d;color:#e0e7c1;border-color:#617a4f}
html[data-theme="dark"] .table-reference{border-color:#405337}
html[data-theme="dark"] .table-reference small{color:#aab99d}
html[data-theme="dark"] .editor-panel{box-shadow:0 4px 0 #070f09}
html[data-theme="dark"] .result-panel{background:#1b2b20;border-color:#455d3a;box-shadow:0 3px 0 #0a170e}
html[data-theme="dark"] .result-head{border-color:#425639}
html[data-theme="dark"] .result-head small,html[data-theme="dark"] .result-to-note{color:#b0c09e}
html[data-theme="dark"] .empty-result{color:#8fa27b}
html[data-theme="dark"] .empty-result strong,html[data-theme="dark"] .empty-result small{color:#b5c5a5}
html[data-theme="dark"] .result-table th{background:#2c422b;color:#c4d1af;border-color:#4d6340}
html[data-theme="dark"] .result-table td{color:#d6e0c2;border-color:#354a30}
html[data-theme="dark"] .result-table tr:nth-child(even){background:#233724}
html[data-theme="dark"] .result-message{color:#c2d7a5}
html[data-theme="dark"] .result-warning{background:#363721;color:#e0d69d;border-color:#62603c}
html[data-theme="dark"] .notebook{background:#202a20;border-color:#6a7751}
html[data-theme="dark"] .notebook-desc,html[data-theme="dark"] .notebook-save{color:#b7b997}
html[data-theme="dark"] .notebook textarea{color:#e2dfba;background:repeating-linear-gradient(transparent,transparent 27px,#89916b44 27px,#89916b44 28px)}
html[data-theme="dark"] .toast{background:#243d2b;color:#f3e6b5;border-color:#7f925c}
@media(max-width:1370px){.credits-footer{width:calc(100% - 80px)}}
@media(max-width:760px){.credits-footer{width:calc(100% - 36px);gap:16px;align-items:flex-start;flex-direction:column;margin-top:17px;padding-top:19px}.credits-author{text-align:left;padding-left:65px;font-size:9px}.credits-logo{width:51px;height:51px}.credits-brand{gap:14px}.credits-brand p{font-size:10px}.credits-brand strong{font-size:12px}}
@media(max-width:420px){#theme-label{display:none}}

/* Contenido real de los retos y salida de SQL Server. */
.markdown-document{overflow-wrap:anywhere}.markdown-document h1{font:900 25px/1.15 var(--display);letter-spacing:-.8px;margin:0 0 20px}.markdown-document h2{font-size:20px;margin:26px 0 14px}.markdown-document h3{line-height:1.6}.markdown-document ul,.markdown-document ol{padding-left:20px}.markdown-document li{padding-bottom:7px;color:#5b6e58}.markdown-document a{color:#b5532f;text-underline-offset:3px}.markdown-document img{max-width:100%;height:auto;background:#f4f2e9;border:1px solid #c8cebd}.markdown-document blockquote{margin:15px 0;padding-left:12px;border-left:3px solid var(--orange)}.markdown-document code{font:11px/1.7 var(--mono);background:#e1e7d6;padding:2px 4px}.markdown-document pre{overflow:auto;max-width:100%;padding:12px;background:#e1e7d6;line-height:1.8}.markdown-document pre code{padding:0;background:transparent;white-space:pre}.markdown-document table{border-collapse:collapse;font-size:10px;display:block;overflow:auto}.markdown-document td,.markdown-document th{border:1px solid var(--line);padding:6px}.markdown-document hr{border:0;border-top:1px solid var(--line);margin:22px 0}.table-reference summary{cursor:pointer;line-height:1.7;overflow-wrap:anywhere}.table-reference ul{padding-left:17px;font-size:10px;list-style-type:square}.table-reference li{padding:4px 0;overflow-wrap:anywhere}.table-reference li strong{font-weight:normal}.table-reference li small{margin-top:2px}.result-tabs{display:flex;gap:7px;padding:8px 12px;border-bottom:1px solid var(--line);overflow:auto}.result-tabs:empty{display:none}.result-tab{flex-shrink:0;border:1px solid #bbc7aa;background:#e0e7d4;padding:7px 10px;font:9px var(--mono)}.result-tab.active{background:var(--yellow);color:#243a28;border-color:#bda049}.result-message p{margin:0 0 10px;white-space:pre-wrap}.query-error{color:#ab5236}.result-warning.truncated{background:#eed796;color:#6b4b20;font-weight:bold}.null-value{font-style:italic;opacity:.65}.doc-scroll>ul{padding-left:20px}.doc-scroll>ul code{font:10px var(--mono)}
html[data-theme="dark"] .markdown-document li{color:#bdc9b2}html[data-theme="dark"] .markdown-document a{color:#ffc087}html[data-theme="dark"] .markdown-document code,html[data-theme="dark"] .markdown-document pre{background:#293e2b;color:#d9e1bf}html[data-theme="dark"] .result-tab{background:#293e2b;color:#c4d1af;border-color:#556c43}html[data-theme="dark"] .result-tab.active{background:var(--yellow);color:#243a28}html[data-theme="dark"] .query-error{color:#f4aa87}html[data-theme="dark"] .result-warning.truncated{background:#65532c;color:#ffe7ab}
.guide-page{max-width:960px;margin:auto;padding:28px clamp(16px,5vw,60px) 64px}
.guide-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.guide-link,.guide-links a,.guide-index a{color:inherit;text-underline-offset:4px}
.guide-link{display:inline-block;margin-top:6px;font:700 12px var(--mono)}
.guide-index{border:1px solid var(--line);padding:16px 24px;margin-bottom:24px}
.guide-index ol{columns:2;column-gap:32px;padding-left:20px;margin:8px 0}
.guide-index li{break-inside:avoid;padding:4px 0}
.guide-article{font-size:16px;line-height:1.65}
.guide-article h1{font-size:clamp(30px,6vw,48px)}
.guide-article h2{margin-top:36px}
.guide-article code,.guide-article table{font-size:14px}
.guide-article td,.guide-article th{padding:8px 12px}
.level-switch[hidden]{display:none}
@media(max-width:620px){.guide-index ol{columns:1}}
@media(min-width:1080px){.cartridges{grid-template-columns:repeat(4,minmax(0,1fr))}}

.campaign-dialogue[hidden]{display:none}
.play-grid[hidden]{display:none}
.campaign-dialogue{
 display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start;
 margin:0 0 22px;padding:18px;border:2px solid #a96955;
 background:#fbf0dc;color:#382630;box-shadow:4px 4px 0 #a9695555;
}
.campaign-portrait{width:100%;height:auto;border:2px solid #a96955;image-rendering:pixelated}
.campaign-speaker{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.campaign-speaker strong{font:900 18px var(--display)}
.campaign-speaker span{font:11px var(--mono)}
#campaign-progress{margin-left:auto;background:#583444;color:#ffe6a7;padding:5px 8px}
#campaign-message h2{font:900 clamp(20px,3vw,29px)/1.15 var(--display);margin:9px 0 6px}
#campaign-message p{font-size:15px;line-height:1.5;margin:0 0 12px;max-width:75ch}
.campaign-lesson{margin:0 0 16px;padding-left:24px;max-width:78ch;font-size:15px;line-height:1.5}
.campaign-lesson li+li{margin-top:7px}
.campaign-lesson code{font-weight:bold;border-bottom:1px solid currentColor}
.campaign-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.campaign-actions .run{min-height:38px;font-size:12px}
.campaign-actions a{color:inherit;font-size:12px;text-underline-offset:3px}
.campaign-secondary{background:transparent;border:1px solid currentColor;padding:7px 9px;font:11px var(--mono)}
.campaign-game .play-grid{grid-template-columns:minmax(0,1fr)}
.campaign-game .mission-panel{order:2;min-height:0}
.campaign-game .editor-area{min-height:150px}
.campaign-game .code-wrap,.campaign-game .line-numbers{height:150px}
html[data-theme="dark"] .campaign-dialogue{background:#342938;color:#ffeed5;border-color:#d38968}
@media(max-width:560px){
 .campaign-dialogue{grid-template-columns:46px minmax(0,1fr);padding:12px;gap:9px}
 .campaign-speaker span{font-size:9px}
 #campaign-progress{margin-left:0}
 #campaign-message p{font-size:14px}
}
