:root{--ink:#10241f;--muted:#66736e;--paper:#f5f3ed;--white:#fff;--green:#0e654d;--lime:#c8ef79;--line:#d8ddd7;--orange:#e76f45;--shadow:0 18px 50px rgba(16,36,31,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:72px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,243,237,.94);backdrop-filter:blur(12px);z-index:20}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:11px}.topbar nav{display:flex;align-items:center;gap:28px;font-size:14px}.topbar nav a:hover{color:var(--green)}.github{padding:9px 14px;border:1px solid var(--ink);border-radius:999px}.hero{min-height:630px;padding:90px max(24px,7vw) 70px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.14em;margin:0 0 18px}.hero h1,.section-heading h2,.method h2{font-family:Georgia,"Noto Serif SC",serif;font-weight:500;letter-spacing:-.045em;margin:0}.hero h1{font-size:clamp(48px,6.6vw,94px);line-height:.98;max-width:900px}.hero h1 em{color:var(--green);font-weight:inherit}.lede{font-size:18px;line-height:1.8;color:var(--muted);max-width:620px;margin:28px 0 34px}.primary-button{display:inline-flex;gap:30px;align-items:center;background:var(--ink);color:white;border-radius:999px;padding:15px 22px;font-weight:700}.primary-button span{color:var(--lime)}.hero-graphic{width:min(42vw,500px);aspect-ratio:1;position:relative;justify-self:end}.orbit{position:absolute;border:1px solid #b7c6be;border-radius:50%;inset:8%;animation:spin 28s linear infinite}.orbit span{position:absolute;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700}.orbit-a span{top:8%;left:2%}.orbit-b{inset:23%;animation-direction:reverse}.orbit-b span{right:-10%;top:48%}.orbit-c{inset:36%;border-color:var(--orange)}.orbit-c span{left:-28%;bottom:2%}.core{position:absolute;inset:43%;background:var(--ink);border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:11px;text-align:center;font-weight:900;letter-spacing:.08em;box-shadow:0 0 0 16px rgba(200,239,121,.25)}@keyframes spin{to{transform:rotate(360deg)}}.metrics{margin:0 max(24px,5vw);background:var(--ink);color:white;display:grid;grid-template-columns:repeat(4,1fr);border-radius:8px;overflow:hidden}.metrics div{padding:27px 30px;border-right:1px solid #385047}.metrics div:last-child{border:0}.metrics strong{font-family:Georgia,serif;font-size:32px;color:var(--lime);display:block}.metrics span{font-size:12px;color:#adc0b8;text-transform:uppercase;letter-spacing:.08em}.catalog{padding:110px max(24px,5vw)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading h2,.method h2{font-size:clamp(38px,5vw,66px)}.section-heading>p{max-width:480px;color:var(--muted);line-height:1.7}.toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 260px 240px auto;gap:10px;margin-bottom:17px}.toolbar input,.toolbar select,.toolbar button{height:50px;width:100%;border:1px solid var(--line);background:var(--white);border-radius:6px;padding:0 15px;color:var(--ink);font:inherit}.toolbar button{cursor:pointer;width:auto}.search{position:relative}.search span{position:absolute;left:16px;top:12px;font-size:20px}.search input{padding-left:44px}.result-line{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin:15px 2px 22px}.dataset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:0 0 0 rgba(0,0,0,0);transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#aebdb5}.card-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.year{font:700 13px Georgia,serif;color:var(--green);border:1px solid #b8d1c5;border-radius:999px;padding:6px 10px}.card h3{font:500 32px Georgia,"Noto Serif SC",serif;margin:8px 0 5px}.task{color:var(--green);font-weight:700;font-size:13px}.summary{color:#52625c;line-height:1.75;min-height:92px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.tag{font-size:11px;font-weight:700;background:#edf2ed;padding:6px 9px;border-radius:4px}.tag.domain{background:#eef0db;color:#55600b}.details{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;display:grid;gap:12px}.detail{display:grid;grid-template-columns:100px 1fr;gap:10px;font-size:13px;line-height:1.55}.detail b{color:var(--muted);font-weight:600}.note{background:#f1f5ef;border-left:3px solid var(--green);padding:13px 14px;font-size:13px;line-height:1.65;margin-top:18px}.card-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.card-actions a{font-size:12px;font-weight:800;color:var(--green)}.card-actions a:hover{text-decoration:underline}.stars{letter-spacing:1px;color:var(--orange);font-size:12px}.verdict{font-size:12px;color:var(--muted)}.empty{text-align:center;padding:60px;color:var(--muted)}.method{background:var(--green);color:white;padding:100px max(24px,7vw)}.method .eyebrow{color:var(--lime)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2);margin-top:55px}.method article{background:var(--green);padding:32px}.method article span{color:var(--lime);font:28px Georgia,serif}.method h3{font-size:20px;margin:28px 0 12px}.method article p{color:#c7d9d1;line-height:1.7}footer{padding:30px max(24px,5vw);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:65px}.hero-graphic{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.metrics div:nth-child(2){border-right:0}.toolbar{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.dataset-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:20px}.method-grid{grid-template-columns:1fr}.topbar nav a:not(.github){display:none}}
@media(max-width:560px){.hero{min-height:540px}.hero h1{font-size:47px}.metrics{margin:0;border-radius:0}.metrics div{padding:20px}.catalog{padding-top:75px}.toolbar{grid-template-columns:1fr}.search{grid-column:auto}.card{padding:21px}.detail{grid-template-columns:1fr;gap:2px}footer{display:block}footer span{display:block;margin:7px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit{animation:none}.card{transition:none}}
.dataset-grid{grid-template-columns:minmax(0,1fr)}
.summary{min-height:0}
.details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.language-toggle{height:38px;min-width:52px;padding:0 14px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:800 12px/1 Inter,"Noto Sans SC","Microsoft YaHei",sans-serif;cursor:pointer}.language-toggle:hover{background:var(--ink);color:var(--lime)}
@media(max-width:560px){.details{grid-template-columns:1fr}}
