:root{--ink:#1b2a3a;--navy:#243e72;--blue:#315b99;--muted:#657586;--line:#d8dfe2;--paper:#f6f7f5;--copper:#9c6445}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 Arial,'PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.skip{position:fixed;left:20px;top:-80px;z-index:30;background:var(--navy);color:white;padding:8px 16px}.skip:focus{top:10px}.topbar{position:sticky;top:0;z-index:10;height:62px;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:10px max(24px,calc((100vw - 1080px)/2))}.brand{font-size:23px;font-weight:700;letter-spacing:-.055em;line-height:1;color:var(--navy)}.language{display:flex;border:1px solid var(--line);border-radius:4px;padding:2px;gap:2px}.language button{border:0;min-width:42px;min-height:32px;padding:4px 8px;cursor:pointer;background:transparent;color:var(--muted);border-radius:2px;font-size:11px}.language button[aria-pressed=true]{background:var(--navy);color:white}.language button:hover{box-shadow:inset 0 0 0 1px var(--navy)}main{max-width:1128px;padding:0 24px;margin:auto}.hero{padding:30px 0 26px}h1{font:400 clamp(26px,3vw,36px)/1.25 Georgia,'Songti SC','SimSun',serif;letter-spacing:-.025em;margin:0;max-width:920px}.hero-note{margin:10px 0 0;color:var(--muted);font-size:13px}.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tool{position:relative;display:flex;flex-direction:column;min-height:182px;padding:20px 22px;border:1px solid var(--line);border-radius:5px;background:#fff9}.tool:hover{border-color:#a8b8c9}.tool-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tool h2{font:400 25px/1.2 Georgia,serif;letter-spacing:-.02em;margin:0;color:var(--navy)}.number{font-size:10px;letter-spacing:.1em;color:var(--copper)}.tool-detail{display:flex;flex:1;flex-direction:column}.tool-detail>p{margin:12px 0 0;font-size:13px;line-height:1.7;max-width:470px}.open{display:inline-flex;align-items:center;gap:18px;color:var(--blue);font-size:12px;margin-top:auto;padding-top:13px;min-height:35px;width:fit-content}.open:hover{text-decoration:underline}.open>span:last-child{font-size:16px}.coming{margin-top:auto;padding-top:13px;font-size:12px;color:var(--muted)}.tool.upcoming{background:transparent;border-style:dashed}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;color:var(--muted);font-size:11px}footer p{margin:0}.footer-links{display:flex;align-items:center;gap:22px;white-space:nowrap}.version{font-size:10px;letter-spacing:.1em}html[lang=zh-CN] h1{letter-spacing:0;line-height:1.4;font-size:clamp(25px,2.8vw,32px)}.workspace{height:100dvh;max-width:none;padding:0;display:flex;flex-direction:column}.workspace-nav{display:flex;align-items:center;gap:20px;min-height:44px;padding:7px 24px;border-bottom:1px solid var(--line);font-size:12px}.workspace-nav a{color:var(--muted)}.workspace-nav a[aria-current=page]{color:var(--navy);font-weight:700}.workspace-nav .standalone{margin-left:auto}.workspace iframe{display:block;width:100%;flex:1;border:0;background:var(--paper)}@media(max-width:600px){.topbar{height:56px;padding:8px 18px}.brand{font-size:21px}main{padding:0 18px}.hero{padding:24px 0 20px}h1{font-size:27px}.tools{gap:10px}.tool{padding:15px 14px;min-height:192px}.tool h2{font-size:21px}.tool-detail>p{font-size:12px;line-height:1.65}.open{font-size:11px;gap:10px;min-height:40px}.hero-note{font-size:12px}footer{gap:12px;font-size:10px}footer p{max-width:220px}.workspace{height:100dvh;padding:0}.workspace-nav{padding:6px 12px;gap:13px;font-size:11px}.workspace-nav .standalone{font-size:10px}}@media(max-width:350px){.tools{grid-template-columns:1fr}.tool{min-height:160px}.workspace-nav{gap:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.brand small{display:block;margin-top:5px;font-size:10px;font-weight:400;letter-spacing:.12em;color:var(--muted)}
.brand small:empty{display:none}
