:root{color-scheme:dark;--bg:#100d20;--panel:#19152d;--panel2:#211b3c;--line:#39305e;--text:#f8f5ff;--muted:#b4accb;--pink:#ff70c8;--cyan:#69e9ff;--violet:#a88bff;--red:#ff9cae}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 14% 18%,#312154 0,transparent 34%),radial-gradient(ellipse at 88% 62%,#123b55 0,transparent 30%),linear-gradient(145deg,#100d20,#0c1223 65%,#15102a);color:var(--text);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;height:100dvh;overflow:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(#a88bff22 1px,transparent 1px),linear-gradient(90deg,#a88bff22 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.app{height:100%;display:flex;flex-direction:column;position:relative}.top{height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 920px)/2));border-bottom:1px solid #ffffff16;background:#100d20b8;backdrop-filter:blur(18px);box-shadow:0 8px 30px #09071455;z-index:2}.brand{display:flex;align-items:center;gap:12px}.mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(140deg,var(--pink),var(--violet) 55%,var(--cyan));display:grid;place-items:center;color:#160f2c;font-size:22px;font-weight:900;box-shadow:0 0 24px #b484ff66,inset 0 1px #fff9}.brand h1{font-size:16px;margin:0;letter-spacing:.2px}.brand small{display:block;color:#b9afd2;font-size:11px}.model{border:1px solid #69e9ff55;border-radius:99px;color:#d5faff;padding:7px 12px;font-size:11px;display:flex;align-items:center;gap:8px;background:#12273899;box-shadow:inset 0 0 18px #69e9ff0c}.model i{width:8px;height:8px;border-radius:99px;background:#7cffb2;display:block;box-shadow:0 0 10px #7cffb2;animation:pulse 1.8s infinite}main{flex:1;min-height:0;overflow:auto;padding:34px 18px 20px;scrollbar-color:#6c5da0 transparent}.content{max-width:820px;margin:0 auto}.intro{position:relative;overflow:hidden;margin:3vh 0 26px;padding:clamp(24px,5vw,45px);border:1px solid #8e76d944;border-radius:30px;background:linear-gradient(130deg,#24183dcc,#171d35e8 64%,#102c3cdd);box-shadow:0 22px 70px #07061355,inset 0 1px #ffffff16}.intro:before{content:"✦";position:absolute;right:12%;top:20px;color:var(--cyan);font-size:17px;text-shadow:0 0 18px var(--cyan);animation:float 3s ease-in-out infinite}.intro:after{content:"✧";position:absolute;right:7%;top:80px;color:var(--pink);font-size:25px;text-shadow:0 0 20px var(--pink);animation:float 3.7s ease-in-out infinite reverse}.eyebrow{font-size:10px;color:#f0b6ff;font-weight:800;letter-spacing:2px;text-transform:uppercase}.intro h2{font-size:clamp(34px,6vw,55px);line-height:1.08;letter-spacing:-2px;margin:12px 0;background:linear-gradient(95deg,#fff 8%,#e0cbff 52%,#86f4ff);background-clip:text;color:transparent}.intro p{color:#d0c8e2;max-width:570px;margin:0;font-size:15px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.chip{color:#eee9ff;background:linear-gradient(145deg,#ffffff0c,#ffffff04),var(--panel);border:1px solid #b09aff32;border-radius:14px;padding:11px 14px;font-size:12px;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.chip:hover{transform:translateY(-2px);border-color:#69e9ff99;box-shadow:0 8px 22px #392d6c88;background:#262044}.messages{display:none;flex-direction:column;gap:20px;padding:8px 4px 28px}.message{display:flex;gap:12px;align-items:flex-start;animation:in .2s ease}.message.user{flex-direction:row-reverse}.avatar{height:36px;width:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#d56eff,#7d7bff);color:white;font-weight:800;box-shadow:0 5px 18px #9d70ff44}.user .avatar{background:linear-gradient(145deg,#4dcee7,#6288ff);color:#071521;font-size:10px}.bubble{max-width:min(84%,650px);overflow-wrap:anywhere;white-space:pre-wrap;padding:8px 2px;color:#e9e4f5}.user .bubble{padding:11px 15px;background:linear-gradient(135deg,#342458,#213858);border:1px solid #a88bff55;border-radius:17px 6px 17px 17px;box-shadow:0 8px 26px #08071955}.typing{color:var(--cyan);font-size:13px;padding:8px 0}.notice{display:none;max-width:820px;margin:0 auto 10px;color:var(--red);font-size:12px;white-space:pre-wrap}.composer-wrap{padding:10px 18px max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#100d20 25%);z-index:1}.composer{max-width:820px;margin:auto;background:#1b1730ed;border:1px solid #a88bff55;border-radius:20px;padding:10px 11px 8px;box-shadow:0 16px 48px #07061199,0 0 25px #8370ff12;backdrop-filter:blur(18px)}.composer:focus-within{border-color:#69e9ff;box-shadow:0 0 0 3px #69e9ff19,0 16px 48px #07061199}.row{display:flex;gap:10px;align-items:end}.input{flex:1;min-height:36px;max-height:150px;resize:none;color:var(--text);background:none;border:0;outline:0;padding:7px 6px;font:inherit;line-height:1.45}.input::placeholder{color:#aaa0c2}.send{height:40px;width:43px;border:0;border-radius:13px;background:linear-gradient(140deg,var(--pink),#b888ff 52%,var(--cyan));color:#17112b;font-size:21px;font-weight:900;cursor:pointer;box-shadow:0 5px 18px #b888ff44;transition:transform .15s}.send:hover{transform:translateY(-2px) scale(1.03)}.send:disabled{opacity:.55;cursor:wait}.under{display:flex;justify-content:space-between;color:#aaa0bd;font-size:10px;padding:6px 5px 0}.under button{border:0;background:none;color:#c4b9dc;font:inherit;cursor:pointer}.under button:hover{color:var(--cyan)}.footer{display:flex;justify-content:center;padding:0 16px 10px;color:#9288a8;font-size:10px;text-align:center}.footer span{max-width:820px}@keyframes in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.55;box-shadow:0 0 3px #7cffb2}}@keyframes float{50%{transform:translateY(-8px) rotate(10deg)}}@media(max-width:600px){.top{height:62px;flex-basis:62px;padding:0 14px}.intro{margin-top:2vh;padding:24px 20px;border-radius:23px}.intro h2{letter-spacing:-1px}.intro p{font-size:14px}.chip{flex:1 1 44%;min-height:48px}.model{padding:6px 9px;font-size:10px}.composer-wrap{padding-left:12px;padding-right:12px}.footer{font-size:9px}}
/* Full-screen cyber-anime scene */
body{background:#091126 url('/cyber-scene.svg') center center/cover fixed}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#07112512 0%,#09132b24 42%,#080c21b5 72%,#090d20d2),linear-gradient(0deg,#080d20a8,transparent 35%,#080d2080);z-index:0}.app{z-index:1;background:transparent}.top{height:70px;flex-basis:70px;padding:0 max(24px,calc((100vw - 1180px)/2));background:#09112655;border-bottom-color:#8ef1ff35;backdrop-filter:blur(14px)}.content{max-width:1120px}.intro{width:min(600px,100%);margin:5vh 1vw 22px auto;padding:clamp(24px,4vw,38px);border-color:#91efff66;border-radius:24px;background:linear-gradient(135deg,#101a35e8,#161430d9 58%,#142a42dd);backdrop-filter:blur(9px)}.eyebrow{color:#ffa6e5}.intro h2{background:linear-gradient(95deg,#fff 8%,#dcd4ff 55%,#75f2ff);background-clip:text;color:transparent}.intro p{color:#e0e2f4}.chip{background:linear-gradient(140deg,#ffffff16,#ffffff08),#151732d9;border-color:#bda7ff66}.model{background:#07172ba8;border-color:#75efff66;color:#e0fbff}.messages{width:min(640px,100%);margin:0 1vw 20px auto}.bubble{background:#10172edb;border:1px solid #7cecff44;border-radius:4px 16px 16px 16px;backdrop-filter:blur(9px)}.user .bubble{background:linear-gradient(135deg,#34245fdf,#15395bdc);border-color:#b18dff77}.composer{width:min(600px,100%);margin:0 max(1vw,calc((100vw - 1120px)/2)) 0 auto;background:#0c1428ed;border-color:#79edff77;backdrop-filter:blur(16px)}.send{background:linear-gradient(140deg,#72efff,#b28bff 55%,#ff78d9);color:#12152e}.footer{justify-content:flex-end;padding-right:max(4vw,calc((100vw - 1120px)/2));color:#c0bdd2}@media(max-width:700px){body{background-position:35% center}.top{height:62px;flex-basis:62px;padding:0 14px}.intro{width:100%;margin:3vh 0 18px;padding:24px 20px;background:#10172de5}.intro h2{letter-spacing:-1px}.intro p{font-size:13px}.chip{flex:1 1 44%;min-height:47px}.messages{width:100%;margin:0}.composer{width:100%;margin:0 auto}.footer{justify-content:center;padding-left:14px;padding-right:14px;font-size:9px}}

[hidden]{display:none!important}.header-right{display:flex;align-items:center;gap:12px}.sign-out{border:1px solid #91efff66;border-radius:999px;background:#0b2335cc;color:#dcfbff;padding:8px 13px;font:inherit;font-size:11px;cursor:pointer}.sign-out:hover{border-color:var(--cyan);background:#143249}.auth-gate{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:22px;background:linear-gradient(90deg,#07111de0,#091322a8),url('/cyber-scene.svg') center/cover}.auth-card{width:min(100%,430px);padding:clamp(26px,6vw,42px);border:1px solid #8feaff55;border-radius:28px;background:linear-gradient(145deg,#111d30f2,#111327f5 68%,#21162ff2);box-shadow:0 30px 90px #030914bb,0 0 40px #65e8ff18;backdrop-filter:blur(18px)}.auth-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:23px;border-radius:18px;background:linear-gradient(140deg,var(--pink),var(--violet) 55%,var(--cyan));color:#160f2c;font-size:26px;font-weight:900;box-shadow:0 0 25px #b484ff66}.auth-card h1{margin:8px 0;font-size:clamp(30px,7vw,40px);letter-spacing:-1.5px;background:linear-gradient(95deg,#fff,#d9ccff 55%,#83efff);background-clip:text;color:transparent}.auth-card>p:not(.auth-message){margin:0 0 25px;color:#c4c1d6;font-size:14px}.auth-card label{display:block;margin:15px 0 7px;color:#eeeafd;font-size:12px;font-weight:700}.auth-card input{width:100%;padding:13px 14px;border:1px solid #a99aff44;border-radius:13px;outline:none;background:#090f1cbf;color:#fff;font:inherit;font-size:14px}.auth-card input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #69e9ff18}.auth-submit{width:100%;margin-top:22px;padding:13px;border:0;border-radius:13px;background:linear-gradient(110deg,var(--pink),#b888ff 53%,var(--cyan));color:#17112b;font:inherit;font-weight:800;cursor:pointer}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-message{min-height:19px;margin:12px 0 0;color:#a8f6da;font-size:12px}.auth-message.error{color:#ff9cae}.auth-toggle{display:block;margin:9px auto 0;border:0;background:none;color:#9eefff;font:inherit;font-size:12px;cursor:pointer}.auth-toggle:hover{text-decoration:underline}@media(max-width:600px){.auth-gate{padding:16px}.auth-card{border-radius:23px}.header-right{gap:7px}.sign-out{padding:7px 9px;font-size:10px}}
