*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary-blue: #1565c0;--light-blue: #42a5f5;--very-light-blue: #bbdefb;--yellow-accent: #c9a227;--mid-gray: #757575;--light-gray: #e0e0e0;--near-black: #1a1a1a;--background: #fafbfc;--bg-primary: var(--background);--bg-secondary: #f0f2f5;--text-primary: var(--near-black);--text-secondary: var(--mid-gray);--accent: var(--primary-blue);--border: var(--light-gray);--success: #2e7d32;--success-light: #e8f5e9;--success-bg: rgba(46, 125, 50, .08);--error: #c62828;--error-light: #ffebee;--error-bg: rgba(198, 40, 40, .08);color-scheme:light}html,body,#root{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--light-gray);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--mid-gray);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#616161}.dropzone{flex:1;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;min-height:0}.dropzone-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.dropzone-bg-blur{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.dropzone-bg-blur--1{top:0;left:25%;width:384px;height:384px;background:#bbdefb}.dropzone-bg-blur--2{bottom:0;right:25%;width:320px;height:320px;background:#e3f2fd;opacity:.6}.dropzone-bg-blur--3{top:33%;right:33%;width:256px;height:256px;background:#c9a22733;opacity:.4}.dropzone-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px}.dropzone-title{font-size:2.5rem;font-weight:700;color:var(--near-black, #1a1a1a);letter-spacing:-.02em;line-height:1.1}.dropzone-title-accent{color:var(--primary-blue, #1565c0)}.dropzone-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 64px;border:2px dashed var(--border);border-radius:12px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s,background .2s}.dropzone:hover .dropzone-box{border-color:var(--mid-gray, #757575)}.dropzone--active .dropzone-box{border-color:var(--primary-blue, #1565c0);background:#1565c00f}.dropzone-icon{color:var(--mid-gray, #757575)}.dropzone--active .dropzone-icon{color:var(--primary-blue, #1565c0)}.dropzone-text{font-size:16px;font-weight:500;color:var(--text-primary)}.dropzone-hint{font-size:13px;color:var(--mid-gray)}.result-wrapper{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:24px}.result-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.result-bg-blur{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4}.result-bg-blur--1{top:10%;left:20%;width:400px;height:400px}.result-bg-blur--2{bottom:10%;right:20%;width:350px;height:350px;opacity:.3}.result-bg-blur--success{background:#a5d6a7}.result-bg-blur--error{background:#ef9a9a}.result-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:700px;width:100%;text-align:center}.result-icon{margin-bottom:4px}.result-icon--success{color:var(--success)}.result-icon--error{color:var(--error)}.result-filename{font-size:14px;color:var(--mid-gray);font-weight:500;word-break:break-all}.result-badge{font-size:1.25rem;font-weight:600;padding:16px 32px;border-radius:12px;line-height:1.4}.result-badge--success{background:var(--success-light);color:var(--success);border:2px solid var(--success)}.result-badge--error{background:var(--error-light);color:var(--error);border:2px solid var(--error)}.result-neprud{font-size:2rem;font-weight:900;letter-spacing:-.02em;line-height:1.2;text-transform:uppercase;animation:pulse 2s ease-in-out infinite;color:var(--success)}.result-neprud--error{color:var(--error)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.result-detail{font-size:1rem;color:var(--text-secondary);line-height:1.5}.result-reset{margin-top:12px;padding:12px 28px;font-size:15px;font-weight:600;font-family:inherit;color:#fff;background:var(--primary-blue);border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s}.result-reset:hover{background:var(--light-blue)}.result-reset:active{transform:scale(.97)}.result-files{width:100%;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding:4px 0}.result-file{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;font-size:14px;text-align:left;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.result-file--success{border-left:3px solid var(--success)}.result-file--error{border-left:3px solid var(--error)}.result-file-icon{flex-shrink:0;display:flex;align-items:center}.result-file--success .result-file-icon{color:var(--success)}.result-file--error .result-file-icon{color:var(--error)}.result-file-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.result-file-msg{color:var(--text-secondary);font-size:13px;margin-left:auto;white-space:nowrap}.footer{position:fixed;bottom:0;left:0;right:0;text-align:center;pointer-events:none;z-index:10;background:var(--bg-primary);padding:6px 0;border-top:1px solid var(--border, #e0e0e0)}.footer-line{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mid-gray, #757575)}.footer-name{font-weight:500;color:var(--near-black, #1a1a1a)}.footer-sep{color:var(--light-gray, #e0e0e0)}.footer-link{pointer-events:auto;color:inherit;text-decoration:none;transition:color .15s}.footer-link:hover{color:var(--primary-blue, #1565c0)}.app{display:flex;flex-direction:column;height:100%;padding-bottom:32px}.app-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary);font-size:16px;font-weight:500}.app-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
