@charset "UTF-8";
/* CodeAgent public website: shared tokens and base components. Page styles build on these. */
:root{color-scheme:light;
  --ink:#172033;--ink-2:#334155;--muted:#5d6b7e;--subtle:#8a96a8;
  --blue:#2457a7;--blue-hover:#1b4789;--accent:#2457a7;--accent-soft:#edf3fd;--accent-border:#c9d9f3;
  --page:#f6f8fb;--paper:#fff;--surface:#f1f4f9;--lavender:#edf3fd;--line:#e2e7ef;--line-strong:#cbd4e1;
  --success:#1f7a55;--success-soft:#e8f6ef;--warning:#8a5a12;--danger:#b23a2e;
  --radius:12px;--radius-sm:8px;--radius-lg:18px;
  --shadow-sm:0 1px 2px rgb(15 23 42/.05);--shadow:0 10px 30px -12px rgb(15 23 42/.18);--shadow-lg:0 30px 80px -24px rgb(15 23 42/.35);
  --font:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Segoe UI",sans-serif;
  --mono:Consolas,"Cascadia Code","Courier New",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--page);color:var(--ink);font:16px/1.75 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
button,summary{cursor:pointer}
img,svg{max-width:100%}
button:disabled{cursor:wait}
::selection{background:#c9d9f3;color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3{color:var(--ink);line-height:1.35;letter-spacing:-.02em}
h1{font-weight:700}
p{color:var(--muted)}
[hidden]{display:none!important}
.site-container{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.brand{display:inline-flex;align-items:center;gap:9px;min-height:40px;font-size:18px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}
.brand img{display:block;width:28px;height:28px}
.skip-link{position:fixed;z-index:200;left:16px;top:-100px;padding:10px 18px;border-radius:var(--radius-sm);background:var(--blue);color:#fff;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}

/* Buttons and links */
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 22px;border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}
.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px -10px rgb(36 87 167/.8)}
.button-primary:hover{background:var(--blue-hover);transform:translateY(-1px);box-shadow:0 12px 24px -10px rgb(36 87 167/.8)}
.button-secondary{background:var(--paper);border-color:var(--line-strong);color:var(--ink-2)}
.button-secondary:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--blue)}
.text-link{color:var(--blue);font-weight:500;text-decoration:underline;text-decoration-color:var(--accent-border);text-underline-offset:5px}
.text-link:hover{text-decoration-color:currentColor}

/* Section headings and simple page intros */
.section-heading{margin-bottom:28px}
.section-heading h2{font-size:28px;font-weight:700}
.section-heading p{max-width:680px;margin-top:12px;font-size:15px;line-height:1.85}
.page-intro{position:relative;margin-top:28px;margin-bottom:36px;padding:40px 44px;border:1px solid var(--accent-border);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(120% 140% at 100% 0,#dfe9fb 0,transparent 55%),linear-gradient(180deg,#f4f8ff,#fff)}
.page-intro::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#2457a70a 1px,transparent 1px),linear-gradient(90deg,#2457a70a 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,#000 70%)}
.page-intro>*{position:relative}
.page-intro h1{font-size:38px}
.page-intro p{max-width:680px;margin-top:14px;font-size:16px;line-height:1.85}

/* Footer */
.site-footer{margin-top:72px;padding:28px 0;border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:13px}
.site-footer:not(:has(>.site-container)){display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding-inline:max(32px,calc((100% - 1200px)/2))}
.site-footer:not(:has(>.site-container)) nav{display:flex;flex-wrap:wrap;gap:20px}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);transition:color .15s}
.site-footer a:hover{color:var(--blue)}
.site-footer>.download-footer{display:flex;align-items:center;gap:30px}
.download-footer>nav{display:flex;gap:22px;margin-left:auto;font-size:13px}
.download-footer>p{font-size:13px}
.footer-main{display:flex;justify-content:space-between;gap:50px}
.footer-brand p{max-width:290px;margin-top:10px;font-size:13px}
.footer-links{display:flex;gap:55px}
.footer-links nav{display:flex;flex-direction:column;gap:8px;font-size:13px}
.footer-links strong{margin-bottom:5px;color:var(--ink);font-size:13px}
.footer-links a{min-height:30px;color:var(--muted)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}
.footer-bottom nav{display:flex;gap:20px}

/* FAQ and notices */
.faq-list{display:grid;gap:10px}
.faq-list details{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:border-color .15s,box-shadow .15s}
.faq-list details[open]{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}
.faq-list summary{position:relative;padding:18px 56px 18px 22px;list-style:none;font-size:15px;font-weight:600}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:18px;top:50%;display:grid;place-items:center;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--surface);color:var(--blue);font-size:18px;font-weight:500;line-height:1}
.faq-list details[open] summary:after{content:"−";background:var(--blue);color:#fff}
.faq-list details>p{max-width:850px;padding:0 22px 20px;font-size:14px;line-height:1.9}
.notice{padding:14px 18px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft);color:var(--ink-2);font-size:14px}
.cg-language-notice{grid-column:1/-1;margin:0 0 24px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:13px;line-height:1.7}

@media(max-width:1050px){.site-container{width:calc(100% - 48px)}.footer-links{gap:30px}.site-footer:not(:has(>.site-container)){padding-inline:24px}}
@media(max-width:760px){.site-container{width:calc(100% - 40px)}.section-heading h2{font-size:24px}.page-intro{margin-top:18px;margin-bottom:26px;padding:26px 22px;border-radius:14px}.page-intro h1{font-size:29px}.page-intro p{font-size:15px}.site-footer{margin-top:48px;padding-top:22px}.site-footer:not(:has(>.site-container)){align-items:flex-start;flex-wrap:wrap;gap:12px;padding-inline:20px}.site-footer>.download-footer{flex-wrap:wrap;gap:12px 24px}.download-footer>nav{width:100%;margin-left:0;flex-wrap:wrap;gap:20px}.footer-main{flex-direction:column;gap:30px}.footer-links{justify-content:space-between;gap:25px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}}
@media(max-width:390px){.site-container{width:calc(100% - 32px)}.footer-links{flex-wrap:wrap;gap:22px}.site-footer:not(:has(>.site-container)){padding-inline:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
