:root{--bg: #ffffff;--bg2: #ffffff;--bg3: #f9fafb;--band: #f9fafb;--line: #e5e7eb;--line2: #d1d5db;--ink: #111827;--ink2: #4b5563;--ink3: #6b7280;--acc: #54e6c4;--acc-ink: #0b7f68;--acc-ink2: #0a6d59;--acc-soft: #e9fbf6;--acc2: #2563eb;--warn: #b45309;--warn-soft: #fffbeb;--err: #dc2626;--err-soft: #fef2f2;--ok-soft: #f0fdf4;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .05);--shadow: 0 10px 15px -3px rgba(17, 24, 39, .1), 0 4px 6px -4px rgba(17, 24, 39, .1);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--r: 12px;--r-sm: 8px;--maxw: 1200px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--acc-ink);text-decoration:none}a:hover{color:var(--acc-ink2);text-decoration:underline;text-underline-offset:2px}h1,h2,h3,h4{line-height:1.22;margin:0 0 .5em;letter-spacing:-.02em;color:var(--ink)}h1{font-size:2.82rem;font-weight:700}h2{font-size:1.88rem;font-weight:700}h3{font-size:1.06rem;font-weight:600}h4{font-size:.88rem;color:var(--ink2);margin-top:1.2em}p{margin:0 0 .9em}.mono{font-family:var(--mono);font-size:.86em}.muted{color:var(--ink2)}.small{font-size:.86rem}.break{word-break:break-all}.link{color:var(--acc-ink);font-size:.9rem}.nav{position:sticky;top:0;z-index:40;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-inner{max-width:var(--maxw);margin:0 auto;min-height:64px;padding:0 1.5rem;display:flex;align-items:stretch;gap:1.4rem}.brand{display:flex;align-items:center;gap:.55rem;color:var(--ink)}.brand-mark{color:var(--ink);display:flex}.brand-text{font-family:var(--mono);font-weight:700;letter-spacing:.02em;font-size:1.05rem}.small-brand{margin-bottom:.5rem}.nav-links{display:flex;align-items:stretch;gap:1.35rem;flex:1}.nav-links a{display:inline-flex;align-items:center;color:var(--ink2);font-size:.9rem;font-weight:500;border-bottom:2px solid transparent}.nav-links a:hover{color:var(--ink);text-decoration:none}.nav-links a.active{color:var(--ink);border-bottom-color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.lang-switch{font-family:var(--mono);font-size:.78rem;color:var(--ink3);padding:.25rem .5rem;border:1px solid var(--line);border-radius:6px}.burger{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:6px;font-size:1.1rem;padding:.1rem .5rem;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.92rem;font-weight:500;font-family:var(--sans);padding:.6rem 1.1rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,background .15s,box-shadow .15s,transform .05s}.btn:hover{border-color:var(--line2);color:var(--ink);background:var(--bg3);text-decoration:none}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500;box-shadow:var(--shadow)}.btn.primary:hover{background:#1f2937;border-color:#1f2937;color:#fff}.btn.ghost{background:transparent}.btn.small{padding:.32rem .7rem;font-size:.84rem}.btn.block{width:100%;margin-top:.8rem}.btn:disabled{opacity:.5;cursor:default}main{min-height:60vh}.page{max-width:var(--maxw);margin:0 auto;padding:3.4rem 1.5rem 5.5rem}.page.narrow{max-width:760px}.page-head{margin-bottom:1.6rem}.eyebrow{color:var(--acc-ink);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.7rem}.lead{color:var(--ink2);font-size:1.06rem;line-height:1.72;max-width:60ch}.hl{color:var(--acc-ink)}.section{margin-top:4.2rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-sub{color:var(--ink2);margin-top:-.4rem}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:2.6rem;align-items:start;padding:1.6rem 0 .5rem}.hero h1{font-size:3.1rem;line-height:1.12;margin-bottom:.8rem}.cta-row{display:flex;gap:.7rem;margin:1.3rem 0 1rem;flex-wrap:wrap}.cta-row.center{justify-content:center}.install{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.install code{background:var(--bg3);border:1px solid var(--line);border-radius:var(--r-sm);padding:.45rem .7rem;font-size:.82rem;color:var(--acc-ink)}.hero-visual{display:flex;flex-direction:column;gap:1rem}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.metric{background:var(--bg3);border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.15rem}.metric-value{font-size:1.2rem;font-weight:700;color:var(--ink)}.metric-label{font-size:.74rem;color:var(--ink3)}.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm)}.card.hoverable:hover{border-color:var(--line2);box-shadow:var(--shadow)}.as-button{text-align:left;cursor:pointer;font:inherit;color:inherit}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.card-head h3{margin:0}.card-icon{font-size:1.3rem;color:var(--acc-ink)}.panel{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.5rem;box-shadow:var(--shadow-sm)}.panel-title{color:var(--ink3);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.grid-2,.grid-3,.grid-4{display:grid;gap:.9rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.row{display:flex;align-items:center;gap:.9rem;padding:.7rem .2rem;border-bottom:1px solid var(--line);color:inherit}.row:last-child{border-bottom:none}.row-main{flex:1;min-width:0}.row-title{font-weight:600}.row-foot{display:flex;gap:.7rem;flex-wrap:wrap}.row-spark{width:160px}.row.hoverable:hover{background:var(--bg3)}.band{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{font-size:.76rem;font-family:var(--mono);color:var(--ink2);border:1px solid var(--line);background:var(--bg3);border-radius:999px;padding:.18rem .6rem;cursor:default}button.chip{cursor:pointer}button.chip.active,.chip.active{border-color:var(--acc-ink);color:var(--acc-ink);background:var(--acc-soft)}.chip-count{color:var(--ink3);margin-left:.35rem}.badge{font-size:.72rem;font-family:var(--mono);border:1px solid var(--line2);border-radius:999px;padding:.12rem .55rem;color:var(--ink2);white-space:nowrap}.badge.ok{border-color:#a7f3d0;background:var(--ok-soft);color:#047857}.loop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin-top:1rem}.loop-step{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:.95rem .9rem;box-shadow:var(--shadow-sm)}.loop-index{color:var(--acc-ink);font-size:.78rem;margin-bottom:.35rem}.loop-step h3{margin-bottom:.25rem}.loop-arrow{position:absolute;right:-.65rem;top:50%;transform:translateY(-50%);color:var(--line2);font-size:1rem}.spark{display:block;width:100%}.spark-empty{color:var(--ink3);padding:1rem 0}.curve-card{gap:.6rem}.curve-foot{display:flex;justify-content:space-between;color:var(--ink2);font-size:.8rem}.input{background:#fff;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--ink);font-family:var(--sans);font-size:.92rem;padding:.6rem .75rem;width:100%;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--ink3)}.input:focus{outline:none;border-color:var(--acc-ink);box-shadow:0 0 0 3px #54e6c459}.toolbar{display:flex;gap:.6rem;margin:.9rem 0 1.2rem;flex-wrap:wrap}.toolbar .input{width:auto;min-width:180px;flex:1}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:center}.form-grid .span-2{grid-column:span 2}.inline-form{display:flex;gap:.6rem;margin:.8rem 0;flex-wrap:wrap}.inline-form .input{flex:1;min-width:160px}.err{background:var(--err-soft);border:1px solid #fecaca;color:var(--err);border-radius:var(--r-sm);padding:.6rem .8rem;font-size:.88rem}.tabs{display:flex;gap:.4rem;margin-bottom:1rem}.tab{background:none;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink2);padding:.4rem .9rem;cursor:pointer;font-size:.9rem}.tab.active{color:var(--acc-ink);border-color:var(--acc-ink);background:var(--acc-soft)}.auth-panel{margin-top:1.5rem}.secret{display:flex;align-items:center;gap:.7rem;background:var(--acc-soft);border:1px solid var(--acc);border-radius:var(--r-sm);padding:.6rem .8rem;margin-bottom:.9rem;color:var(--acc-ink);flex-wrap:wrap}.list{list-style:none;padding:0;margin:0}.list li{display:flex;align-items:center;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.list li:last-child{border-bottom:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182759;display:flex;justify-content:flex-end;z-index:60}.drawer{width:min(520px,94vw);height:100%;overflow-y:auto;background:var(--bg2);border-left:1px solid var(--line);padding:1.4rem 1.5rem 3rem}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.kv{margin:1rem 0;display:grid;gap:.35rem}.kv>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:.3rem}.kv dt{color:var(--ink3);font-size:.82rem}.kv dd{margin:0;text-align:right}.code{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:.7rem .85rem;overflow-x:auto;font-family:var(--mono);font-size:.8rem;color:var(--ink2);white-space:pre-wrap;word-break:break-word}.code.small{font-size:.72rem;margin:.4rem 0 0}.timeline{list-style:none;margin:0;padding:0 0 0 1rem;border-left:1px solid var(--line)}.timeline li{position:relative;padding:.5rem 0 .8rem .8rem}.timeline li:before{content:"";position:absolute;left:-1.32rem;top:.95rem;width:7px;height:7px;border-radius:50%;background:var(--line2)}.timeline li.phase-evaluate:before{background:var(--acc)}.timeline li.phase-accept:before{background:var(--acc2)}.timeline li.phase-critique:before{background:var(--warn)}.timeline.compact li{padding:.35rem 0 .5rem .8rem;display:flex;gap:.7rem;align-items:baseline}.tl-head{display:flex;align-items:center;gap:.6rem}.tl-score{margin-left:auto;color:var(--acc-ink)}.steps{color:var(--ink2);padding-left:1.2rem}.steps li{margin-bottom:.35rem}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;color:var(--ink3);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:.4rem .6rem .4rem 0}.table td{border-bottom:1px solid var(--line);padding:.5rem .6rem .5rem 0;vertical-align:top}.compare ul{margin:.4rem 0 0;padding-left:1.1rem}.ticks{list-style:"✓ ";color:var(--acc-ink)}.crosses{list-style:"✕ ";color:var(--err)}.ticks li,.crosses li{color:var(--ink2);margin-bottom:.2rem}.boundary h2{font-size:1.2rem}.score-row{display:flex;align-items:center;gap:.6rem}.score-bar{flex:1;height:5px;background:var(--bg3);border:1px solid var(--line);border-radius:999px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2))}.quote-box{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem;padding-top:.7rem;border-top:1px solid var(--line)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin-bottom:1.4rem}.faq{display:grid;gap:.5rem;margin-top:1rem}.faq-item{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:.2rem 1rem;box-shadow:var(--shadow-sm)}.faq-q{width:100%;background:none;border:none;color:var(--ink);font-size:.95rem;font-family:var(--sans);text-align:left;padding:.75rem 0;display:flex;justify-content:space-between;gap:1rem;cursor:pointer}.faq-item.open{border-color:var(--line2)}.final-cta{text-align:center;border-top:1px solid var(--line);padding-top:2.4rem}.docs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:2.2rem;align-items:start}.docs-side{position:sticky;top:5rem;display:flex;flex-direction:column;gap:1.2rem}.docs-group-block{display:flex;flex-direction:column}.docs-side>summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .9rem;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--bg2);box-shadow:var(--shadow-sm);cursor:pointer;list-style:none;font-size:.9rem}.docs-side>summary::-webkit-details-marker{display:none}.docs-side>summary:after{content:"▾";color:var(--ink3);transition:transform .15s}.docs-side[open]>summary:after{transform:rotate(180deg)}.docs-current{color:var(--ink2);font-size:.86rem;margin-left:auto;margin-right:.4rem}.docs-side-body{display:flex;flex-direction:column;gap:1.1rem;padding:.9rem;margin-top:.5rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg3)}.docs-side-body a{padding:.32rem 0}.docs-group{color:var(--ink3);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.docs-side a{display:block;color:var(--ink2);font-size:.9rem;padding:.22rem 0}.docs-side a.active{color:var(--acc-ink);font-weight:600}.markdown h1{font-size:1.8rem;margin-bottom:.9rem}.markdown h2{font-size:1.18rem;margin-top:1.8rem}.markdown code{background:var(--bg3);border-radius:4px;padding:.08rem .35rem;font-family:var(--mono);font-size:.84em;color:var(--acc-ink)}.markdown pre{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1rem;overflow-x:auto}.markdown pre code{background:none;padding:0;color:var(--ink2)}.markdown table{width:100%;border-collapse:collapse;font-size:.88rem;margin:1rem 0}.markdown th,.markdown td{border-bottom:1px solid var(--line);padding:.5rem .7rem .5rem 0;text-align:left}.markdown blockquote{margin:1rem 0;padding:.4rem 0 .4rem 1rem;border-left:2px solid var(--acc);color:var(--ink2)}.markdown hr{border:none;border-top:1px solid var(--line);margin:2rem 0}.footer{border-top:1px solid var(--line);background:var(--band);margin-top:5rem}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:2.2rem 1.2rem 1rem;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:1.6rem}.footer-col{display:flex;flex-direction:column;gap:.4rem}.footer-col h4{margin:0 0 .3rem;color:var(--ink);font-size:.85rem}.footer-col a{color:var(--ink2);font-size:.86rem}.social-row{display:flex;gap:.5rem;margin-top:.4rem}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg2);color:var(--ink2);box-shadow:var(--shadow-sm);transition:color .15s,border-color .15s,background .15s}.social-link:hover{color:var(--ink);border-color:var(--line2);background:var(--bg3);text-decoration:none}.social-link:focus-visible{outline:2px solid var(--acc-ink);outline-offset:2px}.footer-bottom{max-width:var(--maxw);margin:0 auto;padding:.8rem 1.2rem 1.6rem;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.82rem}@media (max-width: 980px){.hero{grid-template-columns:1fr}.grid-3,.grid-4,.loop{grid-template-columns:repeat(2,minmax(0,1fr))}.loop-arrow{display:none}.docs{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.hero h1{font-size:2.1rem}.grid-2,.grid-3,.grid-4,.loop,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg2);border-bottom:1px solid var(--line);padding:.5rem 1.5rem .8rem;box-shadow:var(--shadow)}.nav-links.open a{border-bottom:none;border-left:2px solid transparent;padding:.5rem .7rem}.nav-links.open a.active{border-left-color:var(--ink);background:var(--bg3)}.burger{display:block}.row-spark{display:none}.footer-inner{grid-template-columns:1fr}}.auth-page{padding-top:4rem}.auth-panel{margin:0 auto;max-width:460px}.auth-title{font-size:1.6rem;margin-bottom:1.1rem;letter-spacing:-.02em}.auth-foot{margin-top:.9rem;text-align:center}.center{text-align:center}.oauth-row{display:flex;flex-direction:column;gap:.5rem}.btn.oauth{justify-content:flex-start;gap:.6rem;width:100%}.or-sep{position:relative;text-align:center;margin:1rem 0;color:var(--ink3);font-size:.8rem}.or-sep:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}.or-sep span{position:relative;background:var(--bg2);padding:0 .7rem}label.check{display:flex;align-items:center;gap:.5rem;color:var(--ink2);font-size:.88rem;cursor:pointer}label.check input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--acc-ink);cursor:pointer}.linklike{background:none;border:none;padding:0;color:var(--acc-ink);font:inherit;font-size:.88rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.linklike:hover{color:var(--acc-ink2)}.ok-box{background:var(--ok-soft);border:1px solid #bbf7d0;border-radius:var(--r-sm);padding:.8rem .95rem;margin-bottom:1.1rem;font-size:.92rem}.ok-box p{margin:0 0 .4rem}.ok-box a{word-break:break-all}.inline-link-box{background:var(--bg3);border:1px dashed var(--line2);border-radius:var(--r-sm);padding:.8rem .95rem;margin:.9rem 0}.inline-link-box p{margin:0 0 .35rem}.account-grid{margin-top:1.6rem;align-items:start}.panel-h{font-size:1.05rem;font-weight:600;margin-bottom:.7rem}.row-like{display:flex;align-items:center;gap:.6rem;margin:0 0 .6rem}.badge.warn{border-color:#fcd34d;background:var(--warn-soft);color:var(--warn)}.badge.here{margin-left:.4rem}.session-list li,.past-sessions li{align-items:flex-start}.session-list .row-foot{gap:1rem;margin-top:.15rem}.past-sessions{margin-top:.8rem}.past-sessions summary{cursor:pointer;padding:.3rem 0}
