.welcome{justify-content:center;align-items:center;padding:24px}.welcome-content{display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeInUp .6s ease-out}.welcome-logo{margin-bottom:8px}.welcome-fire{font-size:72px;display:block;animation:fireGlow 2s ease-in-out infinite}.welcome-title{font-size:36px;font-weight:800;background:var(--fire-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:32px}.welcome-lang-section{width:100%;max-width:320px}.welcome-lang-label{text-align:center;font-size:14px;color:var(--text-secondary);margin-bottom:16px}.welcome-lang-buttons{display:flex;flex-direction:column;gap:12px}.welcome-lang-btn{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--bg-elevated);border-radius:var(--radius);color:var(--text);font-size:18px;font-weight:600;transition:all .2s ease;border:1px solid transparent}.welcome-lang-btn:hover{border-color:var(--fire-orange);background:#1f1f1f}.welcome-lang-btn:active{transform:scale(.97)}.lang-flag{font-size:28px}.lang-name{flex:1}.main{padding:20px;justify-content:space-between}.main-header{display:flex;justify-content:space-between;align-items:center;animation:fadeIn .4s ease-out}.main-title{font-size:28px;font-weight:800;background:var(--fire-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.settings-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:50%;font-size:20px;transition:background .2s}.settings-btn:hover{background:#222}.main-counter{display:flex;justify-content:center;animation:fadeIn .5s ease-out .1s both}.counter-badge{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--bg-elevated);border-radius:var(--radius-pill);border:1px solid #2a2a2a}.counter-number{font-size:28px;font-weight:800;background:var(--fire-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.counter-fire{font-size:22px}.counter-label{font-size:14px;color:var(--text-secondary)}.main-actions{display:flex;flex-direction:column;gap:16px;animation:fadeInUp .5s ease-out .2s both}.roast-btn{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:var(--radius-lg);color:#fff;text-align:left;transition:all .2s ease;position:relative;overflow:hidden}.roast-btn:before{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);padding:2px;background:var(--fire-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.selfie-btn{background:linear-gradient(135deg,#ff6b3526,#ff2d2d1a)}.friend-btn{background:linear-gradient(135deg,#ff2d2d1a,#ff6b3526)}.roast-btn:hover{transform:translateY(-2px)}.roast-btn:active{transform:scale(.98)}.roast-btn-icon{font-size:36px}.roast-btn-text{display:flex;flex-direction:column;gap:4px}.roast-btn-title{font-size:18px;font-weight:700}.roast-btn-desc{font-size:13px;color:var(--text-secondary)}.main-footer{display:flex;justify-content:center;padding:8px}.main-watermark{font-size:12px;color:#444}.upload{padding:20px}.upload-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;animation:fadeIn .3s ease-out}.back-btn{background:none;color:var(--fire-orange);font-size:15px;font-weight:600;padding:8px 4px}.upload-title{font-size:18px;font-weight:700;text-align:center}.upload-actions{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:fadeInUp .5s ease-out}.upload-icon{font-size:80px;margin-bottom:12px;animation:pulse 2s ease-in-out infinite}.upload-btn{width:100%;max-width:300px;padding:16px 24px;border-radius:var(--radius);font-size:16px;font-weight:600;color:#fff;transition:all .2s ease}.camera-btn{background:var(--fire-gradient)}.gallery-btn{background:var(--bg-elevated);border:1px solid #333}.gallery-btn:hover{border-color:var(--fire-orange)}.upload-preview{flex:1;display:flex;flex-direction:column;align-items:center;gap:16px;animation:scaleIn .4s ease-out}.preview-label{font-size:16px;font-weight:600;color:var(--text-secondary)}.preview-image-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;overflow:hidden}.preview-image{max-height:100%;max-width:100%;border-radius:var(--radius-lg);object-fit:contain}.preview-buttons{display:flex;gap:12px;width:100%;padding-bottom:20px}.preview-btn{flex:1;padding:14px;border-radius:var(--radius);font-size:15px;font-weight:600;color:#fff;transition:all .2s ease}.retake-btn{background:var(--bg-elevated);border:1px solid #333}.submit-btn{background:var(--fire-gradient)}.processing{justify-content:center;align-items:center;padding:24px}.processing-content{display:flex;flex-direction:column;align-items:center;gap:24px}.processing-fire{position:relative}.fire-emoji{font-size:80px;display:block;animation:pulse .8s ease-in-out infinite}.processing-dots{display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:var(--fire-orange);animation:dotPulse 1.4s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.processing-text{font-size:18px;font-weight:600;text-align:center;color:var(--text);animation:fadeIn .4s ease-out;min-height:28px}.result{padding:16px;justify-content:space-between;overflow-y:auto}.result-card{border-radius:var(--radius-lg);padding:3px;background:var(--fire-gradient);opacity:0;transform:scale(.9);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.result-card--visible{opacity:1;transform:scale(1)}.result-card-inner{background:var(--bg-card);border-radius:calc(var(--radius-lg) - 2px);padding:20px;display:flex;flex-direction:column;align-items:center;gap:16px}.result-photo-wrap{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid var(--fire-orange);flex-shrink:0}.result-photo{width:100%;height:100%;object-fit:cover}.result-roast{font-size:17px;line-height:1.5;text-align:center;color:var(--text);font-weight:500;padding:0 4px}.result-scores{width:100%;display:flex;flex-direction:column;gap:10px}.score-row{display:flex;align-items:center;gap:10px}.score-label{width:90px;font-size:13px;color:var(--text-secondary);text-transform:capitalize;flex-shrink:0}.score-track{flex:1;height:8px;background:#222;border-radius:4px;overflow:hidden}.score-fill{height:100%;background:var(--fire-gradient-h);border-radius:4px;transition:width .8s cubic-bezier(.25,.46,.45,.94);width:0}.score-value{width:28px;font-size:13px;font-weight:700;color:var(--fire-orange);text-align:right}.result-vibe{display:flex;justify-content:center}.vibe-badge{padding:6px 16px;border-radius:var(--radius-pill);background:linear-gradient(135deg,#ff6b3533,#ff2d2d26);border:1px solid rgba(255,107,53,.3);font-size:13px;font-weight:600;color:var(--fire-orange)}.result-watermark{font-size:11px;color:#444;margin-top:4px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 8px;opacity:0;transform:translateY(20px);transition:all .4s ease-out .3s}.result-actions--visible{opacity:1;transform:translateY(0)}.result-btn{flex:1;padding:12px 8px;border-radius:var(--radius);font-size:13px;font-weight:600;color:#fff;transition:all .2s ease;white-space:nowrap}.reRoast-btn{background:var(--bg-elevated);border:1px solid #333}.share-btn{background:var(--fire-gradient)}.save-btn,.newPhoto-btn{background:var(--bg-elevated);border:1px solid #333}.result-btn:disabled{opacity:.6}.paywall{padding:20px}.paywall-header{margin-bottom:16px;animation:fadeIn .3s ease-out}.paywall-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:fadeInUp .5s ease-out}.paywall-icon{font-size:64px;animation:pulse 2s ease-in-out infinite}.paywall-title{font-size:22px;font-weight:700;text-align:center;background:var(--fire-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.paywall-packages{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.package-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:17px;font-weight:600;transition:all .2s ease;border:1px solid #2a2a2a}.package-btn:hover{border-color:var(--fire-orange);transform:translateY(-1px)}.package-btn:active{transform:scale(.98)}.package-stars{color:gold}.package-eq{color:var(--text-secondary)}.package-roasts{color:var(--fire-orange);font-weight:700}.paywall-divider{display:flex;align-items:center;gap:12px;width:100%;max-width:320px}.divider-line{flex:1;height:1px;background:#333}.divider-text{font-size:13px;color:var(--text-secondary);text-transform:uppercase}.paywall-share-cta{font-size:15px;text-align:center;color:var(--text-secondary);line-height:1.5}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--bg-card: #151515;--bg-elevated: #1a1a1a;--text: #f0f0f0;--text-secondary: #888;--fire-orange: #ff6b35;--fire-red: #ff2d2d;--fire-gradient: linear-gradient(135deg, #ff6b35, #ff2d2d);--fire-gradient-h: linear-gradient(90deg, #ff6b35, #ff2d2d);--radius: 12px;--radius-lg: 20px;--radius-pill: 999px}html,body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;height:100%;width:100%}#root{height:100%;width:100%;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.97)}input{font-family:inherit}img{max-width:100%;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes fireGlow{0%,to{filter:brightness(1) drop-shadow(0 0 6px rgba(255,107,53,.5))}50%{filter:brightness(1.2) drop-shadow(0 0 12px rgba(255,107,53,.8))}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.screen{height:100%;width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}
