:root{color-scheme:light;--ink:#171e30;--muted:#626b7c;--blue:#244be8;--line:#e4e8f0;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:#f8faff;color:var(--ink);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
.header,main,.footer{width:min(1160px,calc(100% - 80px));margin-inline:auto}
.header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:700;letter-spacing:.03em}
.brand-divider{color:#a3abbd;margin:0 16px;font-weight:400}
.brand-mark{width:34px;height:34px;background:var(--blue);border-radius:9px;display:grid;grid-template-columns:7px 7px;grid-template-rows:7px 7px;gap:4px;place-content:center;flex-shrink:0}
.brand-mark i{display:block;background:white;border-radius:1.5px}
.header-note{font-size:.875rem;color:var(--muted)}
main{flex:1;padding-top:52px;padding-bottom:42px}
.intro{margin-bottom:34px}
.eyebrow{color:var(--blue);font-size:.75rem;letter-spacing:.16em;font-weight:700;margin:0 0 13px}
h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1.35;margin:0 0 17px;font-weight:750}
h1 span{color:var(--blue)}
.intro-description{color:var(--muted);font-size:1rem;margin:0;line-height:1.85}
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tool{--accent:#244be8;--soft:#edf1ff;--edge:#d9e2ff;display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:15px;background:#fff;box-shadow:0 6px 20px #172f6810;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.outside{--accent:#a24b13;--soft:#fff2e8;--edge:#f4decf}
.wakeup{--accent:#077c73;--soft:#e5f6f3;--edge:#c6e6e0}
.tool:hover{transform:translateY(-5px);box-shadow:0 15px 30px #172f681c;border-color:var(--edge);border-top-color:var(--accent)}
.tool:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.card-top{padding:28px 26px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.icon{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:var(--soft);color:var(--accent);flex-shrink:0}
.icon svg{width:27px;height:27px}
.index{color:#70798b;font-size:.75rem;letter-spacing:.07em;font-weight:600}
.card-body{padding:0 26px 28px;flex:1;display:flex;flex-direction:column}
.category{font-size:.875rem;color:var(--accent);font-weight:600;letter-spacing:.03em}
h2{font-size:1.875rem;line-height:1.3;margin:12px 0 6px;font-weight:750;letter-spacing:-.025em}
.subtitle{font-size:1rem;color:#434e63;margin:0 0 22px}
.description{font-size:1rem;line-height:1.9;color:var(--muted);margin:0 0 26px;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tags span{font-size:.875rem;color:#596378;background:#f5f7fb;padding:3px 9px;border:1px solid #edf0f6;border-radius:5px}
.card-footer{border-top:1px solid #edf0f6;padding:20px 26px;display:flex;flex-direction:column;gap:13px}
.domain{font-family:"Segoe UI",sans-serif;font-size:.8125rem;color:#697386;overflow-wrap:anywhere;letter-spacing:.015em}
.open{background:var(--soft);border:1px solid var(--edge);border-radius:8px;color:var(--accent);font-size:.9375rem;font-weight:600;display:flex;justify-content:center;align-items:center;min-height:44px;padding:9px 14px;transition:background .18s ease,color .18s ease}
.tool:hover .open{background:var(--accent);color:#fff;border-color:var(--accent)}
.opening-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#737d8f;font-size:.875rem;margin:23px 0 0;line-height:1.7}
.opening-note svg{width:17px;height:17px;flex-shrink:0}
.footer{border-top:1px solid var(--line);padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#747d8c;font-size:.8125rem}
.footer-separator{margin:0 10px;color:#b0b7c6}
@media(min-width:1400px){main{padding-top:70px}.intro{margin-bottom:42px}}
@media(max-width:1050px){.header,main,.footer{width:calc(100% - 48px)}.tools{gap:14px}.card-top{padding:22px 20px 20px}.card-body{padding:0 20px 24px}.card-footer{padding:18px 20px}.index{letter-spacing:0}.tags{gap:5px}.tags span{padding:3px 6px}}
@media(max-width:820px){.tools{grid-template-columns:1fr;gap:20px}.card-top{padding:24px 24px 18px}.card-body{padding:0 24px 24px}.card-footer{padding:20px 24px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.open{min-width:104px;flex-shrink:0}.description{margin-bottom:20px}.subtitle{margin-bottom:16px}.intro{margin-bottom:28px}main{padding-top:38px}.tool:hover{transform:translateY(-2px)}}
@media(max-width:480px){.header,main,.footer{width:calc(100% - 36px)}.header{padding:22px 0}.header-note{display:none}.brand-divider{margin:0 10px}h1{font-size:2rem;letter-spacing:-.035em}.intro-description{max-width:22em}.card-footer{flex-wrap:wrap}.domain{font-size:.75rem}.footer{align-items:flex-start;flex-direction:column;gap:5px}.opening-note{font-size:.8125rem}.eyebrow{letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.tool,.open{transition:none}.tool:hover{transform:none}}
.downloads{margin-top:54px}
.downloads-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:24px}
.downloads-intro .eyebrow{margin-bottom:12px}
.downloads h2{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.03em;margin:0 0 10px;font-weight:750;line-height:1.35}
.downloads-description{color:var(--muted);font-size:1rem;margin:0;line-height:1.8}
.notes-link{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 18px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,color .18s ease}
.notes-link svg{width:18px;height:18px;color:var(--blue)}
.notes-link:hover{color:var(--blue);border-color:#d9e2ff;box-shadow:0 6px 16px #172f6812}
.notes-link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.download-card{--accent:#244be8;--soft:#edf1ff;--edge:#d9e2ff;display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:15px;background:#fff;padding:26px;box-shadow:0 6px 20px #172f6810;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.download-card.portable{--accent:#077c73;--soft:#e5f6f3;--edge:#c6e6e0}
.download-card:hover{transform:translateY(-4px);border-color:var(--edge);box-shadow:0 15px 30px #172f681c}
.download-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.download-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.download-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--soft);color:var(--accent);flex-shrink:0}
.download-icon svg{width:24px;height:24px}
.download-badge{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--accent);background:var(--soft);border:1px solid var(--edge);border-radius:6px;padding:3px 10px}
.download-card h3{font-size:1.375rem;line-height:1.3;margin:0 0 6px;font-weight:750;letter-spacing:-.02em}
.download-subtitle{font-family:"Segoe UI",sans-serif;font-size:.8125rem;color:#697386;margin:0 0 14px;letter-spacing:.02em}
.download-desc{font-size:.9375rem;line-height:1.85;color:var(--muted);margin:0 0 18px;flex:1}
.download-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.download-meta span{font-size:.8125rem;color:#596378;background:#f5f7fb;border:1px solid #edf0f6;border-radius:6px;padding:4px 10px}
.download-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:9px;background:var(--soft);border:1px solid var(--edge);color:var(--accent);font-size:.9375rem;font-weight:600;transition:background .18s ease,color .18s ease,border-color .18s ease}
.download-btn svg{width:17px;height:17px}
.download-card:hover .download-btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:#0f1830cc;backdrop-filter:blur(2px)}
.modal-panel{position:relative;display:flex;flex-direction:column;width:min(720px,100%);max-height:min(84vh,780px);background:#fff;border-radius:16px;box-shadow:0 30px 70px #0c163a4d;overflow:hidden;animation:modal-in .2s ease}
@keyframes modal-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px;border-bottom:1px solid var(--line)}
.modal-head h2{font-size:1.125rem;margin:0;font-weight:700;letter-spacing:-.01em}
.modal-close{width:38px;height:38px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}
.modal-close:hover{background:#f2f5fb;color:var(--ink)}
.modal-close:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.modal-body{padding:26px;overflow-y:auto;font-size:.9375rem;line-height:1.9;color:#3a4356}
.modal-body>:first-child{margin-top:0;padding-top:0;border-top:0}
.modal-body h1{font-size:1.375rem;line-height:1.5;letter-spacing:-.02em;margin:0 0 12px;color:var(--ink)}
.modal-body h2{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:26px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.modal-body h3{font-size:1rem;font-weight:700;color:var(--ink);margin:20px 0 8px}
.modal-body p{margin:0 0 14px}
.modal-body strong{color:var(--ink)}
.modal-body a{color:var(--blue);text-decoration:none;overflow-wrap:anywhere}
.modal-body a:hover{text-decoration:underline}
.modal-body ul{margin:0 0 14px;padding-left:20px}
.modal-body li{margin:0 0 6px}
.modal-body code{font-family:"Consolas","Segoe UI",monospace;font-size:.875em;background:#f2f5fb;border:1px solid #e6ebf3;border-radius:4px;padding:1px 5px;overflow-wrap:anywhere}
.modal-loading{color:var(--muted)}
.modal-error{color:#a1251d;background:#fdecea;border:1px solid #f6cdc9;border-radius:9px;padding:14px 16px;line-height:1.8}
body.modal-open{overflow:hidden}
@media(max-width:820px){.downloads-head{flex-direction:column;align-items:flex-start;gap:16px}.download-grid{grid-template-columns:1fr}.downloads{margin-top:40px}.notes-link{width:100%;justify-content:center}}
@media(max-width:480px){.download-card{padding:22px}.modal{padding:14px}.modal-head{padding:16px 18px}.modal-body{padding:18px}}
@media(prefers-reduced-motion:reduce){.download-card,.download-btn,.modal-panel{transition:none;animation:none}.download-card:hover{transform:none}}
