:root{--bg: #0a0a0a;--surface: #111111;--surface-2: #161616;--border: #222222;--border-2: #2a2a2a;--fire: #ff4500;--fire-light: #ff8c00;--gold: #ffd700;--text: #f5f5f5;--muted: #666666;--muted-2: #444444;--error: #ff3333;--success: #22c55e;--font-display: "Bebas Neue", sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:14px;line-height:1.6;min-height:100vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E")}.app-root{max-width:860px;margin:0 auto;padding-bottom:80px}.hero{position:relative;overflow:hidden;padding:64px 24px 48px;text-align:center;border-bottom:1px solid var(--border)}.hero-content{position:relative;z-index:2}.hero-title{font-family:var(--font-display);font-size:clamp(52px,10vw,96px);letter-spacing:.04em;line-height:1;color:var(--fire);text-shadow:0 0 20px rgba(255,69,0,.6),0 0 60px rgba(255,69,0,.3),0 0 120px rgba(255,140,0,.15);margin-bottom:16px;-webkit-user-select:none;user-select:none}.hero-subtitle{font-family:var(--font-mono);font-style:italic;font-size:clamp(14px,2.5vw,18px);color:var(--muted);letter-spacing:.08em;margin-bottom:40px}.hero-rule{width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--fire),var(--gold),var(--fire),transparent);border:none;margin-top:8px;opacity:.8}.fire-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.fire-orb{position:absolute;bottom:-20px;border-radius:50%;filter:blur(18px);opacity:0;animation:float-up var(--duration, 4s) ease-in var(--delay, 0s) infinite}.fire-orb-1{width:28px;height:28px;left:8%;background:#ff4500;--duration: 5s;--delay: 0s}.fire-orb-2{width:40px;height:40px;left:18%;background:#ff8c00;--duration: 4s;--delay: .8s}.fire-orb-3{width:22px;height:22px;left:32%;background:gold;--duration: 6s;--delay: 1.5s}.fire-orb-4{width:35px;height:35px;left:48%;background:#ff4500;--duration: 4.5s;--delay: .3s}.fire-orb-5{width:18px;height:18px;left:62%;background:#f60;--duration: 5.5s;--delay: 1.1s}.fire-orb-6{width:45px;height:45px;left:74%;background:#ff8c00;--duration: 3.8s;--delay: .6s}.fire-orb-7{width:25px;height:25px;left:85%;background:gold;--duration: 5.2s;--delay: 1.8s}.fire-orb-8{width:32px;height:32px;left:93%;background:#ff4500;--duration: 4.2s;--delay: .2s}@keyframes float-up{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.55}50%{transform:translateY(-180px) scale(1.15);opacity:.3}90%{opacity:.08}to{transform:translateY(-400px) scale(.6);opacity:0}}.main-content{padding:48px 24px 24px}.input-section{margin-bottom:40px}.input-label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--fire-light);margin-bottom:10px}.input-row{display:flex;gap:12px;margin-bottom:8px}.input-wrapper{display:flex;align-items:center;flex:1;background:var(--surface);border:1px solid var(--border-2);border-radius:4px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.input-wrapper:focus-within{border-color:var(--fire);box-shadow:0 0 0 2px #ff45002e,0 0 16px #ff450014}.input-wrapper.input-error{border-color:var(--error);box-shadow:0 0 0 2px #ff333326}.input-prompt{padding:0 10px 0 14px;font-family:var(--font-mono);font-size:14px;color:var(--fire);font-weight:600;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-2);height:100%;display:flex;align-items:center;background:#ff45000d}.wallet-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-mono);font-size:14px;padding:14px 16px;caret-color:var(--fire);letter-spacing:.03em}.wallet-input::placeholder{color:var(--muted-2);font-style:italic}.wallet-input:disabled{opacity:.5;cursor:not-allowed}.validation-error{font-size:12px;color:var(--error);margin-bottom:14px;letter-spacing:.04em;display:flex;align-items:center;gap:6px}.roast-btn{display:block;margin-top:20px;padding:16px 56px;background:linear-gradient(90deg,var(--fire) 0%,var(--fire-light) 100%);border:none;border-radius:999px;color:#fff;font-family:var(--font-display);font-size:28px;letter-spacing:.1em;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease;box-shadow:0 4px 24px #ff450059;outline:none}.roast-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 36px #ff450099,0 0 80px #ff8c0033}.roast-btn:active:not(:disabled){transform:scale(.97);box-shadow:0 2px 12px #ff450066}.roast-btn:disabled{opacity:.5;cursor:not-allowed}.roast-btn:focus-visible{outline:2px solid var(--fire);outline-offset:3px}.loading-container{margin-top:24px;display:flex;flex-direction:column;gap:14px}.loading-dots{display:flex;gap:8px;align-items:center}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--fire);animation:dot-pulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s;background:var(--fire-light)}.loading-dots span:nth-child(3){animation-delay:.4s;background:var(--gold)}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.5);opacity:1}}.loading-phrase{font-family:var(--font-mono);font-size:15px;color:var(--text);transition:opacity .3s ease;min-height:22px}.phrase-visible{opacity:1}.phrase-hidden{opacity:0}.prompt-char{color:var(--fire);font-weight:700}.blink-cursor{animation:blink .8s step-end infinite;color:var(--fire)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-card{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:#ff333312;border:1px solid rgba(255,51,51,.35);border-left:4px solid var(--error);border-radius:6px;margin-bottom:32px}.error-icon{font-size:24px;flex-shrink:0;line-height:1;margin-top:2px}.error-title{font-family:var(--font-display);font-size:18px;letter-spacing:.08em;color:var(--error);margin-bottom:4px}.error-message{font-size:13px;color:var(--muted);line-height:1.5}.results-wrapper{display:flex;flex-direction:column;gap:32px}.stats-heading{font-family:var(--font-display);font-size:22px;letter-spacing:.1em;color:var(--gold);margin-bottom:16px}.stats-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.stats-scroll::-webkit-scrollbar{height:4px}.stats-scroll::-webkit-scrollbar-track{background:transparent}.stats-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:2px}.stat-card{flex:0 0 auto;min-width:120px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--fire);border-radius:6px;padding:14px 16px;animation:fade-in-up .4s ease both}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stat-value{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;margin-bottom:4px}.stat-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.roast-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;animation:fade-in-up .4s ease both}.roast-top-border{height:4px;background:linear-gradient(90deg,var(--fire) 0%,var(--gold) 50%,var(--fire-light) 100%)}.roast-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 0}.roast-badge{font-family:var(--font-display);font-size:20px;letter-spacing:.1em;color:var(--fire)}.roast-done-badge{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--success);background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:999px;padding:3px 10px}.roast-body{padding:20px 24px 24px;font-family:var(--font-mono);font-size:17px;line-height:1.75;color:var(--text);min-height:80px;white-space:pre-wrap;word-break:break-word}.typewriter-cursor{display:inline-block;animation:blink .7s step-end infinite;color:var(--fire);font-weight:700}.roast-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 24px 24px;animation:fade-in-up .3s ease both}.action-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:6px;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:transform .12s ease,box-shadow .15s ease,opacity .15s ease;outline:none;border:1px solid transparent}.action-btn:hover{transform:translateY(-1px)}.action-btn:active{transform:translateY(1px)}.action-btn:focus-visible{outline:2px solid var(--fire);outline-offset:2px}.copy-btn{background:#ff45001f;border-color:#ff450059;color:var(--fire-light)}.copy-btn:hover{background:#ff450033;box-shadow:0 4px 16px #ff450033}.tweet-btn{background:#1da1f21a;border-color:#1da1f24d;color:#1da1f2}.tweet-btn:hover{background:#1da1f22e;box-shadow:0 4px 16px #1da1f226}.retry-btn{background:#ffd70014;border-color:#ffd70040;color:var(--gold)}.retry-btn:hover{background:#ffd70024;box-shadow:0 4px 16px #ffd7001f}.footer{padding:40px 24px 24px;text-align:center;border-top:1px solid var(--border);margin-top:48px}.footer-powered{font-size:13px;color:var(--muted);letter-spacing:.06em;margin-bottom:8px}.footer-disclaimer{font-size:12px;font-style:italic;color:var(--muted-2);letter-spacing:.03em}@media (max-width: 600px){.hero{padding:48px 16px 36px}.main-content{padding:32px 16px 16px}.roast-btn{padding:14px 36px;font-size:24px;width:100%}.roast-body{font-size:15px;padding:16px}.roast-header{padding:14px 16px 0;flex-direction:column;align-items:flex-start;gap:8px}.roast-actions{padding:0 16px 20px}.action-btn{flex:1;justify-content:center;min-height:44px}.stat-card{min-width:110px}.error-card{padding:16px}}@media (max-width: 380px){.hero-title{font-size:42px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}
