
:root{--bg:#090b16;--panel:#111426;--panel2:#171a30;--pink:#ff5db1;--purple:#a58bff;--text:#f7f5ff;--muted:#a7abc5;--line:#2a2d49;--green:#61e7b2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 75% 0%,#25163b 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}.wrap{max-width:1200px;margin:auto;padding:0 24px}.nav{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:850;font-size:25px;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brand-mark{color:var(--pink);font-size:30px}.navlinks{display:flex;gap:24px}.navlinks a{color:var(--muted);text-decoration:none;font-size:14px}.navlinks a:hover{color:var(--text)}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:750;color:#180b20;background:linear-gradient(120deg,var(--pink),#c68bff);box-shadow:0 8px 28px #ff5db125}.btn.secondary{background:transparent;color:var(--text);border:1px solid #555070;box-shadow:none}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:56px 0 48px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #51315b;border-radius:99px;color:#ffb9df;font-size:12px;background:#ff5db10d}.hero h1{font-size:clamp(38px,5.2vw,64px);line-height:1.04;letter-spacing:-2.8px;margin:18px 0}.gradient{background:linear-gradient(100deg,#ff78c2,#b9a5ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:540px;line-height:1.75;color:var(--muted);font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.features{display:flex;gap:18px;flex-wrap:wrap;color:#c7c6de;font-size:12px}.hero-art{position:relative;min-height:390px;border-radius:26px;overflow:hidden;border:1px solid #4b355e;background:linear-gradient(145deg,#33244b,#17172d 65%,#101223);display:flex;align-items:center;justify-content:center}.hero-art:before,.hero-art:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.hero-art:before{width:270px;height:270px;background:#f25db455;top:-80px;right:-30px}.hero-art:after{width:220px;height:220px;background:#8e7cff44;bottom:-70px;left:-20px}.art-orbit{position:absolute;width:280px;height:280px;border:1px solid #ffb4e544;border-radius:50%;transform:rotate(-22deg)}.avatar-main{position:relative;z-index:1;width:230px;height:290px;border-radius:48% 48% 22px 22px;background:linear-gradient(155deg,#f5b3d4,#5c3b78 60%,#25223e);display:flex;align-items:center;justify-content:center;font-size:120px;box-shadow:0 25px 70px #0008;border:1px solid #f9c3e8aa}.float-card{position:absolute;z-index:2;background:#111426eF;border:1px solid #49405f;padding:12px 14px;border-radius:14px;box-shadow:0 10px 35px #0006;font-size:13px}.float-card small{display:block;color:var(--muted);margin-top:4px}.float-top{top:24px;left:22px}.float-bottom{bottom:24px;right:18px}.section{padding:28px 0 54px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section h2{font-size:28px;letter-spacing:-.8px;margin:0 0 8px}.sub{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter{background:var(--panel);border:1px solid var(--line);color:var(--muted);padding:8px 14px;border-radius:999px}.filter.active{color:#fff;background:#492343;border-color:#a84683}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.character{background:linear-gradient(160deg,#171a30,#101221);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s;cursor:pointer}.character:hover{transform:translateY(-4px);border-color:#a55aab}.portrait{height:190px;display:flex;align-items:center;justify-content:center;font-size:86px;position:relative;background:radial-gradient(circle at 50% 25%,var(--glow),transparent 55%),linear-gradient(150deg,var(--tone),#17172b)}.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#111426)}.tag{position:absolute;z-index:1;top:12px;left:12px;background:#111426d9;border:1px solid #ffffff20;padding:5px 8px;border-radius:8px;font-size:11px}.char-body{padding:15px}.char-body h3{margin:0 0 5px;font-size:17px}.char-body p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.char-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:11px;color:var(--muted)}.online{color:var(--green)}.chat-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.chat-info,.chatbox,.plan{border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,#15182b,#0e1020)}.chat-info{padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.chat-avatar{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:46px;background:linear-gradient(140deg,#ff9ecf,#8f78db);border:3px solid #ffffff20;margin-bottom:15px}.chat-info h3{margin:0 0 6px}.chat-info p{color:var(--muted);font-size:13px;line-height:1.6;max-width:280px}.chatbox{min-height:350px;display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:15px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px}.chat-head .mini{font-size:27px}.chat-head small{display:block;color:var(--green);margin-top:3px}.messages{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1;min-height:210px}.bubble{padding:11px 14px;border-radius:15px;max-width:82%;font-size:14px;line-height:1.55}.bubble.ai{align-self:flex-start;background:#22253d;border:1px solid #363955;border-bottom-left-radius:4px}.bubble.user{align-self:flex-end;background:linear-gradient(120deg,#b33786,#7253bd);border-bottom-right-radius:4px}.chat-compose{padding:12px;border-top:1px solid var(--line);display:flex;gap:8px}.chat-compose input{min-width:0;flex:1;background:#090b16;border:1px solid #30334f;color:var(--text);border-radius:11px;padding:12px;outline:none}.chat-compose input:focus{border-color:var(--pink)}.note{font-size:11px;color:var(--muted);padding:0 15px 13px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan{padding:23px;position:relative}.plan.featured{border-color:#cf5cae;box-shadow:0 0 35px #a33b8020}.plan h3{margin:0 0 8px}.price{font-size:34px;font-weight:850;margin:18px 0 4px}.price span{font-size:13px;color:var(--muted);font-weight:500}.plan ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:11px;color:#d0cfe1;font-size:13px}.plan li:before{content:"✓";color:var(--green);margin-right:9px}.plan .btn{width:100%}.ribbon{position:absolute;right:14px;top:14px;color:#ffb4df;font-size:10px;background:#552547;padding:6px 8px;border-radius:8px}.footer{border-top:1px solid var(--line);padding:25px 0 35px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#050610c9;z-index:10;display:none;place-items:center;padding:18px}.modal-backdrop.show{display:grid}.modal{max-width:420px;width:100%;background:#15182b;border:1px solid #4a3a5c;border-radius:20px;padding:24px;box-shadow:0 25px 90px #0009}.modal h2{margin-top:0}.modal p{color:var(--muted);font-size:14px;line-height:1.65}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#232641;border:1px solid #51466b;padding:12px 18px;border-radius:12px;display:none;z-index:20;font-size:13px;box-shadow:0 12px 35px #0008}.toast.show{display:block}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:38px}.hero-art{min-height:330px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.navlinks{gap:12px}.chat-layout{grid-template-columns:1fr}.chat-info{padding:18px}.plans{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}}
@media(max-width:560px){.wrap{padding:0 16px}.nav{height:66px}.navlinks{display:none}.brand{font-size:22px}.nav>.btn{padding:10px 12px;font-size:12px}.hero h1{font-size:43px;letter-spacing:-1.8px}.hero{gap:22px;padding:32px 0}.hero-art{min-height:285px}.avatar-main{width:175px;height:220px;font-size:92px}.art-orbit{width:220px;height:220px}.float-card{font-size:11px;padding:9px 10px}.float-top{top:12px;left:10px}.float-bottom{bottom:12px;right:10px}.features{gap:10px}.section h2{font-size:24px}.cards{gap:10px}.portrait{height:145px;font-size:66px}.char-body{padding:12px}.char-body h3{font-size:15px}.char-body p{font-size:11px}.char-foot{font-size:10px;gap:5px}.actions .btn{flex:1}.footer{font-size:11px}}

.creator-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.creator-panel,.creator-preview{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:25px}.creator-panel{display:grid;gap:16px}.creator-panel label{display:grid;gap:8px;font-size:13px;color:#ded7ee}.creator-panel input,.creator-panel select,.creator-panel textarea{width:100%;background:#090b16;color:var(--text);border:1px solid #44405d;border-radius:10px;padding:12px;font:inherit}.creator-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at center,#5e345f,#17172b 65%);min-height:320px}.preview-emoji{font-size:110px}.creator-preview h3{font-size:25px;margin:14px 0 4px}.creator-preview p{color:var(--muted)}.saved-character{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.saved-character .big{font-size:55px}.saved-character button{margin-top:10px}.saved-character h3{margin:8px 0 4px}.saved-character p{color:var(--muted);font-size:12px;min-height:30px}@media(max-width:720px){.creator-layout{grid-template-columns:1fr}.creator-preview{min-height:230px}}

/* KoiAI v1.1 usability changes */
.field-hint{display:block;color:var(--muted);font-size:11px;text-align:right;margin-top:-3px}
.clear-chat{margin-top:10px;font-size:12px;padding:9px 13px}
.creator-panel label{min-width:0}
.creator-panel input:focus,.creator-panel select:focus,.creator-panel textarea:focus{outline:2px solid #c68bff;outline-offset:2px}
.character:focus-visible,.btn:focus-visible,.filter:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.messages{overflow-y:auto;max-height:390px;scrollbar-color:#555070 #111426}
.bubble{overflow-wrap:anywhere;white-space:pre-wrap}
.saved-character h3,.saved-character p{overflow-wrap:anywhere}
@media(max-width:560px){.clear-chat{width:100%}.chatbox{min-height:370px}}
