html{scroll-padding-top:64px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:#FFFFFF}
.pg{--bg:#FFFFFF;--band:#F5F5F7;--tile:#FFFFFF;--tile2:#F5F5F7;--ink:#1D1D1F;--sec:#6E6E73;--sep:#D2D2D7;--nav:rgba(255,255,255,0.8);--link:var(--accent);--ph:#E8E8ED;--ph-line:#DFDFE4}
.pg *{box-sizing:border-box}
.pg .mono{font-family:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:0;font-variant-numeric:tabular-nums}
.pg .h2{margin:0;font-size:clamp(34px,4.2vw,56px);font-weight:700;line-height:1.07;letter-spacing:-0.035em;text-wrap:balance}
.pg .eyebrow{margin:0;font-size:14px;font-weight:600;color:var(--sec);letter-spacing:-0.005em}
.pg .tile{background:var(--tile);border-radius:28px;padding:clamp(26px,3vw,40px)}
.pg .ph{background-color:var(--ph);background-image:repeating-linear-gradient(135deg,transparent 0 12px,var(--ph-line) 12px 13px)}
.pg .chip{display:inline-block;background:var(--bg);color:var(--sec);border-radius:980px;padding:5px 12px;font-size:12px;font-weight:500}
.pg .metric{display:inline-flex;align-items:center;gap:8px;border:1.5px dashed var(--sec);color:var(--sec);border-radius:980px;padding:4px 12px;font-size:13px;font-weight:500}
.pg a{color:var(--link);text-decoration:none}
.pg a:hover{text-decoration:underline}
.pg a:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:8px}
.pg a.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:980px;background:var(--accent);color:#FFFFFF;font-size:17px;font-weight:500;text-decoration:none}
.pg a.pill:hover{filter:brightness(1.1)}
.pg a.navl{color:var(--ink);opacity:0.8}
.pg a.navl:hover{opacity:1;text-decoration:none}
.pg a.row{color:var(--ink)}
.pg a.row:hover{text-decoration:none}
.pg a.row:hover .t{text-decoration:underline}
.pg .glass{background:var(--nav);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.pg .logo{filter:brightness(0)}
.pg .name{font-family:'Schibsted Grotesk','Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}
.pg .phone{position:relative;background:#121214;border-radius:14% / 6.45%;padding:3.2%;box-shadow:inset 0 0 0 1.5px #4A4A4F,inset 0 0 0 3px #1C1C1E,0 30px 70px rgba(0,0,0,0.22)}
.pg .screen{position:relative;overflow:hidden;border-radius:11% / 5.1%;background:#fff}
.pg .screen img{display:block;width:100%;aspect-ratio:1284/2778;object-fit:cover}
.pg .win{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--sep);box-shadow:0 30px 80px rgba(0,0,0,0.14)}
.pg .winbar{height:34px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#F5F5F7;border-bottom:1px solid var(--sep)}
.pg .winbar span{width:12px;height:12px;border-radius:50%}
.pg .win img{display:block;width:100%;aspect-ratio:1912/924}
.pg .phones{position:relative;width:62%;margin:-13% auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,5vw,56px)}
@media (max-width:820px){.pg .phones{width:100%;margin-top:20px}}
.pg .island{position:absolute;left:50%;top:3.1%;width:28.6%;aspect-ratio:374/108;transform:translateX(-50%);background:#000;border-radius:999px}
.pg .btn{position:absolute;width:2.5%;background:#2C2C2E;border-radius:2px}
.pg .btn.l{left:-2.2%;border-radius:2px 0 0 2px}
.pg .btn.r{right:-2.2%;border-radius:0 2px 2px 0}
.pg .wr-word{color:#0F172A}
.pg .glist{list-style:none;margin:0;padding:0 0 0 20px;background:var(--tile2);border-radius:18px}
.pg .glist>li+li{border-top:1px solid var(--sep)}
@media (prefers-reduced-motion: no-preference){.pg a.pill{transition:filter .2s ease}.pg a.navl{transition:opacity .2s ease}}
@media (max-width:820px){.pg .hide-sm{display:none !important}.pg .bento{grid-template-columns:1fr !important}.pg .bento>*{grid-column:auto !important;grid-row:auto !important}}
.pg h1.name{overflow-wrap:anywhere}
.pg img{max-width:100%}
.pg .bento>*{min-width:0}

/* chess tile */
.pg .cb{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:start;outline:none}
.pg .cb:focus-visible{box-shadow:0 0 0 2px var(--accent)}
.pg .cb-board{position:relative;width:min(100%,460px);aspect-ratio:1;border-radius:12px;overflow:hidden;background:conic-gradient(#C3CAD4 0 25%,#EEF0F4 0 50%,#C3CAD4 0 75%,#EEF0F4 0) 0 0/25% 25%;user-select:none}
.pg .cb-hl i,.pg .cb-p{position:absolute;left:0;top:0;width:12.5%;height:12.5%}
.pg .cb-hl i{display:none;background:rgba(0,113,227,.3)}
.pg .cb-p{transition:transform .24s ease,opacity .22s ease;will-change:transform}
.pg .cb-p svg{display:block;width:100%;height:100%}
.pg .cb.cb-nomotion .cb-p{transition:none}
.pg .cb-files,.pg .cb-ranks{position:absolute;pointer-events:none;font-family:'Geist Mono',ui-monospace,Menlo,monospace;font-size:9px;line-height:1;color:#4C5560;opacity:.75}
.pg .cb-files{left:0;right:0;bottom:2px;display:grid;grid-template-columns:repeat(8,1fr)}
.pg .cb-files i{font-style:normal;text-align:right;padding-right:3px}
.pg .cb-ranks{top:0;bottom:0;left:2px;display:grid;grid-template-rows:repeat(8,1fr)}
.pg .cb-ranks i{font-style:normal;padding-top:2px}
.pg .cb-bar{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 2px;font-size:15px;width:min(100%,460px)}
.pg .cb-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid #4C5560;flex:none}
.pg .cb-dot-w{background:#fff}.pg .cb-dot-b{background:#1D1D1F}
.pg .cb-name{font-weight:600}
.pg .cb-handle{color:var(--sec);font-size:13px}
.pg .cb-elo{margin-left:auto;color:var(--sec)}
.pg .cb-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;width:min(100%,460px)}
.pg .cb-btn{min-width:44px;min-height:44px;padding:0 12px;border-radius:980px;border:1px solid var(--sep);background:var(--tile);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:inherit;font-size:14px;font-weight:500}
.pg .cb-btn:hover{border-color:var(--ink)}
.pg .cb-btn:disabled{opacity:.35;cursor:default;border-color:var(--sep)}
.pg .cb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pg .cb-btn svg{width:18px;height:18px;flex:none}
.pg .cb-play{background:var(--accent);border-color:var(--accent);color:#fff}
.pg .cb-play .i-pause,.pg .cb-play.is-on .i-play{display:none}
.pg .cb-play.is-on .i-pause{display:block}
.pg .cb-shuffle{margin-left:auto}
.pg .cb-meta{margin:0;color:var(--sec);font-size:14px;line-height:1.5;min-height:21px}
.pg .cb-result[hidden]{display:none}
.pg .cb-result{display:inline-block;margin:8px 0 0;padding:3px 10px;border-radius:980px;background:var(--ink);color:var(--bg);font-size:13px;font-weight:600}
.pg .cb-moves{position:relative;list-style:none;margin:12px 0 0;padding:4px;max-height:min(520px,70vh);overflow:auto;background:var(--tile);border-radius:14px;font-family:'Geist Mono',ui-monospace,Menlo,monospace;font-size:13px;display:grid;grid-template-columns:3.2em 1fr 1fr;align-content:start}
.pg .cb-moves li{display:contents}
.pg .cb-n{color:var(--sec);padding:5px 0 5px 10px;line-height:1.3}
.pg .cb-moves button{font:inherit;background:none;border:0;text-align:left;padding:5px 8px;border-radius:8px;color:var(--ink);cursor:pointer;line-height:1.3}
.pg .cb-moves button:hover{background:var(--tile2)}
.pg .cb-moves button.is-cur{background:var(--accent);color:#fff}
.pg .cb-moves button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.pg .cb-credit{margin:12px 0 0;font-size:12px;color:var(--sec)}
.pg .cb-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pg .cb.cb-error .cb-board,.pg .cb.cb-error .cb-controls,.pg .cb.cb-error .cb-bar{display:none}
.pg .cb-head{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:end;margin-bottom:4px}
.pg .cb-rating{margin:0;min-width:0}
.pg .cb-rating figcaption{font-size:13px;font-weight:600;color:var(--sec);margin:0 0 6px}
.pg .cb-chart{position:relative}
.pg .cb-chart svg{display:block;width:100%;height:auto;overflow:visible}
.pg .cb-chart .grid{stroke:#E3E3E8;stroke-width:1}
.pg .cb-chart .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.pg .cb-chart text{font-family:'Geist Mono',ui-monospace,Menlo,monospace;font-size:10px;fill:var(--sec);font-variant-numeric:tabular-nums}
.pg .cb-chart text.lbl{fill:var(--ink);font-size:11px;font-weight:600}
.pg .cb-chart .dot{fill:var(--accent);stroke:var(--tile2);stroke-width:2}
.pg .cb-chart .xh{opacity:0;pointer-events:none}
.pg .cb-chart line.xh{stroke:var(--sec);stroke-width:1}
.pg .cb-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font-size:12px;line-height:1.3;padding:6px 9px;border-radius:8px;white-space:nowrap;transform:translate(-50%,calc(-100% - 12px));opacity:0;transition:opacity .12s ease}
.pg .cb-tip b{display:block;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
@media (max-width:820px){.pg .cb,.pg .cb-head{grid-template-columns:1fr}.pg .cb-moves{max-height:240px}}
@media (prefers-reduced-motion:reduce){.pg .cb-p{transition:none}}
