:root{--clr-primary: #6366f1;--clr-primary-dark: #4f46e5;--clr-primary-light: #e0e7ff;--clr-accent: #f97316;--clr-light: #f9fafb;--clr-dark: #1f2937;--clr-grey: #9ca3af;--clr-grey-light: #e5e7eb;--clr-grey-medium: #d1d5db;--clr-grey-dark: #6b7280;--clr-text-primary: #111827;--clr-text-secondary: #374151;--clr-text-muted: #6b7280;--clr-error: #ef4444;--clr-error-light: #fee2e2;--clr-error-border: #fecaca;--clr-success: #10b981;--clr-warning: #f59e0b;--clr-info: #3b82f6;--clr-bg-card: white;--clr-bg-alt: #f9fafb;--border-radius: 8px;--border-radius-lg: 12px;--spacing: 1rem;--font-heading: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);color-scheme:light}body{background-color:#f5f7ff;background-image:radial-gradient(circle at 20% 30%,rgba(99,102,241,.15) 0%,transparent 200px),radial-gradient(circle at 80% 70%,rgba(249,115,22,.1) 0%,transparent 200px);color:var(--clr-text-primary);margin:0;padding:0;font-family:var(--font-body);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--clr-primary-dark)}h2{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}p{color:var(--clr-text-secondary);margin-bottom:1rem}a{color:var(--clr-primary);text-decoration:none}a:hover{text-decoration:underline}.card{background-color:var(--clr-bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:2rem;margin-bottom:1.5rem;border:1px solid var(--clr-grey-light);transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.card-nested{background:var(--clr-bg-alt);border:1px solid var(--clr-grey-light);border-radius:var(--border-radius);padding:1rem;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75em 1.5em;border:1px solid transparent;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap}.btn:disabled{background-color:var(--clr-grey);cursor:not-allowed;opacity:.7;transform:none;box-shadow:none}.btn-primary{background-color:var(--clr-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--clr-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-secondary{background:var(--clr-grey-light);border-color:var(--clr-grey-medium);color:var(--clr-text-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--clr-grey-medium)}.btn-large{padding:1em 2.5em;font-size:1.1rem}.text-button{background:none;border:none;color:var(--clr-primary);font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-size:1rem}.text-button:hover{color:var(--clr-primary-dark)}.close-button{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--clr-grey-dark);cursor:pointer;padding:.25rem}.close-button:hover{color:var(--clr-primary-dark)}.input-field{padding:.75em 1em;border:1px solid var(--clr-grey-medium);border-radius:var(--border-radius);font-size:1rem;box-shadow:inset 0 1px 2px #0000000d;transition:all .2s ease;flex:1;background-color:#fff;color:var(--clr-text-primary)}.input-field:focus{outline:none;border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-light)}.input-field:disabled{background-color:var(--clr-grey-light);cursor:not-allowed;opacity:.7}.input-wrapper{position:relative;display:flex;flex-grow:1}.error-message{display:flex;align-items:flex-start;gap:.5rem;color:var(--clr-error);background-color:var(--clr-error-light);border:1px solid var(--clr-error-border);padding:1rem;border-radius:var(--border-radius);margin-top:1rem;font-weight:500;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.error-message .error-icon{flex-shrink:0;font-size:1.25rem}.error-message p{margin:0;color:var(--clr-error)}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.loading-indicator{margin-top:1rem;padding:1.5rem;border-radius:var(--border-radius);background-color:var(--clr-bg-card);box-shadow:var(--shadow);text-align:center}.loading-indicator h3{margin-top:0;margin-bottom:1rem;color:var(--clr-primary-dark);text-align:center}.loading-indicator p{color:var(--clr-text-muted);margin-bottom:1rem;font-weight:500}.progress-bar{height:8px;background-color:var(--clr-grey-light);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background-color:var(--clr-primary);border-radius:4px;transition:width .3s ease;background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progress-animation 1s linear infinite}@keyframes progress-animation{0%{background-position:1rem 0}to{background-position:0 0}}.loading-animation{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.dot{width:10px;height:10px;border-radius:50%;background-color:var(--clr-primary);animation:bounce 1.4s infinite ease-in-out both}.dot1{animation-delay:-.32s}.dot2{animation-delay:-.16s}.dot3{animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-container{background-color:var(--clr-bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:900px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:1rem 1.5rem;border-bottom:1px solid var(--clr-grey-light);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background-color:var(--clr-bg-card);z-index:10}.modal-header h3{margin:0;font-size:1.25rem}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--clr-grey-light);display:flex;justify-content:flex-end;background-color:var(--clr-bg-alt);position:sticky;bottom:0;gap:.5rem}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.svelte-tags-input-layout{border:1px solid var(--clr-grey-medium)!important;border-radius:var(--border-radius)!important;padding:.5rem!important;box-shadow:inset 0 1px 2px #0000000d!important;background-color:#fff!important}.svelte-tags-input-layout:focus-within{outline:none!important;border-color:var(--clr-primary)!important;box-shadow:0 0 0 3px var(--clr-primary-light)!important}.svelte-tags-input-tag{background-color:var(--clr-primary-light)!important;color:var(--clr-primary-dark)!important;border-radius:999px!important;padding:.25rem .75rem!important;margin:.25rem!important;font-size:.875rem!important}.svelte-tags-input-tag:hover{background-color:var(--clr-primary)!important;color:#fff!important}.svelte-tags-input-remove{color:inherit!important;font-weight:700!important;margin-left:.5rem!important}.svelte-tags-input{font-size:1rem!important;padding:.25rem .5rem!important;flex:1!important;outline:none!important;border:none!important;background-color:transparent!important}.intro-text{color:var(--clr-text-muted);margin-bottom:1.5rem;font-size:1rem}.hint-text{color:var(--clr-text-muted);font-size:.875rem;margin-top:.5rem}
