:root{--bg:#EFEFEC;--panel:#FFFFFF;--panel-2:#F4F4F1;--ink:#15171A;--muted:#6C7178;--faint:#9AA0A6;--line:#E1E1DD;--line-2:#C6C7C2;--accent:#17564F;--accent-ink:#FFFFFF;--won:#1B7A4B;--lost:#A8382A;--live:#B57A16;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111214;--panel:#191B1E;--panel-2:#212427;--ink:#ECEDEE;--muted:#9BA1A8;--faint:#6E747B;--line:#2A2D31;--line-2:#3A3E44;--accent:#4FBFA8;--accent-ink:#0B1513;--won:#4FC98A;--lost:#E58C7B;--live:#E8B860}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{max-width:460px;margin:0 auto;padding:16px 14px 40px}.head{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-weight:700}.head svg{width:22px;height:22px;color:var(--accent)}h1{font-size:20px;letter-spacing:-.025em;margin:0 0 4px}.sub{color:var(--muted);font-size:13.5px;margin:0 0 14px}.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:12px}.days a{flex:none;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:500;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);text-decoration:none}.days a[data-on=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.summary{font-size:12.5px;color:var(--muted);margin-bottom:10px}.rows{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.row{display:flex;align-items:center;gap:12px;padding:13px 14px;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row.first{background:color-mix(in srgb,var(--accent) 7%,transparent)}.row.gone{opacity:.6}.pos{width:22px;text-align:center;font-weight:800;color:var(--faint)}.row.first .pos{color:var(--accent)}.who{flex:1 1;min-width:0}.who b{display:block;font-size:14.5px}.who small{display:block;color:var(--faint);font-size:12.5px}.score{text-align:right}.score b{display:block;font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.blank{text-align:center;color:var(--faint);padding:40px 20px}a.head{text-decoration:none;color:inherit}.h2{font-size:17px;letter-spacing:-.02em;margin:0 0 4px}.err{background:color-mix(in srgb,var(--lost) 12%,transparent);border:1px solid color-mix(in srgb,var(--lost) 40%,transparent);color:var(--lost);padding:10px 12px;font-size:13.5px;margin:0 0 12px}.err,.link,button{border-radius:10px}.link,button{font:inherit;cursor:pointer;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);padding:12px 16px;font-weight:600;text-align:center;text-decoration:none;display:inline-block}.primary{background:var(--accent);color:var(--accent-ink)}.primary,.quiet{border-color:transparent}.quiet{background:none;color:var(--muted)}.wide{width:100%;display:block;margin-bottom:8px}input,select{font:inherit;width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);min-width:0}input:focus,select:focus{outline:none;border-color:var(--accent)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lab{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}.edit{padding:12px 14px;border-top:1px solid var(--line)}.edit:first-child{border-top:0}.editRow{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.editRow .num{max-width:82px}.editRow select{max-width:108px}.editRow .grow{flex:1 1}.x{flex:none;width:38px;padding:9px 0;color:var(--muted);background:none;border-color:transparent;font-size:18px;line-height:1}.x:hover{color:var(--lost)}.dot{width:8px;height:8px;border-radius:999px;flex:none;background:var(--live)}.dot.won{background:var(--won)}.dot.lost{background:var(--lost)}.bigscore{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px}.bigscore b{display:block;font-size:42px;font-weight:800;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bigscore small{color:var(--faint);font-size:12.5px}.epitaph{margin:-6px 0 14px;font-size:13.5px;color:var(--faint);border-left:2px solid var(--lost);padding-left:10px}a.row{text-decoration:none;color:inherit}a.row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.prov{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--muted)}.prov .stamp{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabs{display:flex;gap:6px;margin-bottom:14px}.tabs button{flex:1 1;padding:9px 10px;border-radius:10px;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--faint);font:inherit;font-size:13.5px}.tabs button[data-on=true]{background:var(--panel);color:var(--ink);border-color:var(--ink)}.code{font-family:var(--mono,ui-monospace,"JetBrains Mono",monospace);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.grow{flex:1 1;min-width:0}.codeblock{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}.codetop{margin-bottom:10px}.codetop b{display:block;font-size:30px;font-weight:800;letter-spacing:.1em;font-family:var(--mono,ui-monospace,"JetBrains Mono",monospace)}.codeacts{display:flex;gap:8px}.codeacts .link,.codeacts button{flex:1 1;padding:10px 12px;font-size:14px}.codenote{margin:8px 0 0;font-size:11.5px;color:var(--faint)}.copyable{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.bar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.barin{max-width:1120px;margin:0 auto;padding:0 20px;gap:20px;height:58px}.barin,.brand{display:flex;align-items:center}.brand{gap:8px;font-weight:800;letter-spacing:-.02em;text-decoration:none;color:inherit;font-size:16px;flex:none}.brand svg{width:21px;height:21px;color:var(--accent)}.menus{display:flex;align-items:center;gap:2px;flex:1 1}.menu{position:relative}.menus .flat,.menus button{background:none;border:0;padding:7px 10px;border-radius:8px;font:inherit;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.menus .flat:hover,.menus button:hover,.menus button[data-on=true]{color:var(--ink);background:var(--panel-2)}.menus button svg{width:9px;height:6px;opacity:.55}.drop{position:absolute;top:calc(100% + 6px);left:0;min-width:268px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 12px 32px -12px rgba(0,0,0,.28)}.drop a{display:block;padding:9px 11px;border-radius:8px;text-decoration:none;color:inherit}.drop a:hover{background:var(--panel-2)}.drop b{display:block;font-size:13.5px;font-weight:600}.drop small{display:block;font-size:11.5px;color:var(--faint);margin-top:1px}.who2{display:flex;align-items:center;gap:8px;flex:none}.who2 .flat{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;padding:7px 8px}.who2 .flat:hover{color:var(--ink)}.small{padding:7px 14px;font-size:13.5px}.ghost{background:none;border:0;color:var(--muted);font:inherit;font-size:13.5px;cursor:pointer;padding:7px 8px}.ghost:hover{color:var(--ink)}.hamburger{display:none;flex:none;width:38px;height:34px;padding:8px 7px;background:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;flex-direction:column;justify-content:space-between}.hamburger span{display:block;height:1.5px;background:var(--ink);border-radius:2px}.sheet{padding:12px 20px 20px;background:var(--panel)}.sheet,.sheetgroup{border-top:1px solid var(--line)}.sheetgroup{padding:10px 0}.sheetgroup:first-child{border-top:0}.sheethead{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;text-decoration:none}.sheetgroup a:not(.sheethead){display:block;padding:7px 0;font-size:14.5px;color:var(--ink);text-decoration:none}@media (max-width:940px){.menus,.who2{display:none}.hamburger{display:flex}.barin{justify-content:space-between}}.page{min-height:60vh}.wrap{max-width:1120px}.narrow,.wrap{margin:0 auto;padding:0 20px}.narrow{max-width:620px}.foot{border-top:1px solid var(--line);margin-top:64px;background:var(--panel-2)}.footin{max-width:1120px;margin:0 auto;padding:40px 20px 28px}.footcols{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:28px;gap:28px}.footcols h4{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}.footcols a{display:block;padding:4px 0;font-size:13.5px;color:var(--muted);text-decoration:none}.footcols a:hover{color:var(--ink)}.footend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}.footbrand{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--ink)}.footbrand svg{width:17px;height:17px;color:var(--accent)}.footnote{flex:1 1;min-width:260px}.footsocial{display:flex;gap:14px}.footsocial a{color:var(--muted);text-decoration:none}.footsocial a:hover{color:var(--ink)}@media (max-width:860px){.footcols{grid-template-columns:repeat(2,1fr);gap:22px}}.hero{padding:56px 0 40px;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(30px,5.2vw,46px);line-height:1.05;letter-spacing:-.035em;margin:0 0 14px;max-width:15ch}.lead{color:var(--muted);font-size:15px;margin:0 0 20px;max-width:62ch}.lead.big{font-size:17px;line-height:1.5}.lead b{color:var(--ink);font-weight:600}.big{font-size:clamp(24px,4vw,34px);letter-spacing:-.03em;margin:0 0 8px}.herobox{max-width:470px}.heroin{display:flex;gap:8px}.heroin .code{font-size:19px;padding:13px 14px}.heroin .primary{flex:none;padding:13px 20px}.herohint{font-size:12.5px;color:var(--faint);margin:9px 0 0}.herohint a{color:var(--muted)}.trust{font-size:12.5px;color:var(--faint);margin:22px 0 0}.band{padding-top:44px}.band h2{font-size:21px;letter-spacing:-.025em;margin:0 0 8px}.bandhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px 16px;margin-bottom:12px;flex-wrap:wrap}.bandhead h2{margin:0}.more{font-size:13.5px;color:var(--accent);text-decoration:none;white-space:nowrap}.more:hover{text-decoration:underline}.grid3,.grid4{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.card h3{font-size:15px;margin:0 0 6px;letter-spacing:-.01em}.card p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.5}.card .step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;margin-bottom:10px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700}a.link2{text-decoration:none;color:inherit;display:block}a.link2:hover{border-color:var(--accent)}.teach{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;max-width:74ch}.teach h2{margin-bottom:12px}.teach p{font-size:14.5px;color:var(--muted);line-height:1.62;margin:0 0 12px}.teach .more{display:inline-block;margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:13.5px;text-decoration:none;color:var(--ink)}.chip:hover{border-color:var(--accent);color:var(--accent)}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px}.pair{display:block}.faq{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;margin-top:14px}.faq details{border-top:1px solid var(--line)}.faq details:first-child{border-top:0}.faq summary{padding:15px 18px;cursor:pointer;font-size:14.5px;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:var(--faint);font-weight:400}.faq details[open] summary:after{content:"−"}.faq p{padding:0 18px 16px;margin:0;font-size:14px;color:var(--muted);line-height:1.6;max-width:74ch}.cta{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px;text-align:center}.cta p{color:var(--muted);font-size:14.5px;max-width:56ch;margin:0 auto 18px;line-height:1.55}.cta .link{display:inline-block;width:auto}@media (max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:26px}}@media (max-width:640px){.grid3,.grid4{grid-template-columns:1fr}.hero{padding:38px 0 30px}.heroin{flex-direction:column}.heroin .primary{width:100%}}.prose h2{font-size:18px;letter-spacing:-.02em;margin:28px 0 8px}.prose li,.prose p{color:var(--muted);font-size:15px;line-height:1.65}.prose p{margin:0 0 12px;max-width:68ch}.prose ol,.prose ul{margin:0 0 14px;padding-left:20px;max-width:68ch}.prose li{margin-bottom:7px}.prose li b,.prose p b{color:var(--ink);font-weight:600}.prose a{color:var(--accent)}.deflist{border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-top:18px}.deflist>div{display:grid;grid-template-columns:150px 1fr;grid-gap:16px;gap:16px;padding:13px 16px;border-top:1px solid var(--line)}.deflist>div:first-child{border-top:0}.deflist b{font-size:14px}.deflist span{font-size:13.5px;color:var(--muted);line-height:1.55}@media (max-width:560px){.deflist>div{grid-template-columns:1fr;gap:3px}}.table{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;margin-top:16px}.trow{display:grid;grid-template-columns:1.6fr .6fr .8fr .6fr .8fr 1.2fr;grid-gap:10px;gap:10px;padding:12px 16px;border-top:1px solid var(--line);font-size:13.5px;text-decoration:none;color:inherit;align-items:center}.trow:first-child{border-top:0}a.trow:hover{background:var(--panel-2)}.thead{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:700}.trow .mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.trow .good{color:var(--won)}.trow .bad{color:var(--lost)}@media (max-width:700px){.trow{grid-template-columns:1.4fr .5fr .5fr .5fr .8fr}.trow>:last-child{display:none}}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin:18px 0 8px}.stats>div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.stats b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats small{font-size:11px;color:var(--faint)}@media (max-width:620px){.stats{grid-template-columns:repeat(2,1fr)}}.convbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.convbox label{display:block;margin-bottom:12px}.convrow{display:flex;gap:10px}.convout{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.bigcode{display:block;font-size:32px;font-weight:800;letter-spacing:.1em;margin:4px 0 12px;font-family:var(--mono,ui-monospace,"JetBrains Mono",monospace)}.convgames{margin:16px 0 8px;border-top:1px solid var(--line)}.cg{display:grid;grid-template-columns:1fr auto 58px;grid-gap:10px;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}.cgm{color:var(--faint)}.codeask{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px;margin-bottom:12px}.codeask label{display:block}.codeask p{margin:8px 0 0;font-size:12.5px;color:var(--faint)}