:root{--primary-color: #0856aa;--primary-hover-color: #0056b3;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--background-color: #f8f9fa;--surface-color: #ffffff;--text-color: #212529;--text-muted-color: #6c757d;--border-color: #dee2e6;--font-family: "Poppins", sans-serif;--box-shadow: 0 4px 12px rgba(0, 0, 0, .08);--border-radius: 12px}body{margin:0;font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600}@keyframes fadeInContent{0%{opacity:0}to{opacity:1}}@keyframes floatBackground{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.ideas-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;padding:20px}.idea-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:25px;display:flex;flex-direction:column;position:relative;cursor:pointer;overflow:hidden;transition:all .5s cubic-bezier(.23,1,.32,1);border:2px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.idea-card:hover:not(.expanded){transform:translateY(-8px);box-shadow:0 10px 25px #00000026}.idea-card.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80vw;max-width:800px;height:80vh;max-height:700px;cursor:default;z-index:3000;overflow-y:auto}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:2999;animation:fadeInContent .5s forwards}.card-summary-view{animation:fadeInContent .5s}.card-detail-view{opacity:0;animation:fadeInContent .4s ease-out .3s forwards}.idea-card:not(.expanded) .card-detail-view{display:none}.idea-card.expanded .card-summary-view{display:none}.idea-card h3{margin:0 0 10px;font-size:1.25rem}.idea-card-description{color:var(--text-muted-color);flex-grow:1;margin-bottom:20px;line-height:1.6}.detail-description{font-size:1.1rem;line-height:1.7;margin:20px 0}.idea-card-tags{margin-bottom:15px;display:flex;flex-wrap:wrap;gap:8px}.tag{background-color:#e9ecef;border-radius:4px;padding:5px 10px;font-size:12px;color:var(--text-muted-color);font-weight:500}.category-tag{font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.category-software{background-color:var(--info-color)}.category-hardware{background-color:var(--success-color)}.category-both{background-color:#fd7e14}.card-footer,.detail-footer{margin-top:auto;padding-top:15px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:14px}.idea-card-difficulty{font-weight:600}.idea-author,.detail-footer span{color:var(--text-muted-color)}.card-actions{position:absolute;top:15px;right:15px;display:flex;gap:8px;z-index:10}.bookmark-btn,.delete-btn{background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid var(--border-color);color:var(--text-muted-color);border-radius:50%;width:32px;height:32px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.bookmark-btn:hover,.delete-btn:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000001a}.bookmark-btn.bookmarked{background-color:var(--warning-color);color:#fff;border-color:var(--warning-color)}.delete-btn:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.controls-container{display:flex;flex-direction:column;align-items:center;gap:20px;margin:20px 0 40px}.search-bar{width:100%;max-width:500px}.search-bar input{width:100%;padding:16px 20px;font-size:16px;border-radius:50px;border:1px solid var(--border-color);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.controls-container{display:flex;flex-direction:column;align-items:center;gap:25px;margin:30px 0 50px}.search-bar{width:100%;max-width:600px}.search-bar input{width:100%;padding:18px 25px;font-size:18px;border-radius:50px;border:1px solid var(--border-color);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #007bff40}.filter-container{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.filter-btn{padding:14px 28px;border:1px solid var(--border-color);background-color:var(--surface-color);border-radius:30px;cursor:pointer;font-weight:700;font-size:16px;color:var(--text-muted-color);transition:all .2s ease,transform .2s}.filter-btn:hover{background-color:#e9ecef;transform:translateY(-3px)}.filter-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #007bff4d}.form-container{background-color:var(--surface-color);padding:40px;border-radius:var(--border-radius);box-shadow:var(--box-shadow);max-width:500px;margin:40px auto;animation:fadeInContent .4s ease-out forwards}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;font-family:var(--font-family);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff40}.submit-btn{width:100%;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .2s}.submit-btn:hover{background:var(--primary-hover-color);transform:translateY(-2px)}.load-more-container{text-align:center;margin:40px 0}.load-more-btn{background-color:var(--success-color);color:#fff;padding:12px 25px;border-radius:50px;text-decoration:none;font-size:1rem;font-weight:700;transition:background-color .3s,transform .2s;border:none;cursor:pointer}.load-more-btn:hover{background-color:#218838;transform:translateY(-2px)}.load-more-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.login-prompt{text-align:center;background-color:#e9f7ff;padding:20px;border-radius:var(--border-radius);margin:20px auto;max-width:600px;border:1px solid #bce8f1}.hero-section{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:2rem;box-sizing:border-box;background-color:#0d1117;background-image:url(/hero-background.svg);background-size:cover;background-position:center center;animation:floatBackground 30s ease-in-out infinite;overflow:hidden}.hero-content{text-align:center;color:#fff;animation:fadeInContent 1s ease-out .2s forwards;opacity:0}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;margin-bottom:1rem;letter-spacing:-2px;line-height:1.1;text-shadow:0 4px 20px rgba(0,0,0,.3)}.hero-highlight{background:linear-gradient(90deg,var(--primary-color),var(--info-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.hero-subtitle{font-size:1.25rem;color:#c9d1d9;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto;font-weight:400}.hero-cta-button{background:var(--primary-color);color:#fff;padding:1rem 2.5rem;border-radius:9999px;text-decoration:none;font-size:1.1rem;font-weight:600;transition:all .3s ease;display:inline-block;box-shadow:0 10px 30px -10px #007bff80}.hero-cta-button:hover{background:var(--primary-hover-color);transform:translateY(-4px);box-shadow:0 12px 35px -10px #0068d699}.title{color:#2377c5}.welcome-container{max-width:800px;margin:80px auto;text-align:center;padding:40px;animation:fadeInContent .6s ease-out forwards}.welcome-title{font-size:3rem;color:#333;margin-bottom:1rem}.welcome-subtitle{font-size:1.25rem;color:#666;margin-bottom:2rem}.welcome-text{font-size:1rem;line-height:1.6;color:#555;margin-bottom:3rem}.welcome-cta-button{background-color:var(--primary-color);color:#fff;padding:15px 30px;border-radius:50px;text-decoration:none;font-size:1.1rem;font-weight:700;transition:background-color .3s,transform .2s;display:inline-block;box-shadow:0 4px 15px #007bff4d}.welcome-cta-button:hover{background-color:var(--primary-hover-color);transform:translateY(-3px);box-shadow:0 6px 20px #007bff66}.page-title{text-align:center;margin:20px 0 40px;font-size:2rem;font-weight:700;color:#333;font-family:Segoe UI,sans-serif;letter-spacing:.5px;position:relative}.page-title:after{content:"";display:block;margin:.5rem auto 0;width:60px;height:3px;background:linear-gradient(90deg,#3182ce,#2b6cb0);border-radius:2px}.loading-text{text-align:center;font-size:1.5rem;font-weight:600;color:#ff7e5f;margin-top:2rem;font-family:Segoe UI,sans-serif;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.empty-message-wrapper{position:relative;display:flex;justify-content:center;align-items:center;min-height:40vh;width:100%;grid-column:1 / -1}.empty-message{text-align:center;font-size:1.2rem;font-weight:500;color:#666;margin:0;font-family:Segoe UI,sans-serif}.create-idea-container{display:flex;justify-content:center;padding:2rem;background:#f8f9fc}.create-idea-form{background:#fff;padding:2rem;width:100%;max-width:550px;border-radius:12px;box-shadow:0 4px 20px #0000000f;font-family:Segoe UI,sans-serif}.create-idea-form h2{font-size:1.8rem;color:#2d3748;margin-bottom:.3rem;text-align:center}.form-subtitle{font-size:.9rem;color:#718096;text-align:center;margin-bottom:1.5rem}label{display:block;font-weight:500;color:#4a5568;margin-bottom:.3rem}input,textarea,select{width:100%;padding:.8rem;margin-bottom:1rem;border-radius:8px;border:1px solid #e2e8f0;font-size:.95rem;transition:all .2s ease-in-out}input:focus,textarea:focus,select:focus{border-color:#3182ce;outline:none;box-shadow:0 0 0 3px #3182ce33}textarea{min-height:120px;resize:vertical}.form-row{display:flex;gap:1rem}.form-row>div{flex:1}.submit-btn{width:100%;padding:.9rem;background:linear-gradient(90deg,#3182ce,#2b6cb0);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:transform .1s ease-in-out,background .3s ease-in-out}.submit-btn:hover{background:linear-gradient(90deg,#2b6cb0,#2c5282);transform:translateY(-2px)}.error-text{color:red;font-size:.85rem;margin-bottom:1rem}.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:9999}.spinner-container{width:60px;height:60px;border:6px solid #f3f3f3;border-top:6px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--primary-color: #297ece;--primary-hover-color: #265ecf;--text-color: #1f1f1f;--text-muted-color: #6b7280;--border-color: #e5e7eb;--box-shadow: 0 4px 12px rgba(0, 0, 0, .08);--header-blur: saturate(180%) blur(12px);--font-heading: "Poppins", sans-serif;--font-body: "Inter", sans-serif}body{font-family:var(--font-body);color:var(--text-color)}.main-header{background-color:#ffffffd9;-webkit-backdrop-filter:var(--header-blur);backdrop-filter:var(--header-blur);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1000;transition:box-shadow .25s ease,background-color .25s ease;transition:background-color .4s ease,box-shadow .4s ease}.main-header:hover{box-shadow:var(--box-shadow)}.logo h1{margin:0;font-family:var(--font-heading);color:var(--primary-color);font-weight:700;font-size:2rem;letter-spacing:-.5px}.nav-link{color:var(--text-muted-color);font-weight:500;font-size:1.25rem;transition:color .25s ease;cursor:pointer;text-decoration:none;padding:5px 0;position:relative}.nav-link:after{content:"";position:absolute;bottom:-3px;left:0;width:100%;height:2px;background-color:var(--primary-color);transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.nav-link:hover:after{transform:scaleX(1)}.nav-link:hover{color:var(--text-color)}.nav-link-button{background-color:var(--primary-color);color:#fff;padding:8px 16px;border-radius:24px;font-weight:600;transition:background-color .25s ease,transform .2s ease}.nav-link-button:hover{background-color:var(--primary-hover-color);transform:translateY(-1px)}.nav-link-button:after{display:none}.user-name{color:var(--text-color);font-weight:600;font-size:.95rem;border-left:2px solid var(--border-color);padding-left:1.5rem}.main-content{padding:2rem;max-width:1200px;margin:0 auto}@media (max-width: 768px){.main-header{padding:.75rem 1.25rem}.main-nav{gap:1rem}.logo h1{font-size:1.25rem}}.main-header{background-color:var(--surface-color);box-shadow:var(--box-shadow);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;transition:background-color .4s ease,box-shadow .4s ease}.main-header.transparent{background-color:transparent;box-shadow:none;border-bottom:1px solid rgba(255,255,255,.2)}.main-header.transparent .nav-link,.main-header.transparent .user-name{color:#f0f0f0}.main-header.transparent .logo h1,.main-header.transparent .nav-link:hover,.main-header.transparent .logo h1:hover{color:#fff}.main-header.transparent .nav-link-button{border:1px solid #ffffff}.logo{text-decoration:none}.logo h1{margin:0;color:var(--primary-color);font-weight:700;transition:color .4s ease}.main-nav{display:flex;align-items:center;gap:1.5rem}.nav-link{color:var(--text-muted-color);font-weight:600;transition:color .2s;cursor:pointer;text-decoration:none;padding:5px 0}.nav-link:hover{color:var(--primary-color)}.nav-link-button{background-color:var(--primary-color);color:#fff!important;padding:8px 16px;border-radius:20px;transition:background-color .2s;border:1px solid transparent}.nav-link-button:hover{background-color:var(--primary-hover-color);color:#fff!important}.user-name{color:var(--text-color);font-weight:600;transition:color .4s ease}.main-content{padding-top:0}.main-content>*:not(.hero-section){padding:2rem}.navbar{position:fixed;top:0;left:0;width:100%;z-index:5000;background-color:var(--surface-color);box-shadow:0 2px 10px #0000001a}
