:root{--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg-app:#f8f8fa;--bg-surface:#fff;--bg-surface-hover:#fafafa;--bg-input:#f3f3f6;--text-primary:#1a1a1e;--text-secondary:#52525b;--text-muted:#a1a1aa;--accent:#dc2626;--accent-dark:#b91c1c;--accent-light:#ef4444;--accent-glow:#dc262626;--accent-bg:#dc26260f;--success:#16a34a;--success-bg:#16a34a14;--error:#dc2626;--error-bg:#dc26260f;--border:#e4e4e7;--border-hover:#d4d4d8;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-sm:0 1px 3px #0000000f;--shadow-card:0 4px 24px #00000012;--shadow-lg:0 12px 48px #0000001a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{min-height:100vh}body{font-family:var(--font);color:var(--text-primary);background-color:var(--bg-app);line-height:1.6;overflow-x:hidden}.app-container{background:var(--bg-app);flex-direction:column;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;align-items:center;gap:2rem;width:100%;max-width:988px;margin:0 auto;padding:0 1.5rem 4rem;display:flex}.app-header{text-align:center;padding:3rem 1.5rem 1.5rem}.header-badge{border:1px solid var(--border);background:var(--bg-surface);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-sm);border-radius:100px;align-items:center;gap:.45rem;margin-bottom:1.2rem;padding:.35rem 1rem;font-size:.72rem;font-weight:600;animation:.5s fadeSlideDown;display:inline-flex}.header-badge .badge-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.app-header h1{letter-spacing:-.04em;color:var(--text-primary);margin:0;font-size:2.8rem;font-weight:800;line-height:1.1;animation:.6s .1s both fadeSlideDown}.app-header h1 .title-accent{color:var(--accent)}.header-subtitle{color:var(--text-secondary);max-width:440px;margin:.9rem auto 0;font-size:1.05rem;font-weight:400;line-height:1.6;animation:.6s .2s both fadeSlideDown}.upload-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);width:100%;padding:2.5rem;transition:border-color .3s,box-shadow .3s;animation:.5s .3s both fadeSlideUp}.upload-panel:hover{box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.upload-panel form{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.file-upload-box{border:2px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-input);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;width:100%;padding:2.5rem 2rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.file-upload-box:hover{border-color:var(--accent);background:var(--accent-bg)}.file-upload-box input[type=file]{opacity:0;cursor:pointer;z-index:2;position:absolute;inset:0}.upload-icon-wrapper{background:var(--accent);width:52px;height:52px;box-shadow:0 4px 16px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,box-shadow .3s;display:flex}.file-upload-box:hover .upload-icon-wrapper{transform:scale(1.08)translateY(-2px);box-shadow:0 8px 24px #dc262640}.upload-icon-wrapper svg{color:#fff;width:22px;height:22px}.upload-label-main{color:var(--text-primary);z-index:1;font-size:.95rem;font-weight:600;position:relative}.upload-label-main span{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.upload-hint-text{color:var(--text-muted);z-index:1;font-size:.8rem;font-weight:400;position:relative}.file-selected-container{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);flex-direction:column;align-items:center;gap:1rem;width:100%;padding:2rem;animation:.4s fadeIn;display:flex}.file-selected-name{border-radius:var(--radius-sm);background:var(--accent-bg);color:var(--accent);word-break:break-all;border:1px solid #dc262626;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.85rem;font-weight:500;display:inline-flex}.remove-file-btn{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.35rem .8rem;font-size:.75rem;font-weight:600;transition:all .2s}.remove-file-btn:hover:not(:disabled){color:var(--error);background:var(--error-bg);border-color:#dc26264d}.remove-file-btn:disabled{opacity:.5;cursor:not-allowed}.analyze-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;min-width:240px;box-shadow:0 4px 16px var(--accent-glow);letter-spacing:.01em;border:none;padding:.9rem 2.5rem;font-size:.95rem;font-weight:600;transition:all .25s;position:relative;overflow:hidden}.analyze-btn:after{content:"";background:linear-gradient(135deg,#0000 0%,#ffffff1f 50%,#0000 100%);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.analyze-btn:hover:not(:disabled):after{transform:translate(100%)}.analyze-btn:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 28px #dc26264d}.analyze-btn:active:not(:disabled){transform:translateY(0)}.analyze-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-content{z-index:1;justify-content:center;align-items:center;gap:.5rem;display:flex;position:relative}.error-box{background:var(--error-bg);border-radius:var(--radius-sm);color:var(--error);text-align:center;border:1px solid #dc26262e;width:100%;padding:.85rem 1.2rem;font-size:.88rem;line-height:1.5;animation:.4s shake}.loading-state{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;min-height:280px;padding:3.5rem 2rem;animation:.5s fadeSlideUp;display:flex}.spinner-wrapper{width:48px;height:48px;position:relative}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.spinner-wrapper:after{content:"";border:3px solid #0000;border-bottom-color:var(--accent-light);border-radius:50%;animation:1.3s linear infinite reverse spin;position:absolute;inset:7px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-secondary);margin:0;font-size:.95rem;font-weight:500}.results-panel{flex-direction:column;gap:1rem;width:100%;animation:.5s fadeSlideUp;display:flex}.results-header{background:var(--success-bg);border:1px solid #16a34a26;border-left:4px solid var(--success);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:1rem 1.4rem;display:flex}.result-status{color:var(--success);align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;display:flex}.result-status .status-icon{background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:800;display:flex}.result-time{color:var(--text-muted);font-size:.78rem;font-weight:400}.header-actions{align-items:center;gap:1rem;display:flex}.reset-btn{font-family:var(--font);color:var(--accent);background:var(--accent-bg);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #dc262626;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.reset-btn:hover{background:var(--accent);color:#fff}.results-stack{flex-direction:column;gap:.8rem;display:flex}.result-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.4rem 1.6rem;transition:all .25s;animation:.5s both fadeSlideUp}.result-item:first-child{animation-delay:50ms}.result-item:nth-child(2){animation-delay:.12s}.result-item:nth-child(3){animation-delay:.19s}.result-item:nth-child(4){animation-delay:.26s}.result-item:nth-child(5){animation-delay:.33s}.result-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card);transform:translateY(-1px)}.result-item h3{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:.72rem;font-weight:700;display:flex}.result-item h3:before{content:"";background:var(--accent);border-radius:2px;flex-shrink:0;width:3px;height:14px}.result-item p{color:var(--text-secondary);word-break:break-word;margin:0;font-size:.92rem;line-height:1.7}.result-item.raw-output-item pre{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);margin:0;padding:1rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto}.empty-state-section{justify-content:center;align-items:center;width:100%;min-height:180px;padding:2rem;animation:.6s .4s both fadeIn;display:flex}.empty-message{text-align:center}.empty-icon{opacity:.35;margin-bottom:.8rem;font-size:2.2rem}.empty-message p{color:var(--text-muted);margin:0;font-size:.95rem;font-weight:500}.empty-message span{color:var(--text-muted);opacity:.7;margin-top:.4rem;font-size:.85rem;display:block}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);background-color:var(--bg-surface);justify-content:center;align-items:center;margin-top:auto;padding:1.5rem;display:flex}.footer-credits{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.footer-link{color:var(--text-primary);font-weight:600;text-decoration:none;transition:color .2s;position:relative}.footer-link:hover{color:var(--accent)}.footer-link:after{content:"";background-color:var(--accent);width:0%;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.footer-link:hover:after{width:100%}.footer-separator{color:var(--text-muted);font-size:.85rem}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media (width<=640px){.main-content{gap:1.2rem;padding:0 1rem 3rem}.app-header{padding:2rem 1rem 1.2rem}.app-header h1{font-size:1.9rem}.header-subtitle{margin-top:.6rem;font-size:.9rem}.upload-panel{border-radius:var(--radius-md);padding:1.5rem}.file-upload-box{padding:1.5rem 1rem}.analyze-btn{min-width:200px;padding:.85rem 2rem;font-size:.9rem}.loading-state{min-height:200px;padding:2rem 1.5rem}.result-item{padding:1rem 1.2rem}.result-item h3{margin-bottom:.4rem;font-size:.7rem}.result-item p{font-size:.88rem}.results-header{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.8rem 1rem}}
