*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#fff;--secondary:#ccc;--bg-dark:#000;--text-main:#fff;--text-muted:#a0a0a0}html{-webkit-overflow-scrolling:touch;overflow-y:auto}body{min-height:100vh;color:var(--text-main);background-color:#000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:20px 20px;justify-content:center;align-items:center;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow-x:hidden}.container{z-index:1;background:#000;border:4px solid #fff;border-radius:0;width:100%;max-width:600px;padding:48px;position:relative;box-shadow:12px 12px #fff}.title{text-align:center;color:#fff;letter-spacing:-2px;text-transform:uppercase;text-shadow:4px 4px #ffffff4d;margin-bottom:8px;font-size:3.5rem;font-weight:900}.subtitle{text-align:center;color:#ccc;text-transform:uppercase;letter-spacing:1px;margin-bottom:40px;font-size:1.1rem;font-weight:700}.input-group{margin-bottom:24px;position:relative}.input{color:#fff;background:#000;border:3px solid #fff;border-radius:0;outline:none;width:100%;padding:20px 24px;font-size:1.15rem;font-weight:700;transition:all .1s;box-shadow:4px 4px #fff}.input:focus{background:#111;transform:translate(4px,4px);box-shadow:0 0 #fff}.input::placeholder{color:#fff6;font-weight:500}.button{color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:2px;background:#fff;border:3px solid #fff;border-radius:0;justify-content:center;align-items:center;gap:12px;width:100%;padding:20px;font-size:1.25rem;font-weight:900;transition:all .1s;display:flex;box-shadow:6px 6px #ffffff80}.button:hover:not(:disabled){background:#e0e0e0}.button:active:not(:disabled){transform:translate(6px,6px);box-shadow:0 0 #ffffff80}.button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.error-panel{background:#111;border:3px solid #fff;border-radius:0;margin-top:24px;padding:20px;box-shadow:6px 6px #fff}.error-title{color:#fff;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-size:1rem;font-weight:900}.error-log{white-space:pre-wrap;word-break:break-word;color:#ccc;max-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem;line-height:1.55;overflow:auto}.spinner{border:4px solid #0000004d;border-top-color:#000;border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{background:#000;border:4px solid #fff;border-radius:0;margin-top:40px;padding:32px;box-shadow:8px 8px #fff}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-title{text-align:center;color:#fff;text-transform:uppercase;letter-spacing:4px;border-bottom:4px solid #fff;width:100%;margin-bottom:24px;padding-bottom:12px;font-size:1.8rem;font-weight:900;display:inline-block}.stars{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.star{color:#fff;text-shadow:3px 3px #fff6;font-size:2.8rem;animation:.3s ease-out both starPop}@keyframes starPop{0%{opacity:0;transform:scale(0)}80%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.emoji{text-align:center;filter:drop-shadow(4px 4px #ffffff4d);margin-bottom:24px;font-size:5.5rem}@keyframes floatEmoji{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.image-container{background:#000;border:4px solid #fff;border-radius:0;width:100%;height:320px;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:6px 6px #fff}.result-image{object-fit:cover;width:100%;height:100%;transition:transform .2s}.image-container:hover .result-image{transform:scale(1.05)}.reason{color:#fff;text-align:center;background:#000;border:3px dashed #fff;border-radius:0;padding:24px;font-size:1.15rem;font-weight:700;line-height:1.7}@media (max-width:600px){.container{border:3px solid #fff;padding:32px 20px;box-shadow:8px 8px #fff}.title{font-size:2.8rem}.image-container{height:260px}.star{font-size:2.2rem}.emoji{font-size:4.5rem}.input{padding:16px 20px;font-size:1rem}.button{padding:16px;font-size:1.1rem}}
