:root{--primary-color: #4f46e5;--secondary-color: #2a3dbe;--glow-color: #43b3ff;--background-color: #0d1117;--card-background: #161b22;--sidebar-background: #010409;--text-color: #c9d1d9;--text-secondary: #8b949e;--border-color: #30363d;--border-color-light: #21262d;--error-bg: #2a1215;--error-text: #ff8a80;--success-bg: #0d2820;--success-text: #56d364;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--glow: 0 0 8px rgba(67, 179, 255, .5);--glow-hover: 0 0 12px rgba(67, 179, 255, .75)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{height:100%}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-y:auto}#root{height:100%}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--sidebar-background)}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:6px;border:3px solid var(--sidebar-background)}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}@keyframes floatUp{0%{transform:translateY(0)}to{transform:translateY(-100vh)}}#particle-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-10;overflow:hidden}.particle{position:absolute;top:100vh;left:0;width:1px;height:1px;border-radius:50%;background-color:transparent;will-change:transform}.particle:nth-child(1){animation:floatUp 15s infinite linear;animation-delay:-2s;box-shadow:62vw 83vh 2px var(--glow-color),13vw 45vh 3px var(--primary-color),89vw 21vh 2px var(--secondary-color),4vw 7vh 2px var(--glow-color),75vw 33vh 3px var(--primary-color),22vw 92vh 2px var(--secondary-color),58vw 60vh 3px var(--glow-color),91vw 12vh 2px var(--primary-color),30vw 49vh 3px var(--secondary-color),42vw 71vh 2px var(--glow-color)}.particle:nth-child(2){animation:floatUp 25s infinite linear;animation-delay:-5s;box-shadow:10vw 15vh 3px var(--glow-color),80vw 82vh 2px var(--primary-color),5vw 40vh 3px var(--secondary-color),95vw 5vh 2px var(--glow-color),45vw 50vh 3px var(--primary-color),68vw 28vh 2px var(--secondary-color),28vw 68vh 3px var(--glow-color),82vw 95vh 2px var(--primary-color),18vw 22vh 3px var(--secondary-color),52vw 88vh 2px var(--glow-color)}.particle:nth-child(3){animation:floatUp 35s infinite linear;animation-delay:-8s;box-shadow:33vw 55vh 2px var(--glow-color),70vw 10vh 3px var(--primary-color),98vw 88vh 2px var(--secondary-color),8vw 98vh 3px var(--glow-color),48vw 8vh 2px var(--primary-color),62vw 42vh 3px var(--secondary-color),20vw 80vh 2px var(--glow-color),85vw 35vh 3px var(--primary-color),12vw 65vh 2px var(--secondary-color),55vw 25vh 3px var(--glow-color)}button{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:6px;border:1px solid var(--primary-color);background-color:var(--primary-color);color:#fff;cursor:pointer;transition:background-color .2s,box-shadow .2s}button:hover,button:focus{background-color:var(--secondary-color);box-shadow:0 0 10px #4f46e580}button:disabled{background-color:var(--border-color);border-color:var(--border-color);cursor:not-allowed;box-shadow:none;opacity:.6}button:disabled:hover{background-color:var(--border-color)}input[type=text],input[type=password],input[type=number],textarea{width:90%;padding:.75rem 1rem;font-size:1rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);transition:border-color .2s,box-shadow .2s}input[type=text]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.7}input[type=text]:focus,input[type=password]:focus,input[type=number]:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e54d}input:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.page-header{margin-bottom:2rem}.page-header h1{font-size:2.25rem;font-weight:600;color:var(--text-color)}.page-header p{font-size:1.1rem;color:var(--text-secondary);margin-top:.25rem}.card{background:var(--card-background);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.feature-notice{font-size:.9rem;color:#ffc107;margin-top:.5rem}.landing-page{display:flex;flex-direction:column;min-height:100vh}.landing-container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.landing-header{padding:1rem 0;background-color:#010409cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);position:fixed;width:100%;top:0;z-index:100}.landing-header .landing-container{display:flex;justify-content:space-between;align-items:center}.landing-header .logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.landing-header .logo img{width:36px;height:36px}.landing-header .logo span{font-size:1.5rem;font-weight:600}.landing-header nav{display:flex;gap:1.5rem}.landing-header nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s}.landing-header nav a:hover{color:#fff}.hero-section{text-align:center;padding:12rem 0 8rem;margin-top:65px;background:radial-gradient(ellipse at bottom,var(--secondary-color) 0%,transparent 60%)}.hero-section h1{font-size:3.5rem;font-weight:700;color:#fff;letter-spacing:-1px}.hero-section p{font-size:1.25rem;max-width:700px;margin:1rem auto 2rem;color:var(--text-secondary)}.hero-btn{font-size:1.1rem;padding:1rem 2rem}.content-section{padding:6rem 0}.content-section.bg-dark{background-color:var(--sidebar-background)}.section-tag{display:inline-block;padding:.25rem .75rem;border-radius:12px;background-color:var(--primary-color);color:#fff;font-size:.8rem;font-weight:500;margin-bottom:1rem}.content-section h2{font-size:2.5rem;text-align:center;color:#fff;margin-bottom:.5rem}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);text-align:center;max-width:700px;margin:0 auto 3rem}.section-title-container{text-align:center;margin-bottom:.5rem}.section-title-container h2{display:inline-block;margin:0}.aspire-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:400;color:var(--text-secondary);margin-left:.75rem}.aspire-tag img{height:32px}.pipette-workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}.phase-card{background:var(--card-background);border:1px solid var(--border-color);padding:2rem;border-radius:8px;text-align:center;position:relative}.phase-card h3{color:var(--glow-color);margin:1rem 0 .75rem}.phase-card p{color:var(--text-secondary);font-size:.95rem}.phase-icon{width:60px;height:60px;margin:0 auto;background-color:var(--sidebar-background);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;border:1px solid var(--border-color)}.phase-card:not(:last-child):after{content:"→";position:absolute;top:70px;left:calc(100% + 1rem);transform:translateY(-50%);font-size:2.5rem;color:var(--border-color)}.section-cta{text-align:center;margin-top:4rem}.section-cta p{font-size:1.2rem;color:var(--text-secondary);margin-bottom:1rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{background:var(--card-background);border:1px solid var(--border-color);padding:2rem;border-radius:8px;text-align:center}.feature-card h3{color:var(--glow-color);margin-bottom:.75rem}.feature-card p{color:var(--text-secondary)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.achievement-card{background:var(--card-background);padding:2rem;border-left:4px solid var(--primary-color)}.achievement-card p{font-style:italic;font-size:1.1rem;margin-bottom:1rem}.achievement-card h4{color:var(--text-secondary)}.stats-section{padding:4rem 0;background:var(--card-background);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.stats-section .landing-container{display:flex;justify-content:space-around;align-items:center;text-align:center}.stat-number{font-size:3rem;font-weight:700;color:var(--glow-color)}.stat-label{font-size:1rem;color:var(--text-secondary)}.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.download-card{background:var(--card-background);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);display:flex;flex-direction:column}.download-card h4{color:#fff}.download-card p{color:var(--text-secondary);flex-grow:1;margin:.5rem 0 1.5rem}.download-link{display:inline-block;text-align:center;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem 1rem;border-radius:6px;text-decoration:none;transition:all .2s}.download-link:hover{background:var(--border-color-light);color:#fff;border-color:var(--text-secondary)}.download-link.disabled{cursor:not-allowed;opacity:.5}.landing-footer{padding:2rem 0;background:var(--sidebar-background);text-align:center;color:var(--text-secondary);font-size:.9rem}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;text-align:center}.login-box{background-color:var(--card-background);padding:3rem;border-radius:8px;border:1px solid var(--border-color);width:100%;max-width:450px}.login-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.login-logo img{width:40px;height:40px}.login-logo h1{font-size:1.75rem;font-weight:600;color:var(--text-color)}.login-box h2{font-size:1.25rem;font-weight:400;color:var(--text-secondary);margin-bottom:2rem}.login-box p{color:var(--text-secondary);margin:1.5rem 0 0;font-size:.9rem}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%}.google-signin-btn svg{width:20px;height:20px}.separator{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;margin:1.5rem 0;position:relative}.separator:before,.separator:after{content:"";position:absolute;top:50%;width:40%;height:1px;background-color:var(--border-color)}.separator:before{left:0}.separator:after{right:0}.guest-signin-btn{width:100%;background-color:transparent;border-color:var(--border-color);color:var(--text-secondary)}.guest-signin-btn:hover{background-color:var(--card-background);border-color:var(--text-secondary);color:#fff;box-shadow:none}.app-layout{display:grid;grid-template-columns:260px 1fr;height:100vh}.sidebar{background-color:var(--sidebar-background);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem}.main-content{overflow-y:auto;padding:2rem 2.5rem}.sidebar-header{display:flex;align-items:center;gap:.75rem;width:100%}.sidebar-logo{width:36px;height:36px}.sidebar-logo img{width:100%;height:100%;object-fit:contain}.sidebar-title h2{font-size:1.25rem;font-weight:600;color:#fff;line-height:1.2;text-align:left}.sidebar-title p{font-size:.75rem;color:var(--text-secondary);text-align:left}.sidebar-nav{flex-grow:1}.sidebar-nav ul{list-style:none}.sidebar-nav li button{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:none;font-size:1rem;color:var(--text-secondary);padding:.75rem;border-radius:6px;cursor:pointer;transition:color .2s,background-color .2s}.sidebar-nav li button.active,.sidebar-nav li button:hover{color:#fff;background-color:var(--card-background)}.sidebar-nav li button svg{width:20px;height:20px;fill:currentColor}.user-profile{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--border-color)}.user-details p{line-height:1.3}.user-name{font-weight:500;color:#fff}.user-email{font-size:.8rem;color:var(--text-secondary)}.signout-btn{width:100%;margin-top:.5rem;background-color:transparent;border-color:var(--border-color);color:var(--text-secondary);font-size:.9rem;padding:.5rem}.signout-btn:hover{background-color:var(--card-background);border-color:var(--text-secondary);color:#fff;box-shadow:none}.token-counter-btn{width:100%;background-color:var(--card-background);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;cursor:pointer;transition:background-color .2s,border-color .2s;display:flex;flex-direction:row;align-items:center;gap:.75rem;text-align:left}.token-counter-btn:hover,.token-counter-btn:focus{background-color:var(--border-color-light);border-color:var(--text-secondary);box-shadow:none}.token-counter-btn .value{font-size:1.1rem;font-weight:600;color:var(--glow-color);line-height:1;margin-right:auto}.token-counter-btn .label{font-size:.9rem;color:var(--text-secondary)}.token-counter-btn.low-tokens .value{color:#ffc107}.token-counter-btn svg{width:20px;height:20px;color:var(--glow-color);transition:color .2s;flex-shrink:0}.token-counter-btn.low-tokens svg{color:#ffc107}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:var(--card-background);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.stat-card-title{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-card-value{font-size:2rem;font-weight:600;color:#fff}#ideation-form{display:flex;gap:.5rem;margin-top:1rem}#ideation-form input{flex-grow:1}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.placeholder-text{color:var(--text-secondary);margin-top:.5rem;font-style:italic}.recent-projects-list ul,.favorited-projects-list ul{list-style:none;margin-top:1rem}.recent-projects-list li,.favorited-projects-list li{padding:1rem;border-radius:6px;transition:background-color .2s,opacity .3s;border-bottom:1px solid var(--border-color-light);display:flex;justify-content:space-between;align-items:center;gap:1rem}.recent-projects-list li:last-child,.favorited-projects-list li:last-child{border-bottom:none}.recent-projects-list li:hover,.favorited-projects-list li:hover{background-color:var(--sidebar-background)}.recent-projects-list a,.favorited-projects-list a{flex-grow:1;text-decoration:none;color:var(--text-color);font-weight:500}.recent-projects-list a:hover,.favorited-projects-list a:hover{color:var(--glow-color)}.project-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.favorite-project-btn,.delete-project-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.2;transition:opacity .2s,background-color .2s,color .2s}.favorite-project-btn svg{width:18px;height:18px}.delete-project-btn svg{width:16px;height:16px}.recent-projects-list li:hover .project-actions button,.favorited-projects-list li:hover .project-actions button{opacity:1}.delete-project-btn:hover,.delete-project-btn:focus{background-color:var(--error-bg);color:var(--error-text);box-shadow:none}.favorite-project-btn:hover,.favorite-project-btn:focus{background-color:var(--border-color-light);color:#ffc107;transform:scale(1.1);box-shadow:none}.favorite-project-btn.favorited{color:#ffc107;opacity:1}.recent-queries-list h3,.favorited-projects-list h3{font-size:1.1rem;color:var(--text-color);margin:0}.recent-queries-list .recent-queries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.recent-queries-list ul{list-style:none}.recent-queries-list li button.query-item-btn{width:100%;text-align:left;background:none;border:none;font-size:1rem;color:var(--text-color);padding:.75rem;border-radius:6px;cursor:pointer;transition:color .2s,background-color .2s;font-family:inherit}.recent-queries-list li button.query-item-btn:hover{color:var(--glow-color);background-color:var(--sidebar-background)}#clear-history-btn{background:none;border:none;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;padding:.25rem 0;text-decoration:underline}#clear-history-btn:hover{color:var(--error-text)}.tools-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.tab-btn{background:none;border:none;color:var(--text-secondary);padding:.75rem 1.25rem;cursor:pointer;border-bottom:2px solid transparent;font-size:1rem}.tab-btn.active{color:#fff;border-bottom-color:var(--primary-color)}.tool-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:flex-start}.tool-input-col,.tool-output-col{display:flex;flex-direction:column;gap:1rem}.tool-output-col .card{flex-grow:1}.tool-output-col h3{margin-bottom:.5rem}.tool-output-col pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:1rem}textarea{min-height:150px;resize:vertical}#category-results ul{list-style:none}#category-results li{margin-bottom:1rem}#category-results strong{color:var(--glow-color)}.guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.guide-card{display:flex;flex-direction:column}.guide-card h3{color:var(--glow-color)}.guide-card p{color:var(--text-secondary);margin:.5rem 0 1.5rem;flex-grow:1}.guide-card button{margin-top:auto}.content-area h1,.content-area h2,.content-area h3{margin-top:1.5rem;margin-bottom:1rem}.content-area p{margin-bottom:1rem}.content-area ul,.content-area ol{margin-left:1.5rem;margin-bottom:1rem}.content-area a{color:var(--glow-color);text-decoration:none}.content-area a:hover{text-decoration:underline}.content-area table{width:100%;border-collapse:collapse;margin-bottom:1rem}.content-area th,.content-area td{text-align:left;padding:.75rem;border:1px solid var(--border-color)}.content-area th{background-color:var(--sidebar-background)}.content-area blockquote{border-left:4px solid var(--border-color);padding-left:1rem;margin-left:0;color:var(--text-secondary)}.loader-container{display:flex;justify-content:center;align-items:center;padding:2rem;min-height:200px;text-align:center}.loader{border:5px solid var(--border-color);border-top:5px solid var(--glow-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background-color:var(--error-bg);color:var(--error-text);padding:1rem;border-radius:8px;margin-top:1rem;text-align:left;border:1px solid var(--error-text)}.error-message a{color:var(--glow-color)}.chat-column{display:flex;flex-direction:column;background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;height:100%}.chat-column h2{display:flex;align-items:center;font-size:1.1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}#chat-container{flex-grow:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{padding:.75rem 1rem;border-radius:12px;max-width:80%;border:1px solid transparent}.chat-message.user{background-color:var(--primary-color);color:#fff;font-weight:500;align-self:flex-end;border-bottom-right-radius:4px}.chat-message.model{background-color:#21262d;color:var(--text-color);align-self:flex-start;border-bottom-left-radius:4px;border-color:var(--border-color)}.chat-message.model .loader{width:25px;height:25px;border-width:3px}#chat-form{display:flex;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);flex-shrink:0;position:relative;flex-wrap:wrap}#chat-form button{flex-shrink:0;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center}.chat-content>*:first-child{margin-top:0}.chat-content>*:last-child{margin-bottom:0}.tool-content .chat-column{height:75vh}.chat-message .chat-image{max-width:250px;max-height:250px;height:auto;border-radius:8px;margin-bottom:.5rem;display:block}.chat-message>div.chat-content:empty{display:none}#judge-image-preview{position:absolute;bottom:calc(100% - 1px);left:1.5rem;right:1.5rem;background:var(--card-background);padding:.5rem;border-radius:8px 8px 0 0;border:1px solid var(--border-color);border-bottom:none;display:flex;align-items:center;gap:.5rem;z-index:10}#judge-image-preview img{height:50px;width:auto;max-width:200px;border-radius:4px;object-fit:cover}#remove-judge-image-btn{background:var(--border-color);color:var(--text-color);border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;padding:0;margin-left:auto}#remove-judge-image-btn:hover{background:var(--error-bg);color:var(--error-text);box-shadow:none}#chat-form .upload-btn{width:44px;height:44px;background:none;border:1px solid var(--border-color);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background-color .2s,color .2s;order:-1;padding:0}#chat-form .upload-btn:hover{background-color:var(--border-color-light);color:var(--text-color);box-shadow:none}#chat-form .upload-btn svg{width:20px;height:20px}#chat-form input[type=text]{flex-grow:1}.results-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.results-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:flex-start;margin-top:2rem}.results-main{display:flex;flex-direction:column;gap:1.5rem}.project-ideas-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.project-idea-card{display:flex;flex-direction:column;gap:.75rem}.idea-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.idea-card-header h3{color:var(--glow-color);margin-top:0;flex-grow:1}.project-idea-card h4{margin-top:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.category-tag{background-color:var(--secondary-color);color:#fff;padding:.25rem .6rem;font-size:.75rem;font-weight:500;border-radius:12px;align-self:flex-start}.scores-container{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.5rem 0}.score-item{display:flex;align-items:center;gap:.5rem}.score-item label{font-size:.8rem;color:var(--text-secondary);width:70px}.score-bar-container{flex-grow:1;height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden}.score-bar{height:100%;background:linear-gradient(90deg,var(--secondary-color) 0%,var(--primary-color) 100%);border-radius:4px}.score-item span{font-size:.8rem;font-weight:500;width:40px;text-align:right}.resources-list ul{font-size:.9rem;margin-top:.5rem}.resources-list li::marker{color:var(--primary-color)}.select-project-btn{margin-top:1rem}.results-sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:2rem}.sources-list{list-style-type:none;padding-left:0;max-height:250px;overflow-y:auto}.sources-list li{margin-bottom:.5rem}.sources-list a{display:block;text-decoration:none;color:var(--text-secondary);padding:.5rem;border-radius:4px;transition:background-color .2s,color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sources-list a:hover{background-color:var(--border-color-light);color:var(--glow-color)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.project-workspace-layout{display:grid;grid-template-columns:2fr 10px 1fr;align-items:stretch;margin-top:2rem;height:calc(100vh - 200px);min-height:500px}.resizable-panel{overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;padding:0 1.5rem}.resizable-panel:first-child{padding-left:0}.resizable-panel:last-child{padding-right:0}.project-main-col,.project-sidebar-col{height:100%}.resizer{background-color:var(--border-color);cursor:col-resize;display:flex;align-items:center;justify-content:center;transition:background-color .2s;border-radius:5px}.resizer:hover{background-color:var(--primary-color)}.resizer svg{transform:rotate(90deg)}details.card{padding:0}details.card>summary{display:flex;align-items:center;gap:.75rem;list-style:none;padding:1.5rem;cursor:pointer;color:var(--glow-color)}details.card>summary::-webkit-details-marker{display:none}.chevron-icon{width:24px;height:24px;color:var(--text-secondary);transition:transform .2s ease-in-out;flex-shrink:0}details[open]>summary .chevron-icon{transform:rotate(90deg)}details.card>summary h3{display:inline;color:var(--glow-color);font-size:1.1rem;margin:0}.details-content{padding:0 1.5rem 1.5rem;border-top:1px solid var(--border-color)}#timeline-container h3{color:var(--glow-color);font-size:1.2rem}#timeline-container ul{padding-left:1rem;list-style-type:none}#timeline-container ul li{position:relative;padding-left:1.5rem;margin-bottom:.75rem}#timeline-container ul li:before{content:"»";position:absolute;left:0;top:0;color:var(--primary-color);font-weight:700}.guest-notice{background-color:var(--secondary-color);color:#fff;padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border:1px solid var(--primary-color)}.guest-notice p{margin:0;font-weight:500}.guest-notice button{background:#fff;color:var(--primary-color);border-color:#fff;padding:.5rem 1rem;font-size:.9rem;box-shadow:none}.guest-notice button:hover{background:var(--background-color);color:#fff}.membership-layout{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:flex-start}.current-balance-card{text-align:center;padding:2rem}.current-balance-card .token-display{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:3rem;font-weight:700;color:var(--glow-color);margin:1rem 0 .5rem}.current-balance-card .token-display svg{width:40px;height:40px}.payment-form{margin:2rem 0;text-align:left}.payment-disclaimer{background-color:var(--error-bg);color:#ffc107;padding:.75rem;border-radius:6px;font-size:.9rem;text-align:center;margin-bottom:1.5rem;border:1px solid #ffc107}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{position:relative;max-width:500px;width:90vw;background:var(--card-background);padding:2rem;border-radius:8px;border:1px solid var(--border-color)}.modal-close-btn{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;width:30px;height:30px;opacity:.7}.modal-close-btn:hover{color:#fff;opacity:1;box-shadow:none}.upgrade-view{max-width:500px;width:90vw}.upgrade-card{text-align:center;border:2px solid var(--primary-color);box-shadow:0 0 20px #4f46e580;padding:2.5rem}.upgrade-card h2{font-size:2rem;color:var(--glow-color)}.upgrade-card .price{font-size:3rem;font-weight:700;margin:1rem 0;color:#fff}.upgrade-card .price span{font-size:1.5rem;font-weight:400;color:var(--text-secondary)}.upgrade-card ul{list-style:none;text-align:left;max-width:350px;margin:2rem auto;display:flex;flex-direction:column;gap:1rem}.upgrade-card li{font-weight:500}.upgrade-card li strong{color:#fff}#upgrade-btn{font-size:1.2rem;padding:1rem 2rem;margin-top:1rem;width:100%}.admin-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.admin-tab-btn{background:none;border:none;color:var(--text-secondary);padding:.75rem 1.25rem;cursor:pointer;border-bottom:2px solid transparent;font-size:1rem}.admin-tab-btn.active{color:#fff;border-bottom-color:var(--primary-color)}.user-table-container{overflow-x:auto}.user-table{width:100%;border-collapse:collapse;text-align:left}.user-table th,.user-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.user-table th{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar-small{width:32px;height:32px;border-radius:50%;background-color:var(--border-color)}.status-pill{padding:.25rem .6rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-pill.active{background-color:var(--success-bg);color:var(--success-text)}.status-pill.inactive{background-color:var(--border-color-light);color:var(--text-secondary)}.edit-user-btn{background-color:var(--border-color-light);border-color:var(--border-color);color:var(--text-color);font-size:.9rem;padding:.4rem .8rem}.edit-user-btn:hover{background-color:var(--border-color);border-color:var(--text-secondary)}#edit-user-form{margin-top:1.5rem}.form-group-toggle{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0}.form-group-toggle label{margin:0;font-weight:500}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:.4s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translate(22px)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.cancel-btn{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.cancel-btn:hover{background-color:var(--border-color-light);border-color:var(--text-secondary);color:#fff}.modal-content h3{color:var(--glow-color);margin:0}.modal-content p{color:var(--text-secondary);margin-bottom:1rem}.mass-email-container{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:flex-start}.email-users-list{max-height:60vh;overflow-y:auto}.email-users-list h3{margin-bottom:1rem}.email-users-list ul{list-style:none}.email-users-list li{margin-bottom:.5rem}.email-users-list label{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background-color .2s}.email-users-list li:hover label{background-color:var(--sidebar-background)}.user-select-all{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.user-select-all label{font-weight:500}.user-details-small p{line-height:1.2;margin:0}.user-details-small p:last-child{font-size:.8rem;color:var(--text-secondary)}.directory-search{max-width:500px;margin:0 auto 3rem}.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.directory-card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;text-align:center;padding:2rem 1.5rem;transition:transform .2s,box-shadow .2s}.directory-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000040}.directory-card-img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;border:3px solid var(--border-color)}.directory-card-name{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0}.directory-card-role{font-size:1rem;color:var(--glow-color);margin-bottom:1.5rem}.directory-card-contact{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.directory-card-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s}.directory-card-link:hover{color:var(--glow-color)}.directory-card.hidden{display:none}.cohort-directory-page.main-content{padding:2rem 2.5rem;max-width:1400px;margin:0 auto}.cohort-directory-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--border-color);padding-bottom:1.5rem}.cohort-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.cohort-member-card{display:flex;flex-direction:column;padding:1.5rem;text-align:left;transition:transform .2s,box-shadow .2s}.cohort-member-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000040}.cohort-member-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.cohort-member-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color);flex-shrink:0}.cohort-member-info{display:flex;flex-direction:column;flex-grow:1;align-items:flex-start}.cohort-member-name{font-size:1.25rem;font-weight:600;margin:0 0 .25rem;color:var(--text-color)}.cohort-member-card-body{flex-grow:1;border-top:1px solid var(--border-color-light);padding-top:1rem}.cohort-member-project{color:var(--text-secondary);font-size:.9rem;margin:0}.cohort-member-project strong{color:var(--text-color);display:block;margin-bottom:.25rem}.cohort-member-card-footer{border-top:1px solid var(--border-color-light);padding-top:1rem;margin-top:1rem}.cohort-member-card-footer .directory-card-link{display:inline-flex;align-items:center;gap:.5rem}.cohort-member-card-footer .directory-card-link svg{width:16px;height:16px}.cohort-cta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.cohort-cta button{width:100%;background-color:var(--border-color-light);border-color:var(--border-color);color:var(--text-secondary)}.cohort-cta button:hover{background-color:var(--border-color);color:#fff}@media (max-width: 1200px){.project-workspace-layout{display:flex;flex-direction:column;height:auto;gap:2rem}.resizer{display:none}.resizable-panel{padding:0}.project-sidebar-col{height:70vh}}@media (max-width: 1024px){.results-layout{grid-template-columns:1fr}.results-sidebar{position:static;top:auto}.mass-email-container,.feature-grid,.pipette-workflow-grid{grid-template-columns:1fr}.pipette-workflow-grid{gap:3rem}.phase-card:not(:last-child):after{content:"↓";top:100%;left:50%;transform:translate(-50%);margin-top:1rem}.hero-section h1{font-size:2.5rem}}@media (max-width: 900px){.app-layout{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;width:260px;height:100%;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.sidebar.open{transform:translate(0)}.main-content{padding:1.5rem}.menu-toggle{display:block;position:fixed;top:1rem;left:1rem;z-index:1001;background:var(--card-background);border:1px solid var(--border-color);border-radius:50%;width:44px;height:44px;color:#fff}.tool-container,.dashboard-columns,.membership-layout{grid-template-columns:1fr}.landing-header nav{display:none}.stats-section .landing-container{flex-direction:column;gap:2rem}}@media (max-width: 600px){.stats-grid,.scores-container{grid-template-columns:1fr}.hero-section{padding:8rem 0 6rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.user-profile .user-stats{display:flex;justify-content:space-around;align-items:center;width:100%;padding:12px 0;margin-top:12px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.user-stats .stat-item{display:flex;flex-direction:column;align-items:center}.user-stats .stat-label{font-size:.7rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.user-stats .stat-value{font-size:1rem;font-weight:600;color:var(--text-color);margin-top:4px}.cohorts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.cohort-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.cohort-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0003}.cohort-card.is-current{border-color:var(--primary-color);box-shadow:var(--glow)}.cohort-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cohort-header h3{margin:0;color:var(--text-color);font-size:1.5rem}.status-pill.in-progress{background-color:var(--success-bg);color:var(--success-text)}.status-pill.completed{background-color:var(--border-color-light);color:var(--text-secondary)}.cohort-main{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.cohort-stats{display:flex;gap:1.5rem;width:100%}.cohort-stats .stat-item{text-align:left}.cohort-stats .stat-value{font-size:1.75rem;font-weight:600;color:var(--text-color)}.cohort-stats .stat-label{font-size:.8rem;color:var(--text-secondary)}.cohort-card h4{margin:0 0 .5rem;font-size:1rem;color:var(--glow-color);border-top:1px solid var(--border-color);padding-top:1rem}.project-list{list-style-type:none;padding-left:0;margin:0;flex-grow:1;display:flex;flex-direction:column;gap:.75rem}.project-list li{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.project-name{color:var(--text-secondary);font-size:.95rem;font-weight:500}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tag{font-size:.75rem;font-weight:500;padding:.2rem .6rem;border-radius:12px;display:inline-block}.project-tag.category{background-color:var(--border-color-light);color:var(--text-secondary)}.project-tag.award{background-color:#383018;color:#ffc107;border:1px solid #5d4a1a}.project-placeholder{font-style:italic;color:var(--text-secondary);margin-top:.5rem}.operation-pipette-card{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--primary-color)}.pipette-card-content{flex-grow:1}.pipette-card-content h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--glow-color)}.pipette-card-content p{margin:0;max-width:600px;color:var(--text-secondary)}.pipette-stats{display:flex;gap:2rem;margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.pipette-stats span{font-weight:600;font-size:1.25rem;color:var(--text-color);margin-right:.5rem}.pipette-card-action{flex-shrink:0}.pipette-card-action button{font-size:1rem;padding:.75rem 1.5rem}.pipette-card-action button:disabled{background-color:var(--success-bg);border-color:var(--success-text);color:var(--success-text);opacity:1;cursor:default}.pipette-card-action button:disabled:hover{background-color:var(--success-bg)}.pipette-overview-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:flex-start}.pipette-sidebar{position:sticky;top:2rem}.registration-card{text-align:center}.registration-card h3{color:var(--glow-color);margin-bottom:.5rem}.registration-card .hero-btn{width:100%;margin-top:1.5rem}.leaders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin:1.5rem 0}.leader-item{background:var(--sidebar-background);padding:1rem;border-radius:6px;border-left:3px solid var(--border-color)}.leader-name{font-weight:600;color:var(--text-color);margin:0}.leader-role{font-size:.9rem;color:var(--text-secondary);margin:0}.timeline-list{list-style-type:none;padding-left:0;display:flex;flex-direction:column;gap:1rem}.timeline-list li{padding-left:1.5rem;position:relative}.timeline-list li:before{content:"✓";position:absolute;left:0;color:var(--success-text);font-weight:700}.course-header{text-align:center;margin-bottom:2rem}.course-header h2{color:var(--glow-color);margin:0}.course-layout{display:grid;grid-template-columns:1fr 350px;gap:2rem;align-items:flex-start}.lesson-viewer{padding:2rem}.lesson-viewer h2{margin-top:0;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.course-sidebar .card{padding:0;position:sticky;top:2rem;background-color:var(--sidebar-background)}.course-sidebar h3{font-size:1rem;padding:1rem 1.5rem;margin:0;border-bottom:1px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.course-modules-list{display:flex;flex-direction:column}.course-module-group summary{font-weight:600;color:var(--text-color);padding:1rem 1.5rem;cursor:pointer;list-style:none;background-color:var(--card-background);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.course-module-group[open] summary{border-bottom-color:transparent}.course-module-group:first-child summary{border-top:none}.course-module-group summary::-webkit-details-marker{display:none}.course-module-group summary:hover{background-color:var(--border-color-light)}.course-lessons-list{list-style:none;padding:0}.lesson-item-btn{width:100%;background:transparent;border:none;border-top:1px solid var(--border-color-light);text-align:left;padding:.8rem 1.5rem .8rem 2.5rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s,border-left .2s;position:relative}.lesson-item-btn:before{content:"○";position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--text-secondary);transition:color .2s}.lesson-item-btn:hover{background-color:var(--border-color-light);color:var(--text-color)}.lesson-item-btn.active{background-color:var(--primary-color);color:#fff;font-weight:500;border-left:3px solid var(--glow-color);padding-left:calc(2.5rem - 3px)}.lesson-item-btn.active:before{content:"●";color:#fff}@media (max-width: 1024px){.course-layout{grid-template-columns:1fr}.course-sidebar{grid-row:1}.course-sidebar .card{position:static}}.button-like{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:6px;border:1px solid var(--primary-color);background-color:var(--primary-color);color:#fff;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .2s,box-shadow .2s}.button-like:hover{background-color:var(--secondary-color);box-shadow:0 0 10px #4f46e580;color:#fff}.blog-post-list .card{margin-bottom:2rem}.blog-post-summary h2 a{text-decoration:none;color:var(--glow-color)}.blog-post-summary h2 a:hover{text-decoration:underline}.post-meta{font-size:.9rem;color:var(--text-secondary);margin:.5rem 0 1rem}.post-tags{margin-top:1rem}a{color:var(--text-secondary);padding:.1rem}select{width:100%;padding:.75rem 1rem;font-size:1rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238b949e'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.2em;cursor:pointer}select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e54d}.admin-content .actions-cell{display:flex;gap:.5rem}.admit-user-btn,.reject-user-btn{font-size:.9rem;padding:.4rem .8rem;border:1px solid transparent}.admit-user-btn{background-color:var(--success-bg);border-color:var(--success-text);color:var(--success-text)}.admit-user-btn:hover{background-color:#014421;color:#fff}.reject-user-btn{background-color:var(--error-bg);border-color:var(--error-text);color:var(--error-text)}.reject-user-btn:hover{background-color:#5d1a1a;color:#fff}
