:root{--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#16213e,#0f3460,#0a0a0a);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 20px 30px,#ffffff,transparent),radial-gradient(1px 1px at 40px 70px,#ffffff,transparent),radial-gradient(1px 1px at 90px 40px,#ffffff,transparent),radial-gradient(1px 1px at 130px 80px,#ffffff,transparent),radial-gradient(1px 1px at 160px 30px,#ffffff,transparent),radial-gradient(2px 2px at 60px 120px,#ffffff,transparent),radial-gradient(1.5px 1.5px at 180px 60px,#ffffff,transparent),radial-gradient(1px 1px at 220px 150px,#ffffff,transparent);background-size:200px 200px;animation:spinStars 60s linear infinite;opacity:.3;z-index:0;pointer-events:none}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 50px 50px,#87ceeb,transparent),radial-gradient(1px 1px at 150px 100px,#87ceeb,transparent),radial-gradient(1px 1px at 250px 200px,#87ceeb,transparent),radial-gradient(1px 1px at 350px 150px,#87ceeb,transparent);background-size:300px 300px;animation:spinStars 90s linear infinite reverse;opacity:.2;z-index:0;pointer-events:none}.login-container{background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#16213e,#0f3460,#0a0a0a);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 20px 30px,#ffffff,transparent),radial-gradient(1px 1px at 40px 70px,#ffffff,transparent),radial-gradient(1px 1px at 90px 40px,#ffffff,transparent),radial-gradient(1px 1px at 130px 80px,#ffffff,transparent),radial-gradient(1px 1px at 160px 30px,#ffffff,transparent),radial-gradient(2px 2px at 60px 120px,#ffffff,transparent),radial-gradient(1.5px 1.5px at 180px 60px,#ffffff,transparent),radial-gradient(1px 1px at 220px 150px,#ffffff,transparent);background-size:200px 200px;animation:spinStars 60s linear infinite;opacity:.4;z-index:0}.login-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(1px 1px at 50px 50px,#87ceeb,transparent),radial-gradient(1px 1px at 150px 100px,#87ceeb,transparent),radial-gradient(1px 1px at 250px 200px,#87ceeb,transparent),radial-gradient(1px 1px at 350px 150px,#87ceeb,transparent);background-size:300px 300px;animation:spinStars 90s linear infinite reverse;opacity:.3;z-index:0}@keyframes spinStars{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-card{background:#ffffff14;border-radius:24px;padding:3.5rem 2.5rem;text-align:center;max-width:420px;width:100%;position:relative;overflow:hidden;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;z-index:1;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #ffffff1a}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border-radius:24px;z-index:-1}.logo-container{margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.logo{height:120px;width:auto;filter:brightness(0) invert(1);transition:transform .3s ease}.logo:hover{transform:scale(1.05)}.login-card h1{font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:.01em;text-transform:uppercase;opacity:.5}.login-subtitle{color:#ffffffd9;margin-bottom:2.5rem;font-size:1.125rem;text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1.5;font-weight:400}.github-login-btn{display:flex;align-items:center;justify-content:center;gap:.875rem;width:100%;padding:1.125rem 2rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a;letter-spacing:.01em}.github-login-btn:hover{background:#ffffff40;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 12px 32px #0006,inset 0 1px #ffffff26}.github-login-btn:active{transform:translateY(-1px);transition:transform .1s ease}.github-icon{width:22px;height:22px;transition:transform .2s ease}.github-login-btn:hover .github-icon{transform:scale(1.1)}.login-card .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626;padding:.75rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem;text-align:center}.header-fixed{position:fixed;top:0;left:0;width:100%;background:#ffffff14;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:100;border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center}.header-logo{height:40px;width:auto;filter:brightness(0) invert(1)}.header-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.user-name{font-weight:500;color:#ffffffe6}.logout-btn{padding:.5rem 1rem;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;font-size:.875rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logout-btn:hover{background:#fff3;color:#fff;border-color:#ffffff4d;transform:translateY(-1px)}.version-display{position:fixed;top:6rem;right:1rem;font-size:.75rem;color:#fff9;font-weight:400;z-index:1000;background:#ffffff14;padding:.25rem .5rem;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.container{max-width:1200px;margin:0 auto;padding:2rem;margin-top:5rem;position:relative;z-index:1}.project-form{background:#ffffff14;border-radius:24px;padding:3.5rem 2.5rem;margin:0 auto 3rem;max-width:420px;width:100%;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3;position:relative;overflow:hidden}.project-form:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border-radius:24px;z-index:-1}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#ffffffe6;margin-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.project-input,.project-select{width:100%;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:14px;font-size:1rem;transition:all .3s ease;background:#2a2a3e;color:#ffffffe6;height:3rem;box-sizing:border-box}.select-wrapper{position:relative;display:inline-block;width:100%}.project-select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#2a2a3e;padding-right:2.5rem;width:100%}.select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid rgba(255,255,255,.5);pointer-events:none;z-index:1}.project-select:focus{outline:none;border-color:#fff3;background-color:#2a2a3e;box-shadow:none}.project-select option{background:#2a2a3e;color:#ffffffe6}.project-input::placeholder{color:#ffffff80}.project-input:focus,.project-select:focus{outline:none;border-color:#60a5fa80;background:#ffffff26;box-shadow:0 0 0 3px #60a5fa1a}.generate-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:1.125rem 2rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0003,inset 0 1px #ffffff1a;letter-spacing:.01em}.generate-btn:hover{background:#ffffff40;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 12px 32px #0006,inset 0 1px #ffffff26}.generate-btn:active{transform:translateY(-1px);transition:transform .1s ease}.error-message{display:none;background:#ef44441a;color:#f87171;padding:1rem;border-radius:var(--radius-md);margin:1.5rem 0;text-align:center;font-weight:500;border:1px solid rgba(239,68,68,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.projects-section{margin-top:3rem}.projects-section h2{font-size:2rem;font-weight:700;color:#ffffffe6;margin-bottom:2rem;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.projects-list{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-item{background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3;overflow:hidden}.project-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border-radius:20px;z-index:-1}.project-item:hover{transform:translateY(-8px);border-color:#60a5fa66;box-shadow:0 20px 40px #0006,inset 0 1px #ffffff4d}.project-header{margin-bottom:1rem}.project-header h3{font-size:1.25rem;font-weight:600;color:#ffffffe6;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.project-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.project-type{color:#60a5fa;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.project-repo,.project-date,.project-user{color:#ffffffb3;font-size:.875rem;margin:0}.delete-btn{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.5rem;cursor:pointer;color:#fff9;border-radius:8px;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.delete-btn:hover{color:#f87171;background:#f871711a;border-color:#f871714d;transform:scale(1.1)}.no-projects{text-align:center;color:#fff9;font-style:italic;grid-column:1 / -1;padding:3rem;font-size:1.125rem;background:#ffffff0d;border-radius:20px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.vitruviux-title{font-family:Inter,sans-serif;font-weight:700;font-size:3.5rem;color:#fff!important;text-align:center;margin:1.5rem 0 2rem;text-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2;letter-spacing:-.02em}.vitruviux-title:hover{color:#60a5fa;transition:color .2s ease}@media (max-width: 768px){.vitruviux-title{font-size:2.5rem;letter-spacing:.08em}}@media (max-width: 480px){.vitruviux-title{font-size:2rem;letter-spacing:.05em}}
