@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fffefd;color:#1b1b1c;font-family:IBM Plex Mono,monospace;overflow-x:hidden}.app{flex-direction:column;min-height:100vh}.app,.main{display:flex}.main{align-items:center;flex:1 1;justify-content:center;padding:2rem}.content-container{display:flex;flex-direction:column;gap:3rem;max-width:1200px;width:100%}.row{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);width:100%}.column{align-items:center;background-color:#fffefd;border:none;border-radius:0;display:flex;flex-direction:column;padding:2rem;text-align:center;transition:transform .2s ease}.column:hover{transform:translateY(-2px)}.column-image{height:80px;margin-bottom:1rem;object-fit:cover;width:80px}.column h3{color:#1b1b1c;font-size:1.2rem;font-weight:500;margin-bottom:1rem}.column p{color:#666;font-size:.9rem;line-height:1.5}.footer{border-top:1px solid #e0e0e0;margin-top:auto;text-align:center}.footer p{color:#666;font-size:.8rem}@media (max-width:768px){.row{gap:1rem;grid-template-columns:1fr}.content-container{gap:2rem}.main{padding:1rem}.column{padding:1.5rem}}@media (max-width:480px){.column{padding:1rem}.column h3{font-size:1rem}.column p{font-size:.8rem}}.not-found-container{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:2rem}.not-found-content{max-width:500px;text-align:center}.not-found-title{color:#1b1b1c;font-size:6rem;font-weight:700;line-height:1;margin:0}.not-found-subtitle{color:#1b1b1c;font-size:2rem;font-weight:500;margin:1rem 0}.not-found-text{color:#666;font-size:1.1rem;line-height:1.6;margin:1.5rem 0}.not-found-link{background-color:#1b1b1c;border-radius:5px;color:#fff;display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .3s ease}.not-found-link:hover{background-color:#333}@media (max-width:768px){.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.5rem}.not-found-container{min-height:50vh;padding:1rem}}.redirect-container{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:2rem}.redirect-content{max-width:400px;text-align:center}.redirect-content h2{color:#1b1b1c;font-size:1.5rem;font-weight:500;margin-bottom:1rem}.redirect-content p{color:#666;font-size:1rem;line-height:1.6}.redirect-content a{color:#1b1b1c;text-decoration:underline}.redirect-content a:hover{color:#333}.auth-button-container{position:fixed;right:20px;top:20px;z-index:100}.auth-button{background-color:#007bff;border:none;border-radius:8px;color:#fff;transition:background-color .2s ease}.auth-button,.auth-username{cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.auth-username{background:none;border:none;color:#1b1b1c;transition:color .2s ease}.auth-username:hover{color:#666}.welcome-message{background-color:#28a745;border-radius:8px;color:#fff;margin-bottom:20px;padding:12px 20px;text-align:center}.welcome-message p{font-weight:500;margin:0}@media (max-width:768px){.auth-button-container{right:10px;top:10px}.auth-button,.auth-username{font-size:13px;padding:8px 16px}}.header{align-items:center;display:flex;flex-shrink:0;justify-content:center;padding:2rem 0}.logo-link{display:inline-block;transition:opacity .2s ease}.logo-link:hover{opacity:.9}.logo{display:block;height:60px;width:auto}.footer{align-items:center;display:flex;flex-shrink:0;justify-content:center;padding:2rem 0}.footer p{font-size:.875rem;font-weight:400;letter-spacing:.05em;opacity:.7}@media (max-width:768px){.footer{padding:1.5rem 0}.footer p{font-size:.75rem}}.auth-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{background:#1a1a1a;border:1px solid #333;border-radius:12px;max-height:90vh;max-width:400px;overflow-y:auto;padding:0;width:90%}.auth-modal-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:20px 24px}.auth-modal-header h2{color:#fff;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.close-button:hover{background-color:#333;color:#fff}.auth-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#fff;display:block;font-weight:500;margin-bottom:8px}.form-group input{background-color:#2a2a2a;border:1px solid #333;border-radius:8px;box-sizing:border-box;color:#fff;font-size:16px;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus{border-color:#007bff;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.submit-button{background-color:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s ease;width:100%}.submit-button:hover:not(:disabled){background-color:#0056b3}.submit-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#dc3545;border-radius:8px;color:#fff;font-size:14px;margin-bottom:20px;padding:12px}.success-message{padding:24px;text-align:center}.success-message p{color:#28a745;font-size:16px;margin:0}.auth-switch{border-top:1px solid #333;margin-top:20px;padding:20px 24px 24px;text-align:center}.auth-switch p{color:#999;margin:0}.link-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:inherit;text-decoration:underline}.link-button:hover{color:#0056b3}@media (max-width:480px){.auth-modal{margin:20px;width:95%}.auth-modal-header{padding:16px 20px}.auth-form{padding:20px}.auth-switch{padding:0 20px 20px}}.account-page{align-items:center;background-color:#fffefd;display:flex;justify-content:center;min-height:100vh;padding:2rem}.account-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:600px;padding:2rem;width:100%}.account-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.account-header h1{color:#1b1b1c;font-size:2rem;margin:0}.logout-btn{background-color:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.logout-btn:hover{background-color:#c82333}.account-info{display:flex;flex-direction:column;gap:2rem}.info-section{background:#f8f9fa;border-radius:8px;padding:1.5rem}.info-section h3{color:#1b1b1c;font-size:1.2rem;margin:0 0 1rem}.info-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.75rem 0}.info-item:last-child{border-bottom:none}.info-item label{color:#495057;font-weight:500}.info-item span{color:#1b1b1c}.admin-badge{background-color:#28a745}.admin-badge,.user-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.user-badge{background-color:#007bff}@media (max-width:768px){.account-page{padding:1rem}.account-container{padding:1.5rem}.account-header{align-items:stretch;flex-direction:column;gap:1rem}.account-header h1{font-size:1.5rem;text-align:center}}.privacy-container{color:#333;line-height:1.6;margin:0 auto;max-width:800px;padding:40px 20px}.privacy-container h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:40px;text-align:center}.privacy-container h2{border-bottom:2px solid #3498db;color:#34495e;font-size:1.5rem;font-weight:600;margin-bottom:20px;margin-top:40px;padding-bottom:10px}.privacy-container section{margin-bottom:30px}.privacy-container p{font-size:1rem;margin-bottom:15px;text-align:justify}.privacy-container p strong{color:#2c3e50;font-weight:600}@media (max-width:768px){.privacy-container{padding:20px 15px}.privacy-container h1{font-size:2rem;margin-bottom:30px}.privacy-container h2{font-size:1.3rem;margin-top:30px}.privacy-container p{font-size:.95rem}}@media (max-width:480px){.privacy-container{padding:15px 10px}.privacy-container h1{font-size:1.8rem}.privacy-container h2{font-size:1.2rem}.privacy-container p{font-size:.9rem}}