:root{--c64-primary-blue:#726CC0;--c64-light-gray:#D6CDE4;--c64-purple:#562841;--c64-dark-gray:#383838;--c64-light-blue:#A8A8FE;--c64-screen-white:#E3DAF0;--c64-background:var(--c64-primary-blue);--c64-screen-bg:var(--c64-light-gray);--c64-border-color:var(--c64-purple);--c64-dark-element-bg:var(--c64-dark-gray);--font-header:"Press Start 2P",cursive;--font-body:"VT323",monospace;--c64-scanline-color:rgba(0,0,0,0.1);--c64-text-color:var(--c64-screen-white)}body{font-family:var(--font-body);background-color:var(--c64-background);color:var(--c64-text-color);overflow-x:hidden;min-height:100vh;padding:0;margin:0;position:relative;display:flex;justify-content:center;align-items:flex-start}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;background-image:linear-gradient(to bottom,var(--c64-scanline-color),transparent);background-size:100% 100px;opacity:.6;box-shadow:inset 0 0 50px rgba(0,0,0,.5)}.c64-screen-container{position:relative;z-index:11;background-color:var(--c64-screen-bg);box-shadow:0 0 20px rgba(0,0,0,.7);padding:20px;width:90%;max-width:1200px;border:8px solid var(--c64-border-color);box-sizing:border-box}h1,h2,h3,h4{font-family:var(--font-header);color:var(--c64-text-color);text-shadow:4px 4px var(--c64-dark-gray);margin-top:1.5rem;padding-bottom:.2em;border-bottom:2px dashed var(--c64-purple)}h1,h2,h3,h4,p{margin-bottom:1rem}p{line-height:1.6}.c64-card{background-color:var(--c64-dark-element-bg);border:4px solid var(--c64-purple);box-shadow:6px 6px 0 0 var(--c64-light-blue);padding:15px;margin-bottom:1.5rem;border-image:linear-gradient(to bottom right,var(--c64-purple),var(--c64-light-blue),var(--c64-purple)) 1}.btn{background-color:var(--c64-primary-blue);color:var(--c64-text-color);padding:10px 20px;border:none;cursor:pointer;text-transform:uppercase;font-family:var(--font-header);transition:all .1s ease-out;border-radius:0;display:inline-block;margin-right:10px;box-shadow:4px 4px 0 0 var(--c64-dark-gray)}.btn:hover{background-color:var(--c64-light-blue);box-shadow:2px 2px 0 0 var(--c64-dark-gray);transform:translate(2px,2px)}.btn:active{background-color:var(--c64-dark-gray);box-shadow:1px 1px 0 0 var(--c64-dark-gray);transform:translate(3px,3px)}pre{background-color:#008000;color:var(--c64-screen-white);padding:15px;border-left:5px solid var(--c64-purple);box-shadow:inset 0 0 10px rgba(0,0,0,.5);overflow-x:auto;white-space:pre-wrap}code,pre{font-family:var(--font-body)}.nav-link.active{background-color:var(--c64-light-blue);color:var(--c64-background);border-bottom:4px solid var(--c64-purple)}.boot-loader{text-align:center;padding:40px 0;color:var(--c64-text-color);font-size:1.2em;opacity:1;animation:boot-typing 2s ease-out forwards;white-space:pre-wrap}@keyframes boot-typing{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blinking-cursor{display:inline-block;width:.7em;height:1.1em;background-color:var(--c64-text-color);animation:blink-caret 1s linear infinite;margin-left:5px}@keyframes blink-caret{0%,to{visibility:hidden}50%{visibility:visible}}.sprite-grid-container{width:-moz-fit-content;width:fit-content;display:grid;grid-template-columns:repeat(8,20px);grid-template-rows:repeat(21,20px);grid-gap:1px;gap:1px;border:3px solid var(--c64-purple);background-color:var(--c64-dark-gray);margin:20px auto}.sprite-cell{width:20px;height:20px;background-color:#1a1a1a;border:1px dotted rgba(255,255,255,.1);cursor:pointer;transition:background-color .1s}.sprite-cell.selected{background-color:var(--c64-light-blue);border:1px solid var(--c64-purple)}.sidebar{background-color:var(--c64-dark-element-bg);color:var(--c64-text-color);padding:20px;flex:1 0 250px;border-right:3px solid var(--c64-purple);max-height:90vh;position:-webkit-sticky;position:sticky;top:20px}@media (max-width:768px){.sidebar{position:absolute;z-index:20;transform:translateX(-100%);transition:transform .3s ease-in-out;box-shadow:-10px 0 20px rgba(0,0,0,.5);border-right:none;border-bottom:3px solid var(--c64-purple);max-height:none;width:85%}.sidebar.open{transform:translateX(0)}.main-content{padding:0}}.hidden{display:none!important}.error-404{background-color:var(--c64-dark-element-bg);padding:50px;text-align:center;margin-top:50px;border:3px solid var(--c64-purple);animation:pulse 2s infinite alternate}@keyframes pulse{0%{box-shadow:0 0 10px var(--c64-light-blue)}to{box-shadow:0 0 30px var(--c64-light-blue),0 0 15px rgba(0,0,0,.5)}}.initial-boot-screen{text-align:center;padding:50px}.initial-boot-screen h1{font-size:2em}body.loaded .c64-screen-container{min-height:80vh}body{text-shadow:2px 2px var(--c64-dark-gray)}*{box-sizing:border-box}@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap");.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.grid{display:grid}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-mono{font-family:var(--font-body)}.font-pixel{font-family:var(--font-header)}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.w-full{width:100%}.h-full{height:100%}.p-2{padding:.5rem}.p-4{padding:1rem}.m-2{margin:.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.relative{position:relative}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}@keyframes c64-blink{0%,49%{opacity:1}50%,to{opacity:0}}.animate-blink{animation:c64-blink 1s step-end infinite}@keyframes c64-scanlines{0%{background-position:0 0}to{background-position:0 4px}}.animate-scanlines{animation:c64-scanlines .5s linear infinite;background-image:repeating-linear-gradient(180deg,transparent 0,transparent 2px,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 4px)}@keyframes c64-flicker{0%,to{opacity:1}5%{opacity:.85}10%{opacity:1}15%{opacity:.9}30%{opacity:1}60%{opacity:.95}80%{opacity:1}90%{opacity:.88}}.animate-flicker{animation:c64-flicker 4s linear infinite}@keyframes c64-glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.animate-glitch{animation:c64-glitch .3s ease-in-out}.animate-glitch-continuous{animation:c64-glitch .3s ease-in-out infinite}@keyframes c64-slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes c64-fadeIn{0%{opacity:0}to{opacity:1}}.c64-btn{font-family:var(--font-header);padding:.6rem 1.2rem;border:3px solid var(--c64-border-color);cursor:pointer;text-transform:uppercase;font-size:.75rem;box-shadow:4px 4px 0 0 var(--c64-dark-gray);transition:all .1s ease-out;border-radius:0;display:inline-flex;align-items:center;gap:.5rem;line-height:1.4}.c64-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 0 var(--c64-dark-gray)}.c64-btn:active{transform:translate(4px,4px);box-shadow:0 0 0 0 var(--c64-dark-gray)}.c64-btn--primary{background-color:var(--c64-primary-blue);color:var(--c64-screen-white)}.c64-btn--secondary{background-color:var(--c64-dark-gray);color:var(--c64-screen-white)}.c64-btn--secondary:hover{background-color:var(--c64-primary-blue)}.c64-btn--danger{background-color:#8B0000;color:var(--c64-screen-white)}.c64-btn--danger:hover{background-color:#a81020}.c64-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 0 var(--c64-dark-gray)}.c64-progress-bar{width:100%;margin:.5rem 0}.c64-progress-bar__label{font-family:var(--font-header);font-size:.7rem;color:var(--c64-text-color);text-align:right;margin-bottom:.25rem}.c64-progress-bar__track{background-color:var(--c64-dark-gray);border:2px solid var(--c64-purple);height:1.2rem;position:relative;overflow:hidden}.c64-progress-bar__fill{height:100%;background-color:var(--c64-primary-blue);transition:width .3s ease-out;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 8px)}.c64-modal__overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;animation:c64-fadeIn .2s ease-out}.c64-modal{background-color:var(--c64-dark-element-bg);border:4px solid var(--c64-border-color);box-shadow:8px 8px 0 0 var(--c64-light-blue);min-width:320px;max-width:90vw;max-height:80vh;overflow-y:auto;animation:c64-slideIn .2s ease-out}.c64-modal__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:3px solid var(--c64-border-color);background-color:var(--c64-primary-blue)}.c64-modal__title{font-family:var(--font-header);font-size:.85rem;color:var(--c64-screen-white);margin:0;text-shadow:3px 3px var(--c64-dark-gray)}.c64-modal__close{background:transparent;border:none;color:var(--c64-screen-white);font-size:1.2rem;cursor:pointer;font-family:var(--font-body);padding:0 .25rem;line-height:1}.c64-modal__close:hover{color:#ff6b6b}.c64-modal__body{padding:1rem}.c64-toast{position:fixed;bottom:1rem;right:1rem;padding:.75rem 1.25rem;border:3px solid var(--c64-border-color);font-family:var(--font-body);font-size:.95rem;z-index:2000;display:flex;align-items:center;gap:.75rem;box-shadow:6px 6px 0 0 var(--c64-dark-gray)}.c64-toast,.c64-toast--visible{animation:c64-slideIn .25s ease-out}.c64-toast--info{background-color:var(--c64-primary-blue);color:var(--c64-screen-white)}.c64-toast--success{background-color:#2d6a00;color:var(--c64-screen-white)}.c64-toast--error{background-color:#8B0000;color:var(--c64-screen-white)}.c64-toast--warning{background-color:#8B6B00;color:var(--c64-screen-white)}.c64-toast__message{flex:1 1}.c64-toast__close{background:transparent;border:none;color:inherit;font-size:1.1rem;cursor:pointer;padding:0 .25rem;opacity:.7}.c64-toast__close:hover{opacity:1}.c64-badge{font-family:var(--font-header);display:inline-flex;align-items:center;padding:.2rem .5rem;border:2px solid var(--c64-border-color);font-size:.6rem;text-transform:uppercase;white-space:nowrap}.c64-badge--default{background-color:var(--c64-dark-gray);color:var(--c64-screen-white)}.c64-badge--success{background-color:#2d6a00;color:var(--c64-screen-white)}.c64-badge--warning{background-color:#8B6B00;color:var(--c64-screen-white)}.c64-badge--danger{background-color:#8B0000;color:var(--c64-screen-white)}.c64-badge--info{background-color:var(--c64-primary-blue);color:var(--c64-screen-white)}.c64-badge--sm{font-size:.5rem;padding:.15rem .4rem}.c64-badge--md{font-size:.6rem;padding:.2rem .5rem}.c64-badge--lg{font-size:.75rem;padding:.3rem .75rem}.UserMenu_wrapper__uMdHc{position:relative}.UserMenu_userCell__I_VL7{display:inline-block}.UserMenu_userBtn__p4dg_{background:#0a1a0a;border:1px solid #00ff00;color:#00ff00;padding:.4rem .75rem;font-family:VT323,monospace;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.UserMenu_userBtn__p4dg_:hover{background:#1a3a1a}.UserMenu_email__kc2XT{max-width:120px;overflow:hidden;text-overflow:ellipsis}.UserMenu_arrow__bCf0t{font-size:.75rem}.UserMenu_premiumBadge__LusTi{background:#ffd700;color:#000;font-family:Press Start\ 2P,monospace;font-size:.4rem;padding:.15rem .3rem;border-radius:2px}.UserMenu_dropdown__e24Xu{position:absolute;top:100%;right:0;margin-top:.25rem;background:#0a1a0a;border:1px solid #00ff00;border-radius:4px;padding:.75rem;min-width:220px;z-index:100}.UserMenu_dropdownRow__ldCy9{display:flex;justify-content:space-between;margin-bottom:.35rem;font-family:VT323,monospace;font-size:1rem}.UserMenu_label__4f_Se{color:#888}.UserMenu_value__ntUdY{color:#00ff00}.UserMenu_premiumValue__i_xsP{color:#ffd700;font-weight:700}.UserMenu_freeValue__Oi9u8{color:#ff8800}.UserMenu_dropdownBtn__sIPkY{padding:.5rem;text-align:center;margin-top:.5rem;border:1px solid #00ff00;font-size:1.1rem;text-decoration:none;background:#00ff00;color:#000}.UserMenu_dropdownBtn__sIPkY,.UserMenu_logoutBtn__dM_wO{display:block;width:100%;cursor:pointer;font-family:VT323,monospace}.UserMenu_logoutBtn__dM_wO{padding:.4rem;margin-top:.35rem;background:none;border:1px solid #ff4444;color:#ff4444;font-size:1rem}.UserMenu_logoutBtn__dM_wO:hover{background:#330000}.LoginModal_overlay__Gb0Oh{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.LoginModal_modal__ut8wi{background:#1a1a1a;border:2px solid #00ff00;border-radius:4px;padding:2rem;min-width:360px;max-width:90vw;position:relative}.LoginModal_close__biZBh{position:absolute;top:.5rem;right:.75rem;background:none;border:none;color:#00ff00;font-size:1.5rem;cursor:pointer}.LoginModal_title__jq_FD{font-family:Press Start\ 2P,monospace;color:#00ff00;font-size:1.2rem;margin-bottom:1.5rem;text-align:center}.LoginModal_googleBtn__NCibJ{width:100%;padding:.75rem;font-family:VT323,monospace;font-size:1.2rem;cursor:pointer;margin-bottom:1rem}.LoginModal_divider__C__zj{text-align:center;color:#555;margin:.75rem 0;font-family:VT323,monospace;font-size:1.1rem}.LoginModal_input__SUeQD{width:100%;padding:.75rem;margin-bottom:.75rem;background:#0a1a0a;border:1px solid #00ff00;color:#00ff00;font-family:VT323,monospace;font-size:1.1rem;box-sizing:border-box}.LoginModal_input__SUeQD::placeholder{color:#335533}.LoginModal_submitBtn__zf7Dz{width:100%;padding:.75rem;background:#00ff00;color:#000;border:none;font-family:Press Start\ 2P,monospace;font-size:.7rem;cursor:pointer;margin-top:.5rem}.LoginModal_submitBtn__zf7Dz:disabled{opacity:.5;cursor:not-allowed}.LoginModal_error__D06t_{color:#ff4444;font-family:VT323,monospace;font-size:1rem;margin:.5rem 0}.LoginModal_signupLink__LUyNf{text-align:center;color:#888;font-family:VT323,monospace;font-size:1rem;margin-top:1rem}.Sidebar_mobileBtn__y_TqV{display:none;position:fixed;top:.5rem;left:.5rem;z-index:50;background:#0a1a0a;border:1px solid #00ff00;color:#00ff00;padding:.3rem .5rem;font-size:1.2rem;cursor:pointer}@media (max-width:768px){.Sidebar_mobileBtn__y_TqV{display:block}}.Sidebar_sidebar__x3evN{position:fixed;top:0;left:0;height:100vh;width:220px;background:#0a1a0a;border-right:2px solid #00ff00;display:flex;flex-direction:column;padding:1rem;box-sizing:border-box;z-index:10;overflow-y:auto;transition:transform .3s ease}@media (max-width:768px){.Sidebar_sidebar__x3evN{transform:translateX(-100%)}.Sidebar_sidebarOpen__YtDDg{transform:translateX(0)}}.Sidebar_sidebarInner__IeAZj{display:flex;flex-direction:column;height:100%}.Sidebar_logo__B0mBj{display:flex;align-items:center;gap:.5rem;color:#00ff00;text-decoration:none;font-family:Press Start\ 2P,monospace;font-size:.8rem;margin-bottom:1rem}.Sidebar_logoHighlight__Ypr3C{color:#ffd700}.Sidebar_ready__syPkL{font-family:VT323,monospace;color:#00ff00;font-size:1.2rem;margin-bottom:1rem;opacity:.7}.Sidebar_sidebarLinks__CK_fB{list-style:none;padding:0;margin:0;flex:1 1}.Sidebar_sidebarLinks__CK_fB li{margin-bottom:.25rem}.Sidebar_link__jFcmM{display:block;padding:.5rem .75rem;color:#00ff00;text-decoration:none;font-family:VT323,monospace;font-size:1.2rem;border-left:2px solid transparent}.Sidebar_link__jFcmM:hover{background:rgba(0,255,0,.1);border-left-color:#00ff00}.Sidebar_activeLink__f76WK{display:block;padding:.5rem .75rem;color:#ffd700;text-decoration:none;font-family:VT323,monospace;font-size:1.2rem;border-left:2px solid #ffd700;background:rgba(255,215,0,.05)}.Sidebar_authArea__eHKuu{margin:.75rem 0}.Sidebar_loginBtn__4f6b3{width:100%;padding:.6rem;background:transparent;border:1px solid #00ff00;color:#00ff00;font-family:VT323,monospace;font-size:1.2rem;cursor:pointer}.Sidebar_loginBtn__4f6b3:hover{background:rgba(0,255,0,.1)}.Sidebar_footer__5p_7x{border-top:1px solid #003300;padding-top:.75rem;margin-top:auto}.Sidebar_githubLink__7cA6u{display:block;color:#00ff00;font-family:VT323,monospace;font-size:1rem;text-decoration:none;margin-bottom:.25rem}.Sidebar_copy__LPlb6{color:#335533;font-family:VT323,monospace;font-size:.9rem;text-align:center}.Sidebar_overlay__i8Szf{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:5}