:root{--bg: #0f1115;--panel: #171a21;--panel2: #1d2129;--line: #2a2f3a;--fg: #e6e9ef;--muted: #9aa3b2;--accent: #6d5dfc;--accent2: #00c2a8;--t-fast: .12s;--t-base: .18s;--ease: cubic-bezier(.2, .6, .2, 1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,Roboto,sans-serif;line-height:1.7}a{color:var(--accent);text-decoration:none;position:relative}a:after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--t-base) var(--ease)}a:hover:after,a:focus-visible:after{transform:scaleX(1)}.brand:after,.card:after,.toolnav a:after,.langmenu a:after,.skip:after{content:none}a:focus-visible,button:focus-visible,summary:focus-visible,.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:8px 14px;border-radius:8px;background:var(--panel2);border:1px solid var(--accent);color:var(--fg)}.skip:focus{left:8px}header.site{padding:14px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap}header.site .brand{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--fg)}.logomark{display:inline-block;width:1.15em;height:1.15em;background:url(/favicon.svg) center / contain no-repeat}header.site .toolnav{display:flex;gap:2px;font-size:14px;flex-wrap:wrap}header.site .toolnav a{color:var(--muted);padding:6px 11px;border-radius:8px;transition:color var(--t-base) var(--ease),background var(--t-base) var(--ease)}header.site .toolnav a:hover{color:var(--fg);background:var(--panel)}header.site .toolnav a.active{color:var(--accent);font-weight:600;background:var(--panel)}header.site .langmenu{margin-left:auto;position:relative;font-size:14px}header.site .langmenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--panel);transition:color var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}header.site .langmenu summary::-webkit-details-marker{display:none}header.site .langmenu summary:hover{color:var(--fg);border-color:var(--accent)}header.site .langmenu .globe{color:var(--accent);flex:none}header.site .langmenu .caret{color:var(--muted);transition:transform var(--t-base) var(--ease)}header.site .langmenu[open] summary .caret{transform:rotate(180deg)}header.site .langmenu>ul{position:absolute;right:0;top:calc(100% + 6px);z-index:30;margin:0;padding:6px;list-style:none;min-width:150px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);box-shadow:0 10px 28px -12px #0009}header.site .langmenu>ul a{display:block;padding:8px 10px;border-radius:6px;color:var(--fg);transition:background var(--t-fast) var(--ease)}header.site .langmenu>ul a:hover{background:var(--panel)}header.site .langmenu>ul a.active{color:var(--accent);font-weight:600}main{max-width:760px;margin:0 auto;padding:40px 24px 72px}main.hub{max-width:900px;padding:8px 24px 72px}h1{font-size:30px;line-height:1.3;letter-spacing:-.025em;margin:8px 0 14px}h2{font-size:21px;letter-spacing:-.015em;margin:44px 0 12px}h3{font-size:16px;margin:24px 0 6px}p{color:var(--fg)}.lead{font-size:17px;color:var(--muted);margin-top:0}.updated{font-size:13.5px;color:var(--muted)}.hero{text-align:center;padding:64px 0 44px}.hero h1{font-size:clamp(32px,6vw,46px);line-height:1.2;letter-spacing:-.035em;margin:0 0 14px;font-weight:800}.hero p{font-size:17px;color:var(--muted);margin:0}.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,420px));gap:14px}.card{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);position:relative;transition:border-color var(--t-base) var(--ease),transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px -8px #6d5dfc73}.card:active{transform:translateY(0);transition-duration:var(--t-fast)}.card .name{font-size:16.5px;font-weight:700;color:var(--fg);letter-spacing:-.01em}.card .desc{color:var(--muted);font-size:13.5px;margin:8px 0 18px}.card .gobtn{position:relative;z-index:0;overflow:hidden;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:auto;padding:7px 14px;border:1.5px solid #8b7bff;border-radius:8px;background:transparent;color:#8b7bff;font-weight:700;font-size:13.5px;transition:color var(--t-base) var(--ease)}.card .gobtn:before{content:"";position:absolute;inset:-1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,#5847e8,#b06bff);clip-path:inset(0 100% 0 0);transition:clip-path var(--t-base) var(--ease)}.card:hover .gobtn{color:#fff}.card:hover .gobtn:before{clip-path:inset(0 0 0 0)}.card .pill{position:absolute;top:16px;right:16px;font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--accent2);color:var(--accent2);background:var(--panel2)}.teaser{margin-top:44px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.teaser h2{margin:0 0 8px;font-size:18px}.teaser p{color:var(--muted);font-size:14.5px;margin:0 0 14px}.branches{display:grid;gap:12px;margin:16px 0 8px}.branch{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.branch .label{font-weight:700;font-size:15.5px;color:var(--fg)}.branch .role{font-size:12px;color:var(--accent);margin-left:8px;font-weight:600}.branch .desc{color:var(--muted);font-size:14px;margin:4px 0 0}.doc section{margin-bottom:8px}.doc h2{font-size:17.5px;margin:32px 0 8px}.doc p{color:var(--muted);font-size:14.5px;margin:8px 0}ul.plain{padding-left:20px}ul.plain li{color:var(--muted);font-size:14.5px;margin:8px 0}.mailbox{display:inline-block;margin:6px 0 10px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:16px;font-weight:600}footer.site{border-top:1px solid var(--line);padding:28px 24px;text-align:center;color:var(--muted);font-size:13px}footer.site .flinks{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}footer.site .flinks a{color:var(--muted)}footer.site .flinks a:hover{color:var(--fg)}footer.site .note{opacity:.8}footer.site .copyright{margin-top:8px;font-size:12px;opacity:.6}@media(prefers-reduced-motion:reduce){a:after,.card,.card .gobtn,.card .gobtn:before,.toolnav a,.langmenu summary,.langmenu .caret,.langmenu>ul a{transition:none}.card:hover{transform:none}.langmenu[open] summary .caret{transform:none}}
