:root{--paper:#f5f4f0;--hover:#eceae4;--field:#faf9f6;--empty:#e9e7e1;--ink:#1c1b19;--ink2:#3d3b37;--body:#262522;--t2:#3f3e3a;--t3:#5c5a55;--t4:#75736d;--t5:#827f79;--line:#e0ded8;--border:#cac7bf;--dash:#b5b2aa;--sans:"IBM Plex Sans", "Noto Sans SC", sans-serif;--serif:"Source Serif 4", "Noto Serif SC", serif;--mono:"IBM Plex Mono", monospace;--gutter:clamp(20px, 4vw, 32px);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1a1a18;--hover:#252523;--field:#1f1f1d;--empty:#2a2a27;--ink:#edece8;--ink2:#d2d0ca;--body:#deddd8;--t2:#c9c7c1;--t3:#b2b0aa;--t4:#9a9892;--t5:#8f8d87;--line:#31302d;--border:#4a4945;--dash:#5c5a55;color-scheme:dark}}:root[data-theme=dark]{--paper:#1a1a18;--hover:#252523;--field:#1f1f1d;--empty:#2a2a27;--ink:#edece8;--ink2:#d2d0ca;--body:#deddd8;--t2:#c9c7c1;--t3:#b2b0aa;--t4:#9a9892;--t5:#8f8d87;--line:#31302d;--border:#4a4945;--dash:#5c5a55;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}img{max-width:100%}[hidden]{display:none!important}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}a,button,input,.cell{transition:border-color .12s,box-shadow .12s,opacity .12s}.wrap{width:100%;max-width:1120px;padding:0 var(--gutter);margin:0 auto}main.wrap{flex:1}.mono{font-family:var(--mono)}.pretty{text-wrap:pretty}.kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t4);font-size:11px}.it{font-style:italic}.tc{color:var(--tc)}.sq{background:var(--sw);flex:none;width:8px;height:8px;display:inline-block}.tlink:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline 2px}.uline{border-bottom:1px solid #0000;padding-bottom:6px}.uline:hover{color:var(--ink);border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}.uline.is-on{border-bottom-color:var(--ink);color:var(--ink)}.blink{text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}.blink:hover{text-decoration-color:var(--ink);text-decoration-thickness:2px}.row:hover{background:var(--hover)}.btn{border:1px solid var(--ink);align-items:center;height:44px;padding:0 20px;font-size:15px;display:inline-flex}.btn-solid{background:var(--ink);color:var(--paper)}.btn-solid:hover{background:var(--ink2);border-color:var(--ink2)}.btn-line:hover{background:var(--hover)}.btn-sm{height:40px;padding:0 16px;font-size:14px}.pill{border:1px solid var(--border);height:28px;font-family:var(--mono);letter-spacing:.06em;color:var(--t4);align-items:center;gap:7px;padding:0 10px;font-size:11px;display:inline-flex}.pill:hover{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tag{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--border);color:var(--t4);white-space:nowrap;padding:1px 5px;font-size:10px;font-style:normal;font-weight:400}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;padding-top:32px;display:flex}.brand{flex-direction:column;gap:4px;display:flex}.brand:hover{background:var(--hover)}.brand b{letter-spacing:.04em;font-size:18px;font-weight:600}.brand span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t4);font-size:11px}.nav-wrap{flex-wrap:wrap;align-items:flex-end;gap:12px 28px;display:flex}.site-nav{flex-wrap:wrap;gap:8px 28px;display:flex}.site-nav a{align-items:baseline;gap:6px;display:flex}.site-nav a span:first-child{font-size:15px}.site-nav a span:last-child{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--t4);font-size:10px}.theme-btn{margin-bottom:4px}.theme-dot{border:1px solid var(--ink);border-radius:50%;width:8px;height:8px}.theme-btn .to-light{display:none}[data-mode=dark] .theme-btn .to-light{display:inline}[data-mode=dark] .theme-btn .to-dark{display:none}[data-mode=dark] .theme-dot{background:var(--ink)}.header-rule{background:var(--line);height:1px;margin-top:20px}@media (width<=480px){.site-nav{scrollbar-width:none;max-width:calc(100vw - 2 * var(--gutter));flex-wrap:nowrap;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{flex:none}}.site-footer{padding-bottom:40px}.foot-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:32px 48px;padding:32px 0 40px;display:grid}.foot-col{color:var(--t2);flex-direction:column;align-items:flex-start;gap:10px;font-size:14px;display:flex}.foot-col .kicker{color:var(--t5);padding-bottom:4px;font-size:10px}.foot-col a{align-items:center;gap:8px;display:flex}.foot-bottom{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;color:var(--t5);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;font-size:11px;display:flex}.sec{border-top:1px solid var(--ink);padding:20px 0 80px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:28px;display:flex}.sec-head>div{align-items:baseline;gap:12px;display:flex}.sec-title{letter-spacing:.1em;font-size:15px;font-weight:600}.sec-en{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t4);font-size:11px}.sec-link{font-family:var(--mono);letter-spacing:.08em;color:var(--t4);font-size:11px}.page-head{flex-direction:column;gap:14px;max-width:760px;padding:80px 0 48px;display:flex}.page-head h1{font-size:44px;font-weight:600;line-height:1.3}.lede{color:var(--t3);text-wrap:pretty;max-width:34em;font-size:17px;line-height:1.9}.crumbs{font-family:var(--mono);letter-spacing:.08em;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:11px;display:flex}.crumbs a{color:var(--t4)}.crumbs .sep{color:var(--border)}.crumbs .here{color:var(--ink)}.grid100{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.cell{aspect-ratio:1;display:block;position:relative;container-type:inline-size}.cell .gem{background:var(--sw);transition:transform .16s,opacity .16s;position:absolute;inset:0}.cell .em{pointer-events:none;justify-content:center;align-items:center;font-size:62cqw;line-height:1;transition:transform .16s,opacity .16s;display:flex;position:absolute;inset:0}.cell .num{font-family:var(--mono);color:#3f3832;pointer-events:none;font-size:8px;line-height:1;position:absolute;bottom:2px;left:3px}.cell.is-empty{cursor:default}.cell.is-empty .gem{background:var(--empty)}.cell.is-empty .num{color:var(--t5)}.grid100.is-open .cell.is-empty .gem{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.cell.is-hov .gem{outline:1.5px solid var(--ink);outline-offset:1px}.cell>*{transition:opacity .16s,transform .16s}.grid100[data-legend] .cell:not(.is-empty)>*{opacity:.15}[data-skin=candy] .grid100{gap:2px}[data-skin=pixel] .grid100{gap:3px}[data-skin=candy] .cell .gem{inset:10%;box-shadow:inset 0 -3px #0003,inset 0 2px #ffffff80}[data-skin=pixel] .cell .gem{box-shadow:inset -3px -3px #0000004d,inset 3px 3px #ffffff59}[data-skin=pixel] .cell .num{color:#ffffffeb}[data-skin=candy] .cell:not(.is-empty) .num,[data-skin=fruit] .cell:not(.is-empty) .num,[data-skin=emoji] .cell:not(.is-empty) .num{color:#0000}[data-skin=fruit] .cell .gem,[data-skin=emoji] .cell .gem{background:var(--hover);border-radius:22%;inset:5%}[data-skin=emoji] .cell .gem{border-radius:50%}[data-skin=candy] .grid100.is-open .cell.is-empty .gem,[data-skin=fruit] .grid100.is-open .cell.is-empty .gem{border-radius:22%;inset:0}[data-skin=emoji] .grid100.is-open .cell.is-empty .gem{border-radius:0;inset:0}[data-skin=candy] .cell.is-hov .gem,[data-skin=pixel] .cell.is-hov .gem,[data-skin=fruit] .cell.is-hov .gem,[data-skin=emoji] .cell.is-hov .gem{outline:none}.grid100[data-match] .cell:not(.is-empty)>*{opacity:.3}.skin-name:after{content:"莫兰迪"}[data-skin=candy] .skin-name:after{content:"糖果"}[data-skin=pixel] .skin-name:after{content:"像素"}[data-skin=fruit] .skin-name:after{content:"水果"}[data-skin=emoji] .skin-name:after{content:"表情"}.legend{flex-wrap:wrap;gap:6px 16px;display:flex}.legend a{color:var(--t2);align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.legend .lg-sw{background:var(--sw);flex:none;width:9px;height:9px}[data-skin=candy] .legend .lg-sw{border-radius:50%}[data-skin=fruit] .legend .lg-sw,[data-skin=emoji] .legend .lg-sw,.legend .lg-em{display:none}[data-skin=fruit] .legend .lg-em,[data-skin=emoji] .legend .lg-em{display:inline}.prose{font-family:var(--serif);color:var(--body);flex-direction:column;gap:1.1em;font-size:18px;line-height:1.95;display:flex}.prose>*{text-wrap:pretty;margin:0}.prose h2,.prose h3{margin-top:1.4em;font-size:1.12em;font-weight:600;line-height:1.95}.prose ul,.prose ol{flex-direction:column;gap:1.1em;padding:0;list-style:none;display:flex}.prose li{padding-left:1.2em}.prose ul>li:before{content:"· "}.prose a{text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--ink);text-decoration-thickness:2px}.prose img{border:1px solid var(--line);width:100%;height:auto;display:block}.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:15px;line-height:1.6}@media (width<=600px){.prose table{display:block;overflow-x:auto}}.prose th{text-align:left;border-bottom:1px solid var(--ink);white-space:nowrap;padding:10px 16px 10px 0;font-weight:600}.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 16px 10px 0}.prose blockquote{border-left:1px solid var(--ink);color:var(--t3);padding-left:1em}
