@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&display=swap";#login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(-45deg,#e0e7ff,#fce7f3,#d1fae5,#fef9c3);background-size:400% 400%;animation:aurora-bg 14s ease infinite;display:flex;align-items:center;justify-content:center;padding:20px}.login-card-wrap{background:linear-gradient(135deg,#6366f1,#0ea5e9,#10b981,#f59e0b,#f43f5e,#8b5cf6);background-size:300% 300%;animation:rainbow-border 5s linear infinite;border-radius:30px;padding:3px;box-shadow:0 20px 60px #4f46e547;animation:rainbow-border 5s linear infinite,card-in .5s cubic-bezier(.34,1.56,.64,1)}.login-card{background:#fffffff7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:28px;padding:44px 36px;text-align:center;max-width:400px;width:100%}@keyframes card-in{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{width:80px;height:80px;border-radius:50%;border:4px solid rgba(99,102,241,.3);box-shadow:0 6px 20px #6366f140;margin-bottom:16px}.login-title{font-size:22px;font-weight:900;background:linear-gradient(135deg,#4f46e5,#0ea5e9,#10b981);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.4;margin-bottom:10px}.login-subtitle{font-size:14px;color:#6b7280;font-weight:500;line-height:1.6;margin-bottom:28px}.google-btn{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1e1b4b;font-weight:800;font-size:15px;font-family:Noto Sans TC,sans-serif;border:2px solid rgba(99,102,241,.3);border-radius:100px;padding:13px 28px;width:100%;cursor:pointer;box-shadow:0 4px 16px #0000001f;transition:all .25s cubic-bezier(.4,0,.2,1)}.google-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 28px #6366f140;border-color:#4f46e5;background:#fafbff}.google-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-note{font-size:11.5px;color:#9ca3af;margin-top:16px;margin-bottom:0;transition:opacity .3s ease}#login-progress-wrap{margin-top:20px;animation:fade-slide-in .35s cubic-bezier(.34,1.56,.64,1)}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;text-align:left}.login-step{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:12px;background:#eef2ff99;border:1.5px solid rgba(99,102,241,.1);font-size:13px;font-weight:600;color:#9ca3af;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.login-step.step-active{color:#4f46e5;background:#eef2fff2;border-color:#6366f159;box-shadow:0 3px 12px #6366f12e;transform:translate(4px)}.login-step.step-done{color:#059669;background:#ecfdf5e6;border-color:#10b9814d}.login-step .step-icon{font-size:16px;flex-shrink:0;transition:transform .3s ease}.login-step.step-active .step-icon{animation:icon-pulse 1s ease-in-out infinite}@keyframes icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.login-step .step-label{flex:1}.login-step .step-status{font-size:14px;flex-shrink:0;transition:all .3s ease}.login-step.step-active .step-status:before{content:"";display:inline-block;width:14px;height:14px;border:2px solid rgba(99,102,241,.25);border-top-color:#4f46e5;border-radius:50%;animation:spin .75s linear infinite;vertical-align:middle}.login-step.step-done .step-status:before{content:"✓";color:#10b981;font-weight:900;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.login-progress-bar-bg{height:6px;background:#6366f11f;border-radius:99px;overflow:hidden;margin-bottom:10px}.login-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#6366f1,#0ea5e9,#10b981);background-size:200% 100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1);animation:shimmer-bar 2s linear infinite}@keyframes shimmer-bar{0%{background-position:200% 0}to{background-position:-200% 0}}.login-status-text{font-size:12px;color:#6b7280;font-weight:600;text-align:center;margin:0;min-height:18px;transition:opacity .25s ease}.login-success-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:20px;animation:success-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes success-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.success-circle{width:72px;height:72px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px #10b98173;animation:success-glow 1.5s ease-in-out infinite}@keyframes success-glow{0%,to{box-shadow:0 8px 28px #10b98173}50%{box-shadow:0 12px 40px #10b981b3}}.success-checkmark{stroke-dasharray:40;stroke-dashoffset:40;animation:draw-check .5s .1s ease forwards}@keyframes draw-check{to{stroke-dashoffset:0}}.success-text{font-size:14px;font-weight:800;color:#059669;margin:0;letter-spacing:.02em}@media (max-width: 480px){.login-card{padding:32px 22px}.login-title{font-size:19px}.google-btn{font-size:14px;padding:11px 20px}}:root{--primary: #4f46e5;--primary-light: #818cf8;--secondary: #0ea5e9;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--accent-purple: #8b5cf6;--bg-card: rgba(255, 255, 255, .85);--bg-ai: rgba(236, 253, 245, .92);--text-main: #1e1b4b;--radius-card: 22px;--radius-pill: 32px;--transition: all .28s cubic-bezier(.4, 0, .2, 1)}body{background:linear-gradient(-45deg,#e0e7ff,#fce7f3,#d1fae5,#fef9c3,#e0f2fe);background-size:400% 400%;animation:aurora-bg 14s ease infinite;font-family:Noto Sans TC,sans-serif;padding-top:148px;min-height:100vh;color:var(--text-main)}@keyframes aurora-bg{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.navbar{background:linear-gradient(90deg,#1e1b4b,#312e81 40%,#0c4a6e)!important;box-shadow:0 4px 24px #1e1b4b80}.top-buttons{position:fixed;top:56px;left:0;right:0;display:flex;justify-content:center;gap:8px;padding:8px 12px;background:#ffffffd1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(79,70,229,.15);z-index:1030;box-shadow:0 3px 16px #4f46e524;flex-wrap:wrap}.top-button{padding:6px 16px;color:#fff;border-radius:var(--radius-pill);text-decoration:none;font-size:12.5px;font-weight:800;letter-spacing:.02em;transition:var(--transition);white-space:nowrap;box-shadow:0 3px 10px #0003;position:relative;overflow:hidden}.top-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;transition:background .2s}.top-button:hover:after{background:#ffffff26}.top-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 22px #0000004d;color:#fff}.top-button:nth-child(1){background:linear-gradient(135deg,#6366f1,#8b5cf6)}.top-button:nth-child(2){background:linear-gradient(135deg,#0ea5e9,#06b6d4)}.top-button:nth-child(3){background:linear-gradient(135deg,#10b981,#059669)}.welcome-card{position:relative;background:var(--bg-card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-card);border:2px solid transparent;background-clip:padding-box;box-shadow:0 8px 32px #4f46e52e,inset 0 1px #ffffffe6;padding:20px;margin-bottom:20px;overflow:hidden}.welcome-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:calc(var(--radius-card) + 2px);background:linear-gradient(135deg,#6366f1,#0ea5e9,#10b981,#f59e0b,#f43f5e,#8b5cf6);background-size:300% 300%;animation:rainbow-border 5s linear infinite;z-index:-1}@keyframes rainbow-border{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.welcome-box{font-weight:900;font-size:17px;background:linear-gradient(135deg,#6366f1,#0ea5e9,#10b981);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.03em;line-height:1.5;animation:shimmer-text 3s ease-in-out infinite;background-size:200% auto}@keyframes shimmer-text{0%,to{background-position:0% center}50%{background-position:100% center}}.btn-send{background:linear-gradient(135deg,#f59e0b,#ef4444,#f43f5e);background-size:200% auto;color:#fff;font-weight:900;font-size:15px;white-space:nowrap;border:none;border-radius:var(--radius-pill)!important;padding:10px 22px;box-shadow:0 4px 14px #ef444466;transition:var(--transition);animation:pulse-send 2.5s ease-in-out infinite}@keyframes pulse-send{0%,to{box-shadow:0 4px 14px #ef444466}50%{box-shadow:0 8px 28px #ef4444a6}}.btn-send:hover{transform:translateY(-3px) scale(1.07);filter:brightness(1.1);color:#fff;animation:none;box-shadow:0 10px 30px #ef44448c}#user-input{resize:none;overflow:hidden;background:#eef2ffd9;font-weight:600;font-size:14px;border:2px solid rgba(99,102,241,.3);border-radius:14px!important;transition:var(--transition);color:var(--text-main)}#user-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #6366f12e,0 0 20px #6366f11f;background:#fff;outline:none}.list-group-item{background:var(--bg-card)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);margin-bottom:14px;border-radius:var(--radius-card)!important;box-shadow:0 3px 12px #4f46e51a,inset 0 1px #fffc;border:1.5px solid rgba(255,255,255,.75)!important;transition:var(--transition);overflow:hidden;position:relative}.list-group-item:hover{box-shadow:0 6px 24px #4f46e52e;transform:translateY(-2px);border-color:#6366f140!important}.list-group-item:not(.answer-background):before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#6366f1,#0ea5e9,#8b5cf6);border-radius:5px 0 0 5px}.answer-background{background:var(--bg-ai)!important;border-color:#10b9814d!important}.answer-background:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#10b981,#06b6d4,#0ea5e9);border-radius:5px 0 0 5px}.rounded-circle{border:3px solid rgba(99,102,241,.3);box-shadow:0 3px 10px #6366f133}.markdown-body{line-height:1.8;font-size:14.5px}.markdown-body a{color:#4f46e5;text-decoration:underline;word-break:break-all;transition:color .2s}.markdown-body a:hover{color:#0ea5e9}.markdown-body ul,.markdown-body ol{padding-left:1.4em;margin:.4em 0}.markdown-body li{margin-bottom:4px}.markdown-body strong{color:#312e81}.markdown-body code{background:#e0e7ff;padding:1px 6px;border-radius:5px;font-size:13px;color:#4f46e5}.copy-btn{font-size:12px!important;padding:4px 14px!important;border-radius:var(--radius-pill)!important;font-weight:800!important;border:none!important;transition:var(--transition)!important;cursor:pointer}.list-group-item:not(.answer-background) .copy-btn{background:linear-gradient(135deg,#10b981,#34d399)!important;color:#fff!important;box-shadow:0 2px 8px #10b9814d}.list-group-item:not(.answer-background) .copy-btn:hover{transform:scale(1.08);box-shadow:0 5px 15px #10b98173}.answer-background .copy-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important;box-shadow:0 2px 8px #6366f14d}.answer-background .copy-btn:hover{transform:scale(1.08);box-shadow:0 5px 15px #6366f173}span[style*="background:#e0e0e0"]{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)!important;color:#4f46e5!important;font-weight:800!important;font-size:11px;letter-spacing:.04em}.blink{animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.green-text{color:#059669;font-weight:700}.black-text{color:var(--text-main)}div[style*="text-align:center"] span{background:linear-gradient(135deg,#e0e7ff,#f0fdf4)!important;color:#4f46e5!important;font-weight:800;border-radius:var(--radius-pill);padding:3px 18px;font-size:11.5px;letter-spacing:.05em;border:1px solid rgba(99,102,241,.25)}.floating-ad-btn,.floating-ad-btn-2{position:fixed;z-index:1040;padding:11px 16px;border-radius:var(--radius-pill);color:#fff;font-weight:900;text-decoration:none;text-align:center;box-shadow:0 6px 22px #00000038;transition:var(--transition);font-size:12.5px;line-height:1.3;border:2px solid rgba(255,255,255,.45)}.floating-ad-btn:hover,.floating-ad-btn-2:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 12px 30px #00000052;color:#fff}.floating-ad-btn{left:16px;bottom:20px;background:linear-gradient(135deg,#f59e0b,#ef4444)}.floating-ad-btn-2{right:16px;bottom:20px;background:linear-gradient(135deg,#8b5cf6,#ec4899)}.line-service-btn{background:linear-gradient(135deg,#00b900,#00e000);color:#fff;padding:12px 30px;border-radius:var(--radius-pill);text-decoration:none;font-weight:900;font-size:16px;box-shadow:0 5px 20px #00b90066;display:inline-flex;align-items:center;gap:8px;transition:var(--transition)}.line-service-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 28px #00b90080;color:#fff}#copy-toast{background:linear-gradient(135deg,#4f46e5,#0ea5e9)!important;color:#fff!important;border-radius:var(--radius-pill)!important;font-weight:800;box-shadow:0 4px 18px #4f46e573}#empty-hint{text-align:center;padding:32px 20px;color:#6b7280;animation:fade-in .8s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#empty-hint .hint-icon{font-size:48px;display:block;margin-bottom:12px;animation:bounce-icon 2s ease-in-out infinite}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}#empty-hint p{font-size:15px;font-weight:600;color:#6366f1;margin:0}#empty-hint .hint-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}#empty-hint .chip{background:#ffffffd9;border:1.5px solid rgba(99,102,241,.3);color:#4f46e5;border-radius:20px;padding:5px 14px;font-size:12.5px;font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:0 2px 6px #6366f11f}#empty-hint .chip:hover{background:#4f46e5;color:#fff;border-color:#4f46e5;transform:translateY(-2px) scale(1.05);box-shadow:0 5px 14px #4f46e559}@media (max-width: 768px){body{padding-top:200px}.top-buttons{gap:5px;padding:6px 8px}.top-button{font-size:11px;padding:5px 10px}.floating-ad-btn{left:10px;bottom:14px;font-size:11px;padding:8px 12px}.floating-ad-btn-2{right:10px;bottom:14px;font-size:11px;padding:8px 12px}.list-group-item{margin-bottom:10px}.markdown-body{font-size:14px}.welcome-box{font-size:15px}}@media (max-width: 480px){body{padding-top:220px}.top-button{font-size:10px;padding:4px 8px}.welcome-box{font-size:14px}.btn-send{padding:8px 16px;font-size:14px}}@media (min-width: 1024px){.markdown-body{font-size:15px}}#custom-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f0a328c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s ease}#custom-modal-overlay.modal-show{opacity:1;pointer-events:all}.custom-modal-card{position:relative;background:#fffffff7;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-radius:28px;padding:36px 32px 28px;max-width:420px;width:100%;text-align:center;box-shadow:0 24px 64px #4f46e559,0 0 0 1px #fffc inset;transform:scale(.88) translateY(24px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;opacity:0;overflow:hidden}.custom-modal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#6366f1,#0ea5e9,#10b981,#f59e0b,#f43f5e,#8b5cf6);background-size:300% 100%;animation:rainbow-border 3s linear infinite}#custom-modal-overlay.modal-show .custom-modal-card{transform:scale(1) translateY(0);opacity:1}.modal-icon-wrap{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:34px;position:relative;background:linear-gradient(135deg,#e0e7ff,#fce7f3);box-shadow:0 6px 20px #6366f140;animation:icon-pulse 2.2s ease-in-out infinite}@keyframes icon-pulse{0%,to{box-shadow:0 6px 20px #6366f140}50%{box-shadow:0 8px 30px #6366f173}}.modal-title{font-size:20px;font-weight:900;background:linear-gradient(135deg,#4f46e5,#0ea5e9);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px;letter-spacing:.02em}.modal-message{font-size:14.5px;color:#374151;font-weight:600;line-height:1.65;margin-bottom:28px;padding:12px 16px;background:linear-gradient(135deg,#e0e7ff80,#fce7f380);border-radius:14px;border:1.5px solid rgba(99,102,241,.15)}.modal-actions{display:flex;gap:12px;justify-content:center}.modal-btn{flex:1;max-width:160px;padding:12px 20px;border:none;border-radius:50px;font-size:15px;font-weight:900;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:Noto Sans TC,sans-serif;letter-spacing:.03em}.modal-btn-cancel{background:#f3f4f6;color:#4b5563;box-shadow:0 3px 10px #00000014;border:1.5px solid rgba(209,213,219,.8)}.modal-btn-cancel:hover{background:#e5e7eb;transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.modal-btn-confirm{background:linear-gradient(135deg,#f43f5e,#ef4444,#f59e0b);background-size:200% auto;color:#fff;box-shadow:0 5px 18px #f43f5e73}.modal-btn-confirm:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 28px #f43f5e99;filter:brightness(1.08)}.modal-btn-confirm.logout-variant{background:linear-gradient(135deg,#4f46e5,#0ea5e9);box-shadow:0 5px 18px #4f46e573}.modal-btn-confirm.logout-variant:hover{box-shadow:0 10px 28px #4f46e599}@media (max-width: 480px){.custom-modal-card{padding:28px 20px 22px;border-radius:22px}.modal-title{font-size:18px}.modal-message{font-size:13.5px}.modal-btn{font-size:14px;padding:10px 14px}}
