:root{--color-bg-primary: #2D2A4A;--color-bg-card: #3E3762;--color-text-primary: #FFFFFF;--color-text-secondary: #EDEDF3;--color-text-accent: #B4F8C8;--color-button-primary: #6D5DFB;--color-button-hover: #8374FF;--color-button-secondary: #4A3F9E;--color-button-secondary-hover: #5A4FB8;--color-input-bg: #f4f4fb;--color-input-text: #2d2d2d;--color-input-border: #e0e0e8;--color-input-focus: #6D5DFB;--color-placeholder: #999999;--color-text-muted: #B8B8C8;--color-shadow: rgba(0, 0, 0, .2);--font-family-primary: "Inter", system-ui, -apple-system, sans-serif;--font-family-secondary: "Lato", system-ui, -apple-system, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 2px 8px var(--color-shadow);--shadow-md: 0 4px 20px var(--color-shadow);--shadow-lg: 0 8px 30px var(--color-shadow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl);width:100%}.card{position:relative;background-color:#2b2b45;border-radius:12px;box-shadow:0 4px 20px #0000004d;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:linear-gradient(to right,#7caeff,#a6ffc4);z-index:1}.card>*:first-child{position:relative;z-index:0}button,.button{background-color:var(--color-button-primary);color:var(--color-text-primary)!important;border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;font-family:var(--font-family-primary);box-shadow:var(--shadow-sm);letter-spacing:.3px}button:hover,.button:hover{background-color:var(--color-button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:focus,.button:focus{outline:2px solid var(--color-button-hover);outline-offset:2px}button:active,.button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button.secondary,.button.secondary{background-color:#ffffff1a;color:var(--color-text-primary)!important}button.secondary:hover,.button.secondary:hover{background-color:#ffffff26}input,textarea,.input{background-color:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:var(--radius-md);padding:var(--spacing-md);font-size:1rem;font-family:var(--font-family-primary);transition:all var(--transition-fast);width:100%;box-shadow:var(--shadow-sm);outline:none;resize:vertical}input::placeholder,textarea::placeholder,.input::placeholder{color:var(--color-placeholder);opacity:1}input:focus,textarea:focus,.input:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 2px #6d5dfb1a;outline:none}input:hover,textarea:hover,.input:hover{border-color:var(--color-input-focus)}input[type=text],input[type=email],input[type=password],input[type=search]{min-height:44px}textarea{min-height:120px;line-height:1.5}input:disabled,textarea:disabled,.input:disabled{background-color:#f8f8f8;border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.7}.input-group{display:flex;gap:var(--spacing-sm);align-items:center}.input-group input,.input-group textarea,.input-group .input{flex:1}.navbar{background:#2d2a4acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--spacing-md) var(--spacing-xl);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.footer{text-align:center;padding:var(--spacing-lg);color:#888;font-size:12px;margin-top:auto}.text-accent{color:var(--color-text-accent)}.text-muted{color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-normal)}.animate-slide-up{animation:slideUp var(--transition-normal)}.welcome-bg-stars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.welcome-star{position:absolute;border-radius:50%;opacity:.7;filter:blur(1px) drop-shadow(0 0 6px #fff6);animation:floatStar 18s linear infinite}.welcome-star.blue{background:#7caeff;box-shadow:0 0 12px #7caeff88}.welcome-star.lavender{background:#b8c1ec;box-shadow:0 0 12px #b8c1ec88}.welcome-star.mint{background:#a6ffc4;box-shadow:0 0 12px #a6ffc488}@keyframes floatStar{0%{transform:translateY(0) scale(1);opacity:.7}50%{opacity:1}to{transform:translateY(-60vh) scale(1.1);opacity:.7}}.card.glow{box-shadow:0 0 0 4px #7caeff44,0 0 24px 4px #a6ffc455,0 0 #b8c1ec44;animation:cardGlow 4s ease-in-out infinite alternate}@keyframes cardGlow{0%{box-shadow:0 0 0 4px #7caeff44,0 0 24px 4px #a6ffc455,0 0 #b8c1ec44}to{box-shadow:0 0 0 8px #b8c1ec33,0 0 32px 8px #7caeff33,0 0 #a6ffc433}}.typewriter{display:inline-block;border-right:2px solid #B8C1EC;white-space:nowrap;overflow:hidden;animation:typing 2.5s steps(30,end) .2s 1 normal both,blink-caret 1.1s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#b8c1ec}50%{border-color:transparent}}@media (max-width: 768px){.container{padding:1rem;gap:1.25rem}.card{padding:1rem}}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#191428eb;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .5s}.login-modal-card{background:var(--card-color, #3A2D65);border-radius:24px;box-shadow:0 8px 40px #00000040;border:3px solid transparent;background-clip:padding-box;position:relative;min-width:340px;max-width:95vw;width:400px;padding:2.5rem 2rem 2rem;display:flex;flex-direction:column;align-items:center;overflow:hidden}.login-modal-card:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;z-index:-1;border-radius:28px;background:linear-gradient(90deg,#7caeff,#a6ffc4);animation:gradientGlow 6s ease-in-out infinite alternate}@keyframes gradientGlow{0%{filter:blur(.5px) brightness(1)}to{filter:blur(2.5px) brightness(1.08)}}.login-modal-slogan{color:#b8c1ec;font-size:1.15rem;font-style:italic;text-align:center;margin-bottom:2rem;letter-spacing:.01em}.google-signin-btn{width:100%;background:linear-gradient(90deg,#b8c1ec,#a6ffc4);color:#2d254c;font-weight:600;border:none;border-radius:12px;padding:.85rem 0;font-size:1.08rem;margin-bottom:1.2rem;box-shadow:0 2px 12px #b8c1ec22;cursor:pointer;transition:background .2s,box-shadow .2s}.google-signin-btn:hover{background:linear-gradient(90deg,#a6ffc4,#b8c1ec);box-shadow:0 4px 20px #a6ffc433}.login-divider{color:#b8c1ec;margin:1rem 0 1.2rem;font-size:1rem;text-align:center;width:100%;position:relative}.login-divider:before,.login-divider:after{content:"";display:inline-block;width:30%;height:1px;background:linear-gradient(90deg,#7caeff,#a6ffc4);vertical-align:middle;margin:0 .5em}.login-form{width:100%;display:flex;flex-direction:column;gap:.7rem}.login-form label{color:#b8c1ec;font-size:.98rem;margin-bottom:.2rem}.login-form input[type=text],.login-form input[type=password]{width:100%;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--border-color, #4E4A67);background:#fffffff7;color:#2d254c;font-size:1rem;margin-bottom:.2rem}.login-form input[type=checkbox]{accent-color:#A6FFC4;margin-right:.5em}.login-form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.remember-me{color:#b8c1ec;font-size:.95rem;display:flex;align-items:center}.signup-link{color:#a6ffc4;text-decoration:none;font-size:.97rem;font-weight:500;transition:color .2s}.signup-link:hover{color:#7caeff;text-decoration:underline}.login-btn{width:100%;background:var(--primary-color, #7A6CF4);color:#fff;border:none;border-radius:8px;padding:.85rem 0;font-size:1.08rem;font-weight:600;margin-top:.7rem;box-shadow:0 2px 8px #7a6cf422;cursor:pointer;transition:background .2s,box-shadow .2s}.login-btn:hover{background:var(--primary-hover, #A094F7);box-shadow:0 4px 20px #a094f733}@media (max-width: 600px){.login-modal-card{min-width:0;width:98vw;padding:1.2rem .5rem 1.5rem}}.navbar-custom{background:var(--navbar-bg);color:var(--text-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.25rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px #00000014}.navbar-container{display:flex;justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:0 2rem}.navbar-title{color:var(--primary-color);font-size:1.7rem;font-weight:700;letter-spacing:1px}.navbar-links{display:flex;gap:2rem;align-items:center}.navbar-link{color:var(--text-color);text-decoration:none;font-weight:500;font-size:1.1rem;display:flex;align-items:center}.navbar-login{color:#a6ffc4;text-decoration:none;font-weight:600;font-size:1.1rem;border-radius:8px;padding:.4rem 1.1rem;background:linear-gradient(90deg,#7caeff22,#a6ffc422);box-shadow:0 1px 4px #0000000a;transition:background .2s;cursor:pointer;margin-left:.5rem;display:flex;align-items:center;line-height:1.1}
