*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Century Gothic,Avant Garde,ITC Avant Garde Gothic,Helvetica Neue,Helvetica,Arial,sans-serif;background:#0f1115;color:#e8eaed;overflow-x:hidden}.wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.card{width:100%;max-width:420px;background:#181b22;border:1px solid #262a33;border-radius:16px;padding:2rem;box-shadow:0 10px 40px rgba(0,0,0,.4)}.card h1{margin:0 0 .5rem;font-size:1.6rem}.sub{margin:0 0 1.5rem;color:#9aa0aa;font-size:.95rem;line-height:1.45}form{gap:1rem}form,label{display:flex;flex-direction:column}label{gap:.4rem;font-size:.85rem;color:#c2c7d0}input{padding:.7rem .85rem;border-radius:9px;border:1px solid #2e333d;background:#0f1115;color:#e8eaed;font-size:1rem}input:focus{outline:none;border-color:#4f8cff}button{margin-top:.5rem;padding:.8rem 1rem;border:none;border-radius:9px;background:#4f8cff;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}button:hover:not(:disabled){background:#3d79ec}button:disabled{opacity:.6;cursor:not-allowed}.msg{margin:1.25rem 0 0;padding:.8rem .9rem;border-radius:9px;font-size:.9rem;line-height:1.4}.msg.success{background:#11321f;border:1px solid #1f6b3f;color:#7ee2a8}.msg.info{background:#2a2410;border:1px solid #6b591f;color:#e2cf7e}.msg.error{background:#321414;border:1px solid #6b1f1f;color:#e27e7e}a{color:#4f8cff}.chat-page{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;color:#4a4a4a;background:radial-gradient(1100px 520px at 8% -12%,rgba(249,232,38,.3),transparent 60%),radial-gradient(900px 500px at 112% 115%,rgba(255,131,0,.1),transparent 55%),linear-gradient(160deg,#fbfaf5,#f5f3ec)}.chat-page:after{content:"";background-image:radial-gradient(rgba(60,60,60,.05) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 50% 42%,#000 0,transparent 72%)}.chat-bg,.chat-page:after{position:absolute;inset:0;z-index:0;pointer-events:none}.chat-bg{overflow:hidden}.chat-blob{position:absolute;border-radius:50%;filter:blur(64px);will-change:transform}.chat-blob1{width:540px;height:540px;top:-180px;left:-140px;background:radial-gradient(circle at 32% 32%,rgba(249,232,38,.85),transparent 68%);opacity:.55;animation:cdrift1 24s ease-in-out infinite alternate}.chat-blob2{width:480px;height:480px;right:-160px;bottom:-200px;background:radial-gradient(circle at 32% 32%,rgba(255,131,0,.55),transparent 68%);opacity:.32;animation:cdrift2 30s ease-in-out infinite alternate}.chat-blob3{width:360px;height:360px;top:42%;left:52%;background:radial-gradient(circle at 32% 32%,rgba(255,232,115,.8),transparent 68%);opacity:.28;animation:cdrift3 34s ease-in-out infinite alternate}@keyframes cdrift1{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(80px,60px,0) scale(1.12)}}@keyframes cdrift2{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-70px,-50px,0) scale(1.15)}}@keyframes cdrift3{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-60px,40px,0) scale(.9)}}@keyframes chatFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.chat-wrap{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:780px;height:min(86vh,820px);margin:0 auto;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);border:1px solid rgba(230,227,221,.9);border-top:5px solid #f9e826;border-radius:18px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 30px 70px -20px rgba(60,60,60,.28),0 8px 24px -12px rgba(249,232,38,.35);animation:chatFadeUp .6s ease both}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.15rem;border-bottom:1px solid rgba(60,60,60,.1);background:rgba(255,255,255,.5);flex-wrap:wrap}.chat-header strong{color:#3c3c3c;font-size:1.02rem}.chat-header .who{color:#8f8f8f;font-size:.85rem}.allowance{display:flex;align-items:center;gap:.55rem;font-size:.78rem;color:#646464}.allowance>span{background:#f7f5ee;border:1px solid #e6e3dd;padding:.3rem .65rem;border-radius:999px;font-weight:600;white-space:nowrap}.link-btn{background:#ffffff;border:1px solid #cbc8c5;color:#4a4a4a;padding:.4rem .8rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;margin:0;width:auto;transition:background .15s,border-color .15s,color .15s}.link-btn:hover{background:#f9e826;border-color:#f9e826;color:#3c3c3c}.upgrade-btn{width:auto;margin:0;padding:.42rem .85rem;border:none;border-radius:8px;background:linear-gradient(180deg,#fced3f,#f9e826 55%,#efdb12);color:#3c3c3c;font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px -4px rgba(249,232,38,.7);transition:box-shadow .2s,transform .08s}.upgrade-btn:hover{box-shadow:0 8px 18px -4px rgba(249,232,38,.9)}.upgrade-btn:active{transform:translateY(1px)}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-text{visibility:hidden;opacity:0;position:absolute;top:calc(100% + 9px);right:0;width:250px;white-space:normal;text-align:left;padding:.6rem .75rem;border-radius:9px;background:#3c3c3c;color:#ffffff;font-size:.78rem;font-weight:500;line-height:1.45;box-shadow:0 12px 28px -10px rgba(0,0,0,.45);transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:20}.tooltip-text:before{content:"";position:absolute;bottom:100%;right:16px;border:6px solid transparent;border-bottom-color:#3c3c3c}.tooltip-wrap:focus-within .tooltip-text,.tooltip-wrap:hover .tooltip-text{visibility:visible;opacity:1;transform:translateY(0)}.chat-body{flex:1 1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.7rem}.empty{color:#9b9b9b;text-align:center;margin-top:2rem}.bubble{max-width:80%;padding:.75rem .95rem;border-radius:14px;line-height:1.5;font-size:.97rem;white-space:pre-wrap;word-wrap:break-word;animation:bubbleIn .3s ease both}.bubble.user{align-self:flex-end;background:linear-gradient(180deg,#fced3f,#f9e826);color:#3c3c3c;border-bottom-right-radius:4px;box-shadow:0 4px 12px -4px rgba(249,232,38,.6)}.bubble.assistant{align-self:flex-start;background:#ffffff;border:1px solid #e6e3dd;color:#4a4a4a;border-bottom-left-radius:4px;box-shadow:0 2px 8px -4px rgba(60,60,60,.15)}.chat-body .msg.info{background:#fff8e1;border:1px solid #f2e2a0;color:#8a6d00;align-self:stretch}.chat-input{display:flex;gap:.6rem;padding:.95rem 1.15rem;border-top:1px solid rgba(60,60,60,.1);background:rgba(255,255,255,.5);flex-direction:row}.chat-input input{flex:1 1;padding:.75rem .9rem;border-radius:10px;border:1px solid #cbc8c5;background:#fbfaf8;color:#3c3c3c;font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.chat-input input::placeholder{color:#b6b6b5}.chat-input input:focus{outline:none;background:#ffffff;border-color:#4a4a4a;box-shadow:0 0 0 3px rgba(249,232,38,.55)}.chat-input button{width:auto;margin:0;padding:.7rem 1.35rem;border:none;border-radius:10px;background:linear-gradient(180deg,#fced3f,#f9e826 55%,#efdb12);color:#3c3c3c;font-weight:700;font-size:1rem;font-family:inherit;cursor:pointer;box-shadow:0 6px 16px -6px rgba(249,232,38,.7);transition:box-shadow .2s,transform .08s}.chat-input button:hover:not(:disabled){box-shadow:0 10px 24px -6px rgba(249,232,38,.8)}.chat-input button:active:not(:disabled){transform:translateY(1px)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.bubble,.chat-blob1,.chat-blob2,.chat-blob3,.chat-wrap{animation:none}}.limit-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(40,38,32,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:limitOverlayIn .2s ease both}.limit-modal{position:relative;width:100%;max-width:430px;background:#ffffff;border-top:5px solid #f9e826;border-radius:18px;padding:2.5rem 2rem 1.75rem;text-align:center;color:#4a4a4a;box-shadow:0 40px 90px -24px rgba(40,38,32,.55);animation:limitPop .36s cubic-bezier(.34,1.56,.64,1) both}.limit-close{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;padding:0;margin:0;border:none;border-radius:50%;background:#f2f0ec;color:#646464;font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s}.limit-close:hover{background:#e6e3dd;color:#3c3c3c}.limit-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 1.1rem;border-radius:50%;background:#f9e826;color:#3c3c3c;font-size:1.7rem;font-weight:800}.limit-title{margin:0 0 .6rem;font-size:1.4rem;font-weight:700;color:#3c3c3c}.limit-text{margin:0 0 1.6rem;font-size:.97rem;line-height:1.6;color:#646464}.limit-upgrade-wrap{position:relative;display:block;width:100%}.limit-upgrade{width:100%;margin:0;padding:.9rem 1rem;border:none;border-radius:10px;background:linear-gradient(180deg,#fced3f,#f9e826 55%,#efdb12);color:#3c3c3c;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 6px 16px -6px rgba(249,232,38,.7);transition:box-shadow .2s,transform .08s}.limit-upgrade:hover{box-shadow:0 10px 24px -6px rgba(249,232,38,.9)}.limit-upgrade:active{transform:translateY(1px)}.limit-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 10px);left:50%;width:250px;margin-left:-125px;padding:.6rem .75rem;border-radius:9px;background:#3c3c3c;color:#ffffff;font-size:.78rem;font-weight:500;line-height:1.45;text-align:left;box-shadow:0 12px 28px -10px rgba(0,0,0,.45);transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:20}.limit-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#3c3c3c}.limit-upgrade-wrap:focus-within .limit-tooltip,.limit-upgrade-wrap:hover .limit-tooltip{visibility:visible;opacity:1;transform:translateY(0)}.limit-later{width:auto;margin:.9rem auto 0;padding:.3rem .5rem;background:none;border:none;color:#8f8f8f;font-size:.85rem;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.limit-later:hover{color:#4a4a4a}@keyframes limitOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes limitPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.limit-modal,.limit-overlay{animation:none}}@media (max-width:480px){.chat-page{padding:.6rem}.chat-wrap{height:min(94vh,900px);border-radius:14px;min-width:0}.chat-header{padding:.7rem .85rem;gap:.5rem}.chat-header strong{font-size:.95rem}.chat-header .who{font-size:.78rem}.allowance{gap:.4rem;flex-wrap:wrap;justify-content:flex-start}.allowance>span{font-size:.72rem;padding:.25rem .5rem}.upgrade-btn{font-size:.75rem;padding:.38rem .7rem}.link-btn{font-size:.75rem;padding:.35rem .65rem}.tooltip-text{width:210px}.chat-body{padding:1rem .9rem}.bubble{max-width:88%;font-size:.95rem}.chat-input{padding:.75rem .85rem;gap:.5rem}.chat-input button{padding:.7rem 1rem}.limit-modal{padding:2.2rem 1.4rem 1.5rem}}