@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#121212;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#4a9eff;--secondary-color:#6c63ff;--background-dark:#121212;--background-light:#1a1a1a;--text-primary:#fff;--text-secondary:#ffffffb3}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#121212;background:var(--background-dark)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}::selection{background:#4a9eff;background:var(--primary-color);color:#fff}:focus{outline:2px solid #4a9eff;outline:2px solid var(--primary-color);outline-offset:2px}button,input,select,textarea{font:inherit}canvas,img,svg,video{max-width:100%}@media (max-width:480px){:root{--mobile-page-padding:0.85rem}}.auth-container{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;display:flex;height:100%;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100%;z-index:1000}.auth-card{background:linear-gradient(145deg,#1a1a1a,#2d2d2d);border:1px solid #ffffff1a;border-radius:15px;box-shadow:0 8px 32px #1f26875e;max-height:calc(100vh - 2rem);max-width:400px;overflow-y:auto;padding:2rem;position:relative;width:100%}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background-color .3s;width:30px}.close-button:hover{background-color:#ffffff1a}h2{color:#fff;font-size:clamp(1.45rem,6vw,1.8rem);font-weight:600;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:1rem;padding:.8rem 1rem;transition:all .3s;width:100%}input:focus{border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff33;outline:none}input::placeholder{color:#ffffff80}.auth-button{background:linear-gradient(45deg,#4a9eff,#6c63ff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem;transition:transform .3s,box-shadow .3s;width:100%}.auth-button:hover{box-shadow:0 4px 15px #4a9eff66;transform:translateY(-2px)}.auth-button:active{transform:translateY(0)}@media (max-width:480px){.auth-container{align-items:flex-start;padding:.85rem;padding:var(--mobile-page-padding,.85rem)}.auth-card{border-radius:10px;padding:1.25rem}.close-button{right:.7rem;top:.7rem}}.navbar{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(90deg,#1a1a1a,#2d2d2d);border-bottom:1px solid #ffffff1a;box-shadow:0 4px 30px #0000001a;display:flex;gap:1rem;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:100}.nav-brand{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;color:#fff;font-size:1.5rem;font-weight:700;position:relative;text-decoration:none}.nav-brand:after{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));bottom:-5px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.nav-brand:hover:after{transform:scaleX(1);transform-origin:left}.nav-links{flex-wrap:wrap;gap:1rem;justify-content:flex-end;min-width:0}.nav-button,.nav-links{align-items:center;display:flex}.nav-button{background:#0000;border:1px solid #ffffff1a;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;min-height:40px;padding:.5rem 1.2rem;text-align:center;transition:all .3s ease;white-space:normal}.nav-button:hover{background:#ffffff1a;border-color:#fff3}.nav-button.primary{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));border:none;box-shadow:0 4px 15px #4a9eff33;color:#fff}.nav-button.primary:hover{box-shadow:0 4px 20px #4a9eff66}.dashboard-button{background:#4a9eff1a;border-color:var(--primary-color);color:var(--primary-color)}.dashboard-button:hover{background:#4a9eff33}.program-button{background:#2ecc711a;border-color:#2ecc71b3;color:#6ee7b7}.program-button:hover{background:#2ecc712e}.logout-button{background:#ff3b301a;border-color:#ff3b30;color:#ff3b30}.logout-button:hover{background:#ff3b3033}.dashboard-icon,.logout-icon{transition:transform .3s ease}.nav-button:hover .dashboard-icon{transform:translateY(-1px)}.nav-button:hover .logout-icon{transform:translateX(2px)}@media (max-width:768px){.navbar{align-items:stretch;flex-direction:column;padding:1rem}.nav-brand{font-size:1.2rem;line-height:1.2;padding-top:0;width:max-content}.nav-links{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));width:100%}.nav-button{font-size:.9rem;min-width:0;padding:.45rem .75rem;width:100%}.nav-button svg{display:none}}@media (max-width:520px){.navbar{padding:.85rem;padding:.85rem var(--mobile-page-padding,.85rem)}.nav-links{gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-button{font-size:.84rem;padding-inline:.55rem}}@media (max-width:360px){.nav-links{grid-template-columns:1fr}}.library-list{margin:0 auto;max-width:1200px;padding:clamp(1rem,4vw,2rem)}.library-header{margin-bottom:3rem;text-align:center}.library-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;font-size:clamp(1.75rem,7vw,2.5rem);margin-bottom:1rem}.library-header p{color:var(--text-secondary);font-size:1.1rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.search-box{flex:1 1;min-width:300px}.sort-box{min-width:210px}.search-box input,.sort-box select{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:1rem;padding:.8rem 1rem;width:100%}.sort-box select{cursor:pointer}.sort-box option{background:#1f1f1f;color:#fff}.download-button,.mini-download-button,.refresh-button,.toggle-versions-button{border:none;border-radius:8px;cursor:pointer}.refresh-button{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));color:#fff;font-weight:500;padding:.8rem 1.5rem}.libraries-grid{grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr))}.library-card{overflow:hidden}.card-content{padding:1.5rem}.library-card p{line-height:1.5}.library-meta{gap:.45rem}.current-changelog{background:#ffffff0a;border-radius:8px;color:var(--text-secondary);font-size:.92rem;margin-top:.9rem;padding:.75rem}.card-actions{background:#0000002e;border-top:1px solid #ffffff14;padding:1rem 1.5rem}.card-actions-row{display:flex;gap:.75rem}.download-button,.toggle-versions-button{color:#fff;flex:1 1;padding:.7rem}.download-button{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color))}.toggle-versions-button{background:#ffffff14}.versions-public-list{border-top:1px solid #ffffff14;margin-top:1rem;padding-top:1rem}.version-public-row{border-bottom:1px solid #ffffff14;display:flex;gap:1rem;justify-content:space-between;padding:.8rem 0}.version-public-title{color:#fff;font-weight:600;margin-bottom:.3rem}.version-public-changelog,.version-public-date{color:var(--text-secondary);font-size:.9rem}.mini-download-button{background:#4a9eff26;color:#fff;min-width:110px;padding:.65rem .8rem}.error-message-box,.loading,.no-libraries{background:#ffffff0d;border-radius:12px;color:var(--text-secondary);grid-column:1/-1;padding:2rem;text-align:center}.error-message-box{background:#e74c3c1a}@media (max-width:768px){.library-list{padding:1rem;padding:var(--mobile-page-padding,1rem)}.library-header{margin-bottom:1.75rem}.card-actions-row,.filters,.version-public-row{flex-direction:column}.search-box,.sort-box{min-width:100%}.library-list .libraries-grid{gap:1rem;grid-template-columns:minmax(0,1fr)}.library-list .library-card{min-width:0}.card-actions,.card-content{padding:1rem}.download-button,.mini-download-button,.refresh-button,.toggle-versions-button{width:100%}}.dashboard{margin:0 auto;max-width:1280px;padding:clamp(1rem,4vw,2rem)}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;font-size:clamp(1.8rem,7vw,2.5rem)}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem}.dashboard-content.two-columns{grid-template-columns:1fr 1fr}.libraries-section,.upload-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a1acc;border:1px solid #ffffff1a;border-radius:15px;padding:2rem}.libraries-section h2,.upload-section h2{color:#fff;font-size:1.5rem;margin-bottom:1.5rem}.upload-form .form-group{margin-bottom:1rem}.dashboard-select,.upload-form input,.upload-form textarea{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:1rem;padding:.8rem 1rem;width:100%}.upload-form textarea{min-height:90px;resize:vertical}.file-input{position:relative}.file-label{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));border-radius:8px;color:#fff;cursor:pointer;display:inline-block;padding:.8rem 1.5rem}.file-label input[type=file]{display:none}.file-name{color:var(--text-secondary);display:block;margin-top:.5rem}.download-button,.mini-button,.refresh-button,.upload-button{border:none;border-radius:8px;cursor:pointer}.refresh-button,.upload-button{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));color:#fff;font-weight:600;padding:.85rem;width:100%}.download-button{background:#0000;border:1px solid var(--primary-color);color:var(--primary-color);margin-top:1rem;padding:.75rem;width:100%}.dashboard-libraries{margin-top:2rem}.libraries-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr))}.library-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem}.library-card h3{color:#fff;margin-bottom:.5rem;overflow-wrap:anywhere}.library-card p{color:var(--text-secondary);margin-bottom:1rem;overflow-wrap:anywhere}.library-meta{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.9rem;gap:.4rem}.version-history{border-top:1px solid #ffffff14;margin-top:1.25rem;padding-top:1rem}.version-history h4{color:#fff;margin-bottom:.75rem}.version-row{border-bottom:1px solid #ffffff14;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 0}.version-main{flex:1 1}.version-title{color:#fff;font-weight:600;margin-bottom:.35rem}.version-date{color:var(--text-secondary);font-size:.85rem;margin-bottom:.4rem}.version-changelog{color:var(--text-secondary);font-size:.92rem;line-height:1.45}.version-actions{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.mini-button{background:#4a9eff1f;color:#fff;padding:.6rem .8rem}.mini-button.secondary{background:#ffffff14}.current-badge{background:#2ecc712e;border-radius:999px;color:#2ecc71;display:inline-block;font-size:.75rem;margin-left:.5rem;padding:.15rem .45rem}.error-message-box,.loading,.no-libraries,.success-message-inline{border-radius:12px;margin-bottom:1rem;padding:1rem;text-align:center}.loading,.no-libraries{background:#ffffff0d;color:var(--text-secondary)}.no-libraries.small{font-size:.9rem;padding:.75rem}.error-message-box{background:#e74c3c1f;border:1px solid #e74c3c4d;color:#e74c3c}.success-message-inline{background:#2ecc711f;border:1px solid #2ecc714d;color:#2ecc71}.refresh-section{margin-top:1.5rem}@media (max-width:900px){.dashboard-content.two-columns{grid-template-columns:1fr}.version-row{flex-direction:column}.version-actions{min-width:auto}}@media (max-width:640px){.dashboard{padding:1rem;padding:var(--mobile-page-padding,1rem)}.libraries-section,.upload-section{border-radius:10px;padding:1rem}.dashboard-content{gap:1rem}.dashboard .libraries-grid{gap:1rem;grid-template-columns:minmax(0,1fr)}.dashboard .library-card{min-width:0;padding:1rem}.file-label{display:flex;justify-content:center;text-align:center;width:100%}.current-badge{display:table;margin:.35rem 0 0}.mini-button{width:100%}}.program-page{background:radial-gradient(circle at 16% 12%,#2ecc7129,#0000 26rem),radial-gradient(circle at 82% 8%,#4a9eff24,#0000 28rem),linear-gradient(135deg,#101214,#17181d);min-height:calc(100vh - 76px);padding:clamp(1rem,4vw,2rem)}.program-hero,.program-install-steps{margin:0 auto;width:min(1120px,100%)}.program-hero{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) 360px;padding:3rem 0 2rem}.program-copy{display:flex;flex-direction:column;justify-content:center}.program-kicker{color:#6ee7b7;font-size:.85rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.program-copy h1{color:#fff;font-size:clamp(2rem,8vw,4.8rem);line-height:1;margin:.65rem 0 1rem;max-width:760px}.program-copy p{color:var(--text-secondary);font-size:1.12rem;line-height:1.6;max-width:690px}.program-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}.program-download-button,.program-secondary-link{align-items:center;border-radius:8px;display:inline-flex;font-weight:700;justify-content:center;min-height:46px;padding:.85rem 1.15rem;text-decoration:none}.program-download-button{background:linear-gradient(45deg,#2ecc71,var(--primary-color));box-shadow:0 16px 32px #2ecc712e;color:#fff}.program-secondary-link{background:#ffffff0f;border:1px solid #ffffff24;color:#fff}.program-panel{align-self:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;box-shadow:0 22px 60px #00000047;padding:1.3rem}.program-panel-header{grid-gap:.35rem;border-bottom:1px solid #ffffff1a;display:grid;gap:.35rem;padding-bottom:1rem}.program-details dt,.program-panel-header span{color:var(--text-secondary);font-size:.82rem;letter-spacing:0;text-transform:uppercase}.program-panel-header strong{color:#fff;font-size:1.25rem;word-break:break-word}.program-details{grid-gap:.9rem;display:grid;gap:.9rem;margin-top:1rem}.program-details div{display:flex;gap:1rem;justify-content:space-between}.program-details dd{color:#fff;margin:0;text-align:right}.program-install-steps{padding:1rem 0 2rem}.program-install-steps h2{font-size:1.45rem;margin-bottom:1rem}.program-steps-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.program-steps-grid article{background:hsla(0,0%,100%,.045);border:1px solid #ffffff1a;border-radius:8px;min-height:176px;padding:1rem}.program-steps-grid span{align-items:center;background:#2ecc712e;border-radius:8px;color:#6ee7b7;display:inline-flex;font-weight:800;height:32px;justify-content:center;width:32px}.program-steps-grid h3{margin:.85rem 0 .45rem}.program-steps-grid p{color:var(--text-secondary);line-height:1.5}@media (max-width:840px){.program-page{padding:1rem}.program-hero,.program-steps-grid{grid-template-columns:1fr}.program-hero{padding-top:2rem}}@media (max-width:520px){.program-page{padding:.85rem;padding:var(--mobile-page-padding,.85rem)}.program-copy h1{font-size:clamp(1.8rem,11vw,2.2rem)}.program-actions,.program-details div{flex-direction:column}.program-download-button,.program-secondary-link{width:100%}.program-details dd{text-align:left}.program-panel,.program-steps-grid article{padding:1rem}}.tetris-page{background:radial-gradient(circle at top left,#4a9eff2e,#0000 34rem),linear-gradient(135deg,#101115,#18191f);min-height:calc(100vh - 76px);padding:clamp(1rem,4vw,2rem)}.tetris-shell{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:minmax(300px,440px) minmax(280px,1fr);margin:0 auto;width:min(1120px,100%)}.tetris-board-wrap{margin:0 auto;position:relative;width:min(100%,440px)}.tetris-board{aspect-ratio:1/2;background:#0a0b0f;border:1px solid #ffffff24;box-shadow:0 24px 70px #0000005c;display:grid;grid-template-columns:repeat(10,1fr);overflow:hidden}.tetris-cell{aspect-ratio:1;background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.035)}.tetris-cell.filled{background:linear-gradient(135deg,#ffffff57,#0000 42%),var(--cell-color);border-color:#ffffff3d;box-shadow:inset 0 -5px 0 #00000029}.tetris-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07080cc2;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute}.overlay-title{font-size:2rem;font-weight:700}.tetris-side{grid-gap:1rem;display:grid;gap:1rem}.desktop-controls span,.stat-grid span,.tetris-title-block span{color:var(--text-secondary);font-size:.82rem;letter-spacing:0;text-transform:uppercase}.tetris-title-block h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#37d5ff,#ff5267);-webkit-background-clip:text;font-size:clamp(2.1rem,8vw,3rem);line-height:1;margin-top:.2rem}.stat-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-controls,.next-panel,.stat-grid>div{background:hsla(0,0%,100%,.055);border:1px solid #ffffff1a;border-radius:8px;padding:1rem}.stat-grid strong{display:block;font-size:1.4rem;margin-top:.35rem}.next-panel h2{font-size:1rem;margin-bottom:.9rem}.next-list{display:flex;flex-wrap:wrap;gap:.75rem}.mini-piece{grid-gap:2px;background:#0000003d;border-radius:8px;display:grid;gap:2px;grid-template-columns:repeat(4,16px);grid-template-rows:repeat(4,16px);padding:.5rem}.mini-cell{border-radius:3px;height:16px;width:16px}.mini-cell.filled{background:var(--cell-color);box-shadow:inset 0 -3px 0 #00000029}.desktop-controls p{color:var(--text-secondary);line-height:1.5;margin-top:.45rem}.action-row{display:flex;gap:.75rem}.action-row button,.tetris-overlay button,.touch-controls button{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;min-height:44px}.action-row button,.tetris-overlay button{flex:1 1;padding:.75rem 1rem}.action-row button:first-child,.tetris-overlay button{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));border:none}.touch-controls{display:none;gap:.55rem;grid-template-columns:repeat(4,1fr);margin:1rem auto 0;width:min(440px,100%)}.touch-controls .wide{grid-column:span 4}@media (max-width:860px){.tetris-page{padding:1rem;padding:var(--mobile-page-padding,1rem)}.tetris-shell{grid-template-columns:1fr}.tetris-title-block h1{font-size:clamp(2rem,10vw,2.35rem)}.desktop-controls{display:none}.touch-controls{display:grid}}@media (max-width:460px){.stat-grid{grid-template-columns:1fr}.next-list{justify-content:space-between}.mini-piece{grid-template-columns:repeat(4,13px);grid-template-rows:repeat(4,13px)}.mini-cell{height:13px;width:13px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app{background:linear-gradient(135deg,#121212,#1a1a1a);min-height:100vh}.main-content{margin:0 auto;max-width:1200px;padding:clamp(1rem,4vw,2rem)}.hero-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#1a1a1acc,#121212cc);border:1px solid #ffffff1a;border-radius:20px;margin-top:2rem;padding:clamp(2rem,8vw,4rem) 1rem;text-align:center}.hero-section h1{-webkit-text-fill-color:#0000;animation:glow 3s ease-in-out infinite;background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;font-size:clamp(1.9rem,8vw,3rem);font-weight:700;margin-bottom:1rem}.hero-section p{color:var(--text-secondary);font-size:1.2rem;margin:0 auto;max-width:600px}@keyframes glow{0%{text-shadow:0 0 10px #4a9eff33}50%{text-shadow:0 0 20px #4a9eff66}to{text-shadow:0 0 10px #4a9eff33}}@media (max-width:768px){.hero-section{border-radius:12px;margin-top:1rem;padding:2rem 1rem}.hero-section h1{font-size:clamp(1.7rem,9vw,2rem)}.hero-section p{font-size:1rem}}
/*# sourceMappingURL=main.f3bc3cc7.css.map*/