.laboratory-container{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#e0e0e0;position:relative;overflow-x:hidden;transition:background .1s ease}.laboratory-container.lightning-flash{background:linear-gradient(135deg,#2a2a3e,#26314e,#1f4470)}.laboratory-container.lightning-flash .laboratory-background:before{opacity:1!important}.laboratory-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.laboratory-background:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 50%,rgba(255,107,53,.03) 0%,transparent 50%);animation:ambientGlow 8s ease-in-out infinite;opacity:.3}@keyframes ambientGlow{0%,to{opacity:.3}50%{opacity:.6}}.particles{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.particle{position:absolute;width:3px;height:3px;background:#ffd70099;border-radius:50%;box-shadow:0 0 10px #ffd700cc;animation:particleFloat 20s linear infinite;opacity:0}@keyframes particleFloat{0%{transform:translateY(100vh) translate(0) scale(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) translate(100px) scale(1);opacity:0}}.fog-layer{position:absolute;bottom:0;left:0;width:100%;height:300px;background:radial-gradient(ellipse at 20% 100%,rgba(200,200,220,.3) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(180,180,200,.25) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(220,220,240,.2) 0%,transparent 60%);animation:fogDrift 15s ease-in-out infinite;filter:blur(20px)}.fog-layer:before{content:"";position:absolute;bottom:0;left:-50%;width:200%;height:100%;background:radial-gradient(ellipse at 30% 100%,rgba(255,255,255,.15) 0%,transparent 40%),radial-gradient(ellipse at 70% 100%,rgba(200,200,220,.12) 0%,transparent 45%);animation:fogDrift2 20s ease-in-out infinite reverse;filter:blur(30px)}@keyframes fogDrift{0%,to{opacity:.6;transform:translate(0) translateY(0)}25%{opacity:.8;transform:translate(-30px) translateY(-10px)}50%{opacity:.7;transform:translate(20px) translateY(-5px)}75%{opacity:.9;transform:translate(-10px) translateY(-15px)}}@keyframes fogDrift2{0%,to{opacity:.5;transform:translate(0) translateY(0)}33%{opacity:.7;transform:translate(40px) translateY(-8px)}66%{opacity:.6;transform:translate(-25px) translateY(-12px)}}.candles{position:absolute;top:15%;left:0;width:100%;display:flex;justify-content:space-around;padding:0 5%;z-index:1}.candle{width:6px;height:50px;background:linear-gradient(to bottom,#8b4513,sienna);border-radius:3px;position:relative;box-shadow:0 0 10px #8b451380}.candle:nth-child(1){animation-delay:0s}.candle:nth-child(2){animation-delay:.5s}.candle:nth-child(3){animation-delay:1s}.candle:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:8px;height:12px;background:linear-gradient(to top,#ff6b35,#ff8c42,orange 60%,#ff0);border-radius:50%/60% 60% 40% 40%;animation:flameFlicker .3s ease-in-out infinite,flameSway 2s ease-in-out infinite;filter:blur(1px)}.candle:after{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:40px;height:40px;background:radial-gradient(circle,rgba(255,200,100,.6) 0%,rgba(255,150,50,.3) 30%,transparent 70%);border-radius:50%;animation:glowPulse 2s ease-in-out infinite}@keyframes flameFlicker{0%,to{transform:translate(-50%) scaleY(1) scaleX(1);opacity:1}25%{transform:translate(-48%) scaleY(.95) scaleX(1.05);opacity:.9}50%{transform:translate(-52%) scaleY(1.05) scaleX(.95);opacity:1}75%{transform:translate(-50%) scaleY(.98) scaleX(1.02);opacity:.95}}@keyframes flameSway{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-3deg)}50%{transform:translate(-50%) rotate(2deg)}75%{transform:translate(-50%) rotate(-1deg)}}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%) scale(1)}50%{opacity:.8;transform:translate(-50%) scale(1.1)}}.laboratory-header{position:relative;z-index:1;text-align:center;padding:3rem 2rem 2rem;border-bottom:2px solid rgba(255,107,53,.3);background:linear-gradient(to bottom,rgba(26,26,46,.8) 0%,transparent 100%)}.laboratory-title{margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.title-main{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#ff6b35,#f7931e,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,107,53,.5);letter-spacing:2px;filter:drop-shadow(0 0 20px rgba(255,107,53,.3))}.title-sub{font-size:1.2rem;font-weight:300;color:#a0a0a0;letter-spacing:4px;text-transform:uppercase}.laboratory-tagline{font-size:1rem;color:gray;font-style:italic;max-width:600px;margin:0 auto}.laboratory-main{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:2rem;min-height:60vh}.laboratory-grid{display:grid;grid-template-columns:1fr;gap:2rem;position:relative}@media (min-width: 1024px){.laboratory-grid{grid-template-columns:repeat(2,1fr)}.laboratory-grid>*:first-child{grid-column:1 / -1}}.stitching-effects{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.3}.stitch{position:absolute;background:repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,107,53,.3) 10px,rgba(255,107,53,.3) 12px);animation:stitchPulse 3s ease-in-out infinite}.stitch-1{top:20%;left:0;width:100%;height:2px;animation-delay:0s}.stitch-2{top:50%;left:0;width:100%;height:2px;animation-delay:1s}.stitch-3{top:0;left:30%;width:2px;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,107,53,.3) 10px,rgba(255,107,53,.3) 12px);animation-delay:.5s}.stitch-4{top:0;left:70%;width:2px;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,107,53,.3) 10px,rgba(255,107,53,.3) 12px);animation-delay:1.5s}@keyframes stitchPulse{0%,to{opacity:.2}50%{opacity:.5}}.laboratory-footer{position:relative;z-index:1;padding:2rem;text-align:center;border-top:1px solid rgba(255,107,53,.2);margin-top:4rem;background:linear-gradient(to top,rgba(26,26,46,.8) 0%,transparent 100%)}.architecture-info{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.info-toggle{background:#ff6b3533;border:1px solid rgba(255,107,53,.5);color:#ff6b35;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s;font-weight:500}.info-toggle:hover{background:#ff6b354d;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b354d}.info-toggle:active{transform:translateY(0)}.architecture-panel{width:100%;max-width:900px;background:#ffffff0d;border:2px solid rgba(255,107,53,.4);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .3s ease-out;box-shadow:0 8px 32px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.architecture-content{text-align:left}.architecture-title{font-size:1.8rem;color:#ff6b35;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.architecture-icon{font-size:2rem}.architecture-description{color:silver;line-height:1.6;margin-bottom:2rem}.framework-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.framework-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:all .3s}.framework-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.framework-item.react{border-color:#61dafb4d}.framework-item.react:hover{background:#61dafb1a;border-color:#61dafb80}.framework-item.vue{border-color:#42b8834d}.framework-item.vue:hover{background:#42b8831a;border-color:#42b88380}.framework-item.svelte{border-color:#ff3e004d}.framework-item.svelte:hover{background:#ff3e001a;border-color:#ff3e0080}.framework-item.angular{border-color:#dd00314d}.framework-item.angular:hover{background:#dd00311a;border-color:#dd003180}.framework-item.lambda{border-color:#ff99004d}.framework-item.lambda:hover{background:#ff99001a;border-color:#ff990080}.framework-item.bedrock{border-color:#8a2be24d}.framework-item.bedrock:hover{background:#8a2be21a;border-color:#8a2be280}.framework-item.python{border-color:#3776ab4d}.framework-item.python:hover{background:#3776ab1a;border-color:#3776ab80}.framework-item.nodejs{border-color:#68a0634d}.framework-item.nodejs:hover{background:#68a0631a;border-color:#68a06380}.framework-item.rust{border-color:#ce5c004d}.framework-item.rust:hover{background:#ce5c001a;border-color:#ce5c0080}.framework-item.aws{border-color:#ff99004d}.framework-item.aws:hover{background:#ff99001a;border-color:#ff990080}.framework-item.solid{border-color:#76a9fa4d}.framework-item.solid:hover{background:#76a9fa1a;border-color:#76a9fa80}.framework-badge{font-size:2rem;flex-shrink:0}.framework-details{display:flex;flex-direction:column;gap:.25rem}.framework-details strong{color:#fff;font-size:1rem}.framework-role{color:#a0a0a0;font-size:.85rem}.architecture-section{margin-bottom:2.5rem}.section-title{font-size:1.2rem;color:#ff6b35;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,107,53,.3);display:flex;align-items:center;gap:.5rem}.stitching-info{background:#ff6b351a;border:1px solid rgba(255,107,53,.3);border-radius:8px;padding:1rem;margin-top:1rem}.stitching-info p{margin:0;color:#d0d0d0;line-height:1.6}.stitching-info strong{color:#ff6b35}.footer-credits{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.footer-credits p{margin:0;color:gray;font-size:.9rem}@media (max-width: 768px){.title-main{font-size:2rem}.title-sub{font-size:.9rem;letter-spacing:2px}.laboratory-tagline{font-size:.85rem}.candles{display:none}.laboratory-main{padding:1rem}.architecture-panel{padding:1.5rem}.framework-list{grid-template-columns:1fr}.stitching-effects{display:none}}@media (prefers-reduced-motion: reduce){.particle,.fog-layer,.fog-layer:before,.candle:before,.candle:after,.stitch,.architecture-panel{animation:none!important}.laboratory-background:before{animation:none!important;opacity:.5}}.shell-badge{position:fixed;bottom:20px;right:20px;background:#61dafb26;border:1px solid rgba(97,218,251,.4);color:#61dafb;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:help;transition:all .3s ease;z-index:50;box-shadow:0 4px 12px #0000004d}.shell-badge:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 6px 20px #61dafb66;background:#61dafb33}.shell-icon{font-size:18px;animation:react-spin 20s linear infinite;text-shadow:0 0 8px rgba(97,218,251,.6)}@keyframes react-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shell-label{font-weight:600;letter-spacing:.5px}@media (max-width: 768px){.shell-badge{bottom:10px;right:10px;padding:6px 10px;font-size:10px}.shell-icon{font-size:14px}}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.error-boundary-content{max-width:600px;width:100%;background:#ffffff0d;border:2px solid rgba(220,53,69,.5);border-radius:12px;padding:3rem 2rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:4rem;margin-bottom:1rem;animation:errorPulse 2s ease-in-out infinite}@keyframes errorPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.error-title{font-size:2rem;color:#ff6b6b;margin:0 0 1rem;font-weight:600}.error-message{color:#e0e0e0;font-size:1.1rem;line-height:1.6;margin:0 0 2rem}.error-details{text-align:left;margin:2rem 0;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem}.error-details summary{cursor:pointer;color:#ff6b35;font-weight:500;margin-bottom:1rem;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:#ff8c42}.error-stack,.error-component-stack{background:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1rem;overflow-x:auto;font-size:.85rem;color:silver;margin:.5rem 0;white-space:pre-wrap;word-break:break-word}.error-reset-button{background:#ff6b3533;border:1px solid rgba(255,107,53,.5);color:#ff6b35;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s}.error-reset-button:hover{background:#ff6b354d;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b354d}.error-reset-button:active{transform:translateY(0)}@media (max-width: 768px){.error-boundary-content{padding:2rem 1.5rem}.error-title{font-size:1.5rem}.error-message{font-size:1rem}}.loading-state{background:#ffffff0d;border:1px solid rgba(255,107,53,.3);border-radius:12px;padding:3rem 2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInGlow .5s ease-in}.loading-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-spinner-container{position:relative;width:80px;height:80px}.loading-spinner{width:80px;height:80px;border:4px solid rgba(255,107,53,.2);border-top-color:#ff6b35;border-right-color:#f7931e;border-radius:50%;animation:spin 1s linear infinite}.loading-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:radial-gradient(circle,rgba(255,107,53,.4) 0%,transparent 70%);border-radius:50%;animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}.loading-message{font-size:1.3rem;color:#ff6b35;margin:0;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.loading-steps{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.loading-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);min-width:120px;transition:all .3s}.loading-step.active{background:#ff6b3526;border-color:#ff6b3580}.loading-step.completed{background:#4caf5026;border-color:#4caf5080}.step-indicator{width:32px;height:32px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-weight:600;color:#a0a0a0;transition:all .3s}.loading-step.active .step-indicator{background:#ff6b354d;color:#ff6b35;animation:indicatorPulse 1.5s ease-in-out infinite}.loading-step.completed .step-indicator{background:#4caf504d;color:#4caf50}@keyframes indicatorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.step-text{font-size:.9rem;color:#a0a0a0;text-align:center;transition:color .3s}.loading-step.active .step-text{color:#ff6b35;font-weight:500}.loading-step.completed .step-text{color:#4caf50}.loading-spirits{position:relative;width:200px;height:60px;margin-top:1rem}.spirit{position:absolute;font-size:2rem;opacity:0;animation:spiritFloat 3s ease-in-out infinite}.spirit-1{left:10%;animation-delay:0s}.spirit-2{left:45%;animation-delay:1s}.spirit-3{left:80%;animation-delay:2s}@keyframes spiritFloat{0%,to{opacity:0;transform:translateY(0) scale(.8)}10%,90%{opacity:.7}50%{opacity:1;transform:translateY(-30px) scale(1)}}@media (max-width: 768px){.loading-state{padding:2rem 1rem}.loading-message{font-size:1.1rem}.loading-steps{flex-direction:column;gap:.75rem;width:100%}.loading-step{flex-direction:row;justify-content:flex-start;min-width:auto;width:100%}.step-text{text-align:left}}@media (prefers-reduced-motion: reduce){.loading-spinner,.loading-glow,.loading-message,.step-indicator,.spirit{animation:none!important}.loading-spinner{border-top-color:#ff6b35;border-right-color:#ff6b35}.spirit{opacity:.5}}.history-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.history-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #42b883;border-radius:12px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,0 0 40px #42b88333;animation:slideUp .3s ease-out;position:relative}.history-modal .microfrontend-badge{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:help;transition:all .3s ease;z-index:100}.history-modal .microfrontend-badge.react{background:#61dafb26;border:1px solid rgba(97,218,251,.4);color:#61dafb}.history-modal .microfrontend-badge:hover{transform:scale(1.1);box-shadow:0 4px 12px #61dafb66}.history-modal .framework-icon{font-size:16px;text-shadow:0 0 8px rgba(97,218,251,.6)}.history-modal .framework-name{font-weight:600}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(66,184,131,.3)}.history-modal-header h2{margin:0;color:#42b883;font-size:1.5rem;text-shadow:0 0 10px rgba(66,184,131,.5)}.close-button{background:none;border:none;color:#42b883;font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-button:hover{background:#42b8831a;transform:rotate(90deg)}.history-modal-content{padding:1.5rem 2rem;overflow-y:auto;flex:1}.history-error{background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:#ff6b6b}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#a0a0a0}.loading-spinner{width:40px;height:40px;border:3px solid rgba(66,184,131,.2);border-top-color:#42b883;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.history-empty{text-align:center;padding:3rem;color:#a0a0a0}.history-empty p:first-child{font-size:1.5rem;margin-bottom:.5rem}.empty-subtitle{font-size:.9rem;opacity:.7}.history-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(66,184,131,.2);color:#a0a0a0;font-size:.9rem}.clear-history-button{background:#ff44441a;border:1px solid rgba(255,68,68,.3);color:#ff6b6b;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.clear-history-button:hover:not(:disabled){background:#f443;border-color:#ff6b6b}.clear-history-button:disabled{opacity:.5;cursor:not-allowed}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{background:#ffffff0d;border:1px solid rgba(66,184,131,.2);border-radius:8px;padding:1rem;cursor:pointer;transition:all .3s ease}.history-item:hover{background:#42b8831a;border-color:#42b883;transform:translate(4px);box-shadow:0 4px 12px #42b88333}.history-item.error{border-color:#ff44444d}.history-item.error:hover{border-color:#ff6b6b;background:#ff44440d}.history-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.status-icon{font-size:1.2rem}.filename{color:#42b883;font-weight:600;flex:1}.language-badge{background:#42b88333;color:#42b883;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.history-item-meta{display:flex;gap:1rem;font-size:.85rem;color:#a0a0a0;margin-bottom:.5rem}.issue-count{color:#ff9f43}.history-item-summary{color:#d0d0d0;font-size:.9rem;margin:.5rem 0 0;line-height:1.4;opacity:.8}.history-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(66,184,131,.2)}.history-pagination button{background:#42b8831a;border:1px solid rgba(66,184,131,.3);color:#42b883;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.history-pagination button:hover:not(:disabled){background:#42b88333;border-color:#42b883}.history-pagination button:disabled{opacity:.3;cursor:not-allowed}.history-pagination span{color:#a0a0a0;font-size:.9rem}.history-modal-content::-webkit-scrollbar{width:8px}.history-modal-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.history-modal-content::-webkit-scrollbar-thumb{background:#42b8834d;border-radius:4px}.history-modal-content::-webkit-scrollbar-thumb:hover{background:#42b88380}@media (max-width: 768px){.history-modal{width:95%;max-height:90vh}.history-modal-header,.history-modal-content{padding:1rem}.history-item-header{flex-wrap:wrap}}.error-banner{background:#dc354533;border:1px solid rgba(220,53,69,.5);border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.error-icon{font-size:1.5rem}.error-message{flex:1;color:#ffcccb}.error-close{background:none;border:none;color:#ffcccb;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.error-close:hover{background:#ffffff1a}.section-title{font-size:1.8rem;font-weight:600;color:#ff6b35;margin:0 0 1.5rem;text-align:center;letter-spacing:1px}.uploader-section{background:#ffffff0d;border:4px dashed rgba(255,107,53,.7);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;transition:all .3s ease;margin:3rem 0;box-shadow:-8px -8px 0 4px #ff6b35e6,calc(100% + 8px) -8px 0 4px #ff6b35e6,-8px calc(100% + 8px) 0 4px #ff6b35e6,calc(100% + 8px) calc(100% + 8px) 0 4px #ff6b35e6,0 0 30px #ff6b354d,inset 0 0 20px #ff6b351a}.uploader-section:hover{border-color:#ff6b35e6;box-shadow:-8px -8px 0 4px #ff6b35,calc(100% + 8px) -8px 0 4px #ff6b35,-8px calc(100% + 8px) 0 4px #ff6b35,calc(100% + 8px) calc(100% + 8px) 0 4px #ff6b35,0 0 40px #ff6b3580,inset 0 0 20px #ff6b3533}.progress-section{background:#ffffff0d;border:4px dashed rgba(255,107,53,.7);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;margin:3rem 0;animation:fadeInGlow .5s ease-in;box-shadow:-8px -8px 0 4px #ff6b35e6,calc(100% + 8px) -8px 0 4px #ff6b35e6,-8px calc(100% + 8px) 0 4px #ff6b35e6,calc(100% + 8px) calc(100% + 8px) 0 4px #ff6b35e6,0 0 30px #ff6b354d,inset 0 0 20px #ff6b351a}@keyframes fadeInGlow{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.personas-section{background:#ffffff0d;border:4px dashed rgba(255,107,53,.7);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;margin:3rem 0;animation:fadeInGlow .5s ease-in;box-shadow:-8px -8px 0 4px #ff6b35e6,calc(100% + 8px) -8px 0 4px #ff6b35e6,-8px calc(100% + 8px) 0 4px #ff6b35e6,calc(100% + 8px) calc(100% + 8px) 0 4px #ff6b35e6,0 0 30px #ff6b354d,inset 0 0 20px #ff6b351a}.personas-section:hover{border-color:#ff6b35e6;box-shadow:-8px -8px 0 4px #ff6b35,calc(100% + 8px) -8px 0 4px #ff6b35,-8px calc(100% + 8px) 0 4px #ff6b35,calc(100% + 8px) calc(100% + 8px) 0 4px #ff6b35,0 0 40px #ff6b3580,inset 0 0 20px #ff6b3533}.synthesis-section{background:#ffffff0d;border:4px dashed rgba(255,215,0,.7);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;margin:3rem 0;animation:fadeInGlow .5s ease-in;box-shadow:-8px -8px 0 4px #ffd700e6,calc(100% + 8px) -8px 0 4px #ffd700e6,-8px calc(100% + 8px) 0 4px #ffd700e6,calc(100% + 8px) calc(100% + 8px) 0 4px #ffd700e6,0 0 30px #ffd7004d,inset 0 0 20px #ffd7001a}.synthesis-section:hover{border-color:#ffd700e6;box-shadow:-8px -8px 0 4px gold,calc(100% + 8px) -8px 0 4px gold,-8px calc(100% + 8px) 0 4px gold,calc(100% + 8px) calc(100% + 8px) 0 4px gold,0 0 40px #ffd70080,inset 0 0 20px #ffd70033}.placeholder-uploader,.placeholder-personas,.placeholder-synthesis{text-align:center;padding:3rem 2rem;color:#a0a0a0}.placeholder-uploader p:first-child,.placeholder-personas p:first-child,.placeholder-synthesis p:first-child{font-size:1.2rem;margin-bottom:.5rem}.placeholder-note{font-size:.9rem;font-style:italic;color:#707070}vue-header,svelte-uploader,angular-personas,solid-results{display:block;width:100%;position:relative}vue-header{margin-bottom:2rem}svelte-uploader{min-height:200px}angular-personas{min-height:300px}solid-results{min-height:250px}vue-header{animation:componentAppear .6s ease-out .1s backwards}svelte-uploader{animation:componentAppear .6s ease-out .2s backwards}angular-personas{animation:componentAppear .6s ease-out .3s backwards}solid-results{animation:componentAppear .6s ease-out .4s backwards}@keyframes componentAppear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.uploader-section,.personas-section,.synthesis-section,.progress-section{padding:1.5rem 1rem;margin:2rem 0}}@media (prefers-reduced-motion: reduce){vue-header,svelte-uploader,angular-personas,solid-results,.uploader-section,.personas-section,.synthesis-section,.progress-section{animation:none!important}.uploader-section:hover,.personas-section:hover,.synthesis-section:hover{transform:none!important}}.microfrontend-badge{position:relative}.microfrontend-badge:before{content:attr(title);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) scale(.9);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease;z-index:1000;box-shadow:0 4px 12px #0000004d}.microfrontend-badge:after{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6;opacity:0;pointer-events:none;transition:all .3s ease;z-index:1000}.microfrontend-badge:hover:before,.microfrontend-badge:hover:after{opacity:1;transform:translate(-50%) scale(1)}.microfrontend-badge.react{background:#61dafb26;border:1px solid rgba(97,218,251,.4);color:#61dafb}.microfrontend-badge.react:hover{background:#61dafb40;border-color:#61dafb99}.microfrontend-badge.vue{background:#42b88326;border:1px solid rgba(66,184,131,.4);color:#42b883}.microfrontend-badge.vue:hover{background:#42b88340;border-color:#42b88399}.microfrontend-badge.svelte{background:#ff3e0026;border:1px solid rgba(255,62,0,.4);color:#ff3e00}.microfrontend-badge.svelte:hover{background:#ff3e0040;border-color:#ff3e0099}.microfrontend-badge.angular{background:#dd003126;border:1px solid rgba(221,0,49,.4);color:#dd0031}.microfrontend-badge.angular:hover{background:#dd003140;border-color:#dd003199}.microfrontend-badge.solid{background:#76a9fa26;border:1px solid rgba(118,169,250,.4);color:#76a9fa}.microfrontend-badge.solid:hover{background:#76a9fa40;border-color:#76a9fa99}@keyframes badgePulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 20px 5px currentColor}}.microfrontend-badge{animation:badgePulse 2s ease-in-out 1}@media (max-width: 768px){.microfrontend-badge:before{font-size:10px;padding:6px 10px}}@media (prefers-reduced-motion: reduce){.microfrontend-badge{animation:none!important}.microfrontend-badge:before,.microfrontend-badge:after{transition:none!important}}:root{--color-primary: #ff6b35;--color-secondary: #f7931e;--color-accent: #ffd700;--color-danger: #dc3545;--color-success: #4caf50;--color-warning: #ffc107;--color-bg-dark: #1a1a2e;--color-bg-medium: #16213e;--color-bg-light: #0f3460;--color-bg-overlay: rgba(26, 26, 46, .95);--color-text-primary: #e0e0e0;--color-text-secondary: #a0a0a0;--color-text-muted: #707070;--color-text-bright: #ffffff;--color-react: #61dafb;--color-vue: #42b883;--color-svelte: #ff3e00;--color-angular: #dd0031;--color-solid: #76a9fa;--color-glow-primary: rgba(255, 107, 53, .5);--color-glow-accent: rgba(255, 215, 0, .4);--color-fog: rgba(200, 200, 220, .3);--color-candle-flame: #ff8c42;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-very-slow: 1s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 30px var(--color-glow-primary);--shadow-glow-accent: 0 0 30px var(--color-glow-accent);--z-background: 0;--z-content: 1;--z-effects: 2;--z-header: 10;--z-modal: 100;--z-tooltip: 1000;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-dark);color:var(--color-text-primary);line-height:1.6;font-size:var(--font-size-base);overflow-x:hidden}code{font-family:var(--font-family-mono);background:#ffffff1a;padding:.125rem .25rem;border-radius:var(--radius-sm);font-size:.9em}pre{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto;font-size:var(--font-size-sm)}pre code{background:none;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ff6b3580;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ff6b35b3}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-bright{color:var(--color-text-bright)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mt-5{margin-top:var(--spacing-2xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.mb-5{margin-bottom:var(--spacing-2xl)}.p-0{padding:0}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--spacing-sm)}.gap-2{gap:var(--spacing-md)}.gap-3{gap:var(--spacing-lg)}.gap-4{gap:var(--spacing-xl)}.w-full{width:100%}.w-auto{width:auto}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.candle:before,.candle:after,.particle,.spirit,.fog-layer,.fog-layer:before{animation:none!important;opacity:.5!important}.loading-spinner{animation:none!important;border-top-color:var(--color-primary)}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 6px #ff6b3533;transition:outline-offset var(--transition-fast)}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.skip-to-main{position:absolute;top:-100px;left:0;background:var(--color-primary);color:#fff;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;border-radius:0 0 var(--radius-md) 0;z-index:9999;font-weight:600}.skip-to-main:focus{top:0}.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}@media (prefers-contrast: high){:root{--color-text-primary: #ffffff;--color-text-secondary: #e0e0e0;--color-bg-dark: #000000}button,a,input,textarea{border:2px solid currentColor}}.text-muted{color:#909090}*:focus-visible{position:relative}button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media (max-width: 768px){button,a,input[type=button],input[type=submit]{min-height:44px;min-width:44px}}@media (min-width: 640px){:root{--font-size-base: 1rem}}@media (min-width: 768px){:root{--font-size-base: 1rem}.container{max-width:720px}}@media (min-width: 1024px){:root{--font-size-base: 1rem}.container{max-width:960px}}@media (min-width: 1280px){.container{max-width:1200px}}@media (max-width: 767px){:root{--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 2.5rem}.title-main{font-size:2rem!important}.title-sub{font-size:.9rem!important}.laboratory-grid{grid-template-columns:1fr!important}.candles,.stitching-effects,.particles{display:none!important}.fog-layer{height:150px;opacity:.5}.laboratory-header{padding:2rem 1rem 1rem}.laboratory-main{padding:1rem}.uploader-section,.personas-section,.synthesis-section,.progress-section{padding:1.5rem 1rem;margin:2rem 0}.uploader-section,.personas-section,.synthesis-section,.progress-section{border-width:2px;box-shadow:-6px -6px 0 3px #ff6b35e6,calc(100% + 6px) -6px 0 3px #ff6b35e6,-6px calc(100% + 6px) 0 3px #ff6b35e6,calc(100% + 6px) calc(100% + 6px) 0 3px #ff6b35e6,0 0 20px #ff6b3533}.framework-list{grid-template-columns:1fr!important}.microfrontend-badge{font-size:9px;padding:4px 8px;top:8px;right:8px}.framework-icon{font-size:.9rem}}@media (min-width: 768px) and (max-width: 1023px){.laboratory-grid{grid-template-columns:1fr}.candles{padding:0 10%}}@media print{.laboratory-background,.candles,.fog-layer,.particles,.stitching-effects,.microfrontend-badge{display:none!important}body{background:#fff;color:#000}*{box-shadow:none!important;text-shadow:none!important}}@media (prefers-color-scheme: dark){:root{--color-bg-dark: #0a0a0f;--color-bg-medium: #12182e}}@media (max-width: 767px) and (orientation: landscape){.laboratory-header{padding:1rem}.title-main{font-size:1.5rem!important}.candles{display:none}}.fade-in{animation:fadeIn .5s ease-in}.fade-out{animation:fadeOut .5s ease-out}.slide-in-up{animation:slideInUp .5s ease-out}.slide-in-down{animation:slideInDown .5s ease-out}.scale-in{animation:scaleIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.spooky-hover{transition:all var(--transition-normal)}.spooky-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.glow-text{text-shadow:0 0 10px var(--color-glow-primary),0 0 20px var(--color-glow-primary),0 0 30px var(--color-glow-primary)}@keyframes flicker{0%,to{opacity:1}10%{opacity:.9}20%{opacity:1}30%{opacity:.95}40%{opacity:1}50%{opacity:.92}60%{opacity:1}70%{opacity:.97}80%{opacity:1}90%{opacity:.94}}.flicker{animation:flicker 3s ease-in-out infinite}@keyframes lightning{0%,to{opacity:0}10%,30%,50%{opacity:1}20%,40%,60%{opacity:0}}.lightning-flash{animation:lightning .5s ease-in-out}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px var(--color-glow-primary)}50%{box-shadow:0 0 30px var(--color-glow-primary)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}
