:root{--brand-50:#eff8ff;--brand-100:#dbeefe;--brand-200:#bfe2fe;--brand-300:#93d0fd;--brand-400:#60b5fa;--brand-500:#3b9af6;--brand-600:#1389fd;--brand-700:#1c6fd6;--brand-800:#1e5bae;--brand-900:#1d4d8a;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg:#fff;--bg-alt:var(--gray-50);--text:var(--gray-800);--text-muted:var(--gray-500);--border:var(--gray-200);--border-hover:var(--gray-300);--gradient-brand:linear-gradient(135deg,#1389fd 0%,#3b9af6 100%);--gradient-text:linear-gradient(135deg,#1389fd 0%,#3b9af6 100%);--shadow-sm:0 1px 2px rgba(16,24,40,0.04);--shadow-soft:0 1px 3px rgba(16,24,40,0.04),0 10px 28px -10px rgba(16,24,40,0.1);--shadow-card:0 1px 2px rgba(16,24,40,0.04),0 16px 40px -16px rgba(16,24,40,0.14);--shadow-glow:0 10px 40px -10px rgba(19,137,253,0.5);--container-max:1100px;--container-narrow:760px;--header-height:64px;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--transition:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.16,1,.3,1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:var(--brand-600);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--brand-700)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}input,textarea,button,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--gray-900)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 24px}.container-narrow{max-width:var(--container-narrow)}.gradient-text{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}section{padding:64px 0}.section-header{text-align:center;margin-bottom:48px}.section-title{font-size:2rem;font-weight:800;letter-spacing:-.02em}.section-subtitle{margin-top:8px;color:var(--text-muted);font-size:1.1rem}.section-action{text-align:center;margin-top:40px}.page-header{text-align:center;padding:80px 0 40px}.page-title{font-size:2.5rem;font-weight:800;letter-spacing:-.03em}.page-subtitle{margin-top:12px;color:var(--text-muted);font-size:1.15rem;max-width:600px;margin-left:auto;margin-right:auto}.hidden{display:none !important}.spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--brand-600);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}@-moz-keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@-o-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-moz-keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@-o-keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@-moz-keyframes fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}}@-o-keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in{from{opacity:0}to{opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;border-radius:var(--radius);transition:all var(--transition);white-space:nowrap;cursor:pointer;border:1px solid transparent}.btn-lg{padding:14px 28px;font-size:1.05rem}.btn-sm{padding:6px 14px;font-size:.85rem}.btn-primary{background:var(--brand-600);color:#fff}.btn-primary:hover{background:var(--brand-700);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-soft)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--gray-50);border-color:var(--border-hover)}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706;color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;filter:grayscale(0.4)}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:var(--header-height);display:flex;align-items:center}.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.brand{display:flex;align-items:center;gap:8px}.brand-logo{height:32px;width:auto}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;padding:8px}.mobile-menu-toggle .bar{display:block;width:22px;height:2px;background:var(--gray-700);border-radius:2px;transition:all var(--transition)}.mobile-menu-toggle.active .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active .bar:nth-child(2){opacity:0}.mobile-menu-toggle.active .bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.main-nav{display:flex;align-items:center;gap:24px}.nav-list{display:flex;align-items:center;gap:4px}.nav-link{padding:8px 14px;font-size:.92rem;font-weight:500;color:var(--gray-600);border-radius:var(--radius-sm);transition:all var(--transition)}.nav-link:hover{color:var(--brand-600);background:var(--brand-50)}.nav-link.active{color:var(--brand-600);font-weight:600}.nav-actions{display:flex;align-items:center;gap:12px}.lang-switcher{position:relative}.lang-current{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.88rem;font-weight:500;color:var(--gray-600);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition)}.lang-current:hover{border-color:var(--border-hover);color:var(--gray-800)}.lang-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:140px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:4px;z-index:200}.lang-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;font-size:.88rem;color:var(--gray-700);border-radius:var(--radius-sm);transition:background var(--transition)}.lang-option:hover{background:var(--gray-50)}.lang-option.active{color:var(--brand-600);font-weight:600}.user-menu{position:relative}.user-menu-toggle{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius-sm);transition:background var(--transition)}.user-menu-toggle:hover{background:var(--gray-50)}.user-menu-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-menu-initials{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);font-weight:600;font-size:.85rem}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:4px;z-index:200}.user-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;color:var(--gray-700);border-radius:var(--radius-sm);transition:background var(--transition)}.user-menu-item:hover{background:var(--gray-50);color:var(--gray-900)}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.site-footer{background:var(--gray-900);color:var(--gray-300);padding:56px 0 24px;margin-top:auto}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px}.footer-brand{max-width:320px}.footer-logo{height:32px;width:auto;filter:brightness(0) invert(1);margin-bottom:16px}.footer-desc{font-size:.9rem;line-height:1.6;color:var(--gray-400);margin-bottom:12px}.footer-heading{font-size:.85rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.footer-links li{margin-bottom:10px}.footer-links a{font-size:.9rem;color:var(--gray-400);transition:color var(--transition)}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--gray-800);padding-top:24px;text-align:center}.footer-bottom p{font-size:.85rem;color:var(--gray-500)}.hero{text-align:center;padding:80px 0 40px;background:linear-gradient(180deg,var(--brand-50) 0%,transparent 100%)}.hero-content{max-width:720px;margin:0 auto}.hero-badge{display:inline-block;padding:6px 16px;font-size:.85rem;font-weight:600;color:var(--brand-700);background:var(--brand-100);border-radius:999px;margin-bottom:24px}.hero-title{font-size:3rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:20px}.hero-subtitle{font-size:1.2rem;color:var(--text-muted);line-height:1.6;margin-bottom:36px}.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hero-screenshot{margin-top:48px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 32px rgba(16,24,40,0.12)}.hero-screenshot-img{display:block;width:100%;height:auto;border:1px solid var(--border)}.hero-warning{padding:24px 0 48px}.warning-card{display:flex;gap:16px;padding:20px 24px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-lg);max-width:720px;margin:0 auto}.warning-icon{font-size:1.5rem;flex-shrink:0}.warning-title{font-size:1rem;font-weight:600;color:#92400e;margin-bottom:4px}.warning-text{font-size:.9rem;color:#78350f;line-height:1.5}.steps-intro{font-size:1.05rem;color:var(--text-muted);margin-top:8px;margin-bottom:24px}.steps-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:32px;flex-wrap:wrap}.steps-tab{padding:10px 24px;font-size:.95rem;font-weight:600;color:var(--gray-600);background:#fff;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition)}.steps-tab:hover{border-color:var(--border-hover);color:var(--gray-800)}.steps-tab.active{color:#fff;background:var(--brand-600);border-color:var(--brand-600)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.steps-online{grid-template-columns:repeat(3,1fr)}.step-card{padding:28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);position:relative}.step-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gradient-brand);color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:16px}.step-title{font-size:1.05rem;font-weight:700;margin-bottom:8px}.step-desc{font-size:.9rem;color:var(--text-muted);line-height:1.5}.cta-section{background:var(--brand-600)}.cta-card{text-align:center;padding:20px 0}.cta-title{font-size:2rem;font-weight:800;color:#fff;margin-bottom:12px}.cta-subtitle{font-size:1.1rem;color:rgba(255,255,255,0.9);margin-bottom:28px}.cta-section .btn-primary{background:#fff;color:var(--brand-700)}.cta-section .btn-primary:hover{background:var(--gray-100);color:var(--brand-800)}.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-section .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.5)}.cta-section .btn-ghost:hover{background:rgba(255,255,255,0.1);border-color:#fff}.auth-page{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;justify-content:center;padding:40px 0;background:var(--bg-alt)}.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px;text-align:center;box-shadow:var(--shadow-soft)}.auth-logo{margin-bottom:24px}.auth-logo img{margin:0 auto}.auth-title{font-size:1.5rem;font-weight:700;margin-bottom:8px}.auth-subtitle{font-size:.95rem;color:var(--text-muted);margin-bottom:28px}.auth-github-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 20px;font-size:1rem;font-weight:600;background:var(--gray-900);color:#fff;border-radius:var(--radius);transition:all var(--transition)}.auth-github-btn:hover{background:var(--gray-800);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.auth-github-btn:disabled{opacity:.6;cursor:not-allowed}.auth-github-icon{flex-shrink:0}.auth-agree{margin-top:20px;font-size:.85rem;color:var(--text-muted)}.auth-link{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px}.auth-link:hover{color:var(--brand-700)}.auth-back{display:inline-block;margin-top:20px;font-size:.9rem;color:var(--text-muted)}.auth-back:hover{color:var(--brand-600)}.auth-notice{display:flex;gap:10px;margin-top:20px;padding:14px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);text-align:left}.auth-notice-icon{flex-shrink:0;color:#d97706;padding-top:1px}.auth-notice-content{flex:1;min-width:0}.auth-notice-title{font-size:.85rem;font-weight:700;color:#92400e;margin-bottom:4px}.auth-notice-body{font-size:.8rem;color:#92400e;line-height:1.5;margin:0}.auth-error{margin-bottom:20px;padding:12px 16px;font-size:.9rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);text-align:center}.user-page{padding:48px 0}.user-loading{text-align:center;padding:60px 0}.user-loading .spinner{margin:0 auto 16px}.user-loading p{color:var(--text-muted)}.user-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:32px;box-shadow:var(--shadow-soft)}.user-card-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.user-card-avatar-wrap{flex-shrink:0}.user-card-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--brand-100)}.user-card-initials{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);font-size:2rem;font-weight:700;border:3px solid var(--brand-50)}.user-card-name{font-size:1.5rem;font-weight:700;margin-bottom:4px}.user-card-email{color:var(--text-muted);font-size:.95rem}.user-card-stats{display:flex;gap:32px;padding-top:20px;border-top:1px solid var(--border)}.user-stat-label{display:block;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.user-stat-value{font-size:1rem;font-weight:600}.api-key-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:32px;box-shadow:var(--shadow-soft)}.api-key-title{font-size:1.25rem;font-weight:700;margin-bottom:8px}.api-key-hint{font-size:.9rem;color:var(--text-muted);margin-bottom:20px}.api-key-card{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.api-key-value-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.api-key-value{flex:1;font-family:'SF Mono',Monaco,Consolas,monospace;font-size:.9rem;color:var(--gray-700);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;word-break:break-all}.api-key-meta{display:flex;gap:24px;margin-bottom:16px}.api-key-meta-label{display:block;font-size:.8rem;color:var(--text-muted)}.api-key-meta-value{font-size:.88rem;font-weight:500}.api-key-actions{display:flex;gap:8px}.how-to-use{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--radius-lg);padding:24px 28px}.how-to-use-title{font-size:1.1rem;font-weight:700;margin-bottom:16px}.how-to-use-steps{list-style:decimal;padding-left:20px}.how-to-use-steps li{font-size:.92rem;color:var(--gray-700);margin-bottom:8px;line-height:1.5}.how-to-use-screenshot{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);margin-top:16px;display:block}.user-error{text-align:center;padding:60px 0}.user-error-msg{font-size:1.1rem;color:var(--text-muted);margin-bottom:20px}.user-logout{text-align:center;margin-top:8px}.admin-page{padding:32px 0}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px}.admin-title{font-size:1.75rem;font-weight:800}.admin-subtitle{color:var(--text-muted);font-size:.95rem;margin-top:4px}.admin-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:28px}.admin-tab{padding:10px 20px;font-size:.92rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition)}.admin-tab:hover{color:var(--gray-700)}.admin-tab.active{color:var(--brand-600);border-bottom-color:var(--brand-600)}.admin-tab-panel{display:none}.admin-tab-panel.active{display:block}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:12px 16px;font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:14px 16px;font-size:.9rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:hover td{background:var(--gray-50)}.user-github-link{color:var(--brand-600);font-weight:600;text-decoration:none}.user-github-link:hover{text-decoration:underline}.admin-actions{margin-bottom:16px}.config-form{max-width:600px}.config-field{margin-bottom:24px}.config-label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.config-input{width:100%;padding:10px 14px;font-size:.92rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;transition:border-color var(--transition)}.config-input:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px rgba(19,137,253,0.1)}.config-actions{display:flex;align-items:center;gap:12px}.config-saved{font-size:.88rem;color:#059669;font-weight:500}.admin-loading{text-align:center;padding:60px 0}.admin-loading .spinner{margin:0 auto 16px}.admin-loading p{color:var(--text-muted)}.admin-empty{text-align:center;padding:60px 0}.admin-empty p{color:var(--text-muted)}.admin-error{text-align:center;padding:60px 0}.admin-error p{color:#dc2626}.status-badge{display:inline-block;padding:3px 10px;font-size:.8rem;font-weight:600;border-radius:999px}.status-badge-active{background:#d1fae5;color:#065f46}.status-badge-inactive{background:#fee2e2;color:#991b1b}.status-badge-disabled{background:#fef3c7;color:#92400e}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(16,24,40,0.45);backdrop-filter:blur(2px);animation:fade-in .2s ease}.modal-card{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:28px;animation:fade-up .25s cubic-bezier(.16,1,.3,1)}.modal-title{font-size:1.35rem;font-weight:700;margin-bottom:24px;color:var(--gray-900)}.modal-field{margin-bottom:18px}.modal-field > label{display:block;font-size:.88rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}.modal-field > input[type="text"]{width:100%;padding:10px 14px;font-size:.92rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;transition:border-color var(--transition),box-shadow var(--transition)}.modal-field > input[type="text"]:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 3px rgba(19,137,253,0.1)}.modal-field > label > input[type="checkbox"]{margin-right:8px;vertical-align:middle;cursor:pointer;width:16px;height:16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}@media (max-width:480px){.modal-overlay{padding:12px;align-items:flex-end}.modal-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 20px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.about-page{padding:24px 0 64px}.about-screenshot{margin:24px 0 40px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 32px rgba(16,24,40,0.12)}.about-screenshot-img{display:block;width:100%;height:auto;border:1px solid var(--border)}.about-body{margin-bottom:40px}.about-paragraph{font-size:1rem;line-height:1.75;color:var(--gray-700);margin-bottom:16px}.about-section{margin-bottom:40px}.about-section-title{font-size:1.3rem;font-weight:700;margin-bottom:16px}.about-list{list-style:disc;padding-left:20px}.about-list li{font-size:.95rem;color:var(--gray-700);margin-bottom:8px}.about-links{list-style:none;padding:0}.about-links li{margin-bottom:10px}.about-links a{font-size:.95rem;color:var(--brand-600)}.about-links a:hover{color:var(--brand-700);text-decoration:underline}.legal-page{padding:24px 0 64px}.legal-last-updated{font-size:.9rem;color:var(--text-muted);margin-top:8px}.legal-body{margin-top:32px}.legal-section{margin-bottom:32px}.legal-heading{font-size:1.2rem;font-weight:700;margin-bottom:10px}.legal-text{font-size:.95rem;line-height:1.7;color:var(--gray-700)}.not-found-page{text-align:center;padding:100px 0}.not-found-code{font-size:6rem;font-weight:800;color:var(--brand-600);line-height:1}.not-found-message{font-size:1.2rem;color:var(--text-muted);margin:16px 0 32px}.chat-page{padding-top:32px;padding-bottom:64px;min-height:calc(100vh - var(--header-height))}.chat-container{max-width:900px}.chat-page-header{text-align:center;margin-bottom:32px}.chat-page-title{font-size:2rem;font-weight:800;letter-spacing:-.02em}.chat-page-subtitle{margin-top:8px;color:var(--text-muted);font-size:1.05rem}.chat-ai-dream-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin-bottom:28px;background:linear-gradient(135deg,var(--brand-50) 0%,var(--brand-100) 100%);border:1px solid var(--brand-200);border-radius:var(--radius-lg);transition:box-shadow var(--transition)}.chat-ai-dream-banner:hover{box-shadow:var(--shadow-soft)}.chat-ai-dream-info{flex:1;min-width:0}.chat-ai-dream-title{font-size:1.15rem;font-weight:700;color:var(--brand-800);margin-bottom:4px}.chat-ai-dream-desc{font-size:.95rem;color:var(--gray-600)}.chat-ai-dream-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:10px 20px;background:var(--brand-600);color:#fff;border-radius:var(--radius);font-weight:600;font-size:.95rem;transition:background var(--transition),transform var(--transition)}.chat-ai-dream-link:hover{background:var(--brand-700);color:#fff;transform:translateX(2px)}.chat-ai-dream-arrow{transition:transform var(--transition)}.chat-card{position:relative;display:flex;flex-direction:column;height:640px;max-height:calc(100vh - 300px);min-height:420px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden}.chat-loading{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;background:var(--bg)}.chat-loading-text{color:var(--text-muted);font-size:.95rem}.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--gray-50)}.chat-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--gray-600);padding:4px 10px;background:var(--gray-100);border-radius:999px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-status-badge.is-demo{color:var(--brand-700);background:var(--brand-50)}.chat-status-badge.is-demo::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--brand-500);flex-shrink:0}.chat-clear-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;font-weight:600;color:var(--gray-600);background:transparent;border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);flex-shrink:0}.chat-clear-btn:hover:not(:disabled){color:var(--brand-600);border-color:var(--brand-300);background:var(--brand-50)}.chat-clear-btn:disabled{opacity:.5;cursor:not-allowed}.chat-scroll-wrap{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.chat-scroll-wrap::-webkit-scrollbar{width:8px}.chat-scroll-wrap::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:8px}.chat-scroll-wrap::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.chat-body{display:flex;flex-direction:column;gap:20px;padding:24px 20px}.chat-msg{display:flex;gap:12px;max-width:100%;animation:chat-msg-in .28s cubic-bezier(.16,1,.3,1)}.chat-msg-user{flex-direction:row-reverse;justify-content:flex-start;align-items:flex-end}.chat-bubble{position:relative;max-width:100%;padding:12px 16px;font-size:.95rem;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word}.chat-bubble-user{color:#fff;background:var(--gradient-brand);border-radius:18px 18px 4px 18px;box-shadow:0 4px 14px -6px rgba(19,137,253,0.5);white-space:pre-wrap}.chat-bubble-ai{color:var(--text);background:var(--gray-50);border:1px solid var(--border);border-radius:18px 18px 18px 4px}.chat-msg.is-error .chat-bubble-ai{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.chat-msg-col{display:flex;flex-direction:column;gap:6px;min-width:0}.chat-msg-assistant .chat-msg-col{flex:1;align-items:flex-start}.chat-msg-user .chat-msg-col{max-width:80%;align-items:flex-end}.chat-avatar{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--gradient-brand);box-shadow:0 2px 8px -2px rgba(19,137,253,0.5);margin-top:2px}.chat-msg-actions{display:flex;gap:6px;padding-left:4px;opacity:0;transition:opacity var(--transition)}.chat-msg-user .chat-msg-actions{padding-left:0;padding-right:4px;justify-content:flex-end}.chat-msg:hover .chat-msg-actions{opacity:1}.chat-msg-action{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:.75rem;font-weight:600;color:var(--gray-500);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--transition)}.chat-msg-action:hover{color:var(--brand-600);border-color:var(--brand-300);background:var(--brand-50)}.chat-msg-action.is-copied{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.chat-typing{display:inline-flex;align-items:center;gap:5px;padding:2px 2px}.chat-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--gray-400);animation:chat-typing 1.2s infinite ease-in-out}.chat-typing-dot:nth-child(2){animation-delay:.18s}.chat-typing-dot:nth-child(3){animation-delay:.36s}.chat-content{min-width:0}.chat-bubble-ai .chat-content > *:first-child{margin-top:0}.chat-bubble-ai .chat-content > *:last-child{margin-bottom:0}.md-p{margin:0 0 10px}.md-p:last-child{margin-bottom:0}.md-h{margin:14px 0 8px;font-weight:700;line-height:1.3;color:var(--gray-900)}.md-h1{font-size:1.3rem}.md-h2{font-size:1.15rem}.md-h3{font-size:1.05rem}.md-h4,.md-h5,.md-h6{font-size:1rem}.md-ul,.md-ol{margin:0 0 10px;padding-left:22px}.md-ul li,.md-ol li{margin:3px 0}.md-ul li{list-style:disc}.md-ol li{list-style:decimal}.md-quote{margin:0 0 10px;padding:8px 14px;border-left:3px solid var(--brand-400);background:var(--brand-50);color:var(--gray-700);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.md-hr{border:none;border-top:1px solid var(--border);margin:14px 0}.md-code{font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:.85em;padding:2px 6px;background:var(--gray-100);border-radius:5px;color:var(--brand-700)}.md-code-block{margin:0 0 12px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#1e293b}.md-code-block:last-child{margin-bottom:0}.md-code-head{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.08)}.md-code-lang{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(226,232,240,0.7)}.md-code-copy{font-size:.72rem;font-weight:600;color:rgba(226,232,240,0.8);padding:2px 8px;border-radius:5px;border:1px solid rgba(255,255,255,0.14);background:transparent;transition:all var(--transition)}.md-code-copy:hover{color:#fff;background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25)}.md-code-copy.is-copied{color:#4ade80;border-color:#4ade80;background:rgba(74,222,128,0.12)}.md-pre{margin:0;padding:14px 16px;overflow-x:auto;scrollbar-width:thin}.md-pre code{font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:.84rem;line-height:1.6;color:#e2e8f0;background:transparent;white-space:pre}.chat-bubble-ai .chat-content a{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px}.chat-bubble-ai .chat-content a:hover{color:var(--brand-700)}.chat-bubble-ai .chat-content strong{font-weight:700;color:var(--gray-900)}.chat-input-area{border-top:1px solid var(--border);padding:12px 16px 14px;background:var(--bg)}.chat-input-wrap{display:flex;align-items:flex-end;gap:10px;background:var(--gray-50);border:1px solid var(--border);border-radius:18px;padding:8px 8px 8px 16px;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.chat-input-wrap:focus-within{border-color:var(--brand-400);background:var(--bg);box-shadow:0 0 0 3px rgba(19,137,253,0.12)}.chat-input{flex:1;border:none;outline:none;background:transparent;resize:none;max-height:200px;line-height:1.5;font-size:.95rem;padding:6px 0;color:var(--text)}.chat-input::placeholder{color:var(--gray-400)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-send-btn{flex-shrink:0;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:var(--gradient-brand);color:#fff;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition),background var(--transition)}.chat-send-btn:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 14px -4px rgba(19,137,253,0.6)}.chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.chat-send-btn.is-stop{background:var(--gray-700)}.chat-send-btn.is-stop:hover:not(:disabled){background:var(--gray-800)}.chat-icon-stop{display:none}.chat-send-btn.is-stop .chat-icon-send{display:none}.chat-send-btn.is-stop .chat-icon-stop{display:block}.chat-input-hint{margin:8px 4px 0;font-size:.75rem;color:var(--gray-400)}.chat-privacy-warning{display:flex;align-items:flex-start;gap:6px;margin:6px 4px 0;font-size:.72rem;line-height:1.5;color:#b45309}.privacy-warning-icon-inline{flex-shrink:0;margin-top:1px}.chat-demo-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--brand-50);border-bottom:1px solid var(--brand-100);color:var(--brand-800);animation:chat-msg-in .3s ease}.chat-demo-banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand-100);color:var(--brand-600)}.chat-demo-banner-text{flex:1;min-width:0;font-size:.875rem;font-weight:500}.chat-demo-banner-text span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-demo-banner-close{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--brand-600);transition:all var(--transition)}.chat-demo-banner-close:hover{background:var(--brand-100);color:var(--brand-800)}.chat-error{display:flex;align-items:center;justify-content:center;padding:60px 24px}.chat-error-msg{color:var(--gray-600);font-size:1rem}@media (max-width:768px){.chat-ai-dream-banner{flex-direction:column;text-align:center;gap:12px}.chat-card{height:560px;max-height:calc(100vh - 220px);min-height:380px}.chat-page-title{font-size:1.6rem}.chat-body{padding:18px 14px;gap:16px}.chat-msg-user .chat-msg-col{max-width:88%}.chat-toolbar{padding:10px 12px}.chat-input-area{padding:10px 12px 12px}.chat-msg-actions{opacity:1}}@media (max-width:480px){.chat-clear-btn span{display:none}.chat-clear-btn{padding:8px}}@-moz-keyframes chat-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes chat-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@-o-keyframes chat-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@-moz-keyframes chat-typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@-webkit-keyframes chat-typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@-o-keyframes chat-typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@keyframes chat-typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.bookmark-generator-page{padding-top:32px;padding-bottom:64px;min-height:calc(100vh - var(--header-height))}.bookmark-generator-container{max-width:1000px}.bookmark-generator-header{text-align:center;margin-bottom:32px}.bookmark-generator-title{font-size:2rem;font-weight:800;letter-spacing:-.02em}.bookmark-generator-subtitle{margin-top:8px;color:var(--text-muted);font-size:1.05rem}.privacy-warning-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;margin-bottom:24px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);font-size:.875rem;line-height:1.5;color:#92400e}.privacy-warning-icon{flex-shrink:0;margin-top:1px}@media (max-width:768px){.privacy-warning-banner{font-size:.8rem;padding:10px 12px}}.bookmark-generator-panel{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}.bookmark-generator-input,.bookmark-generator-output{display:flex;flex-direction:column;gap:10px}.bookmark-generator-label{font-weight:600;font-size:.95rem;color:var(--gray-700)}.bookmark-generator-textarea{width:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:.9rem;line-height:1.5;resize:vertical;transition:border-color var(--transition),box-shadow var(--transition)}.bookmark-generator-textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.bookmark-generator-actions{display:flex;flex-wrap:wrap;gap:10px}.bookmark-generator-status{min-height:1.5em;font-size:.9rem;color:var(--gray-600)}.bookmark-generator-status.is-success{color:#16a34a}.bookmark-generator-status.is-warning{color:#d97706}.bookmark-generator-status.is-error{color:#dc2626}.bookmark-generator-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.94);backdrop-filter:blur(4px);border-radius:var(--radius-lg);border:1px solid var(--border)}.bookmark-generator-login-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px;text-align:center;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.bookmark-generator-login-icon{color:var(--brand-500)}.bookmark-generator-login-text{font-size:1.1rem;color:var(--gray-700);font-weight:500}.bookmark-generator-help{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.bookmark-generator-help-title{font-size:1.2rem;font-weight:700;margin-bottom:16px}.bookmark-generator-help-list{padding-left:20px;margin-bottom:16px;color:var(--gray-700);line-height:1.7}.bookmark-generator-help-note{font-size:.95rem;color:var(--text-muted);margin-bottom:20px}.bookmark-generator-help-img{width:100%;max-width:800px;height:auto;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-soft)}@media (max-width:768px){.bookmark-generator-panel{grid-template-columns:1fr}.bookmark-generator-help{padding:20px}}.ethical-ad-wrapper{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;min-height:56px;align-items:center;justify-content:center;padding:8px 20px;background:#f8fafc;border-top:1px solid #e5e5e5}.ethical-ad-wrapper.ethical-ad-active{display:flex}@media (min-width:1420px){.ethical-ad-wrapper{min-height:auto;bottom:24px;left:auto;right:24px;z-index:999;padding:0;border:none;max-width:300px;background:#fff;border-radius:10px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -4px rgba(0,0,0,0.04)}.ethical-ad-wrapper.ethical-ad-active{display:block}}@media (max-width:1419px){body{padding-bottom:56px}}@media (min-width:1420px){.site-footer{padding-bottom:80px}}.ethical-ad-unit{display:block}.carbon-ad-wrapper{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;min-height:56px;align-items:center;justify-content:center;padding:8px 20px;background:#f8fafc;border-top:1px solid #e5e5e5}.carbon-ad-wrapper.carbon-ad-active{display:flex}@media (min-width:1420px){.carbon-ad-wrapper{min-height:auto;bottom:24px;left:auto;right:24px;z-index:999;padding:0;border:none;max-width:300px;background:#fff;border-radius:10px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.08),0 4px 6px -4px rgba(0,0,0,0.04)}.carbon-ad-wrapper.carbon-ad-active{display:block}}.carbon-ad-wrapper #carbon-responsive #carbonads{position:static;width:100%;max-width:100%;margin:0;background:transparent;box-shadow:none}@media (max-width:960px){.steps-grid{grid-template-columns:repeat(2,1fr)}.steps-online{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:768px){.mobile-menu-toggle{display:flex}.main-nav{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;flex-direction:column;background:#fff;padding:24px;gap:16px;transform:translateX(100%);transition:transform var(--transition);z-index:99;overflow-y:auto}.main-nav.open{transform:translateX(0)}.nav-list{flex-direction:column;width:100%;gap:8px}.nav-link{display:block;padding:12px 16px}.nav-actions{flex-direction:column;width:100%;align-items:stretch}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1.05rem}.footer-inner{grid-template-columns:1fr;gap:32px}.user-card-header{flex-direction:column;text-align:center}.user-card-stats{flex-direction:column;gap:16px}.api-key-meta{flex-direction:column;gap:12px}.admin-header{flex-direction:column;align-items:flex-start}.admin-tabs{overflow-x:auto}.config-form{max-width:100%}}@media (max-width:480px){.steps-grid{grid-template-columns:1fr}.steps-online{grid-template-columns:1fr}.hero-title{font-size:1.8rem}.page-title{font-size:1.8rem}.section-title{font-size:1.5rem}.cta-title{font-size:1.5rem}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}}