*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    color-scheme:dark;
    --bg:#070b13;
    --bg-soft:#0b1220;
    --surface:#101a2a;
    --surface-2:#152238;
    --text:#f3f7ff;
    --muted:#98a7bd;
    --faint:#718198;
    --line:rgba(99,180,190,.18);
    --line-strong:rgba(47,183,197,.5);
    --gold:#32b8c5;
    --gold-2:#8ce3e7;
    --ember:#1696a7;
    --red:#075665;
    --green:#45d6a1;
    --accent-rgb:47,183,197;
    --nav-action-start:#2fb7c5;
    --nav-action-end:#086b78;
    --primary-action-start:#2fb7c5;
    --primary-action-end:#086b78;
    --primary-action-rgb:47,183,197;
    --contact-right:26px;
    --floating-edge-bottom:calc(32px + env(safe-area-inset-bottom,0px));
    --contact-bottom:calc(var(--floating-edge-bottom) + 56px);
    --contact-dialog-bottom:var(--floating-edge-bottom);
    --contact-width:60px;
    --contact-height:60px;
    --contact-padding:0;
    --shadow:0 24px 64px rgba(0,0,0,.28);
    --radius:8px;
    --nav:rgba(7,11,19,.9);
}
html[data-theme="light"]{
    color-scheme:light;
    --bg:#f4f7fc;
    --bg-soft:#edf2fa;
    --surface:#ffffff;
    --surface-2:#f3f6fb;
    --text:#172238;
    --muted:#617087;
    --faint:#7d899b;
    --line:rgba(29,93,104,.15);
    --line-strong:rgba(8,127,144,.42);
    --gold:#087f90;
    --gold-2:#087786;
    --ember:#0a8391;
    --red:#075662;
    --green:#178f68;
    --accent-rgb:8,127,144;
    --nav-action-start:#1597a6;
    --nav-action-end:#075f6b;
    --primary-action-start:#087f90;
    --primary-action-end:#075f6b;
    --primary-action-rgb:8,127,144;
    --shadow:0 24px 60px rgba(33,57,96,.12);
    --nav:rgba(255,255,255,.92);
}
html{overflow-y:scroll;scroll-behavior:smooth;font-size:16px}
@supports (scrollbar-gutter:stable){
    html{overflow-y:auto;scrollbar-gutter:stable}
}
body{
    font-family:"Microsoft YaHei","PingFang SC","Source Han Sans SC",sans-serif;
    background:
        radial-gradient(circle at 18% 10%,rgba(var(--accent-rgb),.12),transparent 28rem),
        radial-gradient(circle at 82% 12%,rgba(var(--accent-rgb),.08),transparent 30rem),
        linear-gradient(180deg,var(--bg),var(--bg-soft) 54%,var(--bg));
    color:var(--text);
    min-height:100vh;
    line-height:1.65;
    overflow-x:hidden;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.13;
    background-image:
        linear-gradient(var(--line) 1px,transparent 1px),
        linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(180deg,#000,transparent 80%);
    z-index:-2;
}
body::after{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.08;
    background:url("/assets/shop/images/cjkz2329.jpg") center top/cover no-repeat;
    mix-blend-mode:screen;
    z-index:-3;
}
html[data-theme="light"] body::after{opacity:.12;mix-blend-mode:multiply}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
.icon{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.container{width:min(1200px,calc(100% - 48px));margin:0 auto}
.site-header{
    position:fixed;
    inset:0 0 auto;
    z-index:100;
    background:var(--nav);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);
    transition:box-shadow .25s ease,border-color .25s ease;
}
.site-header.scrolled{box-shadow:0 14px 44px rgba(0,0,0,.22);border-color:var(--line-strong)}
.nav-wrap{height:72px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-logo{display:block;width:auto;max-width:196px;max-height:48px;object-fit:contain}
.brand-mark{
    width:40px;height:40px;border:1px solid var(--line-strong);border-radius:8px;
    display:grid;place-items:center;
    background:linear-gradient(145deg,var(--red),var(--ember) 54%,var(--gold));
    color:#fff;font-weight:900;letter-spacing:0;
    box-shadow:0 12px 30px rgba(212,83,47,.28),inset 0 1px 0 rgba(255,255,255,.24);
}
.brand-name{display:flex;flex-direction:column;line-height:1.1}
.brand-name strong{font-size:18px;letter-spacing:1px;color:var(--gold-2)}
.brand-name span{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:4px}
.nav-menu{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav-menu a{
    height:72px;display:inline-flex;align-items:center;padding:0 11px;border-radius:0;
    color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.5px;transition:color .2s ease,background .2s ease;
}
.nav-menu a:hover,.nav-menu a.active{color:var(--text);background:rgba(var(--accent-rgb),.08)}
.nav-actions{display:flex;align-items:center;gap:10px}
.theme-toggle,.mobile-toggle{
    width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04);
    display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.theme-toggle:hover,.mobile-toggle:hover{transform:translateY(-1px);border-color:var(--line-strong);background:rgba(var(--accent-rgb),.1)}
.theme-toggle .sun{display:none}
html[data-theme="light"] .theme-toggle .sun{display:block}
html[data-theme="light"] .theme-toggle .moon{display:none}
.mobile-toggle{display:none}
.download-pill{
    height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 17px;border:1px solid rgba(var(--accent-rgb),.38);border-radius:9px;
    background:linear-gradient(135deg,var(--nav-action-start),var(--nav-action-end));color:#fff;font-weight:700;font-size:14px;
    box-shadow:0 10px 24px rgba(var(--accent-rgb),.24);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.download-pill:hover{color:#fff;filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 14px 30px rgba(var(--accent-rgb),.32)}
.hero{position:relative;min-height:100vh;padding:132px 0 84px;display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:54px;align-items:center}
.eyebrow{
    display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);
    border-radius:999px;background:rgba(216,179,98,.09);color:var(--gold-2);font-size:13px;letter-spacing:.5px;
}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(84,214,138,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(84,214,138,0)}100%{box-shadow:0 0 0 0 rgba(84,214,138,0)}}
.hero h1{
    margin:24px 0 18px;font-size:clamp(42px,6.2vw,78px);line-height:1.03;font-weight:900;letter-spacing:0;
}
.hero h1 span{
    display:block;
    background:linear-gradient(180deg,var(--gold-2),var(--gold) 54%,var(--ember));
    -webkit-background-clip:text;background-clip:text;color:transparent;
    filter:drop-shadow(0 12px 28px rgba(216,179,98,.18));
}
.hero-copy{max-width:660px;color:var(--muted);font-size:17px;letter-spacing:.2px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.btn{
    min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:8px;
    border:1px solid var(--line);font-weight:800;letter-spacing:.5px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.btn:hover{transform:translateY(-2px);border-color:var(--line-strong)}
.btn-primary{background:linear-gradient(135deg,var(--red),var(--ember));border-color:rgba(255,255,255,.16);color:#fff;box-shadow:0 18px 36px rgba(180,61,35,.28)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--gold-2)}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:38px;max-width:650px}
.stat-chip{
    border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:rgba(255,255,255,.045);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.stat-chip strong{display:block;font-size:26px;line-height:1;color:var(--gold-2)}
.stat-chip span{display:block;margin-top:8px;color:var(--faint);font-size:13px}
.hero-panel{position:relative}
.engine-card{
    position:relative;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;background:linear-gradient(145deg,var(--surface),var(--surface-2));
    box-shadow:var(--shadow);transform:perspective(1200px) rotateY(-7deg) rotateX(3deg);
}
.engine-card::before{
    content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(216,179,98,.45),transparent 32%,rgba(212,83,47,.3) 70%,transparent);
    opacity:.5;pointer-events:none;
}
.engine-top{height:42px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.18)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--faint)}
.dot.red{background:#e25744}.dot.gold{background:#e6b94f}.dot.green{background:#55cf84}
.engine-screen{padding:24px;position:relative;z-index:1}
.monitor{
    min-height:310px;border:1px solid var(--line);border-radius:8px;background:
        linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),
        radial-gradient(circle at 80% 15%,rgba(216,179,98,.22),transparent 18rem),
        #0a0f16;
    color:#dfe9f1;overflow:hidden;position:relative;
}
html[data-theme="light"] .monitor{background:#1a1f28;color:#f3f7fb}
.monitor::after{
    content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(255,255,255,.025) 50%);background-size:100% 6px;pointer-events:none;
}
.monitor-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:#9fb0c2;font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.server-map{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}
.map-card{border:1px solid rgba(216,179,98,.22);border-radius:8px;background:rgba(255,255,255,.045);padding:14px}
.map-card b{display:block;color:#f1d084;font-size:13px;margin-bottom:10px}
.bar{height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:8px}
.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#54d68a,#f1d084,#d4552f)}
.terminal{margin:0 18px 18px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:14px;background:rgba(0,0,0,.24);font-family:Consolas,"Courier New",monospace;font-size:12px;color:#b7c8d8}
.terminal p+ p{margin-top:7px}.terminal em{font-style:normal;color:#54d68a}.terminal strong{color:#f1d084}
.float-badge{
    position:absolute;right:-18px;bottom:40px;z-index:4;border:1px solid var(--line-strong);border-radius:8px;
    background:var(--surface);padding:14px 16px;box-shadow:var(--shadow);min-width:166px;
}
.float-badge strong{display:block;color:var(--gold-2);font-size:20px;line-height:1}.float-badge span{color:var(--muted);font-size:12px}
.hero-contact-card{
    position:fixed;
    right:var(--contact-right) !important;
    bottom:var(--contact-bottom) !important;
    z-index:90;
    width:var(--contact-width) !important;
    min-height:var(--contact-height) !important;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:var(--contact-padding) !important;
    appearance:none;
    color:#fff;
    cursor:pointer;
    border:1px solid transparent !important;
    border-radius:15px !important;
    background:
        linear-gradient(145deg,rgba(10,20,34,.96),rgba(13,32,45,.92)) padding-box,
        linear-gradient(135deg,rgba(140,227,231,.72),rgba(47,183,197,.22) 48%,rgba(140,227,231,.5)) border-box !important;
    box-shadow:0 18px 48px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(18px) saturate(1.18);
    transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s cubic-bezier(.16,1,.3,1),filter .32s ease;
    isolation:isolate;
}
.hero-contact-card > .icon{
    width:27px;
    height:27px;
    stroke-width:1.8;
    transition:transform .32s cubic-bezier(.16,1,.3,1);
}
.contact-trigger-status{
    position:absolute;
    top:10px;
    right:10px;
    width:9px;
    height:9px;
    border:2px solid rgba(7,11,19,.88);
    border-radius:50%;
    background:var(--green);
    box-shadow:0 0 0 0 rgba(69,214,161,.5);
    animation:contact-signal 3.2s ease-out infinite;
}
@keyframes contact-signal{
    0%,55%,100%{box-shadow:0 0 0 0 rgba(69,214,161,0)}
    68%{box-shadow:0 0 0 5px rgba(69,214,161,.22)}
    84%{box-shadow:0 0 0 10px rgba(69,214,161,0)}
}
html[data-theme="light"] .hero-contact-card{
    color:var(--gold);
    background:
        linear-gradient(145deg,rgba(255,255,255,.97),rgba(235,248,250,.94)) padding-box,
        linear-gradient(135deg,rgba(8,127,144,.55),rgba(8,127,144,.15) 48%,rgba(8,127,144,.42)) border-box !important;
    box-shadow:0 18px 42px rgba(33,57,96,.14),inset 0 1px 0 #fff !important;
}
html[data-theme="light"] .contact-trigger-status{border-color:rgba(255,255,255,.94)}
.hero-contact-card:hover{
    transform:translateY(-5px);
    filter:brightness(1.06);
    box-shadow:
        0 24px 58px rgba(0,0,0,.36),
        0 0 0 4px rgba(var(--accent-rgb),.09),
        inset 0 1px 0 rgba(255,255,255,.20);
}
.hero-contact-card:hover > .icon{transform:rotate(-6deg) scale(1.08)}
.hero-contact-card:active{transform:translateY(-2px) scale(.985)}
.hero-contact-card:focus-visible{
    outline:2px solid var(--gold-2);
    outline-offset:4px;
}
html[data-theme="light"] .hero-contact-card:hover{
    box-shadow:
        0 24px 52px rgba(33,57,96,.16),
        0 0 0 4px rgba(var(--accent-rgb),.12),
        inset 0 1px 0 rgba(255,255,255,.92);
}
body.contact-modal-open{overflow:hidden}
.contact-modal{
    position:fixed;
    inset:0;
    z-index:240;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .24s ease,visibility .24s ease;
}
.contact-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.contact-modal-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(2,7,13,.54);
    backdrop-filter:blur(8px);
    cursor:default;
}
.contact-dialog{
    position:absolute;
    right:var(--contact-right);
    bottom:calc(var(--contact-dialog-bottom) + var(--contact-height) + 16px);
    width:min(390px,calc(100vw - 32px));
    max-height:calc(100vh - 112px);
    overflow:auto;
    border:1px solid rgba(var(--accent-rgb),.32);
    border-radius:16px;
    background:
        radial-gradient(circle at 86% 8%,rgba(var(--accent-rgb),.14),transparent 15rem),
        linear-gradient(155deg,rgba(10,19,32,.98),rgba(7,14,25,.98));
    box-shadow:0 34px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.08);
    color:var(--text);
    transform:translateY(18px) scale(.975);
    transform-origin:calc(100% - 30px) 100%;
    transition:transform .34s cubic-bezier(.16,1,.3,1),opacity .24s ease;
}
.contact-modal.is-open .contact-dialog{transform:translateY(0) scale(1)}
html[data-theme="light"] .contact-dialog{
    border-color:rgba(var(--accent-rgb),.22);
    background:
        radial-gradient(circle at 86% 8%,rgba(var(--accent-rgb),.11),transparent 15rem),
        linear-gradient(155deg,rgba(255,255,255,.99),rgba(238,247,249,.98));
    box-shadow:0 30px 78px rgba(33,57,96,.22),inset 0 1px 0 #fff;
}
.contact-dialog-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:22px 22px 17px;
    border-bottom:1px solid var(--line);
}
.contact-dialog-kicker{display:block;margin-bottom:3px;color:var(--gold-2);font-size:11px;font-weight:900;letter-spacing:1.6px}
.contact-dialog-head h2{font-size:22px;line-height:1.2;letter-spacing:-.02em}
.contact-dialog-close{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border:1px solid var(--line);
    border-radius:10px;
    background:rgba(255,255,255,.045);
    color:var(--muted);
    cursor:pointer;
    transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;
}
.contact-dialog-close:hover{color:var(--text);border-color:var(--line-strong);background:rgba(var(--accent-rgb),.1);transform:rotate(4deg)}
.contact-dialog-close:focus-visible,.contact-service-link:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.contact-dialog-body{padding:22px}
.contact-avatar-wrap{position:relative;width:92px;height:92px;margin:0 auto 17px}
.contact-avatar{width:100%;height:100%;border:2px solid rgba(var(--accent-rgb),.46);border-radius:50%;object-fit:cover;box-shadow:0 14px 32px rgba(0,0,0,.28)}
.contact-avatar-status{position:absolute;right:5px;bottom:7px;width:13px;height:13px;border:3px solid #0a1422;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(69,214,161,.12)}
html[data-theme="light"] .contact-avatar-status{border-color:#f7fbfc}
.contact-greeting{text-align:center;color:var(--muted);font-size:14px;font-weight:700}
.contact-service-name{margin-top:3px;text-align:center;color:var(--text);font-size:24px;line-height:1.25;font-weight:900;letter-spacing:-.02em}
.contact-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.contact-service-link{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border:1px solid rgba(var(--accent-rgb),.28);
    border-radius:10px;
    background:rgba(var(--accent-rgb),.065);
    color:var(--gold-2);
    font-size:14px;
    font-weight:800;
    text-align:center;
    transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.contact-service-link:hover{
    color:#fff;
    border-color:rgba(var(--accent-rgb),.58);
    background:linear-gradient(135deg,var(--nav-action-start),var(--nav-action-end));
    transform:translateY(-2px);
    box-shadow:0 11px 24px rgba(var(--accent-rgb),.18);
}
.section{padding:92px 0;position:relative}
.section.alt{background:linear-gradient(180deg,transparent,rgba(216,179,98,.055),transparent)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}
.section-kicker{color:var(--ember);font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.section h2{font-size:clamp(28px,4vw,42px);line-height:1.18;letter-spacing:0}
.section-desc{max-width:560px;color:var(--muted)}
.download-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.release-card,.tool-card,.feature-card,.doc-panel,.log-panel{
    border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);box-shadow:var(--shadow);
}
html[data-theme="light"] .release-card,html[data-theme="light"] .tool-card,html[data-theme="light"] .feature-card,html[data-theme="light"] .doc-panel,html[data-theme="light"] .log-panel{background:rgba(255,255,255,.62)}
.release-card{padding:26px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;min-height:220px}
.release-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tag{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:var(--gold-2);font-size:12px;font-weight:800;background:rgba(216,179,98,.08)}
.release-card h3{font-size:28px;line-height:1.18;margin-bottom:12px}.release-card p{color:var(--muted);max-width:620px}
.release-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.release-badge{width:134px;height:134px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,rgba(216,179,98,.16),rgba(212,83,47,.08));color:var(--gold-2);font-weight:900}
.release-badge span{font-size:34px;line-height:1;display:block}
.tool-card{padding:24px;display:flex;flex-direction:column;gap:18px}
.tool-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tool-card-head h3{font-size:20px;line-height:1.25}
.tool-card-head a{color:var(--ember);font-size:13px;font-weight:900;white-space:nowrap}
.tool-line{display:flex;gap:12px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}
.tool-line:last-child{border-bottom:0;padding-bottom:0}
.tool-icon{width:42px;height:42px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold-2);background:rgba(216,179,98,.08)}
.tool-line h3{font-size:17px;margin-bottom:4px}.tool-line p{font-size:14px;color:var(--muted)}
.tool-link{transition:transform .2s ease,border-color .2s ease}
.tool-link:hover{transform:translateX(4px);border-color:var(--line-strong)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{padding:24px;transition:transform .2s ease,border-color .2s ease}
.feature-card:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.feature-card .tool-icon{margin-bottom:18px}
.feature-card h3{font-size:18px;margin-bottom:10px;color:var(--gold-2)}
.feature-card p{color:var(--muted);font-size:14px}
.log-doc-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px}
.log-panel{padding:26px}
.timeline{display:grid;gap:18px}
.timeline-item{position:relative;padding-left:26px}
.timeline-item::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 5px rgba(212,83,47,.12)}
.timeline-item::after{content:"";position:absolute;left:4px;top:24px;bottom:-16px;width:1px;background:var(--line)}
.timeline-item:last-child::after{display:none}
.timeline-item time{display:block;color:var(--gold-2);font-size:13px;font-weight:800;margin-bottom:4px}
.timeline-item h3{font-size:16px;margin-bottom:4px}.timeline-item p{color:var(--muted);font-size:14px}
.doc-panel{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.doc-card{border:1px solid var(--line);border-radius:8px;padding:18px;background:rgba(255,255,255,.035)}
.doc-card h3{font-size:17px;color:var(--gold-2);margin:12px 0 6px}.doc-card p{color:var(--muted);font-size:14px}.doc-card a{display:inline-flex;margin-top:14px;color:var(--ember);font-weight:800;font-size:14px}
.shop-band{
    border:1px solid var(--line-strong);border-radius:8px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;
    background:linear-gradient(135deg,rgba(143,33,30,.26),rgba(216,179,98,.12)),var(--surface);
    box-shadow:var(--shadow);
}
.shop-band h2{font-size:30px}.shop-band p{color:var(--muted);max-width:620px;margin-top:8px}
.site-footer{
    height:68px;min-height:68px;padding:0;border-top:1px solid var(--line);color:var(--faint);
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.12));
    display:flex;align-items:center
}
.footer-copyright{min-height:100%;display:flex;align-items:center;justify-content:center;text-align:center}
.site-footer .container{margin:0 auto;padding:0}
.footer-copyright p{font-size:13px;line-height:1.4;letter-spacing:.2px;margin:0}
html[data-theme="light"] .site-footer{
    background:rgba(255,255,255,.54);border-top-color:var(--line)
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.show{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media(max-width:980px){
    :root{
        --contact-bottom:calc(var(--floating-edge-bottom) + 112px);
    }
    .nav-menu{
        position:fixed;left:20px;right:20px;top:82px;display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;
        background:var(--surface);box-shadow:var(--shadow);transform:translateY(-14px);opacity:0;pointer-events:none;transition:.2s ease;
    }
    .nav-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
    .nav-menu a{height:44px}
    .mobile-toggle{display:grid}
    .download-pill{display:none}
    .hero{padding-top:118px}
    .hero-grid,.download-grid,.log-doc-grid{grid-template-columns:1fr}
    .engine-card{transform:none}
    .float-badge{right:12px}
    .hero-contact-card{
        right:20px;
        bottom:22px;
        width:176px;
        min-height:64px;
        padding:13px 16px;
    }
    .features-grid{grid-template-columns:repeat(2,1fr)}
    .section-head{display:block}.section-desc{margin-top:10px}
}
@media(max-width:640px){
    :root{
        --contact-right:16px;
        --floating-edge-bottom:calc(18px + env(safe-area-inset-bottom,0px));
        --contact-bottom:calc(var(--floating-edge-bottom) + 112px);
        --contact-width:54px;
        --contact-height:54px;
        --contact-padding:0;
    }
    .container{width:min(100% - 28px,1180px)}
    .brand-name span{display:none}
    .nav-wrap{height:66px}
    .hero h1{font-size:42px}
    .hero-stats,.features-grid,.doc-panel{grid-template-columns:1fr}
    .release-card{grid-template-columns:1fr}.release-badge{width:100%;height:auto;min-height:96px}
    .server-map{grid-template-columns:1fr}
    .hero-contact-card{
        left:auto !important;
        right:var(--contact-right) !important;
        bottom:var(--contact-bottom) !important;
        width:var(--contact-width) !important;
        min-height:var(--contact-height) !important;
        padding:var(--contact-padding) !important;
    }
    .hero-contact-card{border-radius:14px !important}
    .hero-contact-card > .icon{width:24px;height:24px}
    .contact-trigger-status{top:8px;right:8px;width:8px;height:8px}
    .contact-dialog{right:12px;bottom:calc(var(--contact-dialog-bottom) + var(--contact-height) + 12px);width:calc(100vw - 24px);max-height:calc(100vh - 94px);border-radius:14px}
    .contact-dialog-head{padding:18px 18px 14px}
    .contact-dialog-body{padding:18px}
    .contact-service-grid{gap:10px;margin-top:20px}
    .contact-service-link{min-height:46px;padding:9px 8px;font-size:13px}
    .shop-band{display:block}
    .shop-band .btn{margin-top:20px}
}
/* page extras: changelog / document */
.page-main{padding:120px 0 80px}
.page-hero{margin-bottom:28px}
.page-hero .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:14px}
.page-hero .breadcrumb a{color:var(--gold-2)}
.page-hero h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin-bottom:10px}
.page-hero p{color:var(--muted);max-width:720px}
.changelog-tree{position:relative;display:grid;gap:0;max-width:940px}
.changelog-tree::before{
    content:"";position:absolute;left:128px;top:14px;bottom:14px;width:1px;
    background:linear-gradient(180deg,transparent,var(--line-strong) 8%,var(--line) 88%,transparent)
}
.changelog-tree-item{position:relative;display:grid;grid-template-columns:100px 56px minmax(0,1fr);gap:0;padding:0 0 24px}
.changelog-tree-date{padding-top:18px;color:var(--gold-2);font-size:13px;font-weight:900;text-align:right}
.changelog-tree-node{
    position:relative;width:56px;min-height:100%;
}
.changelog-tree-node::before{
    content:"";position:absolute;left:22px;top:20px;width:13px;height:13px;border-radius:50%;
    background:var(--ember);box-shadow:0 0 0 6px rgba(212,83,47,.14),0 0 24px rgba(212,83,47,.34)
}
.changelog-tree-content{
    border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);
    padding:20px 22px;box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
html[data-theme="light"] .changelog-tree-content{background:rgba(255,255,255,.66)}
.changelog-tree-item:hover .changelog-tree-content{transform:translateY(-3px);border-color:var(--line-strong)}
.changelog-tree-content h2{font-size:20px;line-height:1.35;margin-bottom:8px}
.changelog-tree-content h2 a:hover{color:var(--gold-2)}
.changelog-tree-content p{color:var(--muted);font-size:14px}
.changelog-tree-content .more{display:inline-flex;align-items:center;gap:6px;color:var(--ember);font-weight:800;font-size:14px}
.changelog-md-body{font-size:14px;line-height:1.82;color:var(--text);white-space:pre-wrap}
.changelog-md-body.is-rendered{white-space:normal}
.changelog-md-body h1,.changelog-md-body h2,.changelog-md-body h3{color:var(--gold-2);margin:1.2em 0 .55em}
.changelog-md-body h1:first-child,.changelog-md-body h2:first-child,.changelog-md-body h3:first-child{margin-top:0}
.changelog-md-body h1{font-size:22px}.changelog-md-body h2{font-size:19px}.changelog-md-body h3{font-size:16px}
.changelog-md-body p{color:var(--muted)}
.changelog-md-body strong{color:var(--text)}
.changelog-md-body a{color:var(--ember)}
.changelog-md-body code{background:rgba(216,179,98,.12);padding:2px 6px;border-radius:4px}
.changelog-md-body pre{background:rgba(0,0,0,.30);padding:14px;border-radius:8px;overflow:auto;margin:12px 0}
.changelog-md-body pre code{background:transparent;padding:0}
.changelog-md-body ul,.changelog-md-body ol{padding-left:1.4em;margin:0 0 12px;color:var(--muted)}
.changelog-md-body li{margin:4px 0}
.changelog-md-body blockquote{border-left:3px solid var(--gold);padding:8px 14px;color:var(--muted);background:rgba(216,179,98,.06);margin:12px 0}
.changelog-md-body table{width:100%;border-collapse:collapse;margin:12px 0}
.changelog-md-body th,.changelog-md-body td{border:1px solid var(--line);padding:8px 10px}
.changelog-md-body > :last-child{margin-bottom:0}
.load-more-wrap{display:none;max-width:940px;margin:4px 0 0 156px;text-align:center}
.load-more-wrap.is-ready{display:block}
.changelog-load-more{
    min-width:150px;height:44px;border:1px solid var(--line-strong);border-radius:8px;
    color:var(--text);font-weight:900;background:rgba(216,179,98,.10);cursor:pointer;
    transition:transform .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease
}
.changelog-load-more:hover:not(:disabled){transform:translateY(-2px);background:rgba(216,179,98,.16)}
.changelog-load-more:disabled{cursor:default;opacity:.68}
.load-more-tip{margin:10px 0 0;color:var(--muted);font-size:13px}
.pager.is-js-hidden{display:none}
.changelog-empty,.doc-empty-state{
    border:1px dashed var(--line);border-radius:8px;padding:48px 20px;text-align:center;color:var(--muted)
}
.pager{display:flex;justify-content:center;gap:10px;margin-top:28px;flex-wrap:wrap}
.pager a,.pager span{
    min-width:40px;height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--line);
    display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:rgba(255,255,255,.04)
}
.pager a:hover,.pager .current{color:var(--text);border-color:var(--line-strong);background:rgba(216,179,98,.12)}
.article-panel{
    border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);
    box-shadow:var(--shadow);padding:28px 30px;max-width:920px
}
html[data-theme="light"] .article-panel{background:rgba(255,255,255,.72)}
.article-panel .meta{color:var(--muted);font-size:13px;margin:8px 0 22px}
.article-panel .md-body{font-size:15px;line-height:1.85;color:var(--text)}
.article-panel .md-body h1,.article-panel .md-body h2,.article-panel .md-body h3{color:var(--gold-2);margin:1.4em 0 .6em}
.article-panel .md-body p{margin:0 0 14px}
.article-panel .md-body a{color:var(--ember)}
.article-panel .md-body code{background:rgba(216,179,98,.12);padding:2px 6px;border-radius:4px}
.article-panel .md-body pre{background:rgba(0,0,0,.35);padding:16px;border-radius:8px;overflow:auto;margin:14px 0}
.article-panel .md-body pre code{background:transparent;padding:0}
.article-panel .md-body ul,.article-panel .md-body ol{padding-left:1.4em;margin:0 0 14px}
.article-panel .md-body blockquote{border-left:3px solid var(--gold);padding:8px 14px;color:var(--muted);background:rgba(216,179,98,.06);margin:14px 0}
.article-panel .md-body table{width:100%;border-collapse:collapse;margin:14px 0}
.article-panel .md-body th,.article-panel .md-body td{border:1px solid var(--line);padding:8px 10px}
.article-back{display:inline-flex;align-items:center;gap:6px;margin-top:24px;color:var(--gold-2);font-weight:700}

/* engine downloads */
.download-version-list{display:grid;gap:18px}
.download-version-card{
    position:relative;overflow:hidden;border:1px solid rgba(216,179,98,.22);border-radius:8px;
    background:
        radial-gradient(circle at 7% 20%,rgba(216,179,98,.18),transparent 14rem),
        linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025) 46%,rgba(212,85,47,.075)),
        rgba(255,255,255,.045);
    padding:18px;box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    gap:18px;align-items:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
html[data-theme="light"] .download-version-card{
    background:
        radial-gradient(circle at 8% 18%,rgba(201,135,50,.13),transparent 14rem),
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,250,243,.88) 48%,rgba(255,241,231,.74));
    border-color:rgba(169,116,62,.20);box-shadow:0 18px 42px rgba(89,55,24,.10)
}
.download-version-card::before{
    content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-2),transparent);opacity:.28
}
.download-version-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 26px 62px rgba(0,0,0,.30)}
html[data-theme="light"] .download-version-card:hover{box-shadow:0 24px 54px rgba(89,55,24,.15)}
.tool-download-card{
    background:
        radial-gradient(circle at 8% 18%,rgba(84,214,138,.12),transparent 14rem),
        linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025) 46%,rgba(216,179,98,.075)),
        rgba(255,255,255,.045);
}
html[data-theme="light"] .tool-download-card{
    background:
        radial-gradient(circle at 8% 18%,rgba(20,139,85,.09),transparent 14rem),
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,250,243,.88) 48%,rgba(236,248,239,.76));
}
.download-version-main{min-width:0;padding-right:4px}
.download-version-title{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.download-version-info,.download-version-tags{display:flex;flex-wrap:wrap;gap:8px}
.download-version-info{margin:0 0 10px}
.download-version-rec,.download-version-info span,.download-version-tags span{
    display:inline-flex;align-items:center;height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:900
}
.download-version-card h2{font-size:23px;line-height:1.24;letter-spacing:0}
.download-version-rec{color:#fff;background:linear-gradient(135deg,var(--red),var(--ember));box-shadow:0 10px 22px rgba(180,61,35,.20)}
.download-version-info span{color:var(--faint);background:rgba(255,255,255,.045);border:1px solid rgba(216,179,98,.14);font-weight:800}
html[data-theme="light"] .download-version-info span{background:rgba(255,251,245,.72);border-color:rgba(169,116,62,.16)}
.download-version-card p{color:var(--muted);font-size:14px;line-height:2;margin-bottom:14px;max-width:720px}
.download-version-tags span{height:25px;color:var(--gold-2);background:rgba(216,179,98,.075);border:1px solid rgba(216,179,98,.20);font-weight:800}
.download-version-action{
    display:flex;align-items:center;justify-content:center
}
.download-version-action .btn{min-width:116px;min-height:50px;box-shadow:0 16px 30px rgba(180,61,35,.28)}

/* tool library grid */
.tools-page{min-height:calc(100vh - 68px)}
.tools-hero{max-width:760px;margin-bottom:20px}
.tools-library{
    width:max-content;max-width:100%;padding:0
}
.tools-library-head{
    display:flex;align-items:center;gap:16px;
    width:100%;min-width:270px;padding:0 0 16px;margin-bottom:18px;border-bottom:1px solid var(--line)
}
.tools-library-head strong{display:block;font-size:22px;line-height:1.2;color:var(--text)}
.tools-library-head span{display:block;margin-top:4px;color:var(--faint);font-size:13px}
.tools-library-link{color:var(--ember);font-weight:900;font-size:14px;white-space:nowrap}
.tools-category-nav{
    display:flex;flex-wrap:wrap;gap:8px;
    max-width:760px;margin:0 0 18px
}
.tools-category-nav a{
    min-height:34px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;
    padding:6px 10px 6px 12px;color:var(--muted);
    background:rgba(255,255,255,.045);border:1px solid rgba(216,179,98,.14);
    font-size:13px;font-weight:900;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease
}
.tools-category-nav a:hover{
    color:var(--text);border-color:var(--line-strong);transform:translateY(-1px)
}
.tools-category-nav a.active{
    color:#3a2312;
    background:linear-gradient(135deg,#f2c66f,#fff2cf 58%,#ffffff);
    border-color:#d38a2f;
    box-shadow:0 12px 26px rgba(180,97,22,.22), inset 0 0 0 1px rgba(255,255,255,.62)
}
.tools-category-nav em{
    min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:999px;padding:0 7px;font-style:normal;font-size:11px;
    color:var(--gold-2);background:rgba(216,179,98,.12);border:1px solid rgba(216,179,98,.18)
}
.tools-category-nav a.active em{
    color:#fff;background:#d47a1d;border-color:#d47a1d
}
html[data-theme="light"] .tools-category-nav a{
    background:rgba(255,251,245,.78);border-color:rgba(169,116,62,.16)
}
.tools-grid{
    display:flex;flex-wrap:wrap;
    gap:16px;
    align-items:stretch;
}

/* premium versions */
.versions-page{min-height:calc(100vh - 68px)}
.versions-eyebrow{
    display:inline-flex;align-items:center;min-height:26px;margin-bottom:10px;padding:3px 10px;
    border:1px solid rgba(var(--accent-rgb),.24);border-radius:999px;
    color:var(--gold-2);background:rgba(var(--accent-rgb),.08);font-size:12px;font-weight:900;letter-spacing:.08em
}
.versions-library{
    padding:22px;border:1px solid var(--line);border-radius:var(--radius);
    background:rgba(255,255,255,.025);box-shadow:var(--shadow)
}
html[data-theme="light"] .versions-library{background:rgba(255,255,255,.72)}
.versions-total{color:var(--faint);font-size:13px;white-space:nowrap}
.versions-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.versions-toolbar-meta{display:flex;flex:0 0 auto;align-items:center;gap:16px}
.versions-category-nav{display:flex;flex:1;flex-wrap:wrap;gap:8px}
.versions-category-nav a{
    display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 14px;
    border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.035);
    font-size:13px;font-weight:900;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease
}
.versions-category-nav a:hover{color:var(--text);border-color:var(--line-strong);transform:translateY(-1px)}
.versions-category-nav a.active{
    color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary-action-start),var(--primary-action-end));
    box-shadow:0 10px 24px rgba(var(--primary-action-rgb),.22)
}
.versions-view-switch{display:flex;flex:0 0 auto;gap:4px;padding:3px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035)}
.versions-view-switch button{
    display:grid;place-items:center;width:38px;min-width:38px;height:32px;padding:0;border:0;border-radius:6px;
    color:var(--muted);background:transparent;font:inherit;line-height:0;cursor:pointer;
    transition:color .18s ease,background .18s ease,box-shadow .18s ease
}
.versions-view-switch button .icon{display:block;width:17px;height:17px;margin:0}
.versions-view-switch button:hover{color:var(--text)}
.versions-view-switch button.active{color:#fff;background:linear-gradient(135deg,var(--primary-action-start),var(--primary-action-end));box-shadow:0 6px 16px rgba(var(--primary-action-rgb),.2)}
.versions-library .pager{gap:8px;margin-top:24px}
.versions-library .pager a,.versions-library .pager span{
    min-width:38px;height:38px;padding:0 12px;border-color:var(--line);border-radius:8px;
    color:var(--muted);background:rgba(255,255,255,.035);font-size:13px;font-weight:800;
    transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease
}
.versions-library .pager a:hover{
    color:var(--text);border-color:rgba(var(--primary-action-rgb),.46);background:rgba(var(--primary-action-rgb),.09);transform:translateY(-1px)
}
.versions-library .pager .current{
    color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--primary-action-start),var(--primary-action-end));
    box-shadow:0 8px 20px rgba(var(--primary-action-rgb),.22)
}
.versions-library .pager .ellipsis{min-width:24px;padding:0 4px;border-color:transparent;background:transparent;color:var(--faint)}
.versions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.version-card{
    position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);
    background:var(--surface);transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s ease,box-shadow .32s ease
}
.version-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 22px 46px rgba(0,0,0,.22)}
html[data-theme="light"] .version-card:hover{box-shadow:0 22px 46px rgba(33,57,96,.14)}
.version-card-link{display:flex;height:100%;flex-direction:column;color:inherit}
.version-card-cover{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--surface-2)}
.version-card-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .52s cubic-bezier(.16,1,.3,1)}
.version-card-cover-empty{
    width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;
    color:var(--gold-2);background:radial-gradient(circle at 50% 24%,rgba(var(--accent-rgb),.22),transparent 13rem)
}
.version-card-cover-empty .icon{width:36px;height:36px}
.version-card-cover-empty span{font-size:12px;font-weight:900;letter-spacing:.14em}
.version-card:hover .version-card-cover img{transform:scale(1.035)}
.version-card-body{display:flex;flex:1;flex-direction:column;gap:8px;padding:16px}
.version-card-body h2{overflow:hidden;color:var(--text);font-size:17px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.version-card-tags,.version-detail-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.version-card-tags span,.version-detail-tags span{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:999px;color:var(--muted);background:rgba(var(--accent-rgb),.06);font-size:11px;font-weight:800;line-height:1.3}
.version-card-tags span:first-child,.version-detail-tags span:first-child{color:var(--gold-2);border-color:rgba(216,179,98,.26);background:rgba(216,179,98,.08)}
.version-card-category,.version-detail-category{display:inline-flex;align-items:center;min-height:23px;margin-top:8px;padding:2px 8px;border:1px solid rgba(216,179,98,.26);border-radius:999px;color:var(--gold-2);background:rgba(216,179,98,.08);font-size:11px;font-weight:800;line-height:1.3}
.version-card-summary{
    display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.75;
    -webkit-line-clamp:2;-webkit-box-orient:vertical
}
.version-list-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
.versions-grid.is-list{grid-template-columns:1fr;gap:10px}
.versions-grid.is-list .version-card:hover{transform:translateY(-2px)}
.versions-grid.is-list .version-card-link{display:grid;grid-template-columns:168px minmax(0,1fr);align-items:center}
.versions-grid.is-list .version-card-cover{aspect-ratio:16/9}
.versions-grid.is-list .version-card-body{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,.75fr);align-items:center;gap:22px;padding:14px 18px}
.versions-grid.is-list .version-card-body h2{font-size:16px}
.versions-grid.is-list .version-list-meta{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:20px;width:100%;max-width:360px;margin:0;justify-self:end}
.version-list-meta div{min-width:0}
.version-list-meta dt{margin-bottom:3px;color:var(--faint);font-size:11px;font-weight:700;white-space:nowrap}
.version-list-meta dd{overflow:hidden;margin:0;color:var(--text);font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.version-list-meta dd time{color:inherit;font-size:inherit}
.versions-empty{
    display:flex;min-height:300px;align-items:center;justify-content:center;flex-direction:column;padding:42px 24px;
    border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;
    background:radial-gradient(circle at 50% 15%,rgba(var(--accent-rgb),.12),transparent 15rem)
}
.versions-empty-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:16px;border:1px solid var(--line-strong);border-radius:14px;color:var(--gold-2);background:rgba(var(--accent-rgb),.1)}
.versions-empty-icon .icon{width:28px;height:28px}
.versions-empty h2{font-size:20px}
.versions-empty p{max-width:460px;margin-top:8px;color:var(--muted);font-size:14px}

/* premium version detail */
.version-detail-page{min-height:calc(100vh - 68px)}
.version-detail-page .container{max-width:1200px}
.version-detail-breadcrumb{padding:32px 0 16px}
.version-detail-summary{
    display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:28px;align-items:center;
    padding:22px;border:1px solid var(--line);border-radius:var(--radius);
    background:
        radial-gradient(circle at 4% 10%,rgba(var(--accent-rgb),.13),transparent 20rem),
        rgba(255,255,255,.025);
    box-shadow:var(--shadow)
}
html[data-theme="light"] .version-detail-summary{background:radial-gradient(circle at 4% 10%,rgba(var(--accent-rgb),.09),transparent 20rem),rgba(255,255,255,.76)}
.version-detail-cover{
    overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);
    background:var(--surface-2)
}
.version-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}
.version-detail-cover .version-card-cover-empty{height:100%}
.version-detail-intro{min-width:0;padding:4px 10px 4px 0}
.version-detail-intro h1{max-width:18em;margin:0;color:var(--text);font-size:clamp(28px,3.2vw,42px);line-height:1.22;letter-spacing:-.025em}
.version-detail-intro>p{max-width:650px;margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.version-detail-tags{margin-top:18px}
.version-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:18px 0 0}
.version-detail-meta>div{min-width:130px;padding-right:26px}
.version-detail-meta>div+div{padding-left:26px;border-left:1px solid var(--line)}
.version-detail-meta dt{margin-bottom:4px;color:var(--faint);font-size:11px;font-weight:700}
.version-detail-meta dd{margin:0;color:var(--text);font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}
.version-detail-meta time{color:inherit}
.version-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px}
.version-detail-back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:900}
.version-detail-back:hover{color:var(--gold-2)}
.version-detail-back .icon{width:15px;height:15px;transition:transform .18s ease}
.version-detail-back:hover .icon{transform:translateX(3px)}
.version-detail-content{
    margin-top:18px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);
    background:rgba(255,255,255,.025);box-shadow:var(--shadow)
}
html[data-theme="light"] .version-detail-content{background:rgba(255,255,255,.76)}
.version-detail-rich{color:var(--muted);font-size:15px;line-height:1.9}
.version-detail-rich>h2,.version-detail-rich>p,.version-detail-rich>ul{max-width:760px;margin-right:auto;margin-left:auto}
.version-detail-rich h2{margin-top:42px;margin-bottom:12px;color:var(--text);font-size:22px;line-height:1.35}
.version-detail-rich h2:first-child{margin-top:0}
.version-detail-rich h3,.version-detail-rich h4{max-width:760px;margin:28px auto 10px;color:var(--text);line-height:1.4}
.version-detail-rich h3{font-size:18px}
.version-detail-rich h4{font-size:16px}
.version-detail-rich p{margin-top:0;margin-bottom:18px}
.version-detail-rich ul,.version-detail-rich ol{display:grid;gap:10px;max-width:760px;margin:0 auto 20px;padding-left:1.35em}
.version-detail-rich li::marker{color:var(--gold-2)}
.version-detail-rich blockquote{
    max-width:760px;margin:22px auto;padding:14px 18px;border-left:4px solid var(--gold-2);
    background:rgba(var(--accent-rgb),.07);color:var(--text)
}
.version-detail-rich img{
    display:block;max-width:100%;height:auto;margin:22px auto;border-radius:var(--radius);background:var(--surface-2)
}
.version-detail-rich figure{max-width:760px;margin:34px auto 42px}
.version-detail-rich figure img{
    display:block;width:100%;max-height:680px;object-fit:contain;border-radius:var(--radius);background:var(--surface-2)
}
.version-detail-rich figcaption{margin-top:10px;color:var(--faint);font-size:12px;text-align:center}
.version-detail-rich table{width:100%;max-width:760px;margin:22px auto;border-collapse:collapse}
.version-detail-rich th,.version-detail-rich td{padding:10px 12px;border:1px solid var(--line);text-align:left}
.version-detail-rich th{color:var(--text);background:rgba(var(--accent-rgb),.06)}
.page-scroll-top{
    position:fixed;right:var(--contact-right);bottom:var(--floating-edge-bottom);z-index:130;
    display:flex;align-items:center;justify-content:center;min-width:94px;height:42px;padding:0 15px;border:0;border-radius:999px;
    color:#fff;background:linear-gradient(135deg,var(--primary-action-start),var(--primary-action-end));
    font:inherit;font-size:13px;font-weight:900;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);
    box-shadow:0 14px 30px rgba(var(--primary-action-rgb),.26);
    transition:opacity .18s ease,transform .18s ease,filter .18s ease,box-shadow .18s ease
}
.page-scroll-top::before{
    content:"";width:14px;height:14px;margin-right:4px;background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 5.5 5.5 12l1.4 1.4 4.1-4.1V20h2V9.3l4.1 4.1 1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 5.5 5.5 12l1.4 1.4 4.1-4.1V20h2V9.3l4.1 4.1 1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat
}
.page-scroll-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.page-scroll-top:hover{filter:brightness(1.07);box-shadow:0 16px 34px rgba(var(--primary-action-rgb),.34)}

@media (max-width:980px){
    .versions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .versions-grid.is-list .version-card-body{grid-template-columns:1fr;gap:10px}
    .versions-grid.is-list .version-list-meta{justify-self:start}
    .version-detail-summary{grid-template-columns:1fr;align-items:start}
    .version-detail-cover{max-width:680px}
    .version-detail-intro{padding:0}
}
@media (max-width:680px){
    .versions-library{padding:18px 14px}
    .versions-toolbar{align-items:stretch;flex-direction:column}
    .versions-toolbar-meta{justify-content:space-between}
    .versions-grid{grid-template-columns:1fr}
    .versions-grid.is-list .version-card-link{grid-template-columns:112px minmax(0,1fr)}
    .versions-grid.is-list .version-card-body{padding:10px 12px}
    .versions-grid.is-list .version-list-meta{grid-template-columns:repeat(2,minmax(72px,1fr));gap:8px 12px}
    .versions-empty{min-height:260px}
    .version-detail-breadcrumb{padding:22px 0 12px}
    .version-detail-summary{gap:20px;padding:14px}
    .version-detail-intro h1{font-size:28px}
    .version-detail-actions{align-items:stretch;flex-direction:column;gap:12px}
    .version-detail-back{align-self:flex-start}
    .version-detail-meta>div{min-width:0;padding-right:18px}
    .version-detail-meta>div+div{padding-left:18px}
    .version-detail-content{padding:24px 18px}
    .version-detail-rich figure{margin:26px -4px 32px}
    .page-scroll-top{right:16px;z-index:160}
}
@media (prefers-reduced-motion:reduce){
    .version-card,.version-card-cover img,.versions-category-nav a,.versions-view-switch button,.version-detail-back .icon,.page-scroll-top{transition:none}
}

/* 版本中心页面：对齐浅色参考稿的紧凑信息层级 */
.versions-page .container,
.version-detail-page .container{width:min(1200px,calc(100% - 48px));max-width:1200px}
.versions-page .page-hero .breadcrumb{display:none}
.versions-page .page-hero{padding-top:4px;margin-bottom:28px}
.versions-page .page-hero h1{font-size:clamp(38px,4vw,50px);font-weight:900;line-height:1.15;margin-bottom:12px}
.versions-page .page-hero p{font-size:15px;color:var(--muted)}
.versions-page .page-hero::after{
    display:block;width:70px;height:2px;margin-top:24px;content:"";
    background:linear-gradient(90deg,var(--gold),transparent)
}
.versions-library{padding:22px;border-radius:8px}
.versions-toolbar{align-items:center;margin-bottom:22px;padding-bottom:18px}
.versions-category-nav a{min-height:38px;padding:7px 15px;background:rgba(255,255,255,.42)}
html[data-theme="light"] .versions-category-nav a{background:rgba(255,255,255,.58);border-color:rgba(28,102,115,.18)}
.versions-category-nav a.active{background:var(--primary-action-end);box-shadow:0 8px 18px rgba(var(--primary-action-rgb),.20)}
.versions-grid{gap:16px}
.version-card{border-radius:8px;box-shadow:0 8px 22px rgba(25,65,91,.05)}
.version-card-body{gap:8px;padding:15px 15px 14px;min-height:84px}
.version-card-body h2{font-size:17px;line-height:1.35}
.version-list-meta{display:flex;align-items:center;gap:0;margin-top:auto}
.version-list-meta>div{display:flex;align-items:center;gap:4px}
.version-list-meta dt{margin:0;color:var(--faint);font-size:12px;font-weight:500}
.version-list-meta dd{font-size:12px;font-weight:500;color:var(--faint)}
.version-list-meta dd time{font-size:12px}
.version-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(25,65,91,.12)}
.version-detail-breadcrumb{padding:20px 0 16px}
.version-detail-summary{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:28px;padding:22px;border-radius:8px}
.version-detail-intro h1{font-size:clamp(34px,3.2vw,44px);letter-spacing:0}
.version-detail-intro>p{margin-top:14px}
.version-detail-meta{margin-top:18px}
.version-detail-tags{margin-top:18px}
.version-detail-actions{gap:18px;margin-top:24px}
.version-detail-download{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;
    border:0;border-radius:8px;color:#fff;background:#9aadb0;box-shadow:0 12px 22px rgba(94,122,127,.16);
    font-size:14px;font-weight:900;cursor:not-allowed;opacity:1
}
.version-detail-download[href]{background:var(--primary-action-start);cursor:pointer;transition:filter .18s ease,transform .18s ease,box-shadow .18s ease}
.version-detail-download[href]:hover,.version-detail-download[href]:focus-visible{color:#fff;filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 16px 30px rgba(var(--accent-rgb),.28)}
.version-detail-download .icon{width:16px;height:16px}
.version-detail-back{font-size:13px}

@media (max-width:680px){
    .versions-page .container,
    .version-detail-page .container{width:calc(100% - 28px)}
    .versions-library{padding:18px 14px}
    .versions-page .page-hero h1{font-size:34px}
    .version-detail-summary{grid-template-columns:1fr;padding:14px}
    .version-detail-download{width:100%}
}
.tool-library-card{
    width:270px;min-height:262px;border:1px solid rgba(216,179,98,.20);border-radius:8px;overflow:hidden;
    background:
        radial-gradient(circle at 16% -8%,rgba(216,179,98,.16),transparent 10rem),
        radial-gradient(circle at 86% 8%,rgba(84,214,138,.07),transparent 12rem),
        linear-gradient(180deg,rgba(27,35,48,.82),rgba(13,18,27,.88));
    box-shadow:0 18px 42px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease
}
html[data-theme="light"] .tool-library-card{
    background:
        radial-gradient(circle at 18% 0%,rgba(184,56,42,.08),transparent 12rem),
        linear-gradient(180deg,#fffdf8,#fff8ef);
    border-color:rgba(169,116,62,.18);box-shadow:0 12px 28px rgba(96,62,23,.08)
}
.tool-library-card:hover{
    transform:translateY(-4px);border-color:rgba(216,179,98,.34);
    box-shadow:0 24px 56px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.07)
}
html[data-theme="light"] .tool-library-card:hover{box-shadow:0 20px 42px rgba(96,62,23,.13)}
.tool-library-linkarea{height:100%;display:flex;flex-direction:column;padding:16px;color:inherit}
.tool-library-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.tool-library-icon{
    width:52px;height:52px;border-radius:8px;border:1px solid var(--line-strong);object-fit:cover;
    background:rgba(216,179,98,.08);flex:0 0 52px
}
.tool-library-icon-text{display:grid;place-items:center;color:var(--gold-2);font-size:24px;font-weight:900}
.tool-library-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.tool-library-flags span{
    height:22px;display:inline-flex;align-items:center;border-radius:999px;padding:0 8px;
    color:var(--gold-2);background:rgba(216,179,98,.09);border:1px solid rgba(216,179,98,.18);
    font-size:11px;font-weight:900
}
.tool-library-flags .is-rec{color:#fff;background:linear-gradient(135deg,var(--red),var(--ember));border-color:transparent}
.tool-library-card h2{
    font-size:17px;line-height:1.35;letter-spacing:0;margin:0 0 7px;
    color:rgba(238,243,247,.96);
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
html[data-theme="light"] .tool-library-card h2{color:var(--text)}
.tool-library-card p{
    height:42px;color:rgba(155,168,183,.88);font-size:13px;line-height:1.62;margin:0 0 12px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    overflow-wrap:anywhere
}
html[data-theme="light"] .tool-library-card p{color:var(--muted)}
.tool-library-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.tool-library-meta span{
    max-width:100%;height:23px;display:inline-flex;align-items:center;border-radius:999px;padding:0 8px;
    color:rgba(205,216,226,.76);background:rgba(255,255,255,.035);border:1px solid rgba(216,179,98,.13);
    font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
html[data-theme="light"] .tool-library-meta span{background:rgba(255,251,245,.78);border-color:rgba(169,116,62,.16)}
html[data-theme="light"] .tool-library-meta span{color:var(--faint)}
.tool-library-foot{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin-top:14px;padding-top:12px;border-top:1px solid rgba(216,179,98,.16);color:rgba(155,168,183,.74);font-size:12px
}
html[data-theme="light"] .tool-library-foot{border-top-color:var(--line);color:var(--faint)}
.tool-library-foot em{display:inline-flex;align-items:center;gap:5px;color:var(--ember);font-style:normal;font-weight:900;white-space:nowrap}
.tool-library-foot .icon{width:14px;height:14px}
@media (max-width: 920px){
    .download-version-card{grid-template-columns:1fr;align-items:start}
    .download-version-action{grid-column:auto}
    .download-version-action{justify-content:flex-start}
    .tools-library{width:100%}
    .tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
    .tool-library-card{width:auto}
}
@media (max-width: 560px){
    .changelog-tree::before{left:9px}
    .changelog-tree-item{grid-template-columns:28px minmax(0,1fr);gap:0;padding-bottom:18px}
    .changelog-tree-date{grid-column:2;text-align:left;padding:0 0 6px;font-size:12px}
    .changelog-tree-node{grid-column:1;grid-row:1 / span 2;width:28px}
    .changelog-tree-node::before{left:3px;top:3px;width:12px;height:12px}
    .changelog-tree-content{grid-column:2;padding:16px}
    .load-more-wrap{margin-left:28px}
    .download-version-card{grid-template-columns:1fr;padding:16px}
    .download-version-main,.download-version-action{grid-column:auto}
    .download-version-action .btn{width:100%}
    .tools-library{width:100%;padding:14px}
    .tools-library-head{align-items:flex-start}
    .tools-grid{grid-template-columns:1fr}
    .tool-library-card{min-height:238px}
}

/* tool detail */
.tool-detail-hero{
    position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;
    background:
        radial-gradient(circle at 8% 16%,rgba(84,214,138,.12),transparent 16rem),
        linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025) 48%,rgba(216,179,98,.075)),
        rgba(255,255,255,.045);
    box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start;margin-bottom:20px
}
html[data-theme="light"] .tool-detail-hero{
    background:
        radial-gradient(circle at 8% 18%,rgba(20,139,85,.09),transparent 16rem),
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,250,243,.88) 50%,rgba(236,248,239,.76));
    border-color:rgba(169,116,62,.20);box-shadow:0 18px 42px rgba(89,55,24,.10)
}
.tool-detail-heading{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.tool-detail-icon{
    width:68px;height:68px;border-radius:8px;border:1px solid var(--line-strong);object-fit:cover;background:rgba(216,179,98,.10);flex:0 0 68px
}
.tool-detail-icon-text{display:grid;place-items:center;color:var(--gold-2);font-weight:900;font-size:28px}
.tool-detail-heading h1{font-size:clamp(28px,4vw,42px);line-height:1.16;letter-spacing:0}
.tool-detail-heading p,.tool-detail-summary{color:var(--muted)}
.tool-detail-meta,.tool-version-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tool-detail-meta span,.tool-version-meta span{
    display:inline-flex;align-items:center;height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:900;
    color:var(--faint);background:rgba(255,255,255,.045);border:1px solid rgba(216,179,98,.14)
}
html[data-theme="light"] .tool-detail-meta span,html[data-theme="light"] .tool-version-meta span{background:rgba(255,251,245,.72);border-color:rgba(169,116,62,.16)}
.tool-detail-summary{max-width:780px;font-size:15px;line-height:1.8;margin-bottom:14px}
.tool-detail-action{display:grid;gap:8px;justify-items:end}
.tool-detail-action small{color:var(--faint);font-size:12px}
.tool-detail-disabled{color:var(--faint);border:1px dashed var(--line);border-radius:8px;padding:12px 16px}
.tool-detail-intro{
    grid-column:1 / -1;margin-top:4px;padding-top:20px;border-top:1px solid var(--line)
}
.tool-detail-intro h2,.tool-detail-downloads h2{font-size:20px;line-height:1.3;margin-bottom:14px;color:var(--gold-2)}
.tool-detail-content,.tool-detail-downloads{
    border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);box-shadow:var(--shadow);padding:24px
}
html[data-theme="light"] .tool-detail-content,html[data-theme="light"] .tool-detail-downloads{background:rgba(255,255,255,.78)}
.tool-detail-rich{color:var(--muted);font-size:15px;line-height:1.86;overflow-wrap:anywhere}
.tool-detail-rich p{margin:0 0 12px}
.tool-detail-rich a,.tool-detail-video a{color:var(--ember);overflow-wrap:anywhere}
.tool-detail-rich img{max-width:100%;border-radius:8px;border:1px solid var(--line);margin:12px 0}
.tool-detail-empty{color:var(--faint)}
.tool-detail-video{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.tool-version-list{display:grid;gap:12px}
.tool-version-block{
    border:1px solid rgba(216,179,98,.18);border-radius:8px;background:rgba(0,0,0,.10);padding:16px;margin-bottom:0;
    display:grid;grid-template-columns:190px 170px minmax(0,1fr) minmax(170px,auto);gap:18px;align-items:center
}
html[data-theme="light"] .tool-version-block{background:rgba(255,250,243,.58);border-color:rgba(169,116,62,.18)}
.tool-version-block.is-latest{border-color:var(--line-strong);background:linear-gradient(135deg,rgba(216,179,98,.10),rgba(212,83,47,.06))}
.tool-version-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:0}
.tool-version-head strong{display:block;color:var(--text);font-size:17px;line-height:1.3}
.tool-version-head span{display:inline-flex;margin-top:6px;height:24px;align-items:center;border-radius:999px;padding:0 9px;background:linear-gradient(135deg,var(--red),var(--ember));color:#fff;font-size:12px;font-weight:900}
.tool-version-head em{font-style:normal;color:var(--faint);font-size:12px;white-space:nowrap}
.tool-version-body,.tool-version-desc{min-width:0}
.tool-version-block .tool-version-meta{margin-bottom:0}
.tool-version-desc p,.tool-version-block p{color:var(--muted);font-size:14px;line-height:1.75;margin:0}
.tool-history-title{margin-top:22px}
.tool-history-list{display:grid;gap:12px}
.tool-source-list{display:grid;gap:8px;justify-content:end}
.tool-source-item{display:grid;gap:7px;justify-items:end}
.tool-source-button{
    min-width:118px;max-width:170px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 12px;
    background:rgba(180,61,35,.08);border:1px solid rgba(180,61,35,.20);color:var(--ember);font-weight:900;
    box-shadow:none;transition:transform .18s ease,filter .18s ease,background .18s ease,border-color .18s ease
}
.tool-source-button:hover{transform:translateY(-1px);filter:brightness(1.04);background:linear-gradient(135deg,var(--red),var(--ember));border-color:transparent;color:#fff}
.tool-source-dropdown{position:relative;display:inline-block}
.tool-source-toggle{cursor:pointer}
.tool-source-toggle::after{
    content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;
    margin-left:4px;transition:transform .18s ease
}
.tool-source-dropdown.open .tool-source-toggle::after{transform:rotate(180deg)}
.tool-source-menu{
    position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:180px;overflow:hidden;border:1px solid var(--line);
    border-radius:8px;background:rgba(20,18,16,.96);box-shadow:0 18px 42px rgba(0,0,0,.28);
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease
}
html[data-theme="light"] .tool-source-menu{background:rgba(255,255,255,.96);border-color:rgba(169,116,62,.18);box-shadow:0 18px 36px rgba(96,62,23,.14)}
.tool-source-dropdown.open .tool-source-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.tool-source-menu a{display:grid;gap:2px;padding:10px 14px;color:var(--text);font-size:14px;font-weight:900;text-align:left;background:rgba(255,255,255,.02)}
.tool-source-menu a + a{border-top:1px solid var(--line)}
.tool-source-menu a:hover{color:#fff;background:linear-gradient(135deg,var(--red),var(--ember))}
.tool-source-menu small{color:var(--faint);font-size:12px;font-weight:700;line-height:1.45}
.tool-source-menu a:hover small{color:rgba(255,255,255,.82)}
.tool-source-note{display:flex;flex-wrap:wrap;gap:6px;color:var(--faint);font-size:12px}
.tool-source-note span,.tool-source-empty{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.035)}
.tool-source-empty{display:inline-flex;color:var(--faint);border-radius:8px}
@media (max-width:980px){
    .tool-detail-hero{grid-template-columns:1fr}
    .tool-detail-action{justify-items:start}
    .tool-version-block{grid-template-columns:1fr;gap:12px;align-items:start}
    .tool-source-list{display:flex;flex-wrap:wrap;justify-content:start}
    .tool-source-item{justify-items:start}
    .tool-source-menu{right:auto;left:0}
}
@media (max-width:560px){
    .tool-detail-hero,.tool-detail-content,.tool-detail-downloads{padding:16px}
    .tool-detail-heading{align-items:flex-start}
    .tool-detail-icon{width:54px;height:54px;flex-basis:54px}
    .tool-version-head{display:block}
    .tool-version-head em{display:block;margin-top:6px}
}

/* engine document layout */
.doc-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.doc-side{
    position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;
    border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);padding:14px 0;box-shadow:var(--shadow)
}
html[data-theme="light"] .doc-side{background:rgba(255,255,255,.72)}
.doc-search{padding:0 14px 12px;border-bottom:1px solid var(--line)}
.doc-search input{
    width:100%;height:38px;border-radius:8px;border:1px solid var(--line);background:rgba(0,0,0,.12);
    color:var(--text);padding:0 12px;outline:none
}
.doc-search input:focus{border-color:var(--line-strong)}
.doc-tree{padding:8px 0}
.doc-cat{padding:10px 14px;padding-left:calc(14px + var(--tree-level, 0) * 16px);font-weight:800;color:var(--gold-2);font-size:14px;cursor:pointer;display:flex;gap:8px;align-items:center}
.doc-cat:hover{background:rgba(216,179,98,.08)}
.doc-docs{display:none;padding:0 8px 8px}
.doc-docs.open{display:block}
.doc-link{
    display:block;padding:8px 12px 8px 28px;border-radius:6px;color:var(--muted);font-size:13px;margin:2px 0;
    border-left:2px solid transparent
}
.doc-link:hover{color:var(--text);background:rgba(216,179,98,.08)}
.doc-link.active{color:var(--text);background:rgba(216,179,98,.12);border-left-color:var(--ember);font-weight:700}
.doc-content{
    border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.045);
    box-shadow:var(--shadow);padding:28px 30px;min-height:480px
}
html[data-theme="light"] .doc-content{background:rgba(255,255,255,.72)}
.doc-content h1{font-size:28px;margin-bottom:8px}
.doc-content .meta{color:var(--muted);font-size:13px;margin-bottom:22px}
.doc-mobile-toggle{
    display:none;position:fixed;right:18px;bottom:24px;z-index:120;width:46px;height:46px;border-radius:50%;
    border:1px solid var(--line-strong);background:linear-gradient(135deg,var(--ember),var(--gold));color:#fff;
    box-shadow:var(--shadow);cursor:pointer
}
.doc-drawer-mask{display:none}
@media (max-width:960px){
    .doc-layout{grid-template-columns:1fr}
    .doc-side{
        position:fixed;left:0;top:72px;bottom:0;width:min(320px,86vw);z-index:130;max-height:none;
        transform:translateX(-105%);transition:transform .25s ease;border-radius:0 8px 8px 0
    }
    .doc-side.open{transform:translateX(0)}
    .doc-mobile-toggle{display:grid;place-items:center}
}
.section-more{display:inline-flex;align-items:center;gap:6px;color:var(--ember);font-weight:800;font-size:14px;white-space:nowrap}

/* polished documentation workspace */
html[data-theme="light"] body{
    background:
        linear-gradient(180deg,rgba(255,251,244,.94),rgba(246,240,231,.96) 46%,rgba(241,234,224,.98)),
        url("/assets/shop/images/cjkz2329.jpg") center top/cover fixed no-repeat;
}
html[data-theme="light"] body::after{opacity:.05}
.page-main .container{width:min(1120px,calc(100% - 48px))}
.page-main{padding:104px 0 72px}
.download-page,.changelog-page,.tool-detail-page{min-height:calc(100vh - 68px)}
.page-hero{margin-bottom:22px;padding:10px 0 4px}
.page-hero .breadcrumb{margin-bottom:10px}
.page-hero h1{font-size:34px;letter-spacing:0;margin-bottom:8px}
.page-hero p{font-size:15px;line-height:1.7}
.doc-layout{grid-template-columns:260px minmax(0,1fr);gap:18px}
.doc-side{
    top:88px;
    border-radius:8px;
    padding:12px 0;
    box-shadow:0 16px 42px rgba(56,38,20,.10);
}
html[data-theme="light"] .doc-side{
    background:rgba(255,255,255,.90);
    border-color:rgba(169,116,62,.22);
}
.doc-search{padding:0 12px 12px}
.doc-search input{
    height:40px;
    border-radius:7px;
    font-size:13px;
}
html[data-theme="light"] .doc-search input{
    background:#fffaf3;
    border-color:rgba(169,116,62,.30);
    color:#2b2119;
}
.doc-tree{padding:8px 8px 2px}
.doc-cat{
    padding:10px 8px;
    padding-left:calc(8px + var(--tree-level, 0) * 16px);
    border-radius:7px;
    color:var(--gold);
    font-size:13px;
}
html[data-theme="light"] .doc-cat:hover{background:#fff4e6}
.doc-docs{padding:0 0 8px}
.doc-link{
    margin:2px 0;
    padding:9px 12px 9px 28px;
    border-left:0;
    border-radius:7px;
    font-size:13px;
}
.doc-link.active{
    border-left:0;
    background:linear-gradient(90deg,rgba(184,56,42,.12),rgba(217,170,85,.08));
    color:var(--text);
}
html[data-theme="light"] .doc-link{color:#6a5a4c}
html[data-theme="light"] .doc-link:hover{background:#fff4e6;color:#2a2018}
html[data-theme="light"] .doc-link.active{
    color:#2a2018;
    background:linear-gradient(90deg,rgba(184,56,42,.13),rgba(217,170,85,.12));
}
.doc-content{
    padding:34px 38px;
    min-height:560px;
    border-radius:8px;
    box-shadow:0 18px 48px rgba(56,38,20,.10);
}
html[data-theme="light"] .doc-content{
    background:rgba(255,255,255,.92);
    border-color:rgba(169,116,62,.20);
}
.doc-content h1{
    font-size:26px;
    line-height:1.3;
    letter-spacing:0;
}
.doc-content .meta{
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
    margin-bottom:22px;
}
html[data-theme="light"] .doc-content .meta{border-bottom-color:rgba(169,116,62,.18)}
.doc-content .md-body{
    max-width:760px;
    color:var(--text);
    font-size:15px;
    line-height:1.9;
}
html[data-theme="light"] .doc-content .md-body{color:#2b2119}
.doc-content .md-body h1,
.doc-content .md-body h2,
.doc-content .md-body h3{
    color:var(--text);
    letter-spacing:0;
}
html[data-theme="light"] .doc-content .md-body h1,
html[data-theme="light"] .doc-content .md-body h2,
html[data-theme="light"] .doc-content .md-body h3{color:#241a12}
.doc-content .md-body h1{font-size:24px;margin:1.2em 0 .55em}
.doc-content .md-body h2{font-size:20px;margin:1.45em 0 .55em;padding-bottom:8px;border-bottom:1px solid var(--line)}
.doc-content .md-body h3{font-size:17px;margin:1.1em 0 .45em}
html[data-theme="light"] .doc-content .md-body h2{border-bottom-color:rgba(169,116,62,.18)}
.doc-content .md-body p{margin:0 0 12px}
.doc-content .md-body img{
    max-width:100%;
    height:auto;
    border:1px solid rgba(169,116,62,.18);
    border-radius:8px;
    margin:12px 0 18px;
}
.doc-content .md-body ol,
.doc-content .md-body ul{padding-left:1.5em;margin:10px 0 14px}
.doc-content .md-body li{margin:4px 0}
.doc-content .md-body code{
    background:rgba(184,56,42,.08);
    border:1px solid rgba(169,116,62,.16);
    color:var(--ember);
    padding:2px 6px;
    border-radius:5px;
}
.doc-content .md-body pre{
    background:#211812;
    color:#f7ead8;
    border:1px solid rgba(169,116,62,.22);
    border-radius:8px;
    padding:16px 18px;
    max-width:100%;
    overflow-x:auto;
    white-space:pre;
}
.doc-content .md-body pre code{
    border:0;
    background:transparent;
    color:inherit;
    padding:0;
    white-space:pre;
    overflow-wrap:normal;
}
.doc-content{overflow:visible}
.doc-content .md-body table{
    width:100%;
    margin:18px 0 24px;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border:1px solid rgba(169,116,62,.24);
    border-radius:8px;
    background:rgba(255,255,255,.03);
    box-shadow:0 12px 30px rgba(44,28,12,.08);
}
.doc-content .md-body .doc-table-wrap{
    width:min(100%,820px);
    max-width:100%;
    margin:18px 0 24px;
    overflow-x:auto;
    border:1px solid rgba(169,116,62,.24);
    border-radius:8px;
    background:rgba(255,255,255,.04);
    box-shadow:0 12px 30px rgba(44,28,12,.08);
    -webkit-overflow-scrolling:touch;
}
html[data-theme="light"] .doc-content .md-body .doc-table-wrap{
    background:#fffdf8;
    border-color:rgba(169,116,62,.24);
}
.doc-content .md-body .doc-table-wrap table{
    min-width:560px;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
}
.doc-content .md-body th,
.doc-content .md-body td{
    border:0;
    border-bottom:1px solid rgba(169,116,62,.18);
    padding:13px 16px;
    vertical-align:top;
}
.doc-content .md-body tr:last-child td{border-bottom:0}
.doc-content .md-body th{
    background:linear-gradient(180deg,rgba(216,179,98,.18),rgba(216,179,98,.08));
    color:var(--text);
    font-weight:800;
    text-align:left;
    white-space:nowrap;
}
.doc-content .md-body tbody tr:nth-child(even) td{background:rgba(216,179,98,.045)}
.doc-content .md-body tbody tr:hover td{background:rgba(184,56,42,.07)}
html[data-theme="light"] .doc-content .md-body th{
    background:linear-gradient(180deg,#fff0d8,#fff8ed);
    color:#2a1f16;
}
html[data-theme="light"] .doc-content .md-body td{border-bottom-color:rgba(169,116,62,.18)}
html[data-theme="light"] .doc-content .md-body tbody tr:nth-child(even) td{background:#fffaf2}
html[data-theme="light"] .doc-content .md-body tbody tr:hover td{background:#fff3e4}
.doc-pager{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    width:min(100%,820px);
    margin:34px 0 0;
    padding-top:20px;
    border-top:1px solid rgba(169,116,62,.18);
}
.doc-pager-card{
    position:relative;
    display:grid;
    gap:6px;
    min-height:92px;
    padding:16px 48px 16px 18px;
    overflow:hidden;
    border:1px solid rgba(169,116,62,.22);
    border-radius:8px;
    background:linear-gradient(135deg,rgba(216,179,98,.10),rgba(255,255,255,.035));
    color:var(--text);
    box-shadow:0 14px 34px rgba(44,28,12,.08);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.doc-pager-card.prev{padding:16px 18px 16px 48px}
.doc-pager-card span{
    color:var(--gold);
    font-size:12px;
    font-weight:900;
}
.doc-pager-card strong{
    align-self:start;
    font-size:15px;
    line-height:1.45;
    font-weight:900;
}
.doc-pager-card em{
    position:absolute;
    top:50%;
    right:18px;
    transform:translateY(-50%);
    color:rgba(216,179,98,.70);
    font-style:normal;
    font-size:34px;
    line-height:1;
}
.doc-pager-card.prev em{right:auto;left:18px}
.doc-pager-card[href]:hover{
    transform:translateY(-2px);
    border-color:rgba(184,56,42,.34);
    background:linear-gradient(135deg,rgba(184,56,42,.13),rgba(216,179,98,.10));
    box-shadow:0 18px 42px rgba(96,62,23,.14);
}
.doc-pager-card.disabled{
    opacity:.52;
    cursor:not-allowed;
    box-shadow:none;
}
html[data-theme="light"] .doc-pager{border-top-color:rgba(169,116,62,.20)}
html[data-theme="light"] .doc-pager-card{
    background:linear-gradient(135deg,#fffaf2,#fffdf9);
    border-color:rgba(169,116,62,.22);
    box-shadow:0 16px 34px rgba(96,62,23,.10);
}
html[data-theme="light"] .doc-pager-card[href]:hover{
    background:linear-gradient(135deg,#fff1df,#fff9ef);
    border-color:rgba(184,56,42,.30);
}
@media (max-width:960px){
    .page-main{padding:92px 0 56px;overflow-x:hidden}
    .page-main .container{width:calc(100% - 28px);max-width:1120px;min-width:0}
    .doc-layout{display:block;width:100%;min-width:0}
    .doc-layout.reveal,
    .doc-layout.reveal.show{transform:none}
    .doc-side{
        position:fixed;
        left:12px;
        top:74px;
        bottom:18px;
        z-index:150;
        width:min(340px,calc(100vw - 42px));
        max-height:none;
        padding:0;
        overflow:auto;
        transform:translateX(calc(-100% - 24px));
        transition:transform .24s ease,box-shadow .24s ease;
        border-radius:12px;
        border:1px solid rgba(169,116,62,.24);
        background:rgba(21,26,33,.96);
        box-shadow:0 28px 80px rgba(0,0,0,.45);
        backdrop-filter:blur(18px);
    }
    .doc-side.open{transform:translateX(0)}
    .doc-side::before{
        content:"文档目录";
        display:block;
        position:sticky;
        top:0;
        z-index:1;
        padding:16px 16px 12px;
        font-size:16px;
        font-weight:900;
        letter-spacing:0;
        color:var(--text);
        background:linear-gradient(180deg,rgba(21,26,33,.98),rgba(21,26,33,.90));
        border-bottom:1px solid rgba(216,179,98,.18);
    }
    html[data-theme="light"] .doc-side{
        background:rgba(255,253,248,.98);
        border-color:rgba(169,116,62,.26);
        box-shadow:0 24px 68px rgba(96,62,23,.24);
    }
    html[data-theme="light"] .doc-side::before{
        color:#2a1f16;
        background:linear-gradient(180deg,#fffaf3,#fff6ea);
        border-bottom-color:rgba(169,116,62,.20);
    }
    .doc-drawer-mask{
        display:block;
        position:fixed;
        inset:0;
        z-index:140;
        background:rgba(18,14,10,.30);
        opacity:0;
        pointer-events:none;
        transition:opacity .22s ease;
        backdrop-filter:blur(2px);
    }
    html.doc-drawer-open .doc-drawer-mask{
        opacity:1;
        pointer-events:auto;
    }
    .doc-search{
        position:sticky;
        top:53px;
        z-index:1;
        padding:12px 14px 14px;
        background:rgba(21,26,33,.92);
        border-bottom:1px solid rgba(216,179,98,.16);
    }
    html[data-theme="light"] .doc-search{
        background:#fffaf3;
        border-bottom-color:rgba(169,116,62,.18);
    }
    .doc-search input{
        height:44px;
        border-radius:8px;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
    }
    .doc-tree{padding:10px 12px 16px}
    .doc-cat{
        margin:4px 0;
        padding:10px 10px;
        padding-left:calc(10px + var(--tree-level, 0) * 16px);
        border-radius:8px;
        background:rgba(216,179,98,.06);
    }
    html[data-theme="light"] .doc-cat{background:#fff6e9}
    .doc-link{
        padding:10px 12px 10px 20px;
        margin:5px 0;
        border-radius:8px;
    }
    .doc-link.active{
        background:linear-gradient(90deg,rgba(184,56,42,.16),rgba(217,170,85,.14));
        box-shadow:inset 3px 0 0 var(--ember);
    }
    .doc-mobile-toggle{
        display:grid;
        place-items:center;
        right:18px;
        bottom:96px;
        z-index:160;
        width:54px;
        height:54px;
        border-radius:18px;
        border:1px solid rgba(255,255,255,.30);
        background:linear-gradient(135deg,#b94727,#d69a3c);
        color:#fff;
        font-size:14px;
        font-weight:900;
        box-shadow:0 18px 42px rgba(120,59,22,.34);
    }
    .doc-mobile-toggle.open{
        background:linear-gradient(135deg,#2a2119,#9b6425);
        box-shadow:0 18px 46px rgba(45,31,18,.42);
    }
    .doc-content{width:100%;max-width:100%;min-width:0;padding:24px 18px;min-height:520px}
    .doc-content .md-body{max-width:none;width:100%;min-width:0;overflow-wrap:anywhere}
    .doc-content .md-body .doc-table-wrap{width:100%}
    .doc-pager{width:100%}
}
@media (max-width:560px){
    .page-main{padding-top:86px}
    .page-main .container{width:calc(100% - 24px)}
    .page-hero h1{font-size:28px}
    .page-hero p{font-size:14px;line-height:1.65}
    .doc-content{padding:22px 14px;border-radius:8px}
    .doc-content h1{font-size:22px}
    .doc-content .md-body{font-size:14px;line-height:1.85}
    .doc-content .md-body .doc-table-wrap table{min-width:520px}
    .doc-content .md-body th,
    .doc-content .md-body td{padding:12px 14px}
    .doc-pager{
        grid-template-columns:1fr;
        gap:10px;
        margin-top:26px;
        padding-top:16px;
    }
    .doc-pager-card{
        min-height:78px;
        padding-top:13px;
        padding-bottom:13px;
    }
    .doc-side{
        left:10px;
        top:64px;
        bottom:16px;
        width:min(326px,calc(100vw - 38px));
        border-radius:11px;
    }
    .doc-mobile-toggle{
        right:18px;
        bottom:86px;
    }
}

/* minimal online document workspace */
.doc-shell-body{
    background:#f5f6f8;
    color:#26323d;
    overflow-x:hidden;
}
.doc-shell-body::before,
.doc-shell-body::after{
    display:none;
}
.doc-shell-body .page-main.doc-page{
    min-height:100vh;
    padding:86px 0 48px;
    background:#f5f6f8;
}
.doc-page .doc-topbar{
    position:fixed;
    inset:0 0 auto;
    z-index:120;
    height:72px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:0 18px;
    background:#fff;
    border-bottom:1px solid #e9edf2;
}
.doc-page .doc-back{
    width:38px;
    height:38px;
    flex:0 0 38px;
    align-self:center;
    display:grid;
    place-items:center;
    box-sizing:border-box;
    border:1px solid #e6ebf0;
    border-radius:8px;
    color:#44505c;
    background:#fff;
    box-shadow:0 4px 12px rgba(20,31,43,.06);
    font-size:0;
    line-height:0;
    transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.doc-page .doc-back::before{
    content:"";
    display:block;
    width:18px;
    height:36px;
    background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m15.4 18.6-6.6-6.6 6.6-6.6 1.4 1.4-5.2 5.2 5.2 5.2z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m15.4 18.6-6.6-6.6 6.6-6.6 1.4 1.4-5.2 5.2 5.2 5.2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.doc-page .doc-back:hover{
    color:#1677ff;
    border-color:#cfe1ff;
    background:#f7fbff;
}
.doc-page .doc-topbar strong{
    display:block;
    color:#1f2a35;
    font-size:16px;
    line-height:38px;
    font-weight:800;
    letter-spacing:0;
}
.doc-page .doc-shell{
    width:min(1360px,calc(100% - 48px));
    margin:0 auto;
}
.doc-page .doc-layout{
    display:grid;
    grid-template-columns:286px minmax(0,1fr);
    gap:16px;
    align-items:start;
}
.doc-page .doc-side{
    position:sticky;
    top:92px;
    max-height:calc(100vh - 112px);
    padding:10px 0 14px;
    overflow:auto;
    border:0;
    border-radius:8px;
    background:#f7f8fa;
    box-shadow:none;
}
.doc-page .doc-search{
    position:sticky;
    top:0;
    z-index:2;
    margin:0 10px 12px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
}
.doc-page .doc-search input{
    height:44px;
    width:100%;
    padding:0 42px 0 16px;
    border:1px solid #dce5ef;
    border-radius:8px;
    background:linear-gradient(180deg,#fff,#fbfdff);
    color:#2d3742;
    font-size:14px;
    outline:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.doc-page .doc-search input::placeholder{
    color:#aeb9c5;
}
.doc-page .doc-search input:focus{
    border-color:#8fbcff;
    background:#fff;
    box-shadow:0 10px 24px rgba(22,119,255,.10),0 0 0 3px rgba(22,119,255,.10);
}
.doc-page .doc-search::after{
    content:"";
    position:absolute;
    right:14px;
    top:14px;
    width:15px;
    height:15px;
    background:#9aa8b7;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m21 19.6-5.2-5.2a7.2 7.2 0 1 0-1.4 1.4l5.2 5.2zM5 10.2a5.2 5.2 0 1 1 10.4 0 5.2 5.2 0 0 1-10.4 0'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='m21 19.6-5.2-5.2a7.2 7.2 0 1 0-1.4 1.4l5.2 5.2zM5 10.2a5.2 5.2 0 1 1 10.4 0 5.2 5.2 0 0 1-10.4 0'/%3E%3C/svg%3E") center/contain no-repeat;
    pointer-events:none;
}
.doc-page .doc-tree{
    padding:4px 8px 12px;
}
.doc-page .doc-tree-item{
    color:#677380;
}
.doc-page .doc-cat{
    min-height:34px;
    padding:7px 10px;
    padding-left:calc(10px + var(--tree-level, 0) * 18px);
    border-radius:7px;
    color:#5d6975;
    background:transparent;
    font-size:14px;
    font-weight:700;
    gap:7px;
}
.doc-page .doc-cat:hover{
    background:#eef4fb;
    color:#26323d;
}
.doc-page .doc-cat-arrow{
    width:12px;
    color:#a4afba;
    font-size:11px;
    text-align:center;
}
.doc-page .doc-cat span:last-child::before{
    content:"";
    display:inline-block;
    width:16px;
    height:16px;
    margin-right:8px;
    vertical-align:-3px;
    background:currentColor;
    opacity:.72;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 6.5A2.5 2.5 0 0 1 5.5 4h4.1c.7 0 1.35.32 1.78.87L12.25 6H18.5A2.5 2.5 0 0 1 21 8.5v8A3.5 3.5 0 0 1 17.5 20h-11A3.5 3.5 0 0 1 3 16.5zm2.5-.7a.7.7 0 0 0-.7.7v1h15.4a.7.7 0 0 0-.7-.7h-7.62a.9.9 0 0 1-.7-.34L9.96 6.1a.7.7 0 0 0-.55-.3zm-.7 3.5v7.2a1.7 1.7 0 0 0 1.7 1.7h11a1.7 1.7 0 0 0 1.7-1.7V9.3z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 6.5A2.5 2.5 0 0 1 5.5 4h4.1c.7 0 1.35.32 1.78.87L12.25 6H18.5A2.5 2.5 0 0 1 21 8.5v8A3.5 3.5 0 0 1 17.5 20h-11A3.5 3.5 0 0 1 3 16.5zm2.5-.7a.7.7 0 0 0-.7.7v1h15.4a.7.7 0 0 0-.7-.7h-7.62a.9.9 0 0 1-.7-.34L9.96 6.1a.7.7 0 0 0-.55-.3zm-.7 3.5v7.2a1.7 1.7 0 0 0 1.7 1.7h11a1.7 1.7 0 0 0 1.7-1.7V9.3z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.doc-page .doc-docs{
    display:none;
    padding:1px 0 7px;
}
.doc-page .doc-docs.open{
    display:block;
}
.doc-page .doc-link{
    position:relative;
    display:block;
    min-height:34px;
    margin:1px 0;
    padding:8px 10px 8px calc(34px + var(--tree-level, 0) * 18px);
    border:0;
    border-radius:7px;
    color:#6c7783;
    font-size:14px;
    line-height:1.35;
    background:transparent;
    overflow:hidden;
    text-overflow:ellipsis;
}
.doc-page .doc-link::before{
    content:"";
    position:absolute;
    left:calc(15px + var(--tree-level, 0) * 18px);
    top:9px;
    width:14px;
    height:14px;
    background:currentColor;
    opacity:.42;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 3h7.6L20 8.4V19a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m7 1.9V9h4.1zM8 12v1.6h8V12zm0 4v1.6h8V16z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 3h7.6L20 8.4V19a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m7 1.9V9h4.1zM8 12v1.6h8V12zm0 4v1.6h8V16z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.doc-page .doc-link:hover{
    color:#24313d;
    background:#eef4fb;
}
.doc-page .doc-link.active{
    color:#1677ff;
    background:#fff;
    border:0;
    font-weight:800;
    box-shadow:0 2px 8px rgba(23,35,48,.04);
}
.doc-page .doc-link.active::before{
    opacity:.95;
}
.doc-page .doc-content{
    position:relative;
    min-height:calc(100vh - 112px);
    padding:0;
    overflow:visible;
    border:1px solid #e6ebf0;
    border-radius:8px;
    background:#fff;
    box-shadow:0 8px 20px rgba(22,31,45,.06);
}
.doc-page .doc-render-loading{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#7b8792;
    background:#fff;
    opacity:1;
    visibility:visible;
    transition:opacity .18s ease,visibility .18s ease;
}
.doc-page .doc-render-loading.is-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.doc-page .doc-render-spinner{
    width:18px;
    height:18px;
    border:2px solid currentColor;
    border-top-color:transparent;
    border-radius:50%;
    animation:doc-render-spin .7s linear infinite;
}
@keyframes doc-render-spin{to{transform:rotate(360deg)}}
.doc-page .doc-article-head{
    padding:44px 30px 28px;
    text-align:center;
    border-bottom:1px solid #edf0f3;
}
.doc-page .doc-content h1{
    margin:0;
    color:#23313d;
    font-size:28px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:0;
}
.doc-page .doc-content .meta{
    margin:12px 0 0;
    padding:0;
    border:0;
    color:#a5afb9;
    font-size:12px;
}
.doc-page .doc-content .md-body{
    max-width:none;
    padding:30px 30px 38px;
    color:#27333f;
    font-size:15px;
    line-height:1.86;
}
.doc-page .doc-content .md-body.is-pending{visibility:hidden}
.doc-page .doc-content .md-body h1,
.doc-page .doc-content .md-body h2,
.doc-page .doc-content .md-body h3,
.doc-page .doc-content .md-body h4{
    color:#1f2c37;
    letter-spacing:0;
}
.doc-page .doc-content .md-body h1{font-size:24px;margin:1.25em 0 .65em}
.doc-page .doc-content .md-body h2{font-size:20px;margin:1.45em 0 .75em;padding-bottom:8px;border-bottom:1px solid #edf0f3}
.doc-page .doc-content .md-body h3{font-size:17px;margin:1.25em 0 .55em}
.doc-page .doc-content .md-body h4{font-size:16px;margin:1.15em 0 .5em}
.doc-page .doc-content .md-body p{margin:0 0 14px}
.doc-page .doc-content .md-body a{
    color:#1677ff;
    font-weight:700;
}
.doc-page .doc-content .md-body img{
    display:block;
    max-width:100%;
    height:auto;
    margin:14px 0 22px;
    border:1px solid #e6ebf0;
    border-radius:7px;
    box-shadow:none;
}
.doc-page .doc-content .md-body code{
    border:0;
    border-radius:4px;
    background:#eef5ff;
    color:#1261bf;
    padding:2px 5px;
}
.doc-page .doc-content .md-body pre{
    position:relative;
    max-width:100%;
    margin:18px 0 24px;
    padding:44px 18px 18px;
    overflow-x:auto;
    border:0;
    border-radius:4px;
    background:#344548;
    color:#e9f0f1;
    line-height:1.72;
    white-space:pre;
}
.doc-page .doc-content .md-body pre.copied{
    box-shadow:0 0 0 2px rgba(40,200,64,.22);
}
.doc-page .doc-content .md-body pre::before{
    content:"";
    position:absolute;
    top:18px;
    left:18px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#ff6159;
    box-shadow:16px 0 0 #ffbd2e,32px 0 0 #28c840;
}
.doc-page .doc-content .md-body .doc-code-copy{
    position:absolute;
    top:12px;
    right:12px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:6px;
    background:rgba(255,255,255,.08);
    color:#e9f0f1;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.doc-page .doc-content .md-body .doc-code-copy::before{
    content:"";
    width:13px;
    height:13px;
    background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8 7a3 3 0 0 1 3-3h7a3 3 0 0 1 3 3v7a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-7a3 3 0 0 1 3-3h1zm3-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zm-4 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-1h-4a3 3 0 0 1-3-3v-4z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8 7a3 3 0 0 1 3-3h7a3 3 0 0 1 3 3v7a3 3 0 0 1-3 3h-1v1a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-7a3 3 0 0 1 3-3h1zm3-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zm-4 4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1v-1h-4a3 3 0 0 1-3-3v-4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.doc-page .doc-content .md-body .doc-code-copy:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.24);
    color:#fff;
}
.doc-page .doc-content .md-body pre code{
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    white-space:pre;
    overflow-wrap:normal;
}
.doc-page .doc-content .md-body blockquote{
    margin:16px 0;
    padding:10px 14px;
    border-left:3px solid #9bc4ff;
    background:#f6f9fd;
    color:#52606d;
}
.doc-page .doc-content .md-body .doc-table-wrap{
    width:100%;
    max-width:100%;
    margin:18px 0 24px;
    overflow-x:auto;
    border:1px solid #d9e6f5;
    border-radius:7px;
    background:#fff;
    box-shadow:0 10px 26px rgba(31,68,106,.06);
}
.doc-page .doc-content .md-body .doc-table-wrap table,
.doc-page .doc-content .md-body table{
    min-width:680px;
    margin:0;
    border:0;
    border-collapse:collapse;
    background:#fff;
    box-shadow:none;
}
.doc-page .doc-content .md-body th,
.doc-page .doc-content .md-body td{
    padding:12px 15px;
    border:1px solid #dfeaf6;
    color:#2f4050;
}
.doc-page .doc-content .md-body th{
    background:linear-gradient(180deg,#f1f7ff,#eaf3ff);
    color:#1f3448;
    font-weight:800;
}
.doc-page .doc-content .md-body tbody tr:nth-child(odd) td{
    background:#fff;
}
.doc-page .doc-content .md-body tbody tr:nth-child(even) td{
    background:#f8fbff;
}
.doc-page .doc-content .md-body tbody tr:hover td{
    background:#edf6ff;
}
.doc-page .doc-pager{
    width:auto;
    margin:0 30px 34px;
    padding-top:20px;
    border-top:1px solid #edf0f3;
    gap:12px;
}
.doc-page .doc-pager-card{
    min-height:74px;
    border:1px solid #e7ebef;
    border-radius:7px;
    background:#fff;
    box-shadow:none;
    color:#27333f;
}
.doc-page .doc-pager-card span{
    color:#8a96a3;
}
.doc-page .doc-pager-card strong{
    color:#27333f;
    font-size:14px;
}
.doc-page .doc-pager-card em{
    color:#bac3cc;
}
.doc-page .doc-pager-card[href]:hover{
    transform:none;
    border-color:#bfdbff;
    background:#f7fbff;
    box-shadow:none;
}
.doc-page .doc-empty-state{
    color:#8a96a3;
}
.doc-shell-body .doc-mobile-toggle{
    display:none;
    border:0;
    border-radius:8px;
    background:#1677ff;
    color:#fff;
    box-shadow:0 12px 24px rgba(22,119,255,.22);
    font-size:14px;
    font-weight:800;
}
.doc-shell-body .doc-drawer-mask{
    display:none;
}
.doc-shell-body .doc-scroll-top{
    position:fixed;
    right:var(--contact-right);
    bottom:var(--floating-edge-bottom);
    z-index:130;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-width:88px;
    height:42px;
    padding:0 14px;
    border:0;
    border-radius:999px;
    background:#1677ff;
    color:#fff;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
    box-shadow:0 14px 30px rgba(22,119,255,.26);
    transition:opacity .18s ease,transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.doc-shell-body .doc-scroll-top::before{
    content:"";
    width:14px;
    height:14px;
    margin-right:3px;
    background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 5.5 5.5 12l1.4 1.4 4.1-4.1V20h2V9.3l4.1 4.1 1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 5.5 5.5 12l1.4 1.4 4.1-4.1V20h2V9.3l4.1 4.1 1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.doc-shell-body .doc-scroll-top.show{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}
.doc-shell-body .doc-scroll-top:hover{
    background:#0f67df;
    box-shadow:0 16px 34px rgba(22,119,255,.34);
}
.doc-shell-body .doc-scroll-top span{
    min-width:1ch;
}

@media (max-width:980px){
    .doc-page .doc-shell{width:calc(100% - 24px)}
    .doc-page .doc-layout{display:block}
    .doc-page .doc-side{
        position:fixed;
        left:12px;
        top:84px;
        bottom:16px;
        z-index:150;
        width:min(320px,calc(100vw - 40px));
        max-height:none;
        padding:10px 0 14px;
        transform:translateX(calc(-100% - 24px));
        transition:transform .22s ease;
        border:1px solid #e3e8ee;
        background:#fff;
        box-shadow:0 18px 44px rgba(24,35,48,.18);
    }
    .doc-page .doc-side.open{transform:translateX(0)}
    .doc-page .doc-search{
        margin:0 10px 10px;
        padding:0;
        background:transparent;
        border-bottom:0;
    }
    .doc-page .doc-tree{padding:8px 12px 14px}
    .doc-shell-body .doc-drawer-mask{
        display:block;
        position:fixed;
        inset:0;
        z-index:140;
        background:rgba(18,26,36,.28);
        opacity:0;
        pointer-events:none;
        transition:opacity .2s ease;
    }
    html.doc-drawer-open .doc-drawer-mask{
        opacity:1;
        pointer-events:auto;
    }
    .doc-shell-body .doc-mobile-toggle{
        display:grid;
        place-items:center;
        position:fixed;
        right:18px;
        bottom:var(--floating-edge-bottom);
        z-index:160;
        width:54px;
        height:44px;
    }
    .doc-shell-body .doc-scroll-top{
        right:18px;
        bottom:calc(var(--floating-edge-bottom) + 56px);
        z-index:160;
    }
    .doc-page .doc-content{
        min-height:calc(100vh - 110px);
    }
}
@media (max-width:640px){
    .doc-shell-body .page-main.doc-page{padding-top:76px}
    .doc-page .doc-topbar{height:64px}
    .doc-page .doc-back{width:34px;height:34px;flex-basis:34px}
    .doc-page .doc-topbar strong{line-height:34px}
    .doc-page .doc-shell{width:calc(100% - 20px)}
    .doc-page .doc-article-head{padding:30px 18px 22px}
    .doc-page .doc-content h1{font-size:23px}
    .doc-page .doc-content .md-body{padding:22px 18px 28px;font-size:14px}
    .doc-page .doc-content .md-body .doc-table-wrap table,
    .doc-page .doc-content .md-body table{min-width:520px}
    .doc-page .doc-pager{grid-template-columns:1fr;margin:0 18px 24px}
}

/* online document follows the shared frontend theme switch */
body.doc-shell-body{
    --doc-bg:#0b1017;
    --doc-side-bg:#101822;
    --doc-side-hover:#182333;
    --doc-content-bg:#111a25;
    --doc-content-soft:#162130;
    --doc-border:rgba(216,179,98,.20);
    --doc-border-strong:rgba(216,179,98,.34);
    --doc-text:#e8eef5;
    --doc-muted:#95a4b4;
    --doc-faint:#728092;
    --doc-accent:#d8b362;
    --doc-primary:#d4552f;
    --doc-code-bg:#0d121a;
    --doc-code-text:#edf3f7;
    --doc-inline-code-bg:rgba(216,179,98,.12);
    --doc-inline-code-text:#d8b362;
    --doc-search-hit-bg:#fff3b0;
    --doc-search-hit-text:#5a4300;
    --doc-search-hit-border:#e7c65a;
    --doc-search-hit-code-bg:#ffe58a;
    --doc-search-hit-code-text:#5a4300;
    --doc-search-hit-code-border:#dfb83d;
    --doc-selection-bg:rgba(216,179,98,.34);
    --doc-selection-text:#0b1017;
    --doc-selection-code-bg:rgba(216,179,98,.54);
    --doc-selection-code-text:#0b1017;
    --doc-topbar-bg:#101822;
    --doc-topbar-border:rgba(216,179,98,.18);
    --doc-back-bg:#111a25;
    --doc-back-hover:#182333;
    --doc-focus-shadow:rgba(212,83,47,.15);
    --doc-button-shadow:rgba(212,83,47,.26);
    --doc-shadow:0 20px 56px rgba(0,0,0,.34);
    background:
        radial-gradient(circle at 16% 4%,rgba(212,83,47,.16),transparent 28rem),
        radial-gradient(circle at 84% 8%,rgba(216,179,98,.12),transparent 30rem),
        linear-gradient(180deg,var(--doc-bg),#0f1620 54%,var(--doc-bg));
    color:var(--doc-text);
}
html[data-theme="light"] body.doc-shell-body{
    --doc-bg:#f5f6f8;
    --doc-side-bg:#f7f8fa;
    --doc-side-hover:#eef4fb;
    --doc-content-bg:#ffffff;
    --doc-content-soft:#f8fbff;
    --doc-border:#e6ebf0;
    --doc-border-strong:#bfdbff;
    --doc-text:#26323d;
    --doc-muted:#6d7884;
    --doc-faint:#9aa7b4;
    --doc-accent:#1677ff;
    --doc-primary:#1677ff;
    --doc-code-bg:#344548;
    --doc-code-text:#e9f0f1;
    --doc-inline-code-bg:rgba(22,119,255,.10);
    --doc-inline-code-text:#1677ff;
    --doc-search-hit-bg:#fff3b0;
    --doc-search-hit-text:#5a4300;
    --doc-search-hit-border:#e7c65a;
    --doc-search-hit-code-bg:#ffe58a;
    --doc-search-hit-code-text:#5a4300;
    --doc-search-hit-code-border:#dfb83d;
    --doc-selection-bg:rgba(22,119,255,.22);
    --doc-selection-text:#ffffff;
    --doc-selection-code-bg:rgba(22,119,255,.42);
    --doc-selection-code-text:#ffffff;
    --doc-topbar-bg:#ffffff;
    --doc-topbar-border:#e9edf2;
    --doc-back-bg:#ffffff;
    --doc-back-hover:#f7fbff;
    --doc-focus-shadow:rgba(22,119,255,.15);
    --doc-button-shadow:rgba(22,119,255,.26);
    --doc-shadow:0 8px 20px rgba(22,31,45,.06);
    background:#f5f6f8;
    color:var(--doc-text);
}
body.doc-shell-body .site-header{
    display:block;
}
body.doc-shell-body .site-footer{
    display:flex;
}
body.doc-shell-body .hero-contact-card{
    display:none;
}
body.doc-shell-body .doc-topbar{
    height:84px;
    display:flex;
    padding:0 16px;
    background:var(--doc-topbar-bg);
    border-bottom-color:var(--doc-topbar-border);
}
body.doc-shell-body .doc-back{
    width:42px;
    height:42px;
    flex-basis:42px;
    background:var(--doc-back-bg);
    border-color:var(--doc-border);
    color:var(--doc-text);
}
body.doc-shell-body .doc-back:hover{
    background:var(--doc-back-hover);
    border-color:var(--doc-border-strong);
    color:var(--doc-primary);
}
body.doc-shell-body .doc-topbar strong{
    color:var(--doc-text);
    line-height:42px;
}
body.doc-shell-body .page-main.doc-page{
    min-height:100vh;
    padding:104px 0 48px;
    background:transparent;
}
body.doc-shell-body .doc-side{
    top:104px;
    background:var(--doc-side-bg);
    border-color:var(--doc-border);
    box-shadow:var(--doc-shadow);
}
body.doc-shell-body .doc-search input{
    border-color:var(--doc-border);
    background:var(--doc-content-bg);
    color:var(--doc-text);
    box-shadow:none;
}
body.doc-shell-body .doc-search input::placeholder{
    color:var(--doc-muted);
}
body.doc-shell-body .doc-search input:focus{
    border-color:var(--doc-border-strong);
    background:var(--doc-content-bg);
    color:var(--doc-text);
    box-shadow:0 0 0 3px var(--doc-focus-shadow);
}
body.doc-shell-body .doc-search::after{
    background:var(--doc-faint);
}
body.doc-shell-body .doc-tree-item,
body.doc-shell-body .doc-cat,
body.doc-shell-body .doc-link{
    color:var(--doc-muted);
}
body.doc-shell-body .doc-cat:hover,
body.doc-shell-body .doc-link:hover{
    background:var(--doc-side-hover);
    color:var(--doc-text);
}
body.doc-shell-body .doc-link.active{
    color:var(--doc-primary);
    background:var(--doc-content-bg);
    box-shadow:0 2px 10px rgba(0,0,0,.12),inset 3px 0 0 var(--doc-primary);
}
html[data-theme="light"] body.doc-shell-body .doc-link.active{
    box-shadow:0 2px 8px rgba(23,35,48,.04),inset 3px 0 0 var(--doc-primary);
}
body.doc-shell-body .doc-content{
    background:var(--doc-content-bg);
    border-color:var(--doc-border);
    box-shadow:var(--doc-shadow);
}
body.doc-shell-body .doc-render-loading{
    background:var(--doc-content-bg);
    color:var(--doc-muted);
}
body.doc-shell-body .doc-article-head,
body.doc-shell-body .doc-pager{
    border-color:var(--doc-border);
}
body.doc-shell-body .doc-content h1,
body.doc-shell-body .doc-content .md-body,
body.doc-shell-body .doc-content .md-body h1,
body.doc-shell-body .doc-content .md-body h2,
body.doc-shell-body .doc-content .md-body h3,
body.doc-shell-body .doc-content .md-body h4,
body.doc-shell-body .doc-pager-card,
body.doc-shell-body .doc-pager-card strong{
    color:var(--doc-text);
}
body.doc-shell-body .doc-content .meta,
body.doc-shell-body .doc-empty-state,
body.doc-shell-body .doc-pager-card span,
body.doc-shell-body .doc-pager-card em{
    color:var(--doc-muted);
}
body.doc-shell-body .doc-content .md-body h2{
    border-bottom-color:var(--doc-border);
}
body.doc-shell-body .doc-content .md-body a{
    color:var(--doc-primary);
}
body.doc-shell-body .doc-content .md-body img,
body.doc-shell-body .doc-content .md-body .doc-table-wrap{
    border-color:var(--doc-border);
    background:var(--doc-content-bg);
}
body.doc-shell-body .doc-content .md-body table{
    border:0;
    border-collapse:separate;
    border-spacing:0;
    background:transparent;
}
body.doc-shell-body .doc-content .md-body > table{
    border:1px solid var(--doc-border);
    border-radius:8px;
    overflow:hidden;
}
body.doc-shell-body .doc-content .md-body .doc-table-wrap table{
    border:0;
    border-radius:0;
}
body.doc-shell-body .doc-content .md-body code{
    background:var(--doc-inline-code-bg);
    color:var(--doc-inline-code-text);
    border:1px solid var(--doc-border);
}
body.doc-shell-body .doc-content .md-body pre code,
body.doc-shell-body .doc-content .md-body pre code *{
    background:transparent;
    color:var(--doc-code-text);
    border:0;
}
body.doc-shell-body .doc-content .md-body pre{
    background:var(--doc-code-bg);
    color:var(--doc-code-text);
}
body.doc-shell-body .doc-search-hit{
    background:var(--doc-search-hit-bg);
    color:var(--doc-search-hit-text);
    border-radius:3px;
    box-shadow:inset 0 0 0 1px var(--doc-search-hit-border);
    padding:0 .12em;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone;
}
body.doc-shell-body .doc-content .md-body pre .doc-search-hit{
    background:var(--doc-search-hit-code-bg);
    color:var(--doc-search-hit-code-text);
    box-shadow:inset 0 0 0 1px var(--doc-search-hit-code-border);
}
body.doc-shell-body .doc-content ::selection,
body.doc-shell-body .doc-topbar ::selection,
body.doc-shell-body .doc-search input::selection{
    background:var(--doc-selection-bg);
    color:var(--doc-selection-text);
}
body.doc-shell-body .doc-content .md-body pre::selection,
body.doc-shell-body .doc-content .md-body pre code::selection,
body.doc-shell-body .doc-content .md-body pre *::selection{
    background:var(--doc-selection-code-bg);
    color:var(--doc-selection-code-text);
}
body.doc-shell-body .doc-content .md-body blockquote{
    border-left-color:var(--doc-primary);
    background:var(--doc-content-soft);
    color:var(--doc-muted);
}
body.doc-shell-body .doc-content .md-body th{
    background:var(--doc-content-soft);
    border:0;
    border-right:1px solid var(--doc-border);
    border-bottom:1px solid var(--doc-border);
    color:var(--doc-text);
}
body.doc-shell-body .doc-content .md-body th:last-child{
    border-right:0;
}
body.doc-shell-body .doc-content .md-body td{
    border:0;
    border-right:1px solid var(--doc-border);
    border-bottom:1px solid var(--doc-border);
    color:var(--doc-text);
}
body.doc-shell-body .doc-content .md-body td:last-child{
    border-right:0;
}
body.doc-shell-body .doc-content .md-body tr:last-child td{
    border-bottom:0;
}
body.doc-shell-body .doc-content .md-body tbody tr:nth-child(odd) td{
    background:var(--doc-content-bg);
}
body.doc-shell-body .doc-content .md-body tbody tr:nth-child(even) td,
body.doc-shell-body .doc-content .md-body tbody tr:hover td{
    background:var(--doc-content-soft);
}
body.doc-shell-body .doc-pager-card{
    border-color:var(--doc-border);
    background:var(--doc-content-bg);
}
body.doc-shell-body .doc-pager-card[href]:hover{
    border-color:var(--doc-border-strong);
    background:var(--doc-content-soft);
}
body.doc-shell-body .doc-mobile-toggle,
body.doc-shell-body .doc-scroll-top{
    background:var(--doc-primary);
    color:#fff;
    box-shadow:0 14px 30px var(--doc-button-shadow);
}
body.doc-shell-body .doc-mobile-toggle.open,
body.doc-shell-body .doc-scroll-top:hover{
    background:var(--doc-accent);
}
body.doc-shell-body .doc-drawer-mask{
    background:rgba(5,9,14,.48);
}

@media (max-width:980px){
    body.doc-shell-body .page-main.doc-page{
        padding-top:96px;
    }
    body.doc-shell-body .doc-side{
        top:84px;
        background:var(--doc-side-bg);
        border-color:var(--doc-border);
        box-shadow:0 24px 68px rgba(0,0,0,.30);
    }
    html[data-theme="light"] body.doc-shell-body .doc-side{
        box-shadow:0 22px 56px rgba(33,57,96,.16);
    }
    body.doc-shell-body .doc-side::before{
        color:var(--doc-text);
        background:var(--doc-side-bg);
        border-bottom-color:var(--doc-border);
    }
    body.doc-shell-body .doc-search{
        margin:0;
        padding:14px 12px 12px;
        background:var(--doc-side-bg);
        border-bottom-color:var(--doc-border);
    }
    body.doc-shell-body .doc-search::after{
        top:36px;
        right:26px;
        transform:translateY(-50%);
    }
    html[data-theme="light"] body.doc-shell-body .doc-search{
        background:var(--doc-side-bg);
        border-bottom-color:var(--doc-border);
    }
    body.doc-shell-body .doc-tree{
        background:var(--doc-side-bg);
    }
    body.doc-shell-body .doc-cat{
        color:var(--doc-muted);
        background:transparent;
    }
    html[data-theme="light"] body.doc-shell-body .doc-cat{
        background:transparent;
    }
    body.doc-shell-body .doc-cat:hover,
    body.doc-shell-body .doc-link:hover{
        color:var(--doc-text);
        background:var(--doc-side-hover);
    }
    body.doc-shell-body .doc-link.active,
    html[data-theme="light"] body.doc-shell-body .doc-link.active{
        color:var(--doc-primary);
        background:linear-gradient(90deg,rgba(var(--inner-accent-rgb),.16),rgba(var(--inner-accent-rgb),.045));
        box-shadow:inset 3px 0 0 var(--doc-primary);
    }
    body.doc-shell-body .doc-drawer-mask{
        background:rgba(5,15,24,.52);
        backdrop-filter:blur(3px);
    }
    html[data-theme="light"] body.doc-shell-body .doc-drawer-mask{
        background:rgba(31,48,66,.30);
    }
    html.doc-drawer-open body.doc-shell-body .hero-contact-card,
    html.doc-drawer-open body.doc-shell-body .doc-scroll-top{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(8px);
    }
}
@media (max-width:640px){
    body.doc-shell-body .doc-topbar{
        height:64px;
    }
    body.doc-shell-body .page-main.doc-page{
        padding-top:84px;
    }
    body.doc-shell-body .doc-side{
        top:72px;
    }
}
