:root{--toolkit-primary:var(--primary-color, #6e8efb);--toolkit-secondary:var(--secondary-color, #a777e3);--toolkit-accent:#11998e;--toolkit-dark:#2b5876;--toolkit-light:#f7fafc;--toolkit-text:var(--text-color, #2d3748);--toolkit-border:var(--border-color, rgba(255, 255, 255, 0.2));--toolkit-shadow:var(--card-shadow, 0 10px 30px rgba(0, 0, 0, 0.1));--toolkit-radius:var(--border-radius, 12px);--toolkit-transition:0.3s ease}.toolkit-container{max-width:1400px;margin:0 auto;padding:2rem 1rem}.toolkit-header{text-align:center;padding:1.2rem 0 .5rem 0;margin-bottom:1.2rem;margin-top:2rem}.toolkit-header h1{font-size:clamp(2.5rem, 4vw, 3.5rem);font-weight:700;background:linear-gradient(135deg,var(--toolkit-primary),var(--toolkit-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;font-family:var(--font-heading)}.toolkit-header p{color:#fff;font-size:clamp(1.1rem, 1.3vw, 1.3rem);opacity:.9;max-width:1300px;margin:0 auto 1.5rem auto;font-family:var(--font-body)}.ai-advisor-text{background:linear-gradient(135deg,var(--toolkit-primary),var(--toolkit-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.toolkit-controls{padding:.7rem 0;margin-bottom:2.5rem;position:sticky;top:0;z-index:100}.category-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding-bottom:.5rem}.category-button{background:rgba(255,255,255,.9);border:1px solid var(--toolkit-border);color:var(--text-color);font-family:var(--font-body);font-weight:500;padding:.5rem 1rem;border-radius:20px;transition:var(--toolkit-transition);cursor:pointer;position:relative}.category-button:hover{background:linear-gradient(135deg,var(--toolkit-primary),var(--toolkit-secondary));color:#fff;transform:translateY(-1px)}.category-button.active{background:linear-gradient(135deg,var(--toolkit-primary),var(--toolkit-secondary));color:#fff;border-color:var(--toolkit-primary)}.loaded-indicator{position:absolute;top:-5px;right:-5px;background:var(--toolkit-accent);color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.tool-card{background:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--card-shadow);transition:transform .3s ease,box-shadow .3s ease!important;position:relative;overflow:hidden;cursor:pointer;padding:2.5rem;display:flex;flex-direction:column;min-height:200px}.tool-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;background:var(--primary-gradient);z-index:-1;border-radius:var(--border-radius) var(--border-radius) 0 0;transition:height .3s ease,opacity .3s ease}.tool-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.tool-card:hover::before{height:100%;opacity:.05}.tool-card .category-badge{background:var(--primary-gradient);color:#fff;font-family:var(--font-body);font-weight:500;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;display:inline-block;margin-bottom:.75rem;align-self:flex-start}.tool-card h3{font-family:var(--font-heading);font-weight:600;color:var(--text-color);margin-bottom:.5rem;font-size:1.6rem}.tool-card .motto{color:var(--text-color);opacity:.8;font-family:var(--font-body);font-size:1.1rem;margin-bottom:1rem;flex-grow:1}.tool-card .view-more{color:var(--primary-color);font-weight:600;font-family:var(--font-body);text-align:right;margin-top:auto;font-size:1.1rem}.loading{text-align:center;padding:2rem;color:var(--text-color)}.no-results{text-align:center;padding:3rem;color:var(--text-color);font-size:1.1rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:1rem;z-index:1000;backdrop-filter:blur(8px);transition:opacity .3s ease-in-out}.modal-overlay.show{display:flex}.modal-content{background:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--card-shadow);max-width:90vw;max-height:90vh;width:800px;overflow:hidden;transform:scale(.95);opacity:0;transition:transform .3s ease,opacity .3s ease}.modal-overlay.show .modal-content{transform:scale(1);opacity:1}.modal-header{padding:2rem 2rem 1rem 2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.modal-header>div{flex:1 1 auto;text-align:left}.modal-header h2{font-family:var(--font-heading);font-weight:600;color:var(--text-color);margin:0;font-size:2rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-header p{display:none}.close-modal{background:0 0;border:none;font-size:1.5rem;color:var(--text-color);cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .3s ease}.close-modal:hover{background-color:var(--border-color)}.modal-body{padding:1rem 2rem 2rem 2rem;max-height:60vh;overflow-y:auto}.modal-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.tab-button{background:0 0;border:none;padding:.5rem 1rem;color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .3s ease,color .3s ease;font-family:var(--font-body);font-weight:400;font-size:1.5rem}.tab-button:hover{background-color:var(--border-color)}.tab-button.active{background:var(--primary-gradient);color:#fff}.tab-content{display:none}.tab-content.active{display:block}.tab-content p{color:var(--text-color);line-height:1.6;margin-bottom:1rem}.tab-content ul{color:var(--text-color);padding-left:1.5rem;margin-bottom:1rem}.tab-content li{margin-bottom:.5rem}.diagram-container{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;margin:1rem 0;overflow-x:auto}.mermaid-code-container{position:relative;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);margin:1rem 0}.mermaid-code{padding:1rem;font-family:'Courier New',monospace;font-size:.9rem;color:var(--text-color);background:var(--bg-color);border:none;width:100%;min-height:200px;resize:vertical}.copy-button{position:absolute;top:.5rem;right:.5rem;background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);cursor:pointer;font-size:.8rem;transition:background-color .3s ease}.copy-button:hover{background:var(--secondary-color)}.gemini-button{background:var(--primary-gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;font-family:var(--font-body);font-weight:500;transition:transform .3s ease,box-shadow .3s ease}.gemini-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.gemini-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loader{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.use-case{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;margin:1rem 0}.use-case h4{color:var(--text-color);margin:0 0 .5rem 0;font-weight:600}.use-case p{color:var(--text-color);margin:0;font-size:.9rem}.ai-advisor{margin-top:2rem}.ai-section{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-top:1rem}.ai-section h3{color:var(--text-color);margin:0 0 1rem 0;font-weight:600;font-size:2rem}.ai-section p{color:var(--text-color);margin-bottom:1rem;font-size:1.5rem}.input-group{display:flex;align-items:center;gap:0;margin-bottom:1.5rem}.input-group input[type=search],.input-group input[type=text]{height:44px;box-sizing:border-box;padding:.7rem 1rem;font-size:1.1rem;border:2px solid var(--primary-color,#6e8efb);border-radius:8px 0 0 8px;outline:0;transition:border-color .2s;flex:1 1 auto}.input-group input[type=search]:focus,.input-group input[type=text]:focus{border-color:var(--toolkit-secondary,#a777e3)}.input-group button{height:44px;box-sizing:border-box;padding:0 1.3rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:0 8px 8px 0;background:linear-gradient(135deg,var(--toolkit-primary),var(--toolkit-secondary));color:#fff;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;margin-left:-2px;box-shadow:none;outline:0}.input-group button:focus,.input-group button:hover{background:linear-gradient(135deg,var(--toolkit-secondary),var(--toolkit-primary));box-shadow:none;outline:0}.ai-output{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem 2.5rem;margin-top:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 12px rgba(44,62,80,.07);overflow-x:auto}.ai-output h1,.ai-output h2,.ai-output h3{color:var(--toolkit-primary,#6e8efb);font-family:var(--font-heading, 'Poppins', sans-serif);font-weight:700;margin-top:1.2rem;margin-bottom:1rem;line-height:1.15}.ai-output h1{font-size:2.2rem}.ai-output h2{font-size:1.7rem}.ai-output h3{font-size:1.3rem}.ai-output p{color:var(--text-color);font-size:1.15rem;margin-bottom:1.1rem;line-height:1.7}.ai-output ul{padding-left:2rem;margin-bottom:1.2rem;list-style-type:disc}.ai-output li{font-size:1.15rem;margin-bottom:.5rem;color:var(--text-color);line-height:1.6}.ai-output b,.ai-output strong{font-weight:700;color:var(--toolkit-secondary,#a777e3)}.swot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0}.swot-cell{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem}.swot-cell h4{color:var(--text-color);margin:0 0 .5rem 0;font-weight:600}.swot-cell p{color:var(--text-color);margin:0;font-size:.9rem}.strengths{border-left:4px solid #22c55e}.weaknesses{border-left:4px solid #ef4444}.opportunities{border-left:4px solid #3b82f6}.error{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius);padding:1rem;margin-top:1rem}.hidden{display:none!important}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.tool-card{animation:fadeInUp .6s ease-out forwards}.tool-card:first-child{animation-delay:.1s}.tool-card:nth-child(2){animation-delay:.2s}.tool-card:nth-child(3){animation-delay:.3s}.tool-card:nth-child(4){animation-delay:.4s}.tool-card:nth-child(5){animation-delay:.5s}.tool-card:nth-child(6){animation-delay:.6s}.tool-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.tab-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.gemini-button:focus{outline:2px solid white;outline-offset:2px}@media (max-width:768px){.toolkit-container{padding:1rem .5rem}.toolkit-header{padding:1rem 0}.toolkit-controls{margin-bottom:2rem}.cards-grid{grid-template-columns:1fr;gap:1.5rem}.modal-content{width:95vw;max-height:95vh}.modal-header{padding:1.5rem 1.5rem 1rem 1.5rem}.modal-body{padding:1rem 1.5rem 1.5rem 1.5rem}.modal-tabs{flex-wrap:wrap;gap:.25rem}.tab-button{padding:.4rem .8rem;font-size:.9rem}.tab-button.active{flex:1;text-align:center}}body.dark-mode .toolkit-header h1{color:#f0f0f0}body.dark-mode .toolkit-header p{color:#e0e0e0}body.dark-mode .tool-card{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color)}body.dark-mode .tool-card .motto,body.dark-mode .tool-card h3{color:var(--text-color)}body.dark-mode .tool-card .view-more{color:var(--primary-color)}body.dark-mode .category-button{background:rgba(45,55,72,.8);border:1px solid var(--border-color);color:var(--text-color)}body.dark-mode .category-button:hover{background:var(--primary-gradient);color:#fff}body.dark-mode .category-button.active{background:var(--primary-gradient);color:#fff}body.dark-mode .modal-content{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .modal-header{border-bottom:1px solid var(--border-color)}body.dark-mode .modal-header h2{color:var(--text-color)}body.dark-mode .modal-header p{color:var(--text-color)}body.dark-mode .close-modal{color:var(--text-color)}body.dark-mode .close-modal:hover{background-color:var(--border-color)}body.dark-mode .modal-tabs{border-bottom:1px solid var(--border-color)}body.dark-mode .tab-button{color:var(--text-color)}body.dark-mode .tab-button:hover{background-color:var(--border-color)}body.dark-mode .tab-button.active{background:var(--primary-gradient);color:#fff}body.dark-mode .tab-content li,body.dark-mode .tab-content p{color:var(--text-color)}body.dark-mode .diagram-container{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .mermaid-code-container{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .mermaid-code{background:var(--bg-color);color:var(--text-color)}body.dark-mode .use-case{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .use-case h4{color:var(--text-color)}body.dark-mode .use-case p{color:var(--text-color)}body.dark-mode .ai-section{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .ai-section h3{color:var(--text-color)}body.dark-mode .ai-section p{color:var(--text-color)}body.dark-mode .ai-output{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .ai-output p{color:var(--text-color)}body.dark-mode .ai-output ul{color:var(--text-color)}body.dark-mode .swot-cell{background:var(--bg-color);border:1px solid var(--border-color)}body.dark-mode .swot-cell h4{color:var(--text-color)}body.dark-mode .swot-cell p{color:var(--text-color)}body.dark-mode .error{background:#1f2937;border:1px solid #ef4444;color:#fca5a5}.main{padding-top:calc(var(--navbar-height,6rem) + 1rem);min-height:100vh}body.dark-mode .main{background:linear-gradient(135deg,#232946 0,#181c24 100%)}body:not(.dark-mode){background:linear-gradient(135deg,#2b5876,#4e4376)!important}.toolkit-description{width:100%;max-width:900px;margin:0 auto;text-align:center;padding:2rem 4vw;box-sizing:border-box;font-size:1.15rem;color:var(--text-color)}@media (max-width:1000px){.toolkit-description{max-width:98vw}}@media (max-width:600px){.toolkit-description{padding:1.2rem 2vw;font-size:1rem}}#modal-body-content p{font-size:1.5rem}#modal-body-content ul{padding-left:2rem;margin-bottom:1.2rem;list-style-type:disc}#modal-body-content li{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-color);line-height:1.6}#generate-case-study-btn:focus,#generate-case-study-btn:hover{transform:none!important;box-shadow:none!important}