@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{font-family:Outfit,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;letter-spacing:-.01em;--color-bg: #131315;--color-secondary-bg: #1A1A1E;--color-input-bg: #222226;--color-text: #E8E8EC;--color-secondary-text: #8A8A94;--color-accent: #4ECDC4;--color-secondary-accent: #9171D0;--color-success: #5CCC6A;--color-warning: #E0C074;--color-border: #28282E;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;background-color:var(--color-bg);background-image:radial-gradient(ellipse at top,rgba(78,205,196,.025) 0%,transparent 60%);color:var(--color-text)}body{overflow-x:hidden}#root{min-height:100vh;width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.focus-ring:focus{outline:2px solid var(--color-accent);outline-offset:2px}.fade-in{animation:fadeIn .2s ease-in-out}.slide-up{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.strain-card{background:var(--color-secondary-bg);border:1px solid var(--color-border);border-radius:14px;transition:all .25s cubic-bezier(.4,0,.2,1)}.strain-card:hover{border-color:#4ecdc44d;box-shadow:0 8px 24px #0000004d,0 0 0 1px #4ecdc414;transform:translateY(-1px)}.input-field{background:var(--color-input-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-field:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #4ecdc41f;background:#222226cc}.btn-primary{background:var(--color-accent);color:#131315;border:none;border-radius:8px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{background:#5ed8d0;transform:translateY(-1px);box-shadow:0 4px 12px #4ecdc440}.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-secondary{background:var(--color-secondary-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{border-color:#4ecdc44d;background:var(--color-input-bg)}.status-success{color:var(--color-success)}.status-warning{color:var(--color-warning)}.upload-area{border:2px dashed rgba(40,40,46,.8);border-radius:14px;background:var(--color-secondary-bg);transition:all .25s cubic-bezier(.4,0,.2,1)}.upload-area:hover{border-color:#4ecdc44d}.upload-area.drag-over{border-color:var(--color-accent);background:#4ecdc40a;box-shadow:inset 0 0 40px #4ecdc408}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.min-h-screen{min-height:100vh}.bg-dark-bg{background-color:var(--color-bg)}.text-dark-text{color:var(--color-text)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.space-x-4>*+*{margin-left:1rem}.space-y-6>*+*{margin-top:1.5rem}.container{max-width:1200px;margin:0 auto}.mx-auto{margin-left:auto;margin-right:auto}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.w-8{width:2rem}.h-8{height:2rem}.h-0\.5{height:.125rem}.rounded-full{border-radius:9999px}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-semibold{font-weight:600}.text-white{color:#fff}.text-center{text-align:center}.bg-dark-accent{background-color:var(--color-accent)}.bg-dark-success{background-color:var(--color-success)}.bg-dark-border{background-color:var(--color-border)}.bg-dark-secondary-bg{background-color:var(--color-secondary-bg)}.text-dark-secondary-text{color:var(--color-secondary-text)}.text-dark-warning{color:var(--color-warning)}.mr-1{margin-right:.25rem}.w-4{width:1rem}.h-4{height:1rem}.border-t{border-top-width:1px}.border-dark-border{border-color:var(--color-border)}.animate-fade-in{animation:fadeIn .2s ease-in-out}.max-w-6xl{max-width:72rem}.flex-1{flex:1 1 0%}.hidden{display:none}.cursor-pointer{cursor:pointer}.inline-block{display:inline-block}.rounded-lg{border-radius:.5rem}.space-y-1>*+*{margin-top:.25rem}.max-w-4xl{max-width:56rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mt-4{margin-top:1rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.p-6{padding:1.5rem}.p-4{padding:1rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-12{width:3rem}.h-12{height:3rem}.border{border-width:1px}.border-2{border-width:2px}.border-t-transparent{border-top-color:transparent}.font-medium{font-weight:500}.spinner{border-color:var(--color-accent);border-top-color:transparent}.w-full{width:100%}.p-3{padding:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mb-6{margin-bottom:1.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.block{display:block}.w-5{width:1.25rem}.h-5{height:1.25rem}.space-x-2>*+*{margin-left:.5rem}.text-dark-success{color:var(--color-success)}.bg-dark-success\/20{background-color:#5ccc6a33}.border-dark-success\/30{border-color:#5ccc6a4d}.justify-center{justify-content:center}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2 / span 2}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2 / span 2}}.step-button{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.step-button:hover:not(:disabled){transform:scale(1.05)}.step-button:active:not(:disabled){transform:scale(.95)}.step-button:disabled{cursor:not-allowed}.enhanced-card{background:var(--color-secondary-bg);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.enhanced-card:hover{border-color:#4ecdc433;box-shadow:0 8px 32px #0000004d,0 0 0 1px #4ecdc40f;transform:translateY(-1px)}.enhanced-input{background:var(--color-input-bg);border:1.5px solid var(--color-border);color:var(--color-text);border-radius:10px;padding:.75rem 1rem;font-size:.95rem;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}.enhanced-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #4ecdc41a;background:#22222699}.enhanced-input:hover:not(:focus){border-color:#4ecdc440}.btn-enhanced{position:relative;overflow:hidden;font-weight:500;letter-spacing:.025em;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-enhanced:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.btn-enhanced:hover:before{left:100%}.btn-primary.btn-enhanced{background:linear-gradient(135deg,var(--color-accent),#3CB5AE);color:#131315;box-shadow:0 4px 16px #4ecdc433}.btn-primary.btn-enhanced:hover{box-shadow:0 6px 24px #4ecdc44d;transform:translateY(-1px)}.btn-primary.btn-enhanced:active{transform:translateY(0);box-shadow:0 2px 8px #4ecdc433}.progress-bar{position:relative;overflow:hidden;border-radius:9999px}.progress-bar:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.success-bounce{animation:successBounce .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes successBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.upload-area-enhanced{border:2px dashed rgba(40,40,46,.8);border-radius:16px;background:var(--color-secondary-bg);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.upload-area-enhanced:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(78,205,196,.04) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.upload-area-enhanced:hover{border-color:#4ecdc44d}.upload-area-enhanced:hover:before{opacity:1}.upload-area-enhanced.drag-over{border-color:var(--color-accent);background:#4ecdc40a;box-shadow:inset 0 0 60px #4ecdc408}.notification{position:fixed;top:20px;right:20px;background:var(--color-secondary-bg);border:1px solid var(--color-border);border-radius:14px;padding:1rem 1.5rem;box-shadow:0 16px 40px #0006,0 0 0 1px #ffffff08;z-index:1000;min-width:300px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideInRight .3s ease-out}.notification.success{border-color:#5ccc6a66;background:#5ccc6a14}.notification.error{border-color:#ff6b6b66;background:#ff6b6b14}.notification.warning{border-color:#e0c07466;background:#e0c07414}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.modal-content{background:var(--color-secondary-bg);border:1px solid var(--color-border);border-radius:18px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease-out;box-shadow:0 24px 48px #00000080,0 0 0 1px #ffffff08}.header-accent{border-bottom:2px solid transparent;-o-border-image:linear-gradient(90deg,var(--color-accent),var(--color-secondary-accent)) 1;border-image:linear-gradient(90deg,var(--color-accent),var(--color-secondary-accent)) 1}.text-gradient{background:linear-gradient(135deg,var(--color-accent),var(--color-secondary-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.space-y-8>*+*{margin-top:2rem}.space-y-12>*+*{margin-top:3rem}.p-8{padding:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}@media(max-width:768px){:root{font-size:14px}.strain-card{margin-bottom:16px}.enhanced-card{padding:1rem;border-radius:12px}.enhanced-input{padding:.75rem;font-size:16px}.btn-enhanced{padding:.875rem 1.5rem;font-size:1rem}.notification{right:10px;left:10px;width:auto;min-width:auto}.modal-content{width:95%;padding:1.5rem;margin:1rem}.step-button{min-width:44px;min-height:44px}}@media(hover:none){.btn-primary:hover,.btn-secondary:hover,.enhanced-card:hover,.strain-card:hover,.upload-area-enhanced:hover{transform:none;box-shadow:none}.step-button:hover:not(:disabled){transform:none}}@media(prefers-color-scheme:dark){.modal-overlay{background:#000c}}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}kbd{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background-color:var(--color-border);color:var(--color-text);border-radius:.25rem;border:1px solid var(--color-border);box-shadow:0 1px 3px #0000001a}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-accent);color:#fff;padding:8px;text-decoration:none;border-radius:0 0 4px 4px;z-index:1000;transition:top .3s}.skip-link:focus{top:0}@media(max-width:768px){button,input,select,textarea,[role=button],[tabindex]{min-height:44px;min-width:44px}.step-button{min-width:48px;min-height:48px}}@media print{.modal-overlay,.notification,.skip-link{display:none!important}.enhanced-card{border:1px solid #ccc;-moz-column-break-inside:avoid;break-inside:avoid}}@media(prefers-contrast:high){.enhanced-card,.enhanced-input{border-width:2px}}
