.start-page{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 50% -10%,#1a1a2e,#0f0f14 55%,#09090b);color:#f4f4f5}.start-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px}.start-logo{font-size:1rem;font-weight:600;letter-spacing:.02em}.start-header-actions{display:flex;align-items:center;gap:12px}.start-login-btn{border:none;background:transparent;color:#fbbf24;font:inherit;font-size:.9rem;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;flex-shrink:0;transition:color .12s ease,background .12s ease,border-color .12s ease}.start-login-btn--filled{border:1px solid rgba(251,191,36,.55);background:#fbbf241f}.start-login-btn:hover{color:#f97316;background:#f973162e;border-color:#f97316a6}.start-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px 80px;text-align:center}.start-eyebrow{margin:0 0 16px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#a1a1aa}.start-title{margin:0;max-width:min(100%,20em);font-size:clamp(2rem,5vw,3.25rem);line-height:1.12;font-weight:700;display:flex;flex-direction:column;gap:.12em}.start-title-line{display:block}.start-subtitle{margin:18px 0 36px;max-width:42rem;font-size:1.05rem;line-height:1.6;color:#d4d4d8}.start-form{display:flex;gap:10px;width:min(100%,560px);padding:8px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.start-input{flex:1;min-width:0;border:none;background:transparent;color:#fff;font:inherit;font-size:1rem;padding:12px 16px;outline:none}.start-input::placeholder{color:#71717a}.start-submit{border:none;border-radius:999px;padding:12px 22px;font:inherit;font-size:.95rem;font-weight:600;color:#0f0f14;background:linear-gradient(135deg,#fbbf24,#f97316);cursor:pointer;white-space:nowrap}.start-submit:hover{filter:brightness(1.05)}.start-error{margin:12px 0 0;color:#fca5a5;font-size:.9rem}.start-trust{margin:28px 0 0;font-size:.85rem;color:#71717a}.start-trust-link{border:none;background:none;padding:0;margin:0 2px;font:inherit;font-size:inherit;color:#fbbf24;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.start-trust-link:hover{color:#f97316}.guest-audit-shell{display:flex;flex-direction:column;height:100dvh;background:var(--bg)}.guest-audit-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--sidebar-bg)}.guest-audit-brand{font-weight:600;font-size:.95rem}.guest-audit-domain{color:var(--muted);font-weight:400}.guest-audit-main{flex:1;min-height:0;display:flex;flex-direction:column}.guest-audit-main .main{flex:1;min-height:0}.guest-audit-banner{margin:0;padding:14px 20px;background:var(--accent-soft);color:var(--text);font-size:.92rem;border-bottom:1px solid var(--border)}@media(max-width:640px){.start-form{flex-direction:column;border-radius:20px}.start-submit{width:100%}}:root{--bg: #ffffff;--sidebar-bg: #f8f9fa;--surface: #f0f4f9;--surface-hover: #e9eef6;--surface-active: #e1e3e1;--border: #e0e3e7;--text: #1f1f1f;--muted: #5f6368;--accent: #1a73e8;--accent-soft: #d3e3fd;--user-bubble: #f0f4f9;--danger: #d93025;--success: #188038;--gemini-blue: #4285f4;--gemini-red: #ea4335;--gemini-yellow: #fbbc04;--gemini-green: #34a853;--chat-max: 48rem;--sidebar-width: 260px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:Google Sans,Segoe UI,Roboto,system-ui,sans-serif;background:var(--bg);color:var(--text)}.shell{display:grid;grid-template-columns:1fr var(--sidebar-width);height:100dvh;width:100%;background:var(--bg);position:relative}.shell>.app-topbar{position:absolute;top:12px;right:calc(var(--sidebar-width) + 16px);z-index:30;padding:0}.sidebar{display:flex;flex-direction:column;background:var(--sidebar-bg);border-left:1px solid var(--border);border-right:none;min-width:0;height:100%;min-height:0;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:14px 16px 8px;font-size:1.05rem;font-weight:500;color:var(--text);flex-shrink:0}.sidebar-brand .logo{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;color:#fff;background:conic-gradient(from 210deg,var(--gemini-blue),var(--gemini-red),var(--gemini-yellow),var(--gemini-green),var(--gemini-blue));flex-shrink:0}.sidebar-actions{padding:4px 12px 12px;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.sidebar-nav-btn{display:flex;align-items:center;gap:12px;width:100%;border:none;background:transparent;color:var(--text);font:inherit;font-size:.9rem;padding:10px 12px;border-radius:24px;cursor:pointer;text-align:left}.sidebar-nav-btn:hover{background:var(--surface-hover)}.sidebar-nav-btn.active{background:var(--accent-soft)}.sidebar-nav-btn .icon{width:20px;text-align:center;opacity:.85;font-size:1.1rem}.search-wrap{padding:0 12px 8px;flex-shrink:0}.search-input{width:100%;border:none;background:var(--surface);border-radius:24px;padding:10px 14px 10px 36px;font-size:.85rem;outline:none;color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%235f6368' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242 1.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}.search-input::placeholder{color:var(--muted)}.session-list{flex:1;min-height:0;overflow-y:auto;padding:4px 8px 12px;scrollbar-width:thin;scrollbar-color:transparent transparent}.session-list:hover{scrollbar-color:rgba(95,99,104,.45) transparent}.session-list::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-button{display:none;height:0;width:0}.session-list::-webkit-scrollbar-track{background:transparent}.session-list::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.session-list:hover::-webkit-scrollbar-thumb{background:#5f636873}.session-section-label{margin:8px 12px 6px;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.session-row{position:relative;display:flex;align-items:center;margin-bottom:2px}.session-item{flex:1;min-width:0;border:none;background:transparent;text-align:left;padding:10px 36px 10px 12px;border-radius:24px;cursor:pointer;font-size:.88rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item:hover{background:var(--surface-hover)}.session-item.active{background:var(--accent-soft)}.session-menu-btn{position:absolute;right:4px;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;opacity:0;font-size:1.1rem;line-height:1}.session-row:hover .session-menu-btn,.session-menu-btn:focus{opacity:1}.session-menu-btn:hover{background:var(--surface-hover)}.sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.sidebar-footer .platform-account-footer{width:100%}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;font-size:.8rem;font-weight:600;color:var(--muted);flex-shrink:0}.lang-switcher{display:flex;gap:2px;padding:2px;border-radius:8px;background:var(--surface);border:1px solid var(--border);flex-shrink:0}.lang-switcher-btn{border:none;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;line-height:1;padding:5px 7px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease}.lang-switcher-btn:hover{color:var(--text);background:var(--surface-hover)}.lang-switcher-btn.active{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #3c40431f}.user-meta{flex:1;min-width:0}.user-meta .name{font-size:.85rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta .status-line{font-size:.72rem;color:var(--muted)}.icon-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:6px;border-radius:50%;font-size:.9rem}.icon-btn:hover{background:var(--surface-hover)}.main{display:flex;flex-direction:column;min-width:0;height:100%;min-height:0;background:var(--bg)}.chat-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}.chat-scroll::-webkit-scrollbar{display:none}.stream-inline-status{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:.84rem;color:var(--muted)}.stream-inline-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:progress-pulse 1.4s ease infinite}.typing-dots{display:inline-flex;align-items:center;gap:5px;height:10px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:typing-bounce 1.1s ease infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-inner{width:100%;max-width:var(--chat-max);margin:0 auto;padding:24px 16px 16px;flex:1}.messages-thread{width:100%}.welcome{margin:auto;padding:48px 16px 32px;text-align:center;max-width:640px}.welcome h2{margin:0 0 12px;font-size:1.75rem;font-weight:400;color:var(--text)}.welcome>p{margin:0;color:var(--muted);line-height:1.6}.capability-groups{display:flex;flex-direction:column;gap:18px;margin-top:28px;text-align:left}.capability-group-title{margin:0 0 10px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.capability-group-items{display:flex;flex-wrap:wrap;gap:10px}.suggestion{border:1px solid var(--border);background:var(--bg);color:var(--text);padding:10px 16px;border-radius:999px;cursor:pointer;font:inherit;font-size:.9rem;transition:background .15s ease}.suggestion:hover{background:var(--surface)}.messages-thread .message{display:flex;align-items:flex-start;gap:12px;margin-bottom:28px;width:100%;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.message.user{flex-direction:row;justify-content:flex-end}.message.user .message-body{flex:0 1 auto;max-width:min(720px,78%);display:flex;justify-content:flex-end}.message.user .bubble{background:var(--user-bubble);color:var(--text);padding:12px 18px;border-radius:24px 24px 6px;line-height:1.65;white-space:pre-wrap;word-break:break-word;text-align:left}.message.assistant{flex-direction:row;justify-content:flex-start}.message.assistant .message-body{flex:0 1 auto;max-width:min(720px,88%);min-width:0}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:600;flex-shrink:0;margin-top:2px}.message.user .avatar{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.message.assistant .avatar{background:conic-gradient(from 210deg,var(--gemini-blue),var(--gemini-red),var(--gemini-yellow),var(--gemini-green),var(--gemini-blue));color:#fff;font-weight:700}.message.assistant .bubble{color:var(--text);line-height:1.7;font-size:.95rem;padding:2px 0;text-align:left}.message.assistant .bubble.guide{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px;white-space:pre-wrap}.bubble.error-text{color:var(--danger)}.markdown-body{color:var(--text);line-height:1.7}.markdown-body p,.markdown-body li,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body strong{color:var(--text)}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1em 0 .4em;font-weight:500;font-size:1.05em}.markdown-body p{margin:.5em 0}.markdown-body ul,.markdown-body ol{margin:.5em 0;padding-left:1.35em}.markdown-body code{background:var(--surface);color:#3c4043;padding:.15em .4em;border-radius:6px;font-size:.92em}.markdown-body pre{background:var(--surface);border:1px solid var(--border);padding:12px 14px;border-radius:12px;overflow-x:auto}.markdown-body pre code{background:none;padding:0}.markdown-body a{color:var(--accent)}.progress-log{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;font-size:.88rem}.progress-log-item{display:flex;align-items:flex-start;gap:10px;line-height:1.45}.progress-log-item--active{color:var(--accent)}.progress-log-item--done{color:var(--text-secondary, #5f6368)}.progress-log--done .progress-log-item--done{color:var(--success)}.activity-dot--idle{animation:none;background:var(--text-secondary, #9aa0a6);box-shadow:none}.progress-log-item--done .activity-dot--idle{background:var(--success)}.bubble-progress{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--accent);font-size:.88rem}.bubble-progress.done{color:var(--success)}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 #1a73e859;animation:progress-pulse 1.4s ease infinite;flex-shrink:0}.bubble-progress.done .activity-dot{animation:none;background:var(--success)}@keyframes progress-pulse{0%{box-shadow:0 0 #1a73e859}70%{box-shadow:0 0 0 8px #1a73e800}to{box-shadow:0 0 #1a73e800}}.report-download{margin-top:12px}.chat-content-card{margin-top:12px;display:flex;flex-direction:column;gap:10px}.chat-content-card-actions{display:flex;flex-wrap:wrap;gap:8px}.report-download-error{margin-top:10px;color:var(--danger);font-size:.9rem}.report-download-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:500;text-decoration:none;font-size:.92rem}.report-download-btn:hover{background:#c2d7fc}.report-download-hint{margin:8px 0 4px;font-size:.82rem;color:var(--muted)}.report-download-link{display:block;word-break:break-all;font-size:.8rem;color:var(--accent);text-decoration:underline}.markdown-body a.report-inline-link{color:var(--accent);font-weight:500;text-decoration:underline;cursor:pointer}.composer-wrap{flex-shrink:0;padding:0 24px 20px;background:linear-gradient(to top,var(--bg) 70%,transparent)}.composer-inner{max-width:var(--chat-max);margin:0 auto}.composer{display:flex;align-items:flex-end;gap:4px;background:var(--surface);border-radius:28px;padding:6px 6px 6px 4px;box-shadow:0 1px 3px #3c40431f}.composer-attach{width:40px;height:40px;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:1.35rem;cursor:default;flex-shrink:0;line-height:1}.composer textarea{flex:1;border:none;background:transparent;resize:none;outline:none;font:inherit;font-size:.95rem;color:var(--text);padding:10px 4px;max-height:160px;line-height:1.5}.composer textarea::placeholder{color:var(--muted)}.composer-send{width:40px;height:40px;border:none;border-radius:50%;background:var(--text);color:#fff;cursor:pointer;flex-shrink:0;display:grid;place-items:center;font-size:1.1rem}.composer-send:disabled{opacity:.35;cursor:not-allowed}.composer-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 0;font-size:.75rem;color:var(--muted)}.hint-footer{text-align:center;font-size:.72rem;color:var(--muted);margin:10px 0 0;line-height:1.4}.session-loading{text-align:center;padding:24px 16px 8px;font-size:.88rem;color:var(--muted)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#00000061;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:24px}.confirm-dialog{width:min(400px,100%);background:var(--bg);color:var(--text);border-radius:28px;padding:26px 28px 22px;box-shadow:0 12px 40px #3c404347}.confirm-dialog-title{margin:0 0 12px;font-size:1.35rem;font-weight:500;letter-spacing:-.02em;line-height:1.3}.confirm-dialog-desc{margin:0 0 24px;font-size:.92rem;line-height:1.55;color:var(--muted)}.confirm-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.confirm-btn{border:none;background:transparent;font:inherit;font-size:.9rem;font-weight:500;padding:10px 16px;border-radius:20px;cursor:pointer;color:var(--accent);transition:background .15s ease}.confirm-btn:hover:not(:disabled){background:var(--surface-hover)}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn-cancel{color:var(--text)}.confirm-btn-danger{color:var(--danger)}.confirm-btn-danger:hover:not(:disabled){background:#d9302514}.input-dialog-field{width:100%;box-sizing:border-box;margin:0 0 20px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font:inherit;font-size:.95rem;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input-dialog-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-dialog-field:disabled{opacity:.7}.input-dialog-error{margin:0 0 12px;font-size:.86rem;color:var(--danger);line-height:1.4}.shell--locked{pointer-events:none;-webkit-user-select:none;user-select:none;filter:blur(4px) saturate(.92)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a129e;-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);display:grid;place-items:center;z-index:200;padding:28px}.auth-modal{width:min(520px,100%);background:radial-gradient(120% 80% at 50% -20%,rgba(107,92,231,.22),transparent 55%),linear-gradient(165deg,#1e2433,#12151f 48%,#0f1118);color:#f5f6fc;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px 36px 32px;box-shadow:0 0 0 1px #ffffff0a inset,0 32px 80px #0000008c,0 8px 24px #6b5ce71f}.auth-modal-header{text-align:center;margin-bottom:28px}.auth-modal-header h2{margin:0 0 10px;font-size:1.75rem;font-weight:600;letter-spacing:-.03em;line-height:1.2}.auth-modal-subtitle{margin:0;font-size:.95rem;color:#9aa3ba;line-height:1.5}.auth-oauth{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#eef0f8;font:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.auth-oauth:not(.auth-oauth--placeholder):hover{background:#ffffff1a;border-color:#ffffff38}.auth-oauth--placeholder{pointer-events:none;cursor:default}.auth-oauth-icon{width:24px;height:24px;display:grid;place-items:center;flex-shrink:0}.auth-oauth-icon svg{display:block}.auth-divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:#7d869c;font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;align-items:center;gap:12px;padding:0 16px;min-height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#00000047;transition:border-color .2s ease,box-shadow .2s ease}.auth-field:focus-within{border-color:#7b68ee8c;box-shadow:0 0 0 3px #6b5ce72e}.auth-field-grow{flex:1;min-width:0}.auth-field-icon{opacity:.5;font-size:1rem;flex-shrink:0}.auth-field input{flex:1;border:none;background:transparent;color:#f5f6fc;padding:14px 0;font:inherit;font-size:.98rem;outline:none;min-width:0}.auth-field input::placeholder{color:#6e7890}.auth-code-row{display:flex;gap:12px;align-items:stretch}.auth-code-btn{flex-shrink:0;min-height:52px;border:1px solid rgba(123,104,238,.5);background:#6b5ce71f;color:#ddd6ff;border-radius:14px;padding:0 18px;font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s ease,border-color .2s ease}.auth-code-btn:hover:not(:disabled){background:#6b5ce738;border-color:#7b68eeb3}.auth-code-btn:disabled{opacity:.5;cursor:not-allowed}.auth-primary{margin-top:6px;width:100%;border:none;border-radius:14px;min-height:52px;padding:14px 18px;background:linear-gradient(135deg,#7c6cf0,#5b4de0 55%,#5243d4);color:#fff;font:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 28px #5b4de059;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.auth-primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 12px 32px #5b4de073;transform:translateY(-1px)}.auth-primary:active:not(:disabled){transform:translateY(0)}.auth-primary:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}.auth-error{margin:0;padding:10px 12px;font-size:.86rem;color:#ffb4ab;line-height:1.45;background:#ff52521a;border-radius:10px;border:1px solid rgba(255,120,120,.2)}.auth-switch{margin:12px 0 0;text-align:center;font-size:.9rem;color:#9aa3ba}.auth-link{border:none;background:none;color:#b4b8ff;font:inherit;font-weight:500;cursor:pointer;padding:0 4px;text-decoration:none;transition:color .15s ease}.auth-link:hover{color:#d0d3ff;text-decoration:underline}.context-menu{position:fixed;z-index:200;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #3c40431f,0 8px 24px #3c404324;padding:8px 0;min-width:168px}.context-menu button{display:flex;align-items:center;gap:14px;width:100%;border:none;background:transparent;text-align:left;padding:11px 18px;font:inherit;font-size:.9rem;color:var(--text);cursor:pointer;transition:background .12s ease}.context-menu-icon{flex-shrink:0;color:#5f6368;transition:color .12s ease}.context-menu button>span{flex:1;line-height:1.25}.context-menu button:hover{background:var(--surface-hover)}.context-menu button:hover .context-menu-icon{color:#3c4043}.context-menu button.danger,.context-menu button.danger .context-menu-icon{color:var(--danger)}.context-menu button.danger:hover{background:#d930250f}.hidden{display:none!important}@media(max-width:768px){.shell{grid-template-columns:1fr}.sidebar{display:none}}.platform-loading{display:grid;place-items:center;min-height:100dvh;color:var(--muted)}.platform-loading--scoped{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100%;padding:32px;gap:16px}.route-skeleton{border-radius:8px;background:linear-gradient(90deg,#eceef1 25%,#f5f6f8,#eceef1 75%);background-size:200% 100%;animation:route-skeleton-shimmer 1.4s ease-in-out infinite}.route-skeleton--title{height:28px;width:220px}.route-skeleton--subtitle{height:16px;width:360px;margin-bottom:8px}.route-skeleton--card{height:120px}@keyframes route-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.platform-shell{display:flex;height:100dvh;min-height:100dvh;overflow:hidden;background:#f4f5f7}.platform-nav{width:248px;flex-shrink:0;background:#fff;border-right:1px solid #e8eaed;display:flex;flex-direction:column;padding:14px 10px;height:100%;min-height:0;overflow:hidden}.platform-project{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;border-bottom:1px solid #f0f1f3;margin-bottom:10px;flex-shrink:0}.platform-project-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f26422,#ff8a4c);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.platform-project-favicon{width:28px;height:28px;border-radius:6px;flex-shrink:0;object-fit:contain}.platform-project-favicon--placeholder{background:#f1f3f4}.platform-project-switcher{position:relative;margin-top:2px}.platform-switcher-btn{border:none;background:none;padding:0;font-size:11px;color:#9aa0a6;cursor:pointer}.platform-switcher-menu{position:absolute;top:100%;left:0;z-index:20;list-style:none;margin:4px 0 0;padding:4px;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 4px 12px #00000014;min-width:160px}.platform-switcher-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:6px 10px;font-size:12px;border-radius:6px;cursor:pointer;color:#3c4043}.platform-switcher-menu button:hover,.platform-switcher-menu button.active{background:#fff4ec;color:#c44f00}.platform-project-name{font-size:13px;font-weight:600;color:#1a1d21;line-height:1.2;word-break:break-all}.platform-project-sub{font-size:11px;color:#9aa0a6}.platform-menu-group{margin-bottom:16px}.platform-menu-label{font-size:11px;text-transform:uppercase;color:#80868b;padding:4px 8px;letter-spacing:.04em}.platform-menu-link{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;color:#3c4043;text-decoration:none;font-size:13px}.platform-menu-link:hover{background:#f5f6f8}.platform-menu-link--active{background:#fff4ec;color:#c44f00;font-weight:600}.platform-menu-link--disabled{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;color:#9aa0a6;font-size:13px;cursor:default}.platform-menu-badge{font-size:10px;font-weight:600;background:#e8f0fe;color:#1967d2;border-radius:4px;padding:1px 5px}.platform-menu-soon{font-size:10px;color:#bdc1c6}.platform-menu--scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.platform-menu--scroll:hover{scrollbar-color:rgba(95,99,104,.45) transparent}.platform-menu--scroll::-webkit-scrollbar{width:6px}.platform-menu--scroll::-webkit-scrollbar-button{display:none;height:0;width:0}.platform-menu--scroll::-webkit-scrollbar-track{background:transparent}.platform-menu--scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.platform-menu--scroll:hover::-webkit-scrollbar-thumb{background:#5f636873}.platform-nav-footer{margin-top:auto;padding-top:12px;border-top:1px solid #f0f1f3;flex-shrink:0}.platform-account-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 8px}.platform-account-trigger{display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:4px;border-radius:999px;cursor:pointer}.platform-account-trigger:hover{background:#f5f6f8}.platform-account-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;background:transparent;z-index:40;cursor:default}.platform-account-menu{position:absolute;left:8px;right:8px;bottom:calc(100% + 8px);background:#fff;border:1px solid #e8eaed;border-radius:12px;box-shadow:0 8px 24px #20212424;padding:8px;z-index:50}.platform-account-menu-user{padding:8px 10px;font-size:13px;font-weight:600;color:#1a1d21;border-bottom:1px solid #f0f1f3;margin-bottom:4px;word-break:break-all}.platform-account-menu-item{display:block;width:100%;border:none;background:transparent;text-align:left;padding:10px;border-radius:8px;font:inherit;font-size:13px;color:#3c4043;cursor:pointer}.platform-account-menu-item:hover{background:#f5f6f8}.platform-main{flex:1;min-width:0;min-height:0;overflow:auto;position:relative}.platform-main>.shell{height:100%;min-height:0}.app-topbar{display:flex;justify-content:flex-end;padding:10px 16px 0;pointer-events:none}.app-topbar .lang-switcher{pointer-events:auto}.platform-main>.app-topbar{position:absolute;top:0;right:0;z-index:30;padding:12px 16px}.guest-agent-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 16px 0;padding:12px 16px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f;font-size:14px}.guest-agent-banner--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.guest-agent-banner p{margin:4px 0 0}.guest-agent-banner-actions{display:flex;gap:8px;flex-shrink:0}.guest-agent-banner-btn{border:none;border-radius:8px;padding:8px 14px;background:#2563eb;color:#fff;font-weight:600;cursor:pointer}.guest-agent-banner-btn--ghost{background:transparent;color:#065f46;border:1px solid #6ee7b7}.geo-page{padding:24px 28px 40px;max-width:1200px}.geo-page--split{display:flex;gap:20px;max-width:none}.geo-page-main{flex:1;min-width:0}.geo-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.geo-page-header h1{margin:0;font-size:24px;font-weight:500}.geo-page-hint{margin-top:8px;max-width:42rem;line-height:1.5}.geo-header-actions{display:flex;gap:8px;flex-wrap:wrap}.geo-muted{color:#80868b;font-size:14px}.geo-card{background:#fff;border:1px solid var(--border, #e0e0e0);border-radius:12px;padding:16px 18px;margin-bottom:16px}.geo-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px}.geo-kpi-card .geo-kpi-label{font-size:12px;color:#80868b;text-transform:uppercase}.geo-kpi-value{font-size:28px;font-weight:500;margin:4px 0}.geo-kpi-meta{font-size:12px;color:#80868b}.geo-insight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.geo-link{color:#e8710a;text-decoration:none;font-size:14px;background:none;border:none;cursor:pointer;padding:0}.geo-link--danger{color:var(--danger, #d93025)}.geo-link--muted{color:#5f6368;font-size:13px}.geo-btn{border:1px solid var(--border, #e0e0e0);background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:14px}.geo-btn--primary{background:#e8710a;border-color:#e8710a;color:#fff}.geo-btn:disabled{opacity:.5;cursor:not-allowed}.geo-select,.geo-input,.geo-textarea{border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit}.geo-hint{display:block;font-size:11px;color:#9aa0a6;margin-top:4px}.geo-textarea{width:100%;resize:vertical}.geo-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.geo-table{width:100%;border-collapse:collapse;font-size:14px}.geo-table th,.geo-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #f1f3f4}.geo-table--wide .geo-prompt-cell{max-width:420px}.geo-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;text-transform:capitalize}.geo-badge--high{background:#fce8e6;color:#c5221f}.geo-badge--medium{background:#fef7e0;color:#b06000}.geo-badge--low{background:#e8f0fe;color:#1967d2}.geo-topic-sidebar{width:220px;flex-shrink:0}.geo-topic-item{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px}.geo-topic-item--active,.geo-topic-item:hover{background:#f1f3f4}.geo-add-form{display:flex;flex-direction:column;gap:10px}.geo-form{display:flex;flex-direction:column;gap:14px}.geo-form label{display:flex;flex-direction:column;gap:6px;font-size:14px}.geo-form-actions{display:flex;gap:8px}.geo-brand-list{list-style:none;padding:0;margin:0}.geo-brand-item{width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:8px;cursor:pointer}.geo-brand-item--active{background:#fef7e0}.geo-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.geo-agent-card{text-decoration:none;color:inherit;transition:box-shadow .15s}.geo-agent-card:hover{box-shadow:0 2px 8px #00000014}.geo-steps{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 20px;font-size:13px;color:#80868b}.geo-step--done{color:#137333;font-weight:500}.geo-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:16px}.geo-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:14px}.geo-prompt-row{margin-bottom:10px}.geo-spark-bars{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:8px}.geo-spark-bar{flex:1;background:#e8710a;border-radius:4px 4px 0 0;min-height:8px;opacity:.85}.geo-row-owned{font-weight:500}.geo-success{color:#137333;font-weight:500}@media(max-width:900px){.platform-nav{display:none}.geo-two-col{grid-template-columns:1fr}.geo-page--split{flex-direction:column}}.geo-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:980px){.geo-grid-2{grid-template-columns:1fr}}.geo-tabs{display:flex;gap:8px;margin-bottom:16px}.geo-tab{border:1px solid #e0e0e0;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:#444}.geo-tab--active{background:#1a73e8;border-color:#1a73e8;color:#fff}.geo-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.geo-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:#f1f3f4;color:#444;font-size:12px}.geo-status-light{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.geo-status-light--idle{background:#dadce0}.geo-status-light--pending{background:#fbbc04;animation:geo-status-pulse 1.2s ease-in-out infinite}.geo-status-light--ok{background:var(--gemini-green);box-shadow:0 0 0 2px #34a85333,0 0 8px #34a85373}.geo-status-light--error{background:#d93025;box-shadow:0 0 0 2px #d9302526}.geo-connector-status{display:inline-flex;align-items:center;gap:8px}@keyframes geo-status-pulse{0%,to{opacity:1}50%{opacity:.45}}.geo-brand-cell{display:inline-flex;align-items:center;gap:6px}.geo-row--owned{background:#e8f0fe}.geo-badge--owned{background:#fef7e0;color:#b06000}.geo-btn--ghost{background:#fff;color:#1a73e8;border:1px solid #1a73e8}.geo-score-card{display:flex;flex-direction:column;gap:12px}.geo-score-title{font-weight:600;font-size:14px}.geo-score-overall{display:flex;align-items:center;gap:10px}.geo-score-number{font-size:32px;font-weight:700}.geo-score-dims{display:flex;flex-direction:column;gap:10px}.geo-score-dim-label{display:flex;justify-content:space-between;font-size:13px;color:#444;margin-bottom:4px}.geo-scorebar{height:8px;background:#eef1f4;border-radius:999px;overflow:hidden}.geo-scorebar-fill{height:100%;border-radius:999px}.geo-score-tips{margin:0;padding-left:18px;font-size:13px;color:#555}.geo-score-tips li{margin-bottom:4px}.geo-resource-list{list-style:none;margin:12px 0 0;padding:0;font-size:13px}.geo-resource-list li{padding:8px 0;border-bottom:1px solid #eef1f4;display:flex;gap:8px;justify-content:space-between}.geo-content-output{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.6;background:#fafbfc;border:1px solid #eef1f4;border-radius:8px;padding:16px;max-height:560px;overflow:auto}.geo-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}.geo-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#5a6472}.geo-field input,.geo-field select{padding:8px 10px;border:1px solid #d8dde3;border-radius:8px;font-size:14px}.geo-field-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#5a6472}.geo-chip--error{background:#fdecec;color:#b42318}.geo-callout{margin:12px 0;padding:12px 16px;border:1px solid #ffe2b8;background:#fff8ec;border-radius:8px;font-size:13px}.geo-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:12px}.geo-stat{padding:16px;border:1px solid #eef1f4;border-radius:10px;text-align:center}.geo-stat-value{font-size:26px;font-weight:700;color:#1a2230}.geo-stat-label{font-size:12px;color:#7a8493;margin-top:4px}.geo-section-title{margin:24px 0 12px;font-size:16px}.geo-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.geo-pricing-card{display:flex;flex-direction:column;gap:10px}.geo-pricing-card--current{border-color:#2f6df6;box-shadow:0 0 0 2px #2f6df626}.geo-pricing-price{font-size:28px;font-weight:700}.geo-pricing-price .geo-muted{font-size:14px;font-weight:400}.geo-pricing-meta,.geo-pricing-features{list-style:none;margin:0;padding:0;font-size:13px;color:#5a6472}.geo-pricing-meta li,.geo-pricing-features li{padding:3px 0}.geo-pricing-features li:before{content:"✓ ";color:#2f9e44}.geo-pricing-card .geo-btn{margin-top:auto}.geo-region-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;margin-top:12px}.geo-region-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#1a2230;border-radius:4px;cursor:default}.geo-content-view-tabs{display:inline-flex;gap:4px;padding:4px;background:#f1f3f4;border-radius:10px;margin-top:12px}.geo-content-view-tab{border:none;background:transparent;color:#5f6368;font-size:13px;font-weight:500;padding:8px 14px;border-radius:8px;cursor:pointer}.geo-content-view-tab--active{background:#fff;color:#1a73e8;box-shadow:0 1px 2px #3c404326}.geo-content-draft-list{display:flex;flex-direction:column;gap:8px}.geo-content-draft-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;text-align:left;border:1px solid var(--border, #e0e0e0);border-radius:10px;padding:12px 14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}.geo-content-draft-item:hover{border-color:#c6dafc}.geo-content-draft-item--active{border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e826}.geo-content-draft-item-main{min-width:0;flex:1;border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.geo-content-draft-item-title{font-weight:600;font-size:14px;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-content-draft-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:#5f6368}.geo-content-draft-item-topic{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.geo-field-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.geo-field-row .geo-input{flex:1;min-width:220px}.geo-content-loaded-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border, #e0e0e0)}.geo-content-loaded-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.geo-content-loaded-title{font-weight:600;font-size:15px;color:#202124}.geo-content-loaded-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.geo-content-loaded-preview{margin-top:12px}.geo-content-loaded-preview summary{cursor:pointer;color:#1a73e8;font-size:13px;font-weight:500}.geo-error{margin-top:10px;color:#c5221f;font-size:13px}.geo-content-saved-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#e6f4ea;color:#137333;font-size:12px;font-weight:500}.geo-content-editor{display:flex;flex-direction:column;gap:8px;min-height:240px}.geo-content-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.geo-content-editor-textarea{width:100%;min-height:280px;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;padding:12px 14px;border:1px solid var(--border, #e0e0e0);border-radius:8px;resize:vertical;box-sizing:border-box}.geo-content-editor-textarea:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.geo-content-preview-tabs{display:inline-flex;gap:4px;margin-bottom:8px}.geo-content-create{align-items:flex-start}.geo-content-create .geo-page-main{flex:1;min-width:0;max-width:560px}.geo-content-preview{flex:1.2;min-width:320px;position:sticky;top:24px;align-self:flex-start;background:#fff;border:1px solid var(--border, #e0e0e0);border-radius:12px;padding:16px 18px;max-height:calc(100dvh - 48px);overflow-y:auto}.geo-content-steps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.geo-content-step{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border, #e0e0e0);background:#fff;border-radius:24px;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--muted, #5f6368)}.geo-content-step--active{border-color:#e8710a;background:#fff8ec;color:#1f1f1f;font-weight:500}.geo-content-step--done .geo-content-step-num{background:#188038;color:#fff}.geo-content-step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--surface, #f0f4f9);font-size:12px;font-weight:600}.geo-content-step--active .geo-content-step-num{background:#e8710a;color:#fff}.geo-content-skill-badge{margin-top:12px}.geo-content-rules-list{margin:0;padding-left:20px;font-size:13px;line-height:1.7;color:#5a6472}.geo-content-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.geo-content-preview-actions{display:flex;gap:6px;flex-wrap:wrap}.geo-content-wp-panel{margin-bottom:16px;padding:12px 14px;border:1px solid #ffe2b8;background:#fffaf3;border-radius:10px}.geo-content-wp-panel .geo-field{margin-bottom:10px}.geo-content-wp-panel .geo-header-actions{margin-top:8px}.geo-btn--sm{padding:6px 10px;font-size:12px}.geo-content-markdown{font-size:14px;line-height:1.65}.geo-content-empty{padding:48px 16px;text-align:center}.geo-content-score-wrap{margin-bottom:16px}.geo-content-loading{padding:24px 0}.geo-content-loading-bar{height:3px;background:linear-gradient(90deg,#e8710a,#fbbc04,#e8710a);background-size:200% 100%;border-radius:2px;animation:geo-content-shimmer 1.2s ease-in-out infinite;margin-bottom:12px}@keyframes geo-content-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.geo-content-auto-context{display:flex;flex-direction:column;gap:14px;margin:14px 0}.geo-content-context-block{padding:12px 14px;border:1px solid #eef1f4;border-radius:10px;background:#fafbfc}.geo-content-context-label{font-size:12px;font-weight:600;color:#5a6472;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.geo-keyword-chips{display:flex;flex-wrap:wrap;gap:6px}.geo-keyword-chip{display:inline-block;padding:4px 10px;border-radius:16px;font-size:13px;background:#e8f0fe;color:#1a56db}.geo-keyword-chip--brand{background:#fff3e0;color:#b06000}.geo-content-keyword-select{width:100%;max-width:100%}.geo-keyword-import-modes{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.geo-keyword-dropzone{border:2px dashed #d8dde3;border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;background:#fafbfc;transition:border-color .15s,background .15s}.geo-keyword-dropzone--active,.geo-keyword-dropzone:hover{border-color:#e8710a;background:#fff8ec}.geo-keyword-dropzone-title{font-size:14px;font-weight:500;margin-bottom:6px}.geo-file-input{display:none}.geo-keyword-format-help{margin-top:12px;font-size:13px}.geo-keyword-format-help summary{cursor:pointer;color:#e8710a}.geo-keyword-format-sample{margin:8px 0;padding:12px;background:#f4f6f8;border-radius:8px;font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre-wrap}.geo-keyword-import-msg{margin-top:10px;font-size:13px;color:#188038}.geo-keyword-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.geo-keyword-section-head .geo-section-title{margin:0}@media(max-width:900px){.geo-content-create{flex-direction:column}.geo-content-create .geo-page-main{max-width:none}.geo-content-preview{position:static;max-height:none}}
