*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none;user-select:none;scroll-behavior:smooth;}:root{--bg:#04100b;--bg-panel:rgba(8,29,18,.82);--bg-input:#03130b;--border:rgba(104,255,151,.16);--text:#effff4;--text-dim:#8ab29a;--accent:#58ff8a;--accent-dim:#20e56d;--accent-glow:rgba(67,255,133,.25);--magenta:#ff6b8a;--radius:20px;--radius-sm:12px;--font-display:'DM Sans',sans-serif;--font-mono:'Space Mono',monospace;--font-body:'DM Sans',sans-serif;}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden;}.app-wrapper{width:100%;max-width:430px;height:100vh;background:#0f0c1a;position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 100px rgba(198,255,61,0.03);}@media(min-width:460px){.app-wrapper{height:95vh;border-radius:28px;border:1px solid rgba(198,255,61,0.08);}}.header{padding:18px 22px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:rgba(13,11,22,0.7);backdrop-filter:blur(12px);flex-shrink:0;z-index:10;}.header-left{display:flex;align-items:center;gap:12px;}.logo-mark{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:17px;color:var(--accent);}.header-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:0.2px;color:var(--text);display:flex;flex-direction:column;line-height:1.25;}.header-title span{font-family:var(--font-mono);color:var(--text-dim);font-weight:500;font-size:9px;letter-spacing:1.5px;}.header-right{display:flex;gap:8px;}.btn-icon{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:0.2s;}.btn-icon:active{transform:scale(0.92);color:var(--accent);border-color:var(--accent-glow);}.content{flex:1;overflow-y:auto;padding:20px 20px 100px;scrollbar-width:none;}.content::-webkit-scrollbar{display:none;}.hero{margin-bottom:20px;}.eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:2px;color:var(--accent);margin-bottom:8px;}.hero h1{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.3;color:var(--text);letter-spacing:-0.2px;}.card{background:var(--bg-panel);border-radius:var(--radius);padding:20px;margin-bottom:16px;border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,0.35);}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;}.card-header .icon{width:36px;height:36px;border-radius:10px;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--accent);}.card-header h3{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text);}.card-header h3 small{font-family:var(--font-body);font-weight:400;font-size:11px;color:var(--text-dim);display:block;margin-top:1px;}.console-label{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-dim);margin-bottom:8px;letter-spacing:1px;}.console-label i{color:var(--accent);font-size:13px;}.blink-cursor{display:inline-block;color:var(--accent);animation:blink 1.1s steps(1) infinite;}@keyframes blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}#imgPrompt{width:100%;padding:14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:13.5px;line-height:1.6;resize:none;transition:0.25s;}#imgPrompt:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}#imgPrompt::placeholder{color:var(--text-dim);font-weight:400;}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:none;}.chip-row::-webkit-scrollbar{display:none;}.chip{flex-shrink:0;background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-body);font-size:11.5px;font-weight:500;padding:8px 13px;border-radius:20px;cursor:pointer;transition:0.2s;white-space:nowrap;}.chip:active{transform:scale(0.95);border-color:var(--accent);color:var(--text);background:var(--accent-glow);}.btn-generate{width:100%;padding:15px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#0d0b16;font-family:var(--font-mono);font-size:14.5px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:0.2s;box-shadow:0 4px 24px var(--accent-glow);margin-top:14px;}.btn-generate:active{transform:scale(0.97);}.btn-bracket{opacity:0.5;}.btn-generate .loader{display:none;animation:spin 0.8s linear infinite;font-size:16px;}.btn-generate.loading .loader{display:inline-block;}.btn-generate.loading .btn-text,.btn-generate.loading .btn-bracket{display:none;}@keyframes spin{to{transform:rotate(360deg);}}.result-card{display:none;}.result-card.show{display:block;}.preview-container{background:#08060e;border-radius:var(--radius-sm);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border);position:relative;}.preview-placeholder{text-align:center;padding:40px 20px;color:var(--text-dim);}.preview-placeholder i{font-size:38px;color:rgba(198,255,61,0.15);margin-bottom:12px;display:block;}.preview-placeholder p{font-size:13px;line-height:1.6;font-family:var(--font-mono);}.brewing{position:relative;width:100%;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;}.brew-noise{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:0.5;mix-blend-mode:screen;animation:brewPulse 1.6s ease-in-out infinite;}@keyframes brewPulse{0%,100%{opacity:0.3;}50%{opacity:0.6;}}.brew-text{position:relative;z-index:2;font-family:var(--font-mono);font-size:11.5px;letter-spacing:1px;color:var(--accent);background:rgba(13,11,22,0.6);padding:6px 14px;border-radius:20px;border:1px solid var(--border);}.image-frame{position:relative;width:100%;}.image-frame img{width:100%;max-height:420px;object-fit:contain;display:block;filter:blur(20px) saturate(0) contrast(1.4);animation:materializeImage 1.1s ease forwards;}.image-frame .noise-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay;opacity:0.85;pointer-events:none;animation:materializeNoise 1.1s ease forwards;}@keyframes materializeImage{to{filter:blur(0) saturate(1) contrast(1);}}@keyframes materializeNoise{to{opacity:0;}}.btn-eye{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(13,11,22,0.65);backdrop-filter:blur(6px);border:1px solid rgba(198,255,61,0.2);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;z-index:3;animation:eyeFadeIn 0.4s ease 1.1s both;}.btn-eye:active{transform:scale(0.9);color:var(--accent);}@keyframes eyeFadeIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}.btn-download{width:100%;padding:13px;border:none;border-radius:var(--radius-sm);background:rgba(198,255,61,0.08);border:1px solid rgba(198,255,61,0.2);color:var(--accent);font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:0.5px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:0.2s;margin-top:12px;}.btn-download:active{transform:scale(0.97);background:rgba(198,255,61,0.15);}.btn-download i{font-size:16px;}.promo{margin-top:4px;background:linear-gradient(135deg,#1b1a10,#0d0b16);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;position:relative;overflow:hidden;}.promo::after{content:'';position:absolute;top:-40%;right:-20%;width:120px;height:120px;background:var(--accent-glow);border-radius:50%;pointer-events:none;}.promo h4{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text);position:relative;z-index:2;}.promo p{font-size:11.5px;color:var(--text-dim);position:relative;z-index:2;margin-top:3px;}.promo i{position:absolute;bottom:-10px;right:10px;font-size:56px;color:rgba(198,255,61,0.05);transform:rotate(-12deg);}.footer{text-align:center;padding:16px 20px 8px;font-size:10px;color:var(--text-dim);border-top:1px solid var(--border);margin-top:6px;letter-spacing:0.3px;}.footer i{color:var(--magenta);font-size:9px;}.footer strong{color:var(--accent);font-weight:700;}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--bg-panel);border:1px solid var(--border);padding:12px 24px;border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-weight:500;box-shadow:0 12px 48px rgba(0,0,0,0.5);opacity:0;transition:0.4s cubic-bezier(0.16,1,0.3,1);z-index:100;display:flex;align-items:center;gap:10px;backdrop-filter:blur(12px);pointer-events:none;}.toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}.toast i{font-size:18px;color:var(--accent);}.fab{position:fixed;bottom:24px;right:24px;z-index:50;}.fab button{width:50px;height:50px;border-radius:16px;background:var(--accent);color:#0d0b16;border:none;font-size:20px;box-shadow:0 8px 32px var(--accent-glow);cursor:pointer;transition:0.3s;display:flex;align-items:center;justify-content:center;}.fab button:active{transform:scale(0.92);}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:200;opacity:0;pointer-events:none;transition:0.3s;backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;}.modal-overlay.active{opacity:1;pointer-events:auto;}.modal-sheet{width:100%;max-width:430px;background:#0f0c1a;border-radius:24px 24px 0 0;padding:24px 28px 32px;transform:translateY(100%);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);max-height:80vh;overflow-y:auto;border-top:1px solid var(--border);}.modal-overlay.active .modal-sheet{transform:translateY(0);}.modal-sheet .handle{width:40px;height:4px;background:var(--border);border-radius:4px;margin:0 auto 16px;}.modal-sheet .modal-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text);text-align:center;margin-bottom:16px;}.modal-sheet .modal-body{background:var(--bg-panel);border-radius:var(--radius);padding:24px;text-align:center;border:1px solid var(--border);}.modal-sheet .modal-body i{font-size:40px;color:var(--accent);}.modal-sheet .modal-body h4{font-family:var(--font-display);margin:12px 0 6px;color:var(--text);font-size:16px;}.modal-sheet .modal-body p{color:var(--text-dim);font-size:13px;line-height:1.6;}.modal-sheet .modal-body strong{color:var(--text);}.modal-sheet .btn-close-modal{width:100%;padding:14px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#0d0b16;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:0.5px;margin-top:14px;cursor:pointer;transition:0.2s;}.modal-sheet .btn-close-modal:active{transform:scale(0.97);}.lightbox{position:fixed;inset:0;background:rgba(5,4,9,0.95);backdrop-filter:blur(10px);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease;padding:24px;}.lightbox.active{opacity:1;pointer-events:auto;}.lightbox img{max-width:100%;max-height:100%;border-radius:8px;transform:scale(0.92);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);box-shadow:0 20px 80px rgba(0,0,0,0.6);}.lightbox.active img{transform:scale(1);}.lightbox-close{position:absolute;top:22px;right:22px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:var(--text);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;}.lightbox-close:active{transform:scale(0.9);color:var(--accent);}@media (prefers-reduced-motion:reduce){.blink-cursor,.brew-noise,.image-frame img,.image-frame .noise-overlay,.btn-eye{animation:none !important;}.image-frame img{filter:none;}.image-frame .noise-overlay{opacity:0;}}
/* ReaMage total visual refresh */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');
html,body{background:#04100b}body{background:radial-gradient(circle at 12% 8%,rgba(55,255,126,.14),transparent 28%),radial-gradient(circle at 90% 78%,rgba(0,255,119,.1),transparent 30%),linear-gradient(145deg,#020a06,#061a0e 52%,#020b06)}
body:before{content:"";position:fixed;inset:-30%;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(91,255,143,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,255,143,.055) 1px,transparent 1px);background-size:42px 42px;transform:perspective(600px) rotateX(60deg) translateY(18%);mask-image:linear-gradient(to bottom,transparent,black 25%,black 65%,transparent);animation:rmGrid 16s linear infinite}
body:after{content:"";position:fixed;width:220px;height:220px;left:7%;bottom:8%;border-radius:50%;background:rgba(72,255,135,.16);filter:blur(70px);pointer-events:none;z-index:-1;animation:rmGlow 7s ease-in-out infinite alternate}
@keyframes rmGrid{to{background-position:0 42px,42px 0}}@keyframes rmGlow{to{transform:translate(80px,-50px) scale(1.3);opacity:.45}}
.app-wrapper{background:linear-gradient(180deg,rgba(5,23,13,.9),rgba(3,14,8,.98));border-color:rgba(104,255,151,.08);box-shadow:0 30px 100px rgba(0,0,0,.5),0 0 80px rgba(54,255,126,.08)}
.header{background:rgba(3,17,9,.72);border-color:var(--border);backdrop-filter:blur(20px)}.logo-mark{background:linear-gradient(145deg,#b5ffcf,#20e56d);color:#021008;border-color:rgba(255,255,255,.12);box-shadow:0 0 28px rgba(71,255,133,.28);position:relative;overflow:hidden}.logo-mark:after{content:"";position:absolute;inset:-80%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.7),transparent 58%);animation:rmShine 3.5s infinite}@keyframes rmShine{0%,55%{transform:translateX(-60%) rotate(20deg)}75%,100%{transform:translateX(60%) rotate(20deg)}}
.header-title{font-family:var(--font-display)}.header-title span,.eyebrow,.console-label i,.blink-cursor{color:var(--accent)}.btn-icon{background:rgba(87,255,139,.05);border-color:var(--border)}.btn-icon:hover{color:var(--accent);border-color:rgba(104,255,151,.38);background:rgba(87,255,139,.1);transform:translateY(-2px)}
.hero{animation:rmRise .65s cubic-bezier(.16,1,.3,1) both}.hero h1{font-size:31px;line-height:1.06;letter-spacing:-1.2px}.hero h1:after{content:"";display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin:0 0 5px 7px;box-shadow:0 0 18px var(--accent);animation:rmPulse 1.7s infinite}@keyframes rmPulse{50%{opacity:.25;transform:scale(.7)}}
.card{background:linear-gradient(145deg,rgba(10,38,23,.86),rgba(5,22,13,.76));border-color:var(--border);box-shadow:0 16px 50px rgba(0,0,0,.25);backdrop-filter:blur(16px)}.console-card{position:relative;overflow:hidden}.console-card:before{content:"";position:absolute;left:-20%;top:-80%;width:140%;height:120%;background:linear-gradient(110deg,transparent 40%,rgba(87,255,139,.05),transparent 60%);transform:rotate(10deg);animation:rmSweep 8s linear infinite;pointer-events:none}@keyframes rmSweep{to{transform:translateX(35%) rotate(10deg)}}
#imgPrompt{background:rgba(1,13,7,.8);border-color:var(--border);font-family:var(--font-display);font-size:14px;user-select:text}#imgPrompt:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(74,255,133,.08),0 0 30px rgba(74,255,133,.08)}#imgPrompt::placeholder{color:#628471}.chip{background:rgba(75,255,132,.045);border-color:var(--border);color:#91bda0}.chip:hover{border-color:rgba(104,255,151,.38);color:#b5ffcf;background:rgba(75,255,132,.1);transform:translateY(-2px)}
.btn-generate{background:linear-gradient(135deg,#b5ffcf,#20e56d);color:#031008;box-shadow:0 8px 30px rgba(62,255,130,.18);position:relative;overflow:hidden}.btn-generate:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.45) 50%,transparent 75%);transform:translateX(-100%);transition:.5s}.btn-generate:hover:before{transform:translateX(100%)}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(62,255,130,.3)}
.preview-container{background:#010a05;border-color:var(--border)}.preview-placeholder i{color:rgba(88,255,138,.2);animation:rmFloat 3s ease-in-out infinite}@keyframes rmFloat{50%{transform:translateY(-7px) rotate(4deg)}}.brewing{background:radial-gradient(circle,rgba(56,255,125,.1),transparent 55%)}.brew-noise{background-image:radial-gradient(rgba(103,255,155,.45) 1px,transparent 1px);background-size:8px 8px}.brew-text{color:var(--accent);background:rgba(2,16,9,.75);border-color:var(--border);box-shadow:0 0 30px rgba(71,255,133,.1)}
.btn-eye{background:rgba(2,17,9,.72);border-color:rgba(104,255,151,.38)}.btn-eye:hover{color:var(--accent);background:rgba(55,255,126,.13)}.btn-download{background:rgba(75,255,132,.06);border-color:var(--border);color:var(--accent)}.btn-download:hover{background:rgba(75,255,132,.11);border-color:rgba(104,255,151,.38);transform:translateY(-2px)}.promo{background:linear-gradient(135deg,rgba(12,50,29,.85),rgba(3,17,9,.85));border-color:var(--border)}.footer{border-color:rgba(104,255,151,.1);color:#628471}.footer i,.footer strong{color:var(--accent)}
.toast{background:rgba(6,29,17,.9);border-color:rgba(104,255,151,.38);box-shadow:0 15px 50px rgba(0,0,0,.5),0 0 25px rgba(72,255,135,.1)}.toast i{color:var(--accent)}.fab button{background:rgba(75,255,132,.92);color:#031008;box-shadow:0 8px 32px rgba(50,255,126,.22)}.modal-overlay{background:rgba(0,8,4,.82);backdrop-filter:blur(10px)}.modal-sheet{background:#061a0e;border-color:rgba(104,255,151,.38)}.modal-sheet .modal-body{background:rgba(9,35,20,.8);border-color:var(--border)}.modal-sheet .modal-body i{color:var(--accent)}.modal-sheet .btn-close-modal{background:var(--accent);color:#031008}.lightbox{background:rgba(0,5,3,.96)}.lightbox-close{background:rgba(80,255,135,.08);border-color:var(--border)}.lightbox-close:hover{color:var(--accent)}
@keyframes rmRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
