.file-upload-container{width:100%;max-width:700px;margin:0 auto}.file-upload-area{border:2px dashed var(--border);border-radius:4px;padding:80px 40px;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-card);position:relative;overflow:hidden}.file-upload-area:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,var(--nord-red-glow) 50%,var(--accent-glow) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.file-upload-area:hover{border-color:var(--nord-red);background:var(--bg-tertiary);box-shadow:0 0 30px var(--nord-red-glow)}.file-upload-area:hover:before{opacity:.15}.file-upload-area.dragging{border-color:var(--nord-red);background:var(--bg-tertiary);transform:scale(1.01);box-shadow:0 0 40px var(--nord-red-glow)}.file-upload-area.dragging:before{opacity:.25}.upload-content{pointer-events:none;position:relative;z-index:1}.upload-icon{color:var(--nord-red);margin-bottom:30px;filter:drop-shadow(0 0 15px var(--nord-red-glow))}.upload-content h3{margin:0 0 12px;color:var(--text-primary);font-size:24px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:2px;font-weight:600}.upload-content p{margin:8px 0;color:var(--text-secondary);font-size:14px;letter-spacing:.5px}.supported-formats{margin-top:20px!important;font-size:11px!important;color:var(--text-muted)!important;text-transform:uppercase;letter-spacing:1px;font-weight:500}.error-message{margin-top:20px;padding:16px;background:#ff44441a;border:1px solid var(--error);border-radius:4px;color:var(--error);text-align:center;font-size:13px;letter-spacing:.5px}.program-display{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}.program-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding:30px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 20px #0000004d}.program-info h2{margin:0 0 10px;color:var(--text-primary);font-size:32px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:2px;font-weight:700}.program-meta{margin:0;color:var(--text-secondary);font-size:13px;letter-spacing:.5px;font-weight:300}.export-buttons{display:flex;gap:12px}.btn{padding:12px 24px;border:1px solid;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;font-family:Oswald,sans-serif;position:relative;overflow:hidden}.btn: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 ease}.btn:hover:before{left:100%}.btn-primary{background:var(--nord-red);color:var(--text-primary);border-color:var(--nord-red)}.btn-primary:hover{background:var(--nord-red-hover);border-color:var(--nord-red-hover);box-shadow:0 0 25px var(--nord-red-glow);transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--nord-red);color:var(--nord-red);box-shadow:0 0 15px var(--nord-red-glow);transform:translateY(-2px)}.settings-container{display:flex;flex-direction:column;gap:20px}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 20px #0000004d;overflow:hidden;transition:border-color .3s ease}.settings-section:hover{border-color:var(--border)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease;border-bottom:1px solid var(--border)}.section-header:hover{background:var(--bg-secondary)}.section-header h3{margin:0;color:var(--text-primary);font-size:20px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:2px;font-weight:600}.toggle-icon{font-size:28px;font-weight:300;color:var(--nord-red);width:28px;text-align:center;line-height:1;transition:all .3s ease}.section-header:hover .toggle-icon{color:var(--nord-red-hover);text-shadow:0 0 10px var(--nord-red-glow)}.section-content{padding:24px;background:var(--bg-card)}.section-content table{width:100%;border-collapse:collapse}.section-content tr{border-bottom:1px solid var(--border);transition:background .2s ease}.section-content tr:hover{background:var(--bg-tertiary)}.section-content tr:last-child{border-bottom:none}.setting-key{padding:14px 12px;font-weight:500;color:var(--text-secondary);width:40%;vertical-align:top;font-size:13px;letter-spacing:.5px;text-transform:uppercase;font-family:Oswald,sans-serif;font-weight:400}.setting-value{padding:14px 12px;color:var(--text-primary);font-size:14px}.nested-row{background:var(--bg-tertiary)}.nested-header{padding:12px;color:var(--nord-red);font-size:14px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:600}.value-true{color:var(--nord-red);font-weight:600}.value-false{color:var(--text-muted);font-weight:400}.value-number{color:var(--nord-red);font-weight:600;font-family:Inter,monospace}.value-text{color:var(--text-primary)}@media (max-width: 768px){.program-header{flex-direction:column;gap:20px}.export-buttons{width:100%}.btn{flex:1}.program-info h2{font-size:24px}}:root{--bg-primary: #0a0a0a;--bg-secondary: #121212;--bg-tertiary: #1a1a1a;--bg-card: #1f1f1f;--text-primary: #f3f3f3;--text-secondary: #b0b0b0;--text-muted: #666;--nord-red: #E20909;--nord-red-hover: #FF2C2C;--nord-red-glow: rgba(226, 9, 9, .4);--accent: #00ffaa;--accent-hover: #00e699;--accent-glow: rgba(0, 255, 170, .3);--border: #2a2a2a;--error: #ff4444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Oswald,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-primary)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,var(--nord-red-glow) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,255,170,.03) 0%,transparent 50%);pointer-events:none;z-index:0}.app>*{position:relative;z-index:1}.app-header{text-align:center;padding:60px 20px 40px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:relative}.app-header h1{font-size:56px;margin-bottom:12px;letter-spacing:3px;background:linear-gradient(135deg,var(--nord-red) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px var(--nord-red-glow))}.app-header p{font-size:16px;color:var(--text-secondary);font-weight:300;letter-spacing:.5px}.app-main{flex:1;padding:40px 20px;max-width:1200px;width:100%;margin:0 auto}.loading{text-align:center;padding:60px 40px;color:var(--text-primary)}.spinner{border:3px solid var(--border);border-top:3px solid var(--nord-red);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px;box-shadow:0 0 20px var(--nord-red-glow)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{color:var(--text-secondary);font-size:14px;letter-spacing:1px;text-transform:uppercase}.error-container{display:flex;justify-content:center;margin-top:30px}.error-box{background:var(--bg-card);border:1px solid var(--border);padding:30px;border-radius:4px;text-align:center;max-width:500px;box-shadow:0 4px 20px #0000004d}.error-box h3{color:var(--error);margin-bottom:15px;font-size:20px;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:1px}.error-box p{color:var(--text-secondary);margin-bottom:20px}.reset-btn{margin-bottom:20px}.app-footer{text-align:center;padding:30px 20px;background:var(--bg-secondary);border-top:1px solid var(--border);color:var(--text-secondary);font-size:13px;letter-spacing:.5px}.app-footer a{color:var(--accent);text-decoration:none;transition:color .2s ease}.app-footer a:hover{color:var(--accent-hover);text-shadow:0 0 10px var(--accent-glow)}
