:root{--bg:#070908;--panel:#0d120f;--line:#202a23;--text:#edf3ee;--muted:#7f8b83;--green:#69f5a0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 5%,#1e7a4b20,transparent 30%),radial-gradient(circle at 10% 90%,#1a5b3b18,transparent 28%)}.noise{position:fixed;inset:0;opacity:.025;pointer-events:none;z-index:9}.orb{position:fixed;width:350px;height:350px;border-radius:50%;filter:blur(130px);opacity:.1;pointer-events:none}.orb.a{background:#31f583;right:-160px;top:-160px}.orb.b{background:#0d9c59;left:-180px;bottom:-200px}header{height:76px;padding:0 6vw;border-bottom:1px solid #151b17;background:#070908d9;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:18px;letter-spacing:-.05em;color:white;text-decoration:none}.brand i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 15px var(--green);margin-right:8px}.brand em{font-style:normal;color:var(--green)}nav{display:flex;gap:28px}nav a,.tg{font-size:12px;color:#9aa49e;text-decoration:none}.tg{border:1px solid #2a342d;padding:10px 14px;border-radius:9px}.hero{max-width:1100px;margin:auto;padding:130px 6vw 120px}.eyebrow,section>small,.head small{font-size:10px;letter-spacing:.17em;color:#7f8b83;font-weight:700}.eyebrow{color:#849087}.eyebrow:first-letter{color:var(--green)}h1{font-size:clamp(50px,8vw,100px);line-height:.98;letter-spacing:-.07em;margin:25px 0}h1 span{color:#89968e} .hero p{max-width:560px;color:#818d85;line-height:1.7;font-size:15px}.cta{display:inline-block;margin-top:28px;background:#edf6ef;color:#071009;text-decoration:none;padding:13px 17px;border-radius:10px;font-size:12px;font-weight:800}.studio{width:min(1180px,88vw);margin:auto;display:grid;grid-template-columns:225px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0a0e0b;box-shadow:0 35px 100px #0007}aside{padding:22px;background:#090c0a;border-right:1px solid var(--line)}aside label{display:block;font-size:9px;color:#69756d;letter-spacing:.15em;margin-bottom:12px}.tool{width:100%;display:grid;grid-template-columns:25px 1fr;text-align:left;gap:2px 8px;padding:12px 9px;margin:3px 0;background:transparent;color:#89958d;border:1px solid transparent;border-radius:10px;cursor:pointer}.tool b{font-size:12px}.tool small{font-size:9px;color:#606b63}.tool.active{background:#111812;border-color:#28332b;color:#eef4ef}.tool.active:first-letter{color:var(--green)}.secure{margin-top:25px;border:1px dashed #273029;padding:11px;border-radius:9px;color:#566159;font-size:9px;line-height:1.5}.workspace{padding:28px}.head{display:flex;justify-content:space-between;align-items:flex-start}.head h2{font-size:23px;letter-spacing:-.04em;margin:8px 0 20px}.online{font-size:9px;letter-spacing:.15em;color:#758078}.online:first-letter{color:var(--green)}.prompt{border:1px solid #202a23;background:#101512;border-radius:13px;padding:16px}.prompt label{font-size:9px;color:#77827a;letter-spacing:.14em}.prompt textarea{width:100%;height:125px;margin-top:10px;background:none;border:0;outline:0;resize:vertical;color:#e8efe9;font:14px Inter;line-height:1.6}.prompt textarea::placeholder{color:#505b53}.controls{border-top:1px solid #202920;padding-top:12px;display:flex;gap:8px}.controls select{flex:1;background:#0a0e0b;color:#aeb8b0;border:1px solid #29332c;padding:9px;border-radius:8px;font-size:10px}.controls button{background:var(--green);border:0;border-radius:8px;padding:0 18px;font-weight:800;cursor:pointer}.controls button:disabled{opacity:.5}.result{min-height:330px;margin-top:14px;border:1px solid #1c251f;border-radius:13px;background:radial-gradient(circle at 50% 30%,#121a15,#090c0a 68%);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.result strong{font-size:30px;color:#364239}.result h3{font-size:13px;margin:10px 0 5px}.result p{font-size:10px;color:#626e66}.result img,.result video{max-width:100%;max-height:650px}.download{margin:12px;background:#edf6ef;color:#071009;text-decoration:none;padding:9px 12px;border-radius:8px;font-size:10px;font-weight:800}.loader{width:30px;height:30px;border:2px solid #28322b;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:25px;text-align:center;color:#ff9d9d;font-size:11px;line-height:1.6}.section{width:min(1180px,88vw);margin:150px auto}.section h2,.about h2{font-size:clamp(38px,5vw,65px);line-height:1.02;letter-spacing:-.06em;margin:20px 0 48px}.section h2 span{color:#707c74}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{border-top:1px solid #263029;padding-top:18px}.steps b{font-size:10px;color:var(--green)}.steps h3{margin-top:28px}.steps p,.about p{font-size:12px;color:#78847c;line-height:1.7;max-width:390px}.about{width:min(1180px,88vw);margin:150px auto;display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.about p{align-self:end}footer{border-top:1px solid #171d19;padding:28px 6vw;color:#59645d;font-size:10px;display:flex;justify-content:space-between}footer a{color:#7e8981}@media(max-width:780px){nav{display:none}.hero{padding:90px 6vw}.studio{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:5px;overflow:auto}.tool{min-width:145px}.secure,aside label{display:none}.workspace{padding:17px}.controls{flex-wrap:wrap}.controls button{width:100%;height:38px}.steps,.about{grid-template-columns:1fr}.about{display:block}.about p{margin-top:30px}}

/* Premium animated background + launch screen */
.preloader{position:fixed;inset:0;z-index:9999;background:#050705;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;transition:opacity .8s ease,visibility .8s ease}.preloader.hide{opacity:0;visibility:hidden}.preloader:before,.preloader:after{content:"";position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(100px);opacity:.12;animation:floatLoader 7s ease-in-out infinite}.preloader:before{background:#31f583;right:-20vw;top:-25vw}.preloader:after{background:#168b52;left:-25vw;bottom:-25vw;animation-delay:-3s}.preloader-grid{position:absolute;inset:-20%;background-image:linear-gradient(#69f5a008 1px,transparent 1px),linear-gradient(90deg,#69f5a008 1px,transparent 1px);background-size:60px 60px;transform:perspective(500px) rotateX(62deg) translateY(15%);mask-image:linear-gradient(to top,black,transparent 75%);animation:gridMove 5s linear infinite}.loader-core{position:relative;width:92px;height:92px;display:grid;place-items:center}.loader-ring{position:absolute;inset:0;border:1px solid #69f5a044;border-top-color:#69f5a0;border-radius:50%;animation:spinLoader 1.3s linear infinite;box-shadow:0 0 45px #69f5a01c}.loader-ring:after{content:"";position:absolute;inset:10px;border:1px solid #69f5a022;border-bottom-color:#69f5a0;border-radius:50%;animation:spinLoader 2s linear infinite reverse}.loader-mark{font-weight:800;font-size:30px;letter-spacing:-.08em;color:#effff3;text-shadow:0 0 25px #69f5a0}.loader-brand{margin-top:26px;font-size:15px;font-weight:800;letter-spacing:.22em;color:#eaf1ec}.loader-brand span{color:#69f5a0}.loader-status{margin-top:11px;font-size:8px;letter-spacing:.18em;color:#657169}.loader-status span{display:inline-block;width:5px;height:5px;background:#69f5a0;border-radius:50%;box-shadow:0 0 12px #69f5a0;margin-right:7px;animation:pulse 1s ease-in-out infinite}.loader-line{width:170px;height:1px;background:#1b251e;margin-top:23px;overflow:hidden}.loader-line i{display:block;width:45%;height:100%;background:#69f5a0;box-shadow:0 0 14px #69f5a0;animation:loadLine 1.7s ease-in-out infinite}.cursor-glow{position:fixed;z-index:8;width:220px;height:220px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#69f5a00b,transparent 65%);transform:translate(-50%,-50%);transition:opacity .2s;mix-blend-mode:screen}.hero,.studio,.section,.about{position:relative}.hero:before,.studio:before{content:"";position:absolute;pointer-events:none;inset:0;background-image:radial-gradient(#8affb514 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(135deg,black,transparent 60%);opacity:.25}.studio{box-shadow:0 35px 100px #0008,0 0 80px #36db7810}.studio:after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(120deg,#69f5a022,transparent 35%,transparent 65%,#69f5a012);pointer-events:none}.tool{transition:transform .25s ease,background .25s ease,border-color .25s ease}.tool:hover{transform:translateX(3px);background:#0e1510;border-color:#253229}.cta,.controls button,.tg{transition:transform .2s ease,box-shadow .2s ease}.cta:hover,.controls button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #69f5a020}.tg:hover{box-shadow:0 0 25px #69f5a012}@keyframes spinLoader{to{transform:rotate(360deg)}}@keyframes floatLoader{50%{transform:translate(4vw,3vh) scale(1.08)}}@keyframes gridMove{to{transform:perspective(500px) rotateX(62deg) translateY(20%)}}@keyframes loadLine{0%{transform:translateX(-120%)}100%{transform:translateX(330%)}}@keyframes pulse{50%{opacity:.35;transform:scale(.7)}}

.ai-response{width:min(760px,92%);padding:28px;white-space:pre-wrap;line-height:1.75;font-size:13px;color:#69f5a0;text-shadow:0 0 16px #69f5a014;animation:responseIn .25s ease}.ai-caret{display:inline-block;width:7px;height:1.05em;margin-left:4px;vertical-align:-.16em;background:var(--green);box-shadow:0 0 12px var(--green);animation:caretBlink .7s step-end infinite}.ai-caret.done{animation:caretFade .35s ease forwards}@keyframes caretBlink{50%{opacity:0}}@keyframes caretFade{to{opacity:0}}@keyframes responseIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}


/* Recent chats — integrated right rail */
#ns-history-panel{position:relative;right:auto;top:auto;width:auto;height:100%;min-height:0;max-height:none;z-index:2;background:rgba(7,15,10,.72);backdrop-filter:blur(18px);border-left:1px solid rgba(105,245,160,.11);border-radius:0;color:#dff8e8;overflow:hidden;box-shadow:-18px 0 55px rgba(0,0,0,.14)}
.ns-history-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px 16px 14px;border-bottom:1px solid rgba(105,245,160,.09)}
.ns-history-head strong{display:block;font-size:14px;margin-top:4px}
.ns-kicker{display:block;color:#5f8b72;font-size:9px;letter-spacing:.18em}
#ns-new-chat{border:1px solid rgba(105,245,160,.18);background:rgba(105,245,160,.06);color:#69f5a0;border-radius:9px;padding:8px 9px;cursor:pointer;font-size:10px;white-space:nowrap;transition:.2s}
#ns-new-chat:hover{background:rgba(105,245,160,.11);transform:translateY(-1px)}
#ns-history-list{padding:10px;overflow:auto;height:calc(100% - 67px)}
.ns-history-item{display:flex;align-items:stretch;margin-bottom:6px;border:1px solid transparent;border-radius:11px;transition:.2s;background:rgba(255,255,255,.012)}
.ns-history-item:hover{border-color:rgba(105,245,160,.1);background:rgba(105,245,160,.035);transform:translateX(-2px)}
.ns-history-item.active{border-color:rgba(105,245,160,.18);background:rgba(105,245,160,.055)}
.ns-history-open{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:#d8efe0;padding:11px 7px 11px 10px;cursor:pointer}
.ns-history-tool{display:block;color:#69f5a0;font-size:8px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;opacity:.72}
.ns-history-title{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-history-date{display:block;color:#456151;font-size:9px;margin-top:5px}
.ns-history-delete{width:31px;border:0;background:transparent;color:#52715e;font-size:18px;cursor:pointer}
.ns-history-delete:hover{color:#ff7d87}
.ns-empty-history{padding:38px 12px;text-align:center;color:#4e6e5b;font-size:11px;line-height:1.5}

/* Restore the original NkShadow AI loader, then let the UI fall in from above. */
body:not(.nk-launched) header,
body:not(.nk-launched) .hero,
body:not(.nk-launched) .studio,
body:not(.nk-launched) .section,
body:not(.nk-launched) .about,
body:not(.nk-launched) footer{opacity:0;transform:translateY(-80px) scale(.985)}
.nk-launched header{animation:nkSkyDrop .72s cubic-bezier(.2,.8,.2,1) both}
.nk-launched .hero{animation:nkSkyDrop .78s .08s cubic-bezier(.2,.8,.2,1) both}
.nk-launched .studio{animation:nkSkyDrop .84s .17s cubic-bezier(.2,.8,.2,1) both}
.nk-launched .section{animation:nkSkyDrop .78s .27s cubic-bezier(.2,.8,.2,1) both}
.nk-launched .about{animation:nkSkyDrop .78s .34s cubic-bezier(.2,.8,.2,1) both}
.nk-launched footer{animation:nkSkyDrop .65s .42s cubic-bezier(.2,.8,.2,1) both}
.nk-launched .tool{animation:nkToolDrop .48s var(--launch-delay,0ms) cubic-bezier(.2,.8,.2,1) both}
@keyframes nkSkyDrop{0%{opacity:0;transform:translateY(-80px) scale(.985);filter:blur(4px)}65%{opacity:1;transform:translateY(8px) scale(1.002);filter:blur(0)}100%{opacity:1;transform:none}}
@keyframes nkToolDrop{0%{opacity:0;transform:translateY(-35px)}100%{opacity:1;transform:none}}
@media(max-width:1100px){
  .studio{grid-template-columns:200px minmax(0,1fr)}
  #ns-history-panel{grid-column:1/-1;border-left:0;border-top:1px solid rgba(105,245,160,.11);height:290px}
}
@media(max-width:720px){
  .studio{grid-template-columns:1fr}
  .studio>aside{border-right:0;border-bottom:1px solid var(--line)}
  #ns-history-panel{grid-column:1;height:270px}
}

.studio{grid-template-columns:225px minmax(0,1fr) 285px}

/* NkShadow PRO */
.pro-tool small{color:#9af5ba!important}.pro-section{max-width:1200px;margin:0 auto;padding:80px 24px 120px}.pro-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:28px;padding:48px;background:radial-gradient(circle at 80% 20%,rgba(42,255,122,.13),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 25px 90px rgba(0,0,0,.35)}.pro-badge{display:inline-flex;padding:8px 13px;border-radius:999px;background:rgba(43,255,126,.10);border:1px solid rgba(43,255,126,.22);color:#8dffb1;font-size:11px;font-weight:800;letter-spacing:.16em}.pro-card h2{font-size:clamp(34px,5vw,62px);line-height:1.02;margin:22px 0 14px;letter-spacing:-.045em}.pro-card h2 span{color:#76ff9e}.pro-subtitle{max-width:650px;color:rgba(255,255,255,.63);font-size:17px;line-height:1.6}.pro-price{display:flex;align-items:baseline;gap:8px;margin:30px 0 20px}.pro-price strong{font-size:42px}.pro-price span{color:rgba(255,255,255,.5)}.pro-features{display:grid;gap:11px;color:rgba(255,255,255,.78);margin:18px 0 30px}.pro-buy{position:relative;z-index:2;width:min(420px,100%);border:0;border-radius:16px;padding:17px 20px;display:flex;flex-direction:column;gap:5px;background:rgba(255,255,255,.08);color:#fff;cursor:not-allowed;opacity:.9}.pro-buy span{font-weight:800;font-size:16px}.pro-buy small{color:#ff6262;font-size:12px}.pro-status{margin-top:14px;color:rgba(255,255,255,.38);font-size:12px}.pro-lock{max-width:520px;margin:auto;text-align:center;padding:42px 26px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:rgba(255,255,255,.035)}.pro-lock-icon{color:#79ff9f;font-size:30px}.pro-lock h3{font-size:28px;margin:12px 0 8px}.pro-lock p{color:rgba(255,255,255,.58);line-height:1.55}.pro-lock strong{display:block;margin:18px 0;font-size:22px}.pro-lock button{border:0;border-radius:12px;padding:13px 20px;background:rgba(255,70,70,.12);color:#ff6969;font-weight:700;cursor:not-allowed}

/* Text assistant: readable chat-like output */
.ai-response{
  width:min(820px,92%);
  padding:28px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.75;
  font-size:13px;
  color:#dce9df;
  text-shadow:none;
  animation:responseIn .25s ease;
}
.ai-response-text{display:block}
.ai-caret{display:inline-block}

/* ===== NkShadow text chat UX ===== */
body[data-ai-tool="text"] .workspace{min-width:0}
body[data-ai-tool="text"] .prompt{position:relative;z-index:3;box-shadow:0 14px 45px rgba(0,0,0,.18)}
body[data-ai-tool="text"] .prompt textarea{caret-color:var(--green)}
body[data-ai-tool="text"] .result{display:block;position:relative;min-height:470px;height:min(68vh,680px);overflow:hidden;scroll-margin-top:100px}
.text-chat-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding:28px 22px 46px;scroll-behavior:smooth;overscroll-behavior:contain}
.text-chat-scroll::-webkit-scrollbar{width:7px}.text-chat-scroll::-webkit-scrollbar-track{background:transparent}.text-chat-scroll::-webkit-scrollbar-thumb{background:rgba(105,245,160,.18);border-radius:99px}.text-chat-scroll::-webkit-scrollbar-thumb:hover{background:rgba(105,245,160,.32)}
.text-chat-messages{width:min(820px,100%);margin:0 auto;display:flex;flex-direction:column;gap:18px}
.chat-bubble{position:relative;border:1px solid rgba(105,245,160,.12);border-radius:16px;padding:17px 19px;line-height:1.72;overflow-wrap:anywhere;animation:chatMessageIn .38s cubic-bezier(.2,.8,.2,1) both}
.user-bubble{align-self:flex-end;width:min(78%,720px);background:linear-gradient(135deg,rgba(105,245,160,.09),rgba(105,245,160,.025));border-color:rgba(105,245,160,.2);transform-origin:bottom right}
.ai-bubble{align-self:flex-start;width:min(88%,780px);background:rgba(7,15,10,.76);border-color:rgba(105,245,160,.22);box-shadow:0 0 35px rgba(105,245,160,.035),inset 0 0 28px rgba(105,245,160,.018)}
.bubble-label{font-size:8px;letter-spacing:.14em;font-weight:800;color:#597565;margin-bottom:9px}.ai-bubble .bubble-label{color:var(--green)}
.bubble-text{white-space:pre-wrap;font-size:13px;color:#69f5a0;text-shadow:0 0 14px rgba(105,245,160,.08)}
.user-bubble .bubble-text{color:#dce9df;text-shadow:none}.ai-dot{font-size:9px;margin-left:4px;color:var(--green);text-shadow:0 0 10px var(--green);animation:pulse 1.1s ease-in-out infinite}
.chat-error .bubble-text{color:#ff9696}.ai-caret{display:inline-block;width:7px;height:1.05em;margin-left:4px;vertical-align:-.16em;background:var(--green);box-shadow:0 0 12px var(--green);animation:caretBlink .7s step-end infinite}.ai-caret.done{animation:caretFade .35s ease forwards}
.thinking-dots{display:inline-flex;gap:5px;align-items:center;height:20px}.thinking-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green);animation:thinkDot 1.05s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}
.text-chat-empty{height:100%;min-height:390px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#5e6d63}.text-chat-empty span{font-size:32px;color:#31523e}.text-chat-empty p{font-size:11px}
@keyframes chatMessageIn{from{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}@keyframes thinkDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
@media(max-width:780px){body[data-ai-tool="text"] .result{height:62vh;min-height:390px}.text-chat-scroll{padding:18px 12px 34px}.user-bubble,.ai-bubble{width:96%}.bubble-text{font-size:12px}}

/* ===== Responsive device-aware layout ===== */
html,body{width:100%;min-width:0;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
button,select,textarea{font:inherit}

/* Desktop: use all available width without stretching the app awkwardly. */
@media (min-width:1101px){
  .studio{width:min(1380px,94vw);grid-template-columns:210px minmax(0,1fr) 280px}
  .workspace{min-width:0;padding:30px}
  #ns-history-panel{min-width:0}
}

/* Tablet / small laptop */
@media (min-width:761px) and (max-width:1100px){
  header{padding-inline:4vw}
  .hero{padding:100px 5vw 90px}
  .studio{width:min(96vw,980px);grid-template-columns:190px minmax(0,1fr)}
  .workspace{padding:22px}
  #ns-history-panel{grid-column:1/-1;height:260px;border-left:0;border-top:1px solid rgba(105,245,160,.11)}
  #ns-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .ns-history-item{margin:0}
}

/* Phone: compact app shell, touch-friendly controls and no desktop overflow. */
@media (max-width:760px){
  body{font-size:14px}
  header{height:62px;padding:0 16px;position:sticky}
  .brand{font-size:16px}
  nav,.tg{display:none}
  .hero{padding:64px 18px 56px}
  h1{font-size:clamp(38px,12vw,58px);margin:18px 0}
  .hero p{font-size:13px}
  .cta{width:100%;text-align:center;padding:14px 16px}

  .studio{width:100%;margin:0;border-radius:0;border-left:0;border-right:0;display:grid;grid-template-columns:1fr;overflow:visible}
  .studio>aside{order:0;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px;background:rgba(9,12,10,.94);position:sticky;top:62px;z-index:10;overflow-x:auto;overflow-y:hidden;display:flex;gap:7px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .studio>aside::-webkit-scrollbar{display:none}
  .studio>aside label,.studio>aside .secure{display:none}
  .tool{flex:0 0 auto;width:auto;min-width:116px;grid-template-columns:18px auto;padding:10px 11px;margin:0;gap:2px 6px;min-height:54px;align-content:center}
  .tool b{font-size:11px;white-space:nowrap}
  .tool small{font-size:8px;white-space:nowrap}

  .workspace{padding:14px 12px 20px;min-width:0}
  .head{gap:12px}
  .head h2{font-size:20px;margin:7px 0 15px}
  .online{font-size:8px;white-space:nowrap;padding-top:6px}
  .prompt{padding:14px;border-radius:12px}
  .prompt textarea{height:112px;min-height:112px;font-size:14px;line-height:1.55;resize:none}
  .controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .controls select{width:100%;min-width:0;height:42px;padding:0 10px}
  .controls button{grid-column:1/-1;width:100%;height:44px;padding:0 16px}

  .result{min-height:300px;margin-top:12px;border-radius:12px}
  body[data-ai-tool="text"] .result{height:58vh;min-height:360px;max-height:620px}
  .text-chat-scroll{padding:14px 10px 28px}
  .text-chat-messages{gap:12px}
  .chat-bubble{padding:13px 14px;border-radius:14px}
  .user-bubble,.ai-bubble{width:94%;max-width:100%}
  .bubble-text{font-size:13px;line-height:1.65}

  #ns-history-panel{grid-column:1;height:auto;min-height:0;max-height:300px;border-left:0;border-top:1px solid rgba(105,245,160,.11);border-radius:0}
  .ns-history-head{padding:14px 12px 10px;position:sticky;top:0;background:rgba(7,15,10,.94);z-index:2}
  .ns-history-head strong{font-size:13px}
  #ns-history-list{height:235px;padding:8px 10px;display:grid;grid-template-columns:1fr;gap:5px}
  .ns-history-item{margin:0;min-height:54px}

  .section,.about{width:auto;margin:80px 18px}
  .section h2,.about h2{font-size:clamp(34px,10vw,48px);margin-bottom:30px}
  .steps{grid-template-columns:1fr;gap:28px}
  .about{display:block}
  .about p{margin-top:26px}
  footer{padding:22px 18px;gap:12px;flex-wrap:wrap}

  .pro-section{padding:60px 14px 80px}
  .pro-card{padding:28px 20px;border-radius:20px}
  .pro-card h2{font-size:clamp(32px,9vw,48px)}
  .pro-subtitle{font-size:14px}
  .pro-price strong{font-size:34px}
}

@media (max-width:380px){
  .tool{min-width:104px;padding-inline:9px}
  .workspace{padding-inline:9px}
  .prompt{padding:12px}
  .controls{grid-template-columns:1fr}
  .controls button{grid-column:auto}
  .controls select,.controls button{height:43px}
  body[data-ai-tool="text"] .result{min-height:330px;height:56vh}
  .user-bubble,.ai-bubble{width:97%}
}

/* Respect devices with reduced motion. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* ===== Google / guest access ===== */
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.google-login-top{border:1px solid rgba(105,245,160,.24);background:rgba(105,245,160,.07);color:#c9f7d8;border-radius:11px;padding:10px 14px;font-size:11px;font-weight:800;cursor:pointer;transition:.2s ease;white-space:nowrap}
.google-login-top:hover{background:rgba(105,245,160,.13);border-color:rgba(105,245,160,.42);transform:translateY(-1px)}
.auth-gate{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.auth-gate.open{display:flex}
.auth-backdrop{position:absolute;inset:0;background:rgba(0,5,2,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.auth-card{position:relative;width:min(430px,100%);padding:34px 30px 28px;border:1px solid rgba(105,245,160,.22);border-radius:24px;background:linear-gradient(145deg,rgba(15,28,20,.98),rgba(5,12,8,.98));box-shadow:0 35px 100px rgba(0,0,0,.6),0 0 50px rgba(105,245,160,.06);text-align:center;animation:authIn .28s ease both}
.auth-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:rgba(255,255,255,.42);font-size:25px;cursor:pointer}
.auth-mark{width:48px;height:48px;margin:0 auto 13px;border:1px solid rgba(105,245,160,.34);border-radius:50%;display:grid;place-items:center;color:#d9ffe5;font-size:20px;font-weight:800;box-shadow:0 0 25px rgba(105,245,160,.1)}
.auth-kicker{font-size:9px;letter-spacing:.18em;color:#69f5a0;font-weight:800}
.auth-card h2{margin:11px 0 9px;font-size:28px;letter-spacing:-.03em}
.auth-card>p{margin:0 auto 22px;max-width:330px;color:rgba(255,255,255,.55);font-size:12px;line-height:1.6}
.google-signin{min-height:44px;display:flex;justify-content:center;align-items:center;margin-bottom:10px}
.gsi-material-button{margin:auto}
.guest-continue{width:100%;height:46px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.045);color:#e5eee8;font-size:13px;font-weight:700;cursor:pointer;transition:.2s ease}
.guest-continue:hover{background:rgba(255,255,255,.08);border-color:rgba(105,245,160,.2)}
.auth-note{margin-top:14px;color:rgba(255,255,255,.3);font-size:10px;line-height:1.5}
.account-chip{position:fixed;right:18px;top:74px;z-index:2000}
.account-chip button{display:flex;align-items:center;gap:8px;border:1px solid rgba(105,245,160,.16);background:rgba(5,12,8,.88);backdrop-filter:blur(12px);color:#dce9df;border-radius:12px;padding:7px 10px;font-size:10px;cursor:pointer}
.account-avatar{width:22px;height:22px;border-radius:50%;background:rgba(105,245,160,.16);background-size:cover;background-position:center;border:1px solid rgba(105,245,160,.24)}
.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chevron{color:#69f5a0;font-size:13px}
@keyframes authIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.header-actions{gap:6px}.google-login-top{padding:9px 10px;font-size:9px}.header-actions .tg{display:none}.auth-card{padding:30px 20px 24px;border-radius:20px}.account-chip{right:10px;top:68px}.account-name{max-width:90px}}


/* ===== Final polish ===== */
.brand{transform:translateX(-16px);position:relative}
nav{margin-left:8px}
.google-login-top{display:inline-flex;align-items:center;gap:8px;position:relative;overflow:hidden}
.google-login-top:before{content:"G";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:#4285f4;font-size:11px;font-weight:900;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.google-signin{padding:2px;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(105,245,160,.06));border:1px solid rgba(105,245,160,.10)}
.auth-gate{visibility:hidden;opacity:0;pointer-events:none;display:flex;transition:opacity .45s ease,visibility .45s ease}
.auth-gate.open{visibility:visible;opacity:1;pointer-events:auto}
.auth-card{animation:authIn .5s cubic-bezier(.2,.8,.2,1) both}
.pro-tool.is-pro-active{border-color:rgba(255,213,92,.38)!important;background:linear-gradient(135deg,rgba(255,215,92,.08),rgba(105,245,160,.04));color:#ffe28a!important}
.pro-tool.is-pro-active b{color:#ffe08a}
.pro-tool.is-pro-active small{color:#cdb86d!important}
.pro-buy{cursor:pointer!important}
.pro-buy.pro-active{background:linear-gradient(135deg,#f4d86a,#caa73d);color:#161206;cursor:default!important;box-shadow:0 12px 40px rgba(245,211,92,.18)}
.pro-buy.pro-active .pro-active-note{color:#4d3b08}
.pro-badge,.pro-card h2 span{color:#f0cf5b}
.pro-badge{border-color:rgba(240,207,91,.28);background:rgba(240,207,91,.08)}
.pro-lock-icon{color:#f0cf5b}
.guest-pro-warning{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:.3s}
.guest-pro-warning.open{opacity:1;visibility:visible}
.guest-pro-backdrop{position:absolute;inset:0;background:rgba(0,5,2,.82);backdrop-filter:blur(15px)}
.guest-pro-card{position:relative;width:min(480px,100%);padding:32px;border:1px solid rgba(240,207,91,.22);border-radius:24px;background:linear-gradient(145deg,#17150c,#080b08);box-shadow:0 30px 100px #000b;transform:translateY(12px) scale(.98);transition:.35s cubic-bezier(.2,.8,.2,1)}
.guest-pro-warning.open .guest-pro-card{transform:none}
.guest-pro-icon{color:#f0cf5b;font-size:26px}.guest-pro-kicker{margin-top:10px;color:#f0cf5b;font-size:9px;letter-spacing:.18em;font-weight:800}
.guest-pro-card h3{font-size:26px;letter-spacing:-.04em;margin:10px 0}.guest-pro-card p{color:#89928b;font-size:12px;line-height:1.7;margin:0 0 22px}
.guest-pro-actions{display:grid;gap:9px}.guest-pro-actions button{height:45px;border-radius:12px;font-weight:800;cursor:pointer}
.guest-pro-login{border:1px solid rgba(105,245,160,.3);background:rgba(105,245,160,.08);color:#dff8e8}
.guest-pro-continue{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cfd8d2}
.dev-panel{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;pointer-events:none;transition:.25s}
.dev-panel.open{visibility:visible;opacity:1;pointer-events:auto}
.dev-backdrop{position:absolute;inset:0;background:rgba(0,4,2,.86);backdrop-filter:blur(16px)}
.dev-card{position:relative;width:min(560px,100%);padding:30px;border:1px solid rgba(105,245,160,.2);border-radius:22px;background:#08100b;box-shadow:0 35px 120px #000c}
.dev-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#789080;font-size:25px;cursor:pointer}
.dev-kicker{font-size:9px;letter-spacing:.18em;color:#69f5a0}.dev-card h2{margin:8px 0;font-size:27px}.dev-desc{color:#718078;font-size:11px}
.dev-status{padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e38b8b;font-size:10px;margin:18px 0}.dev-status.ok{color:#69f5a0;border-color:rgba(105,245,160,.18)}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dev-grid button{padding:12px;border:1px solid rgba(105,245,160,.12);border-radius:11px;background:rgba(105,245,160,.04);color:#cfe7d6;cursor:pointer;text-align:left}.dev-grid button:hover{background:rgba(105,245,160,.09);transform:translateY(-1px)}
.dev-footer{display:flex;justify-content:space-between;margin-top:18px;color:#65736a;font-size:10px}.dev-footer b{color:#69f5a0}
@media(max-width:760px){.brand{transform:translateX(-8px)}nav{margin-left:0}.dev-grid{grid-template-columns:1fr}.guest-pro-card{padding:26px 20px}}

.brand em.pro-gold{color:#f0cf5b;text-shadow:0 0 16px rgba(240,207,91,.22)}

/* ===== NkShadow account / profile redesign ===== */
.header-actions{position:relative}
.google-login-top[hidden],.account-chip[hidden]{display:none!important}
.account-chip{position:static;z-index:auto}
.account-chip button{
  position:relative;display:flex;align-items:center;gap:8px;overflow:visible;
  border:1px solid rgba(105,245,160,.28);
  background:linear-gradient(135deg,rgba(15,36,24,.92),rgba(5,14,9,.96));
  box-shadow:0 0 0 1px rgba(105,245,160,.04),0 0 22px rgba(105,245,160,.07);
  color:#e7f8ec;border-radius:13px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer;
  transition:.25s ease;
}
.account-chip button:hover{transform:translateY(-1px);border-color:rgba(105,245,160,.52);box-shadow:0 0 28px rgba(105,245,160,.14)}
.account-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#7432a8 center/cover no-repeat;border:1px solid rgba(105,245,160,.32);font-size:9px;color:#fff;overflow:hidden}
.account-name{max-width:130px}.account-chevron{color:#69f5a0;font-size:13px}
.account-crystals{position:absolute;inset:-7px -5px;pointer-events:none}
.account-crystals i{position:absolute;display:block;width:5px;height:8px;background:linear-gradient(145deg,#c5ffdc,#27d978 55%,#0b6b3b);clip-path:polygon(50% 0,100% 35%,72% 100%,24% 82%,0 34%);filter:drop-shadow(0 0 5px rgba(105,245,160,.65));opacity:.8}
.account-crystals i:nth-child(1){left:12%;top:-4px;transform:rotate(-22deg);animation:crystalGrow 2.8s ease-in-out infinite}
.account-crystals i:nth-child(2){right:18%;top:-5px;height:6px;animation:crystalGrow 3.2s .4s ease-in-out infinite}
.account-crystals i:nth-child(3){right:-3px;bottom:10%;height:7px;transform:rotate(25deg);animation:crystalGrow 2.6s .8s ease-in-out infinite}
.account-crystals i:nth-child(4){left:-4px;bottom:15%;height:5px;transform:rotate(-35deg);animation:crystalGrow 3.4s 1s ease-in-out infinite}
@keyframes crystalGrow{0%,100%{transform:scale(.65) translateY(2px);opacity:.35}45%{transform:scale(1.15) translateY(-1px);opacity:1}}

.brand-name.pro-neon,.pro-green{color:#63ff9c!important;text-shadow:0 0 7px rgba(99,255,156,.7),0 0 20px rgba(99,255,156,.28)}
.pro-gold,.pro-gold-text{color:#f4d45f!important;text-shadow:0 0 5px rgba(255,222,105,.72),0 0 16px rgba(255,205,62,.3)}
.pro-gold-text{background:linear-gradient(180deg,#fff1a4 0%,#f0c94e 42%,#fff0a0 52%,#b98318 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;position:relative}
.pro-gold-text:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.9) 48%,transparent 58%);transform:translateX(-120%);animation:goldShine 3.8s ease-in-out infinite;pointer-events:none}
@keyframes goldShine{0%,55%{transform:translateX(-120%)}78%,100%{transform:translateX(120%)}}

.pro-badge{gap:5px}
.pro-badge span{color:#63ff9c;text-shadow:0 0 10px rgba(99,255,156,.55)}
.pro-badge b{font-weight:900;background:linear-gradient(180deg,#fff2a5,#d7aa36,#fff0a0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 15px rgba(240,207,91,.28)}

.frozen-pro-chip{display:none;align-items:center;gap:8px;min-height:42px;padding:6px 11px;border:1px solid rgba(175,225,255,.38);border-radius:12px;background:linear-gradient(145deg,rgba(165,220,255,.16),rgba(210,245,255,.045));color:#dff6ff;box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 20px rgba(120,205,255,.08);cursor:pointer;position:relative;overflow:hidden;backdrop-filter:blur(10px)}.frozen-pro-chip[hidden]{display:none}.frozen-pro-chip:not([hidden]){display:flex}.frozen-pro-chip:before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%);transform:translateX(-70%);animation:frozenShine 4.8s ease-in-out infinite;pointer-events:none}.frozen-pro-chip>*{position:relative;z-index:1}.frozen-pro-chip b{display:block;font-size:10px;letter-spacing:.03em}.frozen-pro-chip small{display:block;margin-top:2px;color:#a8c8d4;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.frozen-pro-snow{font-size:18px;filter:drop-shadow(0 0 7px rgba(190,235,255,.75));animation:frozenFloat 2.6s ease-in-out infinite}@keyframes frozenShine{0%,62%{transform:translateX(-80%)}82%,100%{transform:translateX(80%)}}@keyframes frozenFloat{50%{transform:translateY(-2px) rotate(-6deg)}}
.plan-frozen{color:#dff6ff!important;text-shadow:0 0 10px rgba(180,230,255,.7),0 0 22px rgba(130,200,255,.25)!important;filter:saturate(.72)}.plan-dot.frozen{background:#bdeeff!important;box-shadow:0 0 16px rgba(150,225,255,.9)!important}.profile-trial-timer.frozen{border-color:rgba(180,230,255,.28)!important;background:linear-gradient(135deg,rgba(170,220,255,.1),rgba(255,255,255,.02))!important;color:#cdebf4!important}
.profile-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;pointer-events:none;transition:.3s ease}
.profile-modal.open{visibility:visible;opacity:1;pointer-events:auto}
.profile-backdrop{position:absolute;inset:0;background:rgba(0,6,3,.82);backdrop-filter:blur(18px)}
.profile-card{position:relative;width:min(620px,100%);padding:30px;border:1px solid rgba(105,245,160,.2);border-radius:25px;background:linear-gradient(145deg,#0d1811,#060c08);box-shadow:0 40px 130px #000d,0 0 55px rgba(105,245,160,.06);transform:translateY(14px) scale(.98);transition:.35s cubic-bezier(.2,.8,.2,1)}
.profile-modal.open .profile-card{transform:none}
.profile-close{position:absolute;right:15px;top:11px;border:0;background:transparent;color:#789080;font-size:25px;cursor:pointer}
.profile-top{display:flex;align-items:center;gap:15px;padding-right:30px}
.profile-avatar{width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:#7432a8 center/cover no-repeat;border:1px solid rgba(105,245,160,.32);font-size:22px;font-weight:800;color:#fff;box-shadow:0 0 30px rgba(105,245,160,.08)}
.profile-kicker{font-size:9px;letter-spacing:.18em;color:#69f5a0;font-weight:800}.profile-top h2{margin:6px 0 4px;font-size:28px;letter-spacing:-.04em}.profile-top p{margin:0;color:#718078;font-size:11px}
.profile-subscription{margin:25px 0 14px;padding:16px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:space-between}
.profile-label{display:block;color:#66746b;font-size:8px;letter-spacing:.16em;margin-bottom:7px}.profile-subscription strong{font-size:17px}.plan-basic{color:#dbe8df}.plan-dot{width:9px;height:9px;border-radius:50%;background:#69f5a0;box-shadow:0 0 13px rgba(105,245,160,.7)}.plan-dot.pro{background:#f4d45f;box-shadow:0 0 16px rgba(244,212,95,.8)}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.stat-card{min-height:105px;padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.025);display:flex;flex-direction:column;justify-content:space-between}.stat-card span{font-size:16px}.stat-card small{color:#69776e;font-size:9px}.stat-card strong{font-size:19px;color:#e9f4ec}
.donate-btn{width:100%;margin-top:12px;padding:14px 15px;border:1px solid rgba(105,245,160,.16);border-radius:14px;background:linear-gradient(135deg,rgba(105,245,160,.08),rgba(255,255,255,.025));color:#e5f3e9;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.2s}.donate-btn:hover{border-color:rgba(105,245,160,.35);transform:translateY(-1px)}.donate-btn>span{font-size:17px;color:#69f5a0}.donate-btn div{flex:1}.donate-btn b{display:block;font-size:11px}.donate-btn small{display:block;color:#66746b;font-size:9px;margin-top:3px}.donate-btn em{font-style:normal;color:#69f5a0}.profile-note{margin-top:12px;color:#56645b;font-size:9px;line-height:1.5;text-align:center}

@media(max-width:760px){
  .header-actions{gap:6px}.account-name{max-width:80px}.account-chip button{padding:7px 9px}.profile-card{padding:25px 18px}.profile-stats{grid-template-columns:1fr 1fr}.profile-avatar{width:56px;height:56px}.profile-top h2{font-size:24px}
}

@media(max-width:760px){
  html{overflow-x:hidden}
  body{min-width:0}
  header{padding:12px 12px;gap:8px}
  .brand{font-size:14px;transform:none!important;white-space:nowrap}
  header nav{display:none}
  .header-actions{gap:6px;min-width:0}
  .header-actions .tg{display:none}
  .account-chip button{max-width:145px;padding:7px 8px}
  .account-name{max-width:72px}
  main{overflow:hidden}
  .hero{padding-inline:16px}
  .hero h1{font-size:clamp(38px,11vw,58px);line-height:.98}
  .hero p{font-size:13px;line-height:1.6}
  .studio{margin:50px 10px 0;display:block}
  .studio aside{position:static;display:flex;overflow-x:auto;gap:7px;padding:8px 2px 12px;scrollbar-width:none}
  .studio aside::-webkit-scrollbar{display:none}
  .studio aside>label,.studio .secure{display:none}
  .tool{flex:0 0 auto;min-width:128px;min-height:52px;padding:9px 11px}
  .workspace{width:100%;padding:10px 4px 0}
  .workspace .head{padding:0 5px 10px}
  .prompt{padding:12px;border-radius:16px}
  .prompt textarea{min-height:112px;height:112px;font-size:14px}
  .controls{grid-template-columns:1fr 1fr;gap:7px}
  .controls select{height:44px;font-size:12px}
  .controls button{grid-column:1/-1;height:48px}
  body[data-ai-tool="text"] .result{height:58vh;min-height:330px;max-height:none}
  .text-chat-scroll{padding:12px 7px 24px}
  .chat-bubble{width:94%;padding:12px;border-radius:14px}
  .user-bubble{margin-left:auto}.ai-bubble{margin-right:auto}
  .bubble-text{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
}
@media(max-width:380px){
  .account-name{display:none}
  .account-chip button{max-width:48px}
  .account-chevron{font-size:11px}
  .studio{margin-inline:7px}
  .tool{min-width:116px}
  .controls{grid-template-columns:1fr}
  .controls button{grid-column:auto}
  body[data-ai-tool="text"] .result{min-height:310px}
}
.plan-guest{color:#aebbb2!important;text-shadow:0 0 14px rgba(174,187,178,.08)}

/* Language selector */
.lang-picker{display:flex;align-items:center;gap:5px;border:1px solid #243027;background:#0b100d;border-radius:10px;padding:5px 8px;color:#7d8a81;font-size:10px}
.lang-picker select{background:transparent;border:0;outline:0;color:#dce7df;font:600 10px Inter;cursor:pointer}
.lang-picker option{background:#0a0e0b;color:#e9f1eb}

/* Juicy PRO gate for image/video requests */
.pro-gate{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:20px}
.pro-gate.open{display:flex;animation:proGateIn .35s ease both}
.pro-gate-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(16px)}
.pro-gate-card{position:relative;z-index:1;width:min(540px,94vw);overflow:hidden;text-align:center;border:1px solid rgba(105,245,160,.25);border-radius:30px;padding:48px 32px 34px;background:radial-gradient(circle at 50% -20%,rgba(105,245,160,.2),transparent 42%),radial-gradient(circle at 85% 85%,rgba(255,205,78,.13),transparent 30%),#090d0a;box-shadow:0 35px 100px #000,0 0 70px rgba(105,245,160,.12)}
.pro-gate-card:before{content:"";position:absolute;inset:1px;border-radius:29px;border:1px solid rgba(255,255,255,.04);pointer-events:none}
.pro-gate-close{position:absolute;right:15px;top:13px;width:34px;height:34px;border:1px solid #27352c;border-radius:50%;background:#101711;color:#aab6ad;font-size:22px;cursor:pointer}
.pro-gate-icon{margin:auto;width:72px;height:72px;display:grid;place-items:center;border-radius:22px;font-size:28px;color:#69f5a0;background:linear-gradient(145deg,rgba(105,245,160,.16),rgba(255,205,78,.09));border:1px solid rgba(105,245,160,.3);box-shadow:0 0 45px rgba(105,245,160,.15),inset 0 0 30px rgba(255,205,78,.05);animation:proPulse 2.2s ease-in-out infinite}
.pro-gate-kicker{margin-top:20px;font-weight:900;letter-spacing:.14em;font-size:18px}.pro-gate-kicker span{color:#63ff9c;text-shadow:0 0 18px #2cff79}.pro-gate-kicker b{color:#f4d16a;text-shadow:0 0 10px #f0bf3d,0 0 25px rgba(240,191,61,.35);background:linear-gradient(90deg,#c99728,#fff1a3,#d5a32c);-webkit-background-clip:text;background-clip:text;color:transparent}
.pro-gate-card h3{font-size:26px;line-height:1.12;margin:16px auto 10px;max-width:430px}.pro-gate-card p{color:#7e8a82;font-size:12px;line-height:1.7;max-width:410px;margin:0 auto}.pro-gate-price{font-size:30px;font-weight:900;margin:22px 0 16px}.pro-gate-price small{font-size:11px;color:#7f8a83;font-weight:500}.pro-gate-buy{border:0;border-radius:14px;padding:14px 24px;width:min(320px,100%);background:linear-gradient(100deg,#52f58f,#8dffb5);color:#061008;font-weight:900;font-size:14px;box-shadow:0 12px 35px rgba(80,245,143,.18);cursor:pointer}.pro-gate-buy span{margin-left:8px}.pro-gate-soon{display:block;margin-top:10px;color:#6f7b73;font-size:10px}.pro-sparks{position:absolute;inset:0;pointer-events:none}.pro-sparks i{position:absolute;width:5px;height:11px;background:#69f5a0;clip-path:polygon(50% 0,100% 35%,68% 100%,25% 72%,0 30%);opacity:.7;animation:proSpark 2.5s ease-in-out infinite}.pro-sparks i:nth-child(1){left:16%;top:24%;animation-delay:-.4s}.pro-sparks i:nth-child(2){right:19%;top:28%;animation-delay:-1.1s}.pro-sparks i:nth-child(3){left:23%;bottom:22%;animation-delay:-1.8s}.pro-sparks i:nth-child(4){right:15%;bottom:25%;animation-delay:-.8s}.pro-sparks i:nth-child(5){left:50%;top:12%;animation-delay:-2.1s;background:#f3cf5d}
@keyframes proGateIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes proPulse{50%{transform:translateY(-4px) scale(1.04);box-shadow:0 0 60px rgba(105,245,160,.24)}}@keyframes proSpark{0%,100%{transform:translateY(8px) rotate(0deg);opacity:.15}50%{transform:translateY(-14px) rotate(45deg);opacity:.9}}
@media(max-width:760px){.lang-picker{padding:5px 6px}.lang-picker span{display:none}.lang-picker select{max-width:72px}.pro-gate-card{padding:40px 20px 28px;border-radius:24px}.pro-gate-card h3{font-size:22px}.pro-gate-icon{width:62px;height:62px}.pro-gate-kicker{font-size:16px}}

/* First-visit language chooser */
.language-onboarding{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px}.language-onboarding.open{display:flex}.language-onboarding-backdrop{position:absolute;inset:0;background:rgba(3,7,6,.78);backdrop-filter:blur(14px)}.language-onboarding-card{position:relative;width:min(460px,100%);padding:34px;border:1px solid rgba(91,255,153,.22);border-radius:28px;background:linear-gradient(145deg,rgba(13,24,19,.98),rgba(6,12,10,.98));box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 60px rgba(51,255,128,.08);text-align:center}.language-onboarding-mark{width:58px;height:58px;margin:0 auto 15px;border-radius:18px;display:grid;place-items:center;font-size:27px;color:#8dffb5;background:rgba(68,255,139,.08);border:1px solid rgba(100,255,157,.3);box-shadow:0 0 28px rgba(76,255,142,.12)}.language-onboarding-kicker{font-size:11px;letter-spacing:.22em;color:#72ff9d;font-weight:800}.language-onboarding-card h2{margin:10px 0 8px;font-size:28px}.language-onboarding-card p{margin:0 auto 22px;color:#aebdb5;line-height:1.6}.language-onboarding-label{display:block;text-align:left;font-size:11px;letter-spacing:.14em;color:#82968c;margin-bottom:8px}.language-onboarding-card select{width:100%;height:50px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#101914;color:#fff;padding:0 14px;font-size:15px;margin-bottom:14px}.language-onboarding-card button{width:100%;height:52px;border:0;border-radius:14px;background:linear-gradient(100deg,#48ff8b,#b5ffc9);color:#06130a;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(72,255,139,.16)}
@media(max-width:600px){.language-onboarding-card{padding:26px 20px;border-radius:22px}.language-onboarding-card h2{font-size:23px}}


/* ===== Mobile UX v2 ===== */
@media (max-width: 760px){
  /* Compact, touch-friendly header */
  header{
    height:60px;
    padding:8px 12px;
    gap:8px;
  }
  .brand{font-size:15px;letter-spacing:-.045em}
  .header-actions{gap:5px}
  .lang-picker{height:38px;border-radius:11px;padding:5px 7px}
  .lang-picker select{font-size:10px;max-width:58px}
  .google-login-top{height:38px;padding:0 9px;border-radius:11px;font-size:9px}
  .account-chip button{height:38px;border-radius:11px}
  .account-avatar{width:22px;height:22px}

  main{overflow:visible}
  .hero{
    width:100%;
    padding:68px 18px 42px;
  }
  .hero h1{
    font-size:clamp(42px,12vw,58px);
    line-height:.94;
    margin:18px 0;
  }
  .hero p{font-size:13px;max-width:520px}
  .cta{
    width:100%;
    text-align:center;
    min-height:46px;
    padding:14px 16px;
    border-radius:12px;
  }

  /* Studio becomes a comfortable mobile card */
  .studio{
    width:calc(100% - 20px);
    margin:18px 10px 0;
    border-radius:20px;
    display:block;
    overflow:hidden;
  }
  .studio aside{
    display:flex;
    gap:7px;
    padding:9px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    border-right:0;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#0b100d,#080c09);
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .studio aside::-webkit-scrollbar{display:none}
  .studio aside>label,.studio .secure{display:none}
  .tool{
    flex:0 0 132px;
    min-width:132px;
    min-height:58px;
    margin:0;
    padding:10px 11px;
    border-radius:12px;
    scroll-snap-align:start;
    grid-template-columns:22px 1fr;
  }
  .tool b{font-size:11px}
  .tool small{font-size:8px}
  .workspace{
    width:100%;
    padding:14px 12px 12px;
  }
  .workspace .head{
    padding:0 2px 12px;
    align-items:center;
  }
  .head h2{
    font-size:20px;
    margin:6px 0 0;
  }
  .online{font-size:8px}
  .prompt{
    padding:13px;
    border-radius:15px;
  }
  .prompt textarea{
    height:130px;
    min-height:130px;
    font-size:14px;
    line-height:1.55;
    margin-top:9px;
  }
  .controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .controls select{
    min-width:0;
    width:100%;
    height:44px;
    padding:0 10px;
    font-size:11px;
  }
  .controls button{
    grid-column:1/-1;
    width:100%;
    height:48px;
    border-radius:11px;
    font-size:12px;
  }
  .result{
    min-height:320px;
    margin-top:10px;
    border-radius:15px;
  }
  .result h3{font-size:12px;text-align:center;padding:0 18px}
  .result p{font-size:10px;text-align:center;padding:0 18px}
  .result img,.result video{max-width:100%;max-height:58vh;object-fit:contain}

  /* History rail moves below the generator on phones */
  #ns-history-panel{
    width:100%;
    height:auto;
    max-height:340px;
    min-height:0;
    border-left:0;
    border-top:1px solid rgba(105,245,160,.11);
    border-radius:0 0 20px 20px;
  }
  .ns-history-head{padding:14px 13px 11px}
  #ns-history-list{height:auto;max-height:245px;padding:8px}
  .ns-history-item{margin-bottom:5px}
  .ns-history-open{padding:10px 7px 10px 9px}
  .ns-history-title{font-size:11px}
  .ns-history-delete{width:38px}

  .section,.about{
    width:calc(100% - 36px);
    margin:78px auto;
  }
  .section h2,.about h2{
    font-size:clamp(36px,10vw,48px);
    margin:16px 0 30px;
  }
  .steps{gap:26px}
  .steps article{padding-top:15px}
  .steps h3{margin:20px 0 8px}
  .about{display:block}
  .about p{margin-top:26px;font-size:12px}

  footer{
    padding:22px 18px;
    gap:10px;
    align-items:center;
  }

  /* Touch targets for modals */
  .dev-panel{padding:12px}
  .dev-card{
    width:100%;
    max-height:calc(100dvh - 24px);
    overflow:auto;
    padding:24px 16px 18px;
    border-radius:20px;
  }
  .dev-grid{grid-template-columns:1fr 1fr;gap:7px}
  .dev-grid button{min-height:48px;padding:10px;font-size:11px}
}
@media (max-width:430px){
  .hero{padding-top:54px}
  .hero h1{font-size:clamp(39px,11.5vw,52px)}
  .studio{width:calc(100% - 14px);margin-inline:7px}
  .workspace{padding-inline:9px}
  .tool{flex-basis:124px;min-width:124px}
  .controls{grid-template-columns:1fr}
  .controls button,.controls select{grid-column:auto}
  .controls button{margin-top:1px}
  .account-name{display:none}
  .account-chip button{max-width:44px;justify-content:center}
  .section,.about{width:calc(100% - 28px)}
  footer{font-size:9px}
}
@media (max-width:360px){
  .lang-picker select{max-width:45px}
  .google-login-top{padding:0 7px}
  .tool{flex-basis:116px;min-width:116px}
  .prompt textarea{height:115px;min-height:115px}
}

/* ===== NkShadow PRO trial ===== */
.pro-gate{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.pro-gate.open{display:flex;animation:proFade .25s ease}
.pro-gate-backdrop{position:absolute;inset:0;background:#020403d9;backdrop-filter:blur(18px)}
.pro-gate-card{position:relative;width:min(470px,94vw);padding:34px 30px 28px;border:1px solid #31553d;border-radius:24px;background:linear-gradient(145deg,#101a13,#080c09);box-shadow:0 30px 100px #000c,0 0 70px #35f48718;text-align:center;overflow:hidden}
.pro-gate-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:17px;display:grid;place-items:center;background:#17251b;color:#69f5a0;font-size:25px;box-shadow:inset 0 0 30px #69f5a022}
.pro-gate-kicker{font-size:13px;font-weight:800;letter-spacing:.04em}.pro-gate-kicker span{color:#69f5a0}.pro-gate-kicker b{color:#d8ffe3}
.pro-gate-card h3{font-size:27px;letter-spacing:-.05em;margin:15px 0 10px}.pro-gate-card p{color:#8e9b92;font-size:12px;line-height:1.65;margin:0 auto 18px;max-width:390px}.pro-gate-card p b{color:#bfffd0}
.pro-gate-price{display:inline-flex;align-items:baseline;gap:8px;margin:3px 0 18px;font-weight:800;font-size:30px}.pro-gate-price small{font-size:12px;color:#69f5a0;text-transform:uppercase;letter-spacing:.12em}
.pro-gate-buy{width:100%;border:0;border-radius:12px;padding:14px;background:#69f5a0;color:#061009;font-weight:900;cursor:pointer;box-shadow:0 10px 30px #69f5a020}.pro-gate-buy span{margin-left:5px}
.pro-gate-soon{display:block;margin-top:11px;color:#5f6d64;font-size:9px}.pro-gate-close{position:absolute;right:13px;top:11px;border:0;background:none;color:#708078;font-size:25px;cursor:pointer}
.pro-sparks{position:absolute;inset:0;pointer-events:none}.pro-sparks i{position:absolute;width:3px;height:3px;border-radius:50%;background:#69f5a0;opacity:.5;animation:proSpark 2.5s infinite}.pro-sparks i:nth-child(1){left:10%;top:20%}.pro-sparks i:nth-child(2){right:12%;top:30%;animation-delay:.4s}.pro-sparks i:nth-child(3){left:18%;bottom:18%;animation-delay:.8s}.pro-sparks i:nth-child(4){right:20%;bottom:22%;animation-delay:1.2s}.pro-sparks i:nth-child(5){left:50%;top:8%;animation-delay:1.6s}
.nk-confetti{position:fixed;inset:0;z-index:2000;pointer-events:none;overflow:hidden}
.nk-confetti i{position:absolute;left:var(--x);top:-15px;width:var(--s);height:calc(var(--s)*1.8);border-radius:2px;background:hsl(calc(var(--i)*37),80%,65%);animation:nkConfetti var(--d) cubic-bezier(.2,.7,.3,1) forwards;transform:rotate(var(--r))}
@keyframes nkConfetti{to{top:110vh;transform:translateX(calc((var(--i) - 55)*1px)) rotate(calc(var(--r) + 720deg));opacity:0}}
@keyframes proFade{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes proSpark{50%{transform:scale(3);opacity:1}}
.pro-neon{color:#f2fff5;text-shadow:0 0 18px #69f5a055}.pro-gold{color:#69f5a0!important;text-shadow:0 0 16px #69f5a055}.pro-gold-text{color:#69f5a0}.pro-green{color:#dffff0}

/* ===== NkShadow generation quotas ===== */
.quota-status{
  margin:10px 0 0;
  padding:9px 12px;
  border:1px solid rgba(105,245,160,.16);
  border-radius:11px;
  background:rgba(105,245,160,.045);
  color:#9aa89f;
  font-size:10px;
  line-height:1.45;
  letter-spacing:.01em;
}
.quota-status strong{color:#dffff0}
.quota-status.quota-empty{border-color:rgba(255,150,110,.2);background:rgba(255,110,70,.045);color:#c7a59a}
.quota-status.quota-empty strong{color:#ffd2c4}
.quota-status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.quota-expand-btn{border:1px solid #00ff0055;background:#00ff0014;color:#00ff00;font-size:10px;font-weight:800;padding:6px 12px;border-radius:8px;cursor:pointer;letter-spacing:.02em;white-space:nowrap}
.quota-expand-btn:hover{background:#00ff0026;box-shadow:0 0 12px #00ff0044}

.profile-logout{width:100%;margin-top:12px;padding:11px 14px;border:1px solid #3a2929;background:#130d0d;color:#ffb0b0;border-radius:10px;font:600 11px Inter,Arial,sans-serif;cursor:pointer;transition:.2s}.profile-logout:hover{border-color:#5a3434;background:#1a0f0f;color:#fff}.profile-logout:active{transform:translateY(1px)}


/* Subscription countdown */
.profile-trial-timer{margin:10px 0 0;padding:11px 13px;border:1px solid rgba(100,240,160,.18);border-radius:12px;background:rgba(100,240,160,.045);color:#a9c7b4;font-size:12px;line-height:1.45;letter-spacing:.01em}
.profile-trial-timer strong{color:#67f2a0;font-weight:700}
.profile-trial-timer.expired{border-color:rgba(255,120,120,.18);color:#d9a0a0}

/* ===== NkShadow 2026 polish: assistant first + calmer PRO ===== */
.pro-tool .pro-gold-text,
.pro-tool .pro-green,
.pro-tool.is-pro-active b,
.pro-tool.is-pro-active small{
  text-shadow:none!important;
}
.pro-gold-text:after{display:none!important}
.pro-neon,.pro-gold{ text-shadow:none!important; }

.pro-gate-card.pro-buy-modal{
  width:min(620px,94vw);
  padding:42px 34px 30px;
  background:
    radial-gradient(circle at 50% -10%,rgba(105,245,160,.15),transparent 38%),
    linear-gradient(155deg,#101811 0%,#080c09 70%);
  border-color:rgba(105,245,160,.28);
  box-shadow:0 45px 130px rgba(0,0,0,.78),0 0 70px rgba(105,245,160,.08);
  animation:proModalIn .42s cubic-bezier(.2,.8,.2,1) both;
}
.pro-buy-modal h3{font-size:clamp(30px,5vw,44px);letter-spacing:-.045em;margin:17px 0 8px}
.pro-modal-lead{max-width:470px;margin:0 auto;color:#91a096;line-height:1.65;font-size:13px}
.pro-modal-price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:20px 0 18px}
.pro-modal-price strong{font-size:36px;letter-spacing:-.04em}
.pro-modal-price span{color:#637067;font-size:12px}
.pro-modal-features{display:grid;grid-template-columns:1fr;gap:8px;text-align:left;margin:0 auto 22px;max-width:460px}
.pro-modal-features div{padding:11px 13px;border:1px solid rgba(105,245,160,.10);background:rgba(105,245,160,.025);border-radius:11px;color:#b8c6bd;font-size:11px}
.pro-modal-features span{color:#69f5a0;margin-right:8px}
.pro-modal-actions{display:grid;grid-template-columns:1.25fr .9fr;gap:10px;max-width:520px;margin:auto}
.pro-modal-actions button{min-height:50px;border-radius:13px;font:800 12px Inter;cursor:pointer}
.pro-purchase{border:1px solid rgba(105,245,160,.28);background:#69f5a0;color:#071009;box-shadow:0 12px 35px rgba(105,245,160,.12);transition:.2s}
.pro-purchase:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(105,245,160,.18)}
.pro-purchase:disabled{opacity:.55;cursor:default;transform:none}
.pro-trial-button{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);color:#e6eee8;transition:.2s}
.pro-trial-button:hover:not(:disabled){transform:translateY(-2px);background:rgba(255,255,255,.07)}
.pro-trial-button:disabled{opacity:.45;cursor:default}
.pro-modal-unavailable{margin:13px auto 0;color:#7b887f;font-size:10px;line-height:1.5;max-width:470px}
.pro-gate-soon{display:block;margin-top:7px}
.pulse-unavailable{animation:purchasePulse .45s ease}
@keyframes proModalIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes purchasePulse{50%{transform:scale(.985);box-shadow:0 0 0 5px rgba(255,100,100,.08)}}
@media(max-width:650px){
  .pro-modal-actions{grid-template-columns:1fr}
  .pro-gate-card.pro-buy-modal{padding:36px 18px 24px}
}


/* PRO purchase card: always visibly and reliably clickable */
#pro-buy{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative;
  z-index:5;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
#pro-buy:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(105,245,160,.14)}
#pro-buy:not(:disabled):active{transform:translateY(0) scale(.99)}
.pro-modal-actions{position:relative;z-index:4}
.pro-purchase{min-height:54px!important}
.pro-trial-button{min-height:54px!important}

/* =========================================================
   NKSHADOW PRO — DESKTOP parity
   The PRO purchase flow is intentionally identical on desktop
   and mobile.  The modal is viewport-fixed and never depends
   on the mobile breakpoint.
   ========================================================= */
@media (min-width:781px){
  #pro-buy,.pro-buy{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative;
    z-index:30;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    min-height:64px;
    width:100%;
    cursor:pointer!important;
    user-select:none;
  }
  #pro-buy span,.pro-buy span{display:block}
  #pro-buy small,.pro-buy small{display:block}
  #pro-buy:focus-visible,.pro-buy:focus-visible{
    outline:2px solid #69f5a0;
    outline-offset:3px;
  }
  .pro-gate{
    display:none;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    z-index:2147483000!important;
    align-items:center!important;
    justify-content:center!important;
    padding:32px!important;
  }
  .pro-gate.open{display:flex!important}
  .pro-gate-backdrop{
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    cursor:pointer;
  }
  .pro-gate-card{
    position:relative!important;
    z-index:1!important;
    width:min(620px,calc(100vw - 64px))!important;
    max-height:calc(100vh - 64px);
    overflow:auto;
    transform:translateY(0);
  }
  .pro-gate-card.pro-buy-modal{
    animation:proModalDesktopIn .42s cubic-bezier(.2,.8,.2,1) both;
  }
  .pro-modal-actions{
    display:grid!important;
    grid-template-columns:1.25fr .9fr!important;
    gap:10px!important;
  }
}
@keyframes proModalDesktopIn{
  from{opacity:0;transform:translateY(28px) scale(.94);filter:blur(5px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}


/* NKSHADOW FINAL CLICK SAFETY — hidden overlays can NEVER intercept clicks. */
#auth-gate:not(.open),#profile-modal:not(.open),#pro-gate:not(.open),#dev-panel:not(.open),#guest-pro-warning:not(.open),#language-onboarding:not(.open),#preloader.hide{
  pointer-events:none!important;
  visibility:hidden!important;
}
#auth-gate.open[aria-hidden="true"]{display:none!important;pointer-events:none!important;visibility:hidden!important;}
#auth-gate.open{z-index:9998!important;}
#pro-buy,.pro-buy,#generate,.tool,button,a,select,textarea{touch-action:manipulation;}

/* Chat history polish: one item = one conversation, switching never reloads the page. */
.ns-history-item{cursor:pointer}
.ns-history-open:focus-visible,.ns-history-delete:focus-visible,#ns-new-chat:focus-visible{outline:2px solid #69f5a0;outline-offset:2px}
@media(max-width:780px){#ns-history-panel{max-height:280px;overflow:hidden}#ns-history-list{max-height:215px;overflow-y:auto;-webkit-overflow-scrolling:touch}}


/* ===== ACCESS CHOOSER FINAL POLISH ===== */
body.nk-access-locked{overflow:hidden!important;touch-action:none}
.auth-gate{z-index:12000!important}
.auth-gate.open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.auth-gate.open .auth-card{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.auth-card{width:min(470px,calc(100vw - 32px));padding:38px 32px 30px;border-color:rgba(105,245,160,.28);background:radial-gradient(circle at 50% 0%,rgba(105,245,160,.10),transparent 42%),linear-gradient(145deg,rgba(16,31,22,.99),rgba(4,10,7,.99));box-shadow:0 40px 120px rgba(0,0,0,.72),0 0 90px rgba(105,245,160,.09);overflow:hidden}
.auth-card:before{content:"";position:absolute;inset:-45%;background:radial-gradient(circle,rgba(105,245,160,.08),transparent 55%);animation:authAura 6s ease-in-out infinite;pointer-events:none}
.auth-card>*{position:relative;z-index:1}
.auth-mark{width:58px;height:58px;margin-bottom:15px;background:rgba(105,245,160,.05);border-color:rgba(105,245,160,.45);box-shadow:0 0 35px rgba(105,245,160,.13)}
.auth-card h2{font-size:30px;margin-top:12px}
.auth-card>p{font-size:12px;color:rgba(230,245,235,.62);margin-bottom:25px}
.google-signin{min-height:48px;margin:0 0 11px;padding:0}
.guest-continue{height:50px;background:linear-gradient(135deg,rgba(105,245,160,.10),rgba(105,245,160,.035));border-color:rgba(105,245,160,.18)}
.guest-continue:hover{transform:translateY(-1px);box-shadow:0 12px 35px rgba(105,245,160,.08)}
.auth-note{margin-top:16px;color:rgba(220,240,226,.38)}
@keyframes authAura{50%{transform:scale(1.08);opacity:.7}}
@media(max-width:760px){.auth-card{width:calc(100vw - 24px);padding:30px 18px 24px;border-radius:22px}.auth-card h2{font-size:25px}.google-signin{min-height:50px}.guest-continue{height:50px}}

/* Guest mode: no profile/stats/logout. The header control is the Google sign-in entry point. */
.account-chip.guest-login button{border-color:rgba(105,245,160,.38);background:linear-gradient(135deg,rgba(13,40,25,.96),rgba(5,15,9,.98));}
.account-chip.guest-login .account-chevron{color:#69f5a0}
.account-chip.guest-login .account-avatar{background:#69f5a0;color:#07120b;border-color:rgba(105,245,160,.55)}
#profile-modal .profile-stats[hidden],#profile-modal .donate-btn[hidden],#profile-modal .profile-note[hidden],#profile-modal #profile-logout[hidden]{display:none!important}
@media(max-width:430px){.account-chip.guest-login .account-name{display:block;max-width:128px}.account-chip.guest-login button{max-width:170px;justify-content:flex-start}.account-chip.guest-login .account-chevron{display:inline}.account-chip.guest-login .account-avatar{display:grid}}

/* ===== PRO MODAL FINAL OPAQUE LAYER ===== */
body.nk-pro-modal-open{overflow:hidden!important}
#pro-gate.pro-gate{isolation:isolate!important;contain:paint!important;background:rgba(2,4,3,.96)!important}
#pro-gate .pro-gate-backdrop{background:rgba(2,4,3,.985)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;opacity:1!important}
#pro-gate .pro-gate-card.pro-buy-modal{background:#0a100c!important;background-image:linear-gradient(155deg,#111b14 0%,#080c09 72%)!important;opacity:1!important;mix-blend-mode:normal!important;filter:none!important;z-index:2!important;color:#edf3ee!important}
#pro-gate .pro-modal-features div{background:#101912!important;border-color:#263a2c!important;color:#c5d1c9!important}
#pro-gate .pro-modal-actions button{position:relative!important;z-index:5!important;pointer-events:auto!important;opacity:1!important}
#pro-gate .pro-gate-close{z-index:6!important;pointer-events:auto!important}


/* NKSHADOW PRO MODAL — FINAL OPAQUE / REOPEN FIX */
#pro-gate{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
  box-sizing:border-box!important;
  z-index:2147483647!important;
  isolation:isolate!important;
  pointer-events:none!important;
}
#pro-gate.open{
  display:flex!important;
  pointer-events:auto!important;
}
#pro-gate .pro-gate-backdrop{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:rgba(3,6,4,.94)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:auto!important;
}
#pro-gate .pro-gate-card{
  position:relative!important;
  z-index:2!important;
  isolation:isolate!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  background:#0a100d!important;
  background-image:linear-gradient(145deg,#101a14 0%,#080d0a 100%)!important;
  border:1px solid rgba(105,245,160,.30)!important;
  color:#eef6f0!important;
  box-shadow:0 35px 120px rgba(0,0,0,.9),0 0 90px rgba(105,245,160,.10)!important;
  overflow:auto!important;
}
#pro-gate .pro-gate-card::before,
#pro-gate .pro-gate-card::after{pointer-events:none!important;z-index:-1!important}
#pro-gate .pro-gate-close,
#pro-gate .pro-modal-actions button{
  position:relative!important;
  z-index:5!important;
  pointer-events:auto!important;
}
#pro-gate .pro-modal-features div{background:rgba(255,255,255,.035)!important}
html.nk-pro-modal-open,body.nk-pro-modal-open{overflow:hidden!important}
@media(max-width:650px){
  #pro-gate{padding:12px!important}
  #pro-gate .pro-gate-card{width:min(620px,96vw)!important;max-height:92dvh!important}
}


/* ===== PRO MODAL — FINAL CLEAN ACTIVE STATE / TYPOGRAPHY ===== */
#pro-gate .pro-gate-card.pro-buy-modal{
  width:min(620px,calc(100vw - 40px))!important;
  max-height:min(760px,calc(100dvh - 40px))!important;
  padding:38px 34px 30px!important;
  border-radius:28px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:thin;
}
#pro-gate .pro-gate-icon{margin-bottom:13px!important}
#pro-gate .pro-gate-kicker{margin-top:0!important;line-height:1.2!important}
#pro-gate .pro-buy-modal h3{margin:14px 0 8px!important;line-height:1.08!important}
#pro-gate .pro-modal-lead{margin:0 auto 4px!important;max-width:500px!important}
#pro-gate .pro-modal-price{margin:18px 0 20px!important;line-height:1!important}
#pro-gate .pro-modal-features{gap:9px!important;margin-bottom:22px!important}
#pro-gate .pro-modal-features div{min-height:42px;display:flex;align-items:center;box-sizing:border-box}
#pro-gate .pro-modal-actions{align-items:stretch!important}
#pro-gate .pro-modal-actions button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:4px!important;
  min-height:58px!important;
  padding:10px 14px!important;
  box-sizing:border-box!important;
  line-height:1.2!important;
  white-space:normal!important;
  text-align:center!important;
}
#pro-gate .pro-modal-actions button span,
#pro-gate .pro-modal-actions button small{
  display:block!important;
  margin:0!important;
  line-height:1.2!important;
}
#pro-gate .pro-modal-actions button small{
  font-size:10px!important;
  font-weight:600!important;
  opacity:.62!important;
}
#pro-gate .pro-purchase.pro-status-active{
  background:linear-gradient(135deg,#59e995,#79f4aa)!important;
  color:#061009!important;
  border-color:rgba(105,245,160,.4)!important;
  cursor:default!important;
  opacity:1!important;
  box-shadow:0 12px 30px rgba(105,245,160,.10)!important;
}
#pro-gate .pro-purchase.pro-status-active span{font-size:13px!important;font-weight:900!important}
#pro-gate .pro-purchase.pro-status-active small{color:#174a2b!important;opacity:.78!important}
#pro-gate .pro-profile-button{
  background:#121a15!important;
  border-color:rgba(105,245,160,.20)!important;
  color:#e7f2ea!important;
}
#pro-gate .pro-profile-button:hover{background:#17231b!important}
#pro-gate .pro-modal-unavailable{
  min-height:16px!important;
  margin:12px auto 0!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
}
@media(max-width:650px){
  #pro-gate{padding:10px!important}
  #pro-gate .pro-gate-card.pro-buy-modal{
    width:min(620px,96vw)!important;
    max-height:94dvh!important;
    padding:32px 18px 22px!important;
    border-radius:24px!important;
  }
  #pro-gate .pro-modal-price strong{font-size:32px!important}
  #pro-gate .pro-modal-features div{font-size:10.5px!important;padding:10px 11px!important}
}


/* NkShadow PRO freeze / thaw */
.pro-freeze-control{
  margin:12px 0 14px;
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  overflow:hidden;
}
.pro-freeze-control.frozen{
  border-color:rgba(180,225,255,.32);
  background:linear-gradient(145deg,rgba(185,225,255,.12),rgba(255,255,255,.025));
}
.freeze-badge{
  font-weight:800;
  letter-spacing:.04em;
  font-size:12px;
  margin-bottom:7px;
}
.freeze-desc,.freeze-countdown{
  font-size:12px;
  line-height:1.45;
  opacity:.76;
}
.freeze-countdown{margin-top:8px}
.freeze-action{
  width:100%;
  margin-top:12px;
  border:0;
  border-radius:12px;
  padding:11px 14px;
  font-weight:800;
  cursor:pointer;
  background:rgba(255,255,255,.1);
  color:inherit;
}
.freeze-action:not(:disabled):hover{background:rgba(255,255,255,.16)}
.freeze-action:disabled{opacity:.42;cursor:not-allowed}
.plan-frozen{
  text-shadow:0 0 12px rgba(180,225,255,.5);
  filter:saturate(.75);
}
#nk-frozen-notice{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
#nk-frozen-notice.open{display:flex}
.nk-frozen-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,8,14,.78);
  backdrop-filter:blur(12px);
}
.nk-frozen-card{
  position:relative;
  width:min(440px,100%);
  padding:30px;
  border-radius:26px;
  border:1px solid rgba(190,230,255,.25);
  background:linear-gradient(145deg,#121c28,#0b1119);
  box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 60px rgba(160,220,255,.08);
  text-align:center;
  animation:nkFrozenIn .28s ease-out;
}
.nk-frozen-icon{font-size:34px;margin-bottom:8px}
.nk-frozen-kicker{font-size:11px;letter-spacing:.18em;opacity:.62;font-weight:800}
.nk-frozen-card h3{margin:9px 0 8px;font-size:26px}
.nk-frozen-card p{margin:0;line-height:1.5;opacity:.74}
.nk-frozen-time{margin:18px 0;font-weight:800}
.nk-frozen-unfreeze{
  width:100%; border:0; border-radius:13px; padding:12px 14px;
  margin-top:14px; font-weight:900; cursor:pointer;
  color:#071018; background:linear-gradient(135deg,#dff8ff,#9fe4ff);
  box-shadow:0 10px 30px rgba(120,210,255,.16);
}
.nk-frozen-unfreeze:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}
.nk-frozen-unfreeze:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.5)}
.nk-frozen-close{margin-top:8px;background:rgba(255,255,255,.07);color:#d9e8ee;border:1px solid rgba(190,230,255,.14)}
.nk-frozen-close{
  width:100%;
  border:0;
  border-radius:13px;
  padding:12px;
  font-weight:800;
  cursor:pointer;
}
@keyframes nkFrozenIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){
  .pro-freeze-control{padding:14px}
  .nk-frozen-card{padding:24px}
}

@media(max-width:760px){.frozen-pro-chip{min-height:38px;padding:5px 8px}.frozen-pro-chip b{font-size:9px}.frozen-pro-chip small{font-size:7px}.frozen-pro-snow{font-size:16px}}

/* Guest mode: the profile slot is a real Google-login control, not a dead account chip. */
.account-chip.guest-login { display:inline-flex; }
.account-chip.guest-login #account-chip-btn { cursor:pointer; }
.account-chip.guest-login .account-chevron { font-size:14px; }
.account-chip.guest-login .account-crystals { display:none; }

/* Google chooser must always sit above the PRO modal and remain clickable. */
.auth-gate.open { z-index:12000 !important; pointer-events:auto !important; }
.auth-gate.open .auth-backdrop,
.auth-gate.open .auth-card,
.auth-gate.open #google-signin,
.auth-gate.open #guest-continue { pointer-events:auto !important; }
.auth-gate.open .auth-card { position:relative; z-index:1; }

/* Prevent a stale modal-open class from visually locking the page after logout. */
html.nk-pro-modal-open, body.nk-pro-modal-open { overflow:auto; }

.disabled-tool{opacity:.45;cursor:not-allowed!important;position:relative}
.disabled-tool small{color:#ff8b8b}
.pro-card{position:relative;overflow:hidden}
.pro-card:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle,#69f5a018,transparent 55%);pointer-events:none}
.privacy{width:min(900px,88vw);margin:80px auto;padding:35px;border:1px solid var(--line);border-radius:18px;background:#0d120f}
.privacy h2{font-size:30px}.privacy p{color:#9aa49e;line-height:1.8}

/* Premium PRO interface */
.pro-premium{min-height:520px;animation:proGlow 5s ease-in-out infinite alternate}
.pro-premium:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(105,245,160,.18),transparent 35%);pointer-events:none}
.pro-premium>*{position:relative;z-index:1}
.pro-premium .pro-buy{background:linear-gradient(135deg,#69f5a0,#37d97a);color:#071009;cursor:pointer;box-shadow:0 15px 45px rgba(105,245,160,.25)}
.pro-premium .pro-buy small{color:#174b2c}
.pro-features div{padding:16px 18px;border:1px solid rgba(105,245,160,.15);border-radius:14px;background:rgba(255,255,255,.025)}
@keyframes proGlow{from{box-shadow:0 25px 90px rgba(0,0,0,.35)}to{box-shadow:0 25px 100px rgba(105,245,160,.12)}}


/* NKSHADOW CHATGPT STYLE REDESIGN */
:root{
 --bg:#050505;
 --panel:#0b0b0c;
 --panel2:#111113;
 --line:#242424;
 --text:#fff;
 --muted:#8c8c8c;
 --accent:#ffffff;
}
body{background:#050505;color:#fff}
header{background:rgba(5,5,5,.82);border-color:#202020}
main,.studio,.workspace,.prompt,.result,.pro-card,.auth-card,.profile-card{
 border-color:#242424!important;
}
.studio{background:linear-gradient(180deg,#0b0b0c,#070707);border-radius:28px}
.workspace{background:#090909;border-radius:24px}
.prompt textarea{
 background:#111;color:#fff;border:1px solid #333;border-radius:22px;
 min-height:150px;font-size:16px;padding:22px;
}
.controls button,.guest-continue,#language-onboarding-continue{
 background:#fff!important;color:#000!important;border-radius:18px!important;
}
.message,.chat-message{
 max-width:760px;border-radius:22px!important;
}
.user-message{margin-left:auto;background:#fff;color:#000}
.ai-message{background:#151515;border:1px solid #2b2b2b}
.tool{background:#0d0d0d;border-color:#222!important}
.tool.active{background:#fff;color:#000}
.pro-card{background:linear-gradient(145deg,#101010,#050505)!important}
.pro-features div{background:#111!important;border-color:#303030!important}
.privacy{background:#0a0a0a;border:1px solid #222;border-radius:24px}
footer{color:#777}
.ai-disclaimer{
 text-align:center;color:#777;font-size:13px;margin:12px auto;
}
.reason-toggle{
 border:1px solid #333;background:#111;color:#fff;border-radius:14px;padding:10px 16px;
 cursor:pointer;
}

/* NkShadow v2 chat redesign */
:root{--blue:#4da3ff;--blue2:#0b56ff;--bg:#05070c;--panel:#0b101b}
body:before{background:radial-gradient(circle at 50% 0%,#176dff35,transparent 35%),radial-gradient(circle at 90% 80%,#00bfff22,transparent 30%)}
.orb.a{background:#1b7cff}.orb.b{background:#005eff}
.prompt textarea{background:#080c14;border-color:#26354d;border-radius:22px}
button#generate{background:linear-gradient(135deg,#fff,#8dc7ff);box-shadow:0 0 25px #168cff55}
.result,.message{border-color:#174c8a!important}
.pro-card{background:radial-gradient(circle at top,#123d20,#07100b)!important}

.pro-support .support-heart{font-size:64px;text-align:center;animation:floatHeart 2s ease-in-out infinite;color:#69f5a0;text-shadow:0 0 30px #69f5a0}
.support-message{text-align:center;margin:25px auto;padding:25px;border-radius:24px;background:#ffffff08;border:1px solid #ffffff18}
.support-message h3{font-size:28px;margin:0 0 10px}
.support-btn{animation:softPulse 2s infinite}
@keyframes floatHeart{50%{transform:translateY(-10px) scale(1.05)}}
@keyframes softPulse{50%{box-shadow:0 0 35px #69f5a055}}


.support-modal{position:fixed;inset:0;background:#0009;backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;z-index:1000}
.support-modal.show{display:flex;animation:fadeSupport .25s ease}
@keyframes fadeSupport{from{opacity:0}to{opacity:1}}
.support-window{position:relative;width:min(520px,90vw);padding:38px;border:1px solid #284535;border-radius:28px;background:linear-gradient(145deg,#102418,#07100b);box-shadow:0 0 80px #35ff8b22;text-align:center}
.support-close{position:absolute;right:20px;top:15px;background:none;border:0;color:white;font-size:30px;cursor:pointer}
.support-heart.big{font-size:55px;color:#69f5a0;text-shadow:0 0 30px #69f5a0}
.support-window h2{font-size:34px;margin:10px 0}
.support-window p{color:#aab8ad}
.support-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}
.support-amounts button{padding:14px 5px;border-radius:14px;border:1px solid #355d45;background:#111d15;color:white;cursor:pointer}
.support-amounts button.active{background:#69f5a0;color:#07100b}
.support-custom-input{width:100%;padding:16px;border-radius:14px;background:#0b120d;border:1px solid #355d45;color:white}
.support-selected{margin:20px 0;padding:16px;border-radius:16px;background:#163521;color:#69f5a0}
.support-pay{width:100%;padding:17px;border-radius:16px;border:0;background:#69f5a0;color:#061008;font-weight:800;cursor:pointer}

.support-page .support-card{min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at top,#174d2b,#09110d);border-radius:32px}
.support-hero{text-align:center}
.support-hero h1{font-size:52px;margin:20px 0 10px}
.support-hero p{color:#b8c9bd;font-size:20px}
.support-desc{max-width:650px}
.support-box{margin-top:35px;width:min(700px,90%);padding:35px;border:1px solid #31583f;background:#101b15;border-radius:25px;text-align:center}
.support-box h2{font-size:32px}
.support-amounts{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin:25px}
.support-amounts button{padding:16px 30px;border-radius:18px;background:#17271d;color:white;border:1px solid #42d87b;cursor:pointer}
.support-custom-input{padding:16px;border-radius:16px;background:#090d0b;border:1px solid #31583f;color:white;width:220px}
.support-pay{display:block;margin:25px auto 10px;padding:18px 50px;border-radius:20px;border:0;background:#62f29a;font-weight:800;font-size:18px;cursor:pointer}


/* NkShadow final polish layer */
button, .cta, a {
  transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}
button:hover, .cta:hover {
  transform: translateY(-2px);
}
.ai-thinking {
  animation: nkPulse 1.4s infinite;
}
@keyframes nkPulse {
  0%,100% {opacity:.45}
  50% {opacity:1}
}
.chat-message {
  animation: nkAppear .35s ease;
}
@keyframes nkAppear {
  from {opacity:0; transform:translateY(8px)}
  to {opacity:1; transform:none}
}
@media(max-width:700px){
  nav {display:none}
  .hero {padding-top:70px}
}


/* NkShadow new tools panel redesign */
aside{
  background:
    radial-gradient(circle at 20% 0%, rgba(34,197,94,.16), transparent 35%),
    linear-gradient(180deg,#07160d,#06100b);
  border-right:1px solid rgba(76,255,145,.18);
}
aside label{
  color:#65d98a;
  font-size:10px;
  font-weight:700;
}
.tool{
  position:relative;
  background:rgba(12,35,20,.55);
  border:1px solid rgba(88,220,125,.15);
  color:#b7cdbd;
  border-radius:16px;
  padding:16px 14px;
  margin-bottom:10px;
  backdrop-filter:blur(12px);
}
.tool:hover{
  background:rgba(27,75,43,.55);
  border-color:rgba(90,255,140,.4);
  transform:translateY(-2px);
}
.tool.active{
  background:linear-gradient(135deg,#163b25,#0c2416);
  border-color:#43e879;
  color:#f2fff5;
  box-shadow:0 0 35px rgba(57,255,120,.18);
}
.tool b{
  font-size:14px;
}
.tool small{
  color:#79d994;
}
.secure{
  background:rgba(23,80,42,.18);
  border-color:rgba(73,220,110,.3);
  color:#9ab8a2;
}

/* =========================================================
   NkShadow AI — 2026 visual refresh
   Purely cosmetic layer: richer palette, living background,
   smoother motion, sharper focal points. No selectors that
   drive app logic are touched — only look & feel.
   ========================================================= */
:root{
  --green-2:#9cffc4;
  --emerald-deep:#0a3d24;
  --gold:#ffd76b;
  --glass:rgba(255,255,255,.045);
  --glass-line:rgba(255,255,255,.09);
  --ease-smooth:cubic-bezier(.16,.8,.24,1);
}

/* Selection + scrollbar */
::selection{background:rgba(105,245,160,.28);color:#eafff1}
html{scrollbar-color:rgba(105,245,160,.35) transparent}
body::-webkit-scrollbar{width:10px}
body::-webkit-scrollbar-track{background:transparent}
body::-webkit-scrollbar-thumb{background:linear-gradient(#2f7a52,#69f5a0);border-radius:99px;border:2px solid #070908}

/* Living aurora backdrop — replaces the static blobs with slow-drifting light */
.orb{opacity:.16!important;filter:blur(150px)!important;animation:auroraDrift 22s ease-in-out infinite alternate}
.orb.a{animation-delay:0s}
.orb.b{animation-delay:-9s}
@keyframes auroraDrift{
  0%{transform:translate(0,0) scale(1)}
  50%{transform:translate(6vw,4vh) scale(1.18)}
  100%{transform:translate(-3vw,7vh) scale(.95)}
}
body:before{
  background:
    radial-gradient(circle at 78% 4%,rgba(46,197,120,.14),transparent 32%),
    radial-gradient(circle at 8% 92%,rgba(20,110,70,.12),transparent 30%),
    radial-gradient(circle at 50% 45%,rgba(105,245,160,.035),transparent 55%)!important;
}

/* Brand mark — living pulse instead of a flat dot */
.brand i{position:relative;box-shadow:0 0 18px var(--green),0 0 3px var(--green)}
.brand i:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(105,245,160,.4);animation:brandRing 2.6s var(--ease-smooth) infinite}
@keyframes brandRing{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.1);opacity:0}}
.brand{transition:opacity .25s ease}
.brand:hover{opacity:.82}

/* Nav links get a soft underline sweep */
nav a{position:relative;transition:color .25s ease}
nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--green);box-shadow:0 0 8px var(--green);transition:width .3s var(--ease-smooth)}
nav a:hover{color:#eafff1}
nav a:hover:after{width:100%}

/* Eyebrow badge — subtle glass pill with shimmer edge */
.eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid rgba(105,245,160,.22);border-radius:99px;background:rgba(105,245,160,.05);backdrop-filter:blur(6px);letter-spacing:.16em}

/* Hero heading — gradient fill + gentle entrance shimmer on the accent line */
h1 span{
  background:linear-gradient(100deg,#8fa398,#eafff1 45%,#69f5a0 75%,#8fa398);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:heroShine 7s ease-in-out infinite;
}
@keyframes heroShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* CTA — shine sweep on hover, deeper lift */
.cta{position:relative;overflow:hidden;isolation:isolate}
.cta:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);transform:translateX(-140%);transition:transform .65s var(--ease-smooth);z-index:1}
.cta:hover:after{transform:translateX(140%)}
.cta:hover{box-shadow:0 16px 40px rgba(105,245,160,.18),0 0 0 1px rgba(105,245,160,.25)}

/* Studio shell — quiet, static edge glow (no motion, doesn't pull focus) */
.studio{position:relative}
.studio:after{
  background:linear-gradient(135deg,rgba(105,245,160,.14),transparent 32%,transparent 68%,rgba(105,245,160,.09));
}

/* Tool buttons — icon glint + smoother active glow */
.tool{position:relative}
.tool.active{box-shadow:inset 0 0 0 1px rgba(105,245,160,.14),0 0 26px rgba(105,245,160,.06)}
.tool.active:before{content:"";position:absolute;left:-1px;top:14%;bottom:14%;width:2px;border-radius:2px;background:linear-gradient(var(--green),transparent);box-shadow:0 0 10px var(--green)}

/* Generate button — soft breathing glow while idle, stronger on hover */
.controls button{position:relative;box-shadow:0 0 0 0 rgba(105,245,160,.35);animation:btnBreathe 3.4s ease-in-out infinite}
.controls button:hover{animation:none}
@keyframes btnBreathe{0%,100%{box-shadow:0 0 0 0 rgba(105,245,160,.22)}50%{box-shadow:0 0 22px 2px rgba(105,245,160,.16)}}

/* Result panel — quiet drifting particles behind the placeholder state */
.result{position:relative}
.result:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(105,245,160,.35) 1px,transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(circle at 50% 40%,black,transparent 70%);
  animation:particleDrift 16s linear infinite;
}
@keyframes particleDrift{to{background-position:52px 26px}}
.result strong{animation:glyphPulse 3.2s ease-in-out infinite}
@keyframes glyphPulse{0%,100%{opacity:.55;text-shadow:0 0 0 transparent}50%{opacity:1;text-shadow:0 0 22px rgba(105,245,160,.35)}}

/* Steps — numbers glow, cards lift on hover */
.steps article{transition:transform .35s var(--ease-smooth),border-color .35s ease}
.steps article:hover{transform:translateY(-6px);border-color:rgba(105,245,160,.4)}
.steps b{display:inline-block;text-shadow:0 0 14px rgba(105,245,160,.45)}

/* PRO card — richer glass + slow-moving highlight sweep */
.pro-card{position:relative;overflow:hidden}
.pro-card:before{
  content:"";position:absolute;inset:-40%;
  background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,215,107,.10) 80%,rgba(105,245,160,.14) 90%,transparent 100%);
  animation:proSweep 12s linear infinite;pointer-events:none;
}
@keyframes proSweep{to{transform:rotate(360deg)}}
.pro-badge{position:relative;overflow:hidden}
.pro-badge:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.4) 40%,transparent 60%);transform:translateX(-120%);animation:badgeShine 3.6s ease-in-out infinite}
@keyframes badgeShine{0%,60%,100%{transform:translateX(-120%)}30%{transform:translateX(120%)}}

/* About / section headings — subtle reveal-on-scroll feel via animation on load */
.section h2,.about h2{animation:headRise .7s var(--ease-smooth) both}
@keyframes headRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Footer — soft top glow line */
footer{position:relative}
footer:before{content:"";position:absolute;top:-1px;left:6vw;right:6vw;height:1px;background:linear-gradient(90deg,transparent,rgba(105,245,160,.35),transparent)}

/* Chat bubbles — a touch more premium depth */
.ai-bubble{backdrop-filter:blur(10px)}
.chat-bubble{transition:border-color .3s ease,box-shadow .3s ease}
.ai-bubble:hover{border-color:rgba(105,245,160,.34)}

/* Support / donate heart — gentle heartbeat */
.support-heart{display:inline-block;animation:heartbeat 2.4s ease-in-out infinite}
@keyframes heartbeat{0%,100%{transform:scale(1)}15%{transform:scale(1.14)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}}

/* Account chip / avatar — quiet glow ring */
.account-chip button{transition:border-color .25s ease,box-shadow .25s ease}
.account-chip button:hover{border-color:rgba(105,245,160,.4);box-shadow:0 0 24px rgba(105,245,160,.1)}

/* Respect reduced motion for all the new decorative animation too */
@media (prefers-reduced-motion:reduce){
  .orb,.brand i:after,h1 span,.cta:after,.studio:after,.controls button,.result:before,.result strong,
  .pro-card:before,.pro-badge:after,.section h2,.about h2,.support-heart{animation:none!important}
}
.web-search-toggle{background:#0a0e0b;color:#aeb8b0;border:1px solid #29332c;border-radius:8px;padding:0 14px;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease}
.web-search-toggle:hover{border-color:#3a463c}
.web-search-toggle.active{background:#12241a;border-color:var(--green);color:var(--green);box-shadow:0 0 14px #69f5a022}
@media(max-width:780px){.web-search-toggle{grid-column:1/-1;justify-content:center;height:38px}}

/* ---- Polish pass: friendlier error state, retry action, search toggle feel ---- */
.chat-error{border-color:rgba(255,150,150,.28);background:rgba(20,8,8,.55)}
.chat-error .bubble-text{color:#ffb3b3;text-shadow:none}
.chat-error-retry{margin-top:10px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,150,150,.08);border:1px solid rgba(255,150,150,.35);color:#ffb3b3;font-size:11px;font-weight:700;letter-spacing:.02em;padding:7px 14px;border-radius:8px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .12s ease}
.chat-error-retry:hover{background:rgba(255,150,150,.16);border-color:rgba(255,150,150,.6)}
.chat-error-retry:active{transform:scale(.96)}

.web-search-toggle{position:relative;overflow:hidden}
.web-search-toggle.active{animation:webSearchPulse 2.4s ease-in-out infinite}
@keyframes webSearchPulse{0%,100%{box-shadow:0 0 14px #69f5a022}50%{box-shadow:0 0 20px #69f5a044}}
.web-search-toggle:active{transform:scale(.96)}

.quota-status{transition:opacity .25s ease}

/* ---- Neon skeleton loader for pending AI text (cyberpunk pulse) ---- */
.nk-skeleton{display:flex;flex-direction:column;gap:9px;padding:2px 0;width:100%}
.nk-skeleton-line{position:relative;display:block;height:11px;border-radius:6px;overflow:hidden;background:linear-gradient(90deg,rgba(105,245,160,.08) 0%,rgba(105,245,160,.22) 50%,rgba(105,245,160,.08) 100%);background-size:200% 100%;animation:nkSkeletonPulse 1.6s ease-in-out infinite,nkSkeletonSheen 1.8s linear infinite;box-shadow:0 0 10px rgba(105,245,160,.12) inset}
.nk-skeleton-line:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(105,245,160,.55),transparent);transform:translateX(-100%);animation:nkSkeletonShine 1.8s ease-in-out infinite}
.nk-skeleton-line.w1{width:78%}
.nk-skeleton-line.w2{width:94%;animation-delay:.12s,.12s}
.nk-skeleton-line.w3{width:58%;animation-delay:.24s,.24s}
.nk-skeleton-line.w1:before{animation-delay:.05s}
.nk-skeleton-line.w2:before{animation-delay:.2s}
.nk-skeleton-line.w3:before{animation-delay:.35s}
@keyframes nkSkeletonPulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes nkSkeletonSheen{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes nkSkeletonShine{0%{transform:translateX(-100%)}100%{transform:translateX(220%)}}
@media(prefers-reduced-motion:reduce){.nk-skeleton-line,.nk-skeleton-line:before{animation:none;opacity:.7}}

/* ===== TARIFF PLANS (LAVA commercial) — cyberpunk neon ===== */
.tariff-page .tariff-card-wrap{min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;border:1px solid #003d0f;border-radius:32px;box-shadow:0 0 60px #00ff0014 inset}
.tariff-hero{text-align:center}
.tariff-hero h1{font-size:clamp(26px,4vw,40px);letter-spacing:.02em;margin:20px 0 8px;color:#00ff00;text-shadow:0 0 18px #00ff0088;font-weight:800}
.tariff-sub{color:#9cffb0;font-size:15px;opacity:.85}
.tariff-box{margin-top:35px;width:min(760px,92%);padding:35px;border:1px solid #00ff0033;background:#0a0a0a;border-radius:25px;text-align:center}
.tariff-grid{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:10px 0 25px}
.tariff-btn{display:flex;flex-direction:column;gap:8px;align-items:center;padding:18px 26px;min-width:170px;border-radius:16px;background:#141414;border:1px solid #2a2a2a;color:#fff;cursor:pointer;transition:.15s}
.tariff-btn:hover{border-color:#00ff00;box-shadow:0 0 18px #00ff0033}
.tariff-btn.active{background:#00ff0014;border-color:#00ff00}
.tariff-price{font-size:22px;font-weight:800;color:#eafff0}
.tariff-limit{font-size:11px;color:#8fae95}
.tariff-btn--featured{border-color:#00ff00;background:#001a05;box-shadow:0 0 25px #00ff0044}
.tariff-btn--featured .tariff-price{color:#00ff00;text-shadow:0 0 12px #00ff00aa}
.tariff-btn--featured:hover{box-shadow:0 0 35px #00ff0066}
.tariff-custom-input{padding:15px;border-radius:14px;background:#0a0a0a;border:1px solid #2a2a2a;color:#fff;width:240px;outline:0}
.tariff-custom-input:focus{border-color:#00ff00}
.tariff-activate{display:block;margin:22px auto 12px;padding:16px 44px;border-radius:16px;border:0;background:#00ff00;color:#020402;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 0 20px #00ff0055}
.tariff-activate:hover{box-shadow:0 0 30px #00ff0088}
.tariff-note{color:#6f8f76;font-size:11px}
#support-modal .tariff-grid,#support-modal .tariff-custom-input,#support-modal .tariff-activate{margin-left:auto;margin-right:auto}
#support-modal h2{color:#00ff00;text-shadow:0 0 14px #00ff0088;font-size:26px}

/* ===== Footer legal links ===== */
.footer-legal-links{display:flex;gap:16px;margin-left:auto}
.footer-legal-links a{font-size:10px;color:#5a655e;text-decoration:none}
.footer-legal-links a:hover{color:#00ff00}
footer{flex-wrap:wrap;gap:10px}

/* ===== Legal modal (Пользовательское соглашение / Политика конфиденциальности) ===== */
.legal-modal{position:fixed;inset:0;background:#000c;backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;z-index:1100}
.legal-modal.show{display:flex;animation:fadeSupport .2s ease}
.legal-modal-backdrop{position:absolute;inset:0}
.legal-modal-window{position:relative;width:min(560px,90vw);max-height:80vh;overflow:auto;padding:34px;border:1px solid #00ff0044;border-radius:22px;background:#050505;box-shadow:0 0 60px #00ff0022}
.legal-modal-close{position:absolute;right:18px;top:14px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.legal-modal-window h2{color:#00ff00;text-shadow:0 0 14px #00ff0088;font-size:20px;margin:0 0 16px}
.legal-modal-body{color:#c7d6ca;font-size:13px;line-height:1.75}
.legal-modal-body p{margin:0 0 12px}
.legal-modal-body a{color:#00ff00}
