*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;max-width:600px;width:100%;text-align:center}h1{color:#2d3748;font-size:2.5rem;margin-bottom:10px;font-weight:700}.subtitle{color:#718096;font-size:1.1rem;margin-bottom:30px;line-height:1.6}.upload-form{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.file-input-container{position:relative}.file-input{position:absolute;opacity:0;width:0;height:0}.file-label{display:block;padding:15px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:all .3s ease;border:2px solid transparent}.file-label:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.file-label:active{transform:translateY(0)}.submit-btn{padding:15px 30px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #f093fb4d}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error{background:#fed7d7;color:#c53030;padding:15px;border-radius:12px;margin-bottom:20px;border-left:4px solid #c53030;font-weight:500}.result{background:linear-gradient(135deg,#a8edea,#fed6e3);padding:25px;border-radius:15px;border:2px solid rgba(255,255,255,.3)}.result h2{color:#2d3748;margin-bottom:15px;font-size:1.5rem}.fortune-text{color:#4a5568;line-height:1.8;font-size:1.1rem;text-align:left;white-space:pre-wrap}@media (max-width: 768px){.container{padding:30px 20px}h1{font-size:2rem}.subtitle{font-size:1rem}}
