:root{--ink-900:#151515;--ink-700:#343434;--ink-500:#666666;--paper:#f3efe8;--paper-bright:#faf7f2;--line:rgba(21,21,21,0.14);--accent:#ce5a2f;--accent-soft:rgba(206,90,47,0.14);--radius-lg:24px;--radius-md:16px;--shadow-sm:0 8px 24px rgba(21,21,21,0.08);--shadow-lg:0 20px 60px rgba(21,21,21,0.16);--font-display-stack:var(--font-display),"Fraunces",serif;--font-body-stack:var(--font-body),"Manrope",sans-serif;--rank-gold:#b8860b;--rank-gold-soft:rgba(184,134,11,0.10);--rank-silver:#6b7280;--rank-silver-soft:rgba(107,114,128,0.08);--rank-bronze:#a0522d;--rank-bronze-soft:rgba(160,82,45,0.10);--elo-positive:#2d8a4e;--surface-glass:linear-gradient(160deg,rgba(255,255,255,0.82),rgba(248,245,239,0.72));--surface-solid:rgba(255,255,255,0.75);--surface-cell:rgba(255,255,255,0.84);--surface-cell-hover:rgba(255,255,255,0.97);--surface-button:rgba(255,255,255,0.8);--surface-modal:linear-gradient(160deg,rgba(255,255,255,0.92),rgba(248,245,239,0.88));--surface-nav:rgba(255,255,255,0.88);--surface-input:rgba(255,255,255,0.86);--border-strong:rgba(21,21,21,0.28);--border-medium:rgba(21,21,21,0.22);--border-subtle:rgba(21,21,21,0.18);--backdrop-overlay:rgba(21,21,21,0.4)}[data-theme=dark]{--ink-900:#e8e4dd;--ink-700:#b8b2a8;--ink-500:#8a8378;--paper:#1a1816;--paper-bright:#242120;--line:rgba(255,255,255,0.12);--accent:#e07040;--accent-soft:rgba(224,112,64,0.18);--shadow-sm:0 8px 24px rgba(0,0,0,0.25);--shadow-lg:0 20px 60px rgba(0,0,0,0.4);--rank-gold-soft:rgba(184,134,11,0.18);--rank-silver-soft:rgba(107,114,128,0.15);--rank-bronze-soft:rgba(160,82,45,0.18);--elo-positive:#4ade80;--surface-glass:linear-gradient(160deg,rgba(36,33,32,0.9),rgba(26,24,22,0.85));--surface-solid:rgba(36,33,32,0.75);--surface-cell:rgba(36,33,32,0.84);--surface-cell-hover:rgba(50,46,44,0.97);--surface-button:rgba(36,33,32,0.8);--surface-modal:linear-gradient(160deg,rgba(36,33,32,0.95),rgba(26,24,22,0.92));--surface-nav:rgba(26,24,22,0.92);--surface-input:rgba(36,33,32,0.86);--border-strong:rgba(255,255,255,0.22);--border-medium:rgba(255,255,255,0.16);--border-subtle:rgba(255,255,255,0.10);--backdrop-overlay:rgba(0,0,0,0.6)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink-900);font-family:var(--font-body-stack);background:radial-gradient(130% 100% at 10% 0,#ffffff 0,var(--paper) 45%,#ece6de 100%),linear-gradient(150deg,rgba(255,255,255,.8),rgba(255,255,255,0))}[data-theme=dark] body{background:radial-gradient(130% 100% at 10% 0,#1e1c1a 0,var(--paper) 45%,#141210 100%),linear-gradient(150deg,rgba(30,28,26,.8),rgba(20,18,16,0))}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;background-image:radial-gradient(circle at 14% 20%,rgba(21,21,21,.04),transparent 38%),radial-gradient(circle at 86% 10%,rgba(21,21,21,.04),transparent 32%),repeating-linear-gradient(90deg,rgba(21,21,21,.022),rgba(21,21,21,.022) 1px,transparent 0,transparent 6px)}[data-theme=dark] body:before{opacity:.2;background-image:radial-gradient(circle at 14% 20%,rgba(255,255,255,.03),transparent 38%),radial-gradient(circle at 86% 10%,rgba(255,255,255,.03),transparent 32%),repeating-linear-gradient(90deg,rgba(255,255,255,.015),rgba(255,255,255,.015) 1px,transparent 0,transparent 6px)}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}.page-shell{position:relative;z-index:1;flex:1 1;width:min(1120px,100% - 2rem);margin:0 auto;padding:1rem 0 4rem}.glass-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.kicker{margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);font-weight:700}.display{margin:.5rem 0;font-family:var(--font-display-stack);line-height:.96;letter-spacing:-.03em}.home-hero{display:block}.hero-copy{padding:2rem}.hero-copy h1{font-size:clamp(2.5rem,8vw,5.8rem)}.hero-copy p{max-width:42ch;margin:0;color:var(--ink-700);line-height:1.65}.metric-tile{border:1px solid var(--line);border-radius:14px;padding:.85rem;background:var(--surface-solid)}.metric-value{font-size:1.05rem;font-weight:700}.metric-label{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}.surface-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.surface-card{padding:1.15rem}.surface-card h2{margin:.5rem 0 .35rem;font-size:1.12rem}.surface-card p{margin:0;color:var(--ink-700);line-height:1.55}.history-shell,.leaderboard-shell,.match-shell,.profile-shell{padding:1.5rem}.match-layout{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(220px,.75fr);grid-gap:1rem;gap:1rem}.board-preview{width:min(100%,640px);aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(0deg,transparent 32.8%,rgba(21,21,21,.08) 33%,rgba(21,21,21,.08) 34%,transparent 34.2%),linear-gradient(90deg,transparent 32.8%,rgba(21,21,21,.08) 33%,rgba(21,21,21,.08) 34%,transparent 34.2%),linear-gradient(0deg,transparent 65.8%,rgba(21,21,21,.08) 66%,rgba(21,21,21,.08) 67%,transparent 67.2%),linear-gradient(90deg,transparent 65.8%,rgba(21,21,21,.08) 66%,rgba(21,21,21,.08) 67%,transparent 67.2%),radial-gradient(circle at 20% 20%,rgba(206,90,47,.16),transparent 60%),var(--paper-bright);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),var(--shadow-sm)}[data-theme=dark] .board-preview{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),var(--shadow-sm)}.match-sidebar{display:grid;grid-gap:.75rem;gap:.75rem;align-content:start}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;border:1px solid var(--border-subtle);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em}.badge.live{background:var(--accent-soft);border-color:rgba(206,90,47,.4)}.error-layout{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.error-card{width:min(640px,100%);padding:1.5rem}.error-card h1{margin:.5rem 0;font-family:var(--font-display);font-size:clamp(2rem,6vw,3.25rem)}.error-card p{margin:0;line-height:1.6;color:var(--ink-700)}.error-actions{margin-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap}.button{border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;background:var(--surface-button);color:var(--ink-900);cursor:pointer}.button.primary{border-color:var(--border-strong);background:var(--ink-900);color:var(--paper)}@media (max-width:960px){.match-layout{grid-template-columns:1fr}.surface-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.share-code{margin-left:0}}@media (max-width:640px){.page-shell{width:min(1120px,100% - 1rem);padding:1rem 0 calc(4.5rem + env(safe-area-inset-bottom, 0px))}.hero-copy,.history-shell,.leaderboard-shell,.match-shell,.profile-shell,.surface-card{padding:1rem}.surface-grid{grid-template-columns:repeat(3,75vw);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem}.surface-grid::-webkit-scrollbar{display:none}.surface-card{scroll-snap-align:start}}.match-share-strip{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.badge.filled{background:var(--ink-900);color:var(--paper);border-color:var(--ink-900)}.badge.filled,.badge.muted{font-size:.8rem;padding:.42rem .75rem;font-weight:700;text-transform:none;letter-spacing:normal}.badge.muted{background:var(--surface-solid);color:var(--ink-700);border-color:transparent}.share-code{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.3rem .4rem .3rem .7rem;border-radius:999px;border:1px solid var(--border-medium);background:var(--paper-bright)}.share-code-label{font-size:.78rem;letter-spacing:.12em;font-family:var(--font-body-stack)}.share-code-btn,.share-code-label{font-weight:700;text-transform:uppercase;color:var(--ink-700)}.share-code-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-bright);font-size:.72rem;letter-spacing:.08em;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.share-code-btn:hover{background:var(--surface-cell-hover);border-color:var(--border-strong)}.status-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--line)}.status-card,.status-card.waiting{background:var(--paper-bright)}.status-card.defeat,.status-card.victory,.status-card.your-turn{background:var(--accent-soft);border-color:rgba(206,90,47,.4)}.status-card.draw,.status-card.their-turn{background:var(--paper-bright)}.status-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-500)}.status-card.defeat .status-card-icon,.status-card.victory .status-card-icon,.status-card.your-turn .status-card-icon{color:var(--accent)}.status-card-title{margin:0;font-weight:700;font-size:.92rem;color:var(--ink-900)}.status-card-desc{margin:.15rem 0 0;font-size:.82rem;color:var(--ink-500);line-height:1.4}.info-group{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-solid)}.info-group-title{margin:0;padding:.55rem .75rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-weight:700;border-bottom:1px solid var(--line)}details.info-group>summary.info-group-title{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.4rem}details.info-group>summary.info-group-title::-webkit-details-marker{display:none}details.info-group>summary.info-group-title:after{content:"";margin-left:auto;width:.4rem;height:.4rem;border-right:1.5px solid var(--ink-500);border-bottom:1.5px solid var(--ink-500);transform:rotate(-45deg);transition:transform .2s ease;flex-shrink:0}details.info-group[open]>summary.info-group-title:after{transform:rotate(45deg)}details.info-group:not([open])>summary.info-group-title{border-bottom:none}.info-group-body .button{font-size:.7rem;padding:.35rem .7rem}.info-group-body{display:grid}.info-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;font-size:.88rem;color:var(--ink-700)}.info-item+.info-item{border-top:1px solid var(--line)}.info-item svg{flex-shrink:0;color:var(--ink-500)}.match-action-btn{width:100%;display:flex;align-items:center;justify-content:center}.match-action-btn svg{vertical-align:middle;margin-left:.35em}.elo-delta{font-weight:700;font-size:.92rem}.elo-delta.positive{color:var(--elo-positive)}.elo-delta.negative{color:var(--accent)}.rule-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.rule-group label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-weight:700}.rule-group select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);padding:.5rem .6rem;font:inherit;color:var(--ink-900)}.rule-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.rule-actions>.feedback-line{flex:1 1;min-width:0}.rule-actions>.button{flex-shrink:0}.match-layout.interactive{align-items:start}.board-area{padding:.9rem}.timer-strip{width:100%;height:8px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--surface-button);margin-bottom:.85rem}.timer-fill{width:100%;height:100%;transform-origin:left center;transition:transform .2s linear;background:linear-gradient(90deg,#db7f39,#ce5a2f)}.knot-board{width:100%;display:grid;grid-gap:.4rem;gap:.4rem}.knot-cell{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0;margin:0;font:inherit;aspect-ratio:1/1;border:1px solid var(--line);border-radius:10px;background:var(--surface-cell);color:var(--ink-900);font-family:var(--font-display-stack);font-size:clamp(1.1rem,2vw,2rem);display:grid;place-items:center;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.knot-cell span{display:grid;place-items:center;width:80%;height:80%}.knot-cell svg{display:block;width:100%;height:100%}.knot-cell:hover:enabled{transform:translateY(-1px);border-color:var(--border-strong);background:var(--surface-cell-hover)}.knot-cell:disabled{cursor:default;color:inherit;opacity:1}.knot-cell.is-winning{border-color:rgba(206,90,47,.7);background:rgba(206,90,47,.12)}.knot-cell.is-last-move{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.feedback-line{margin:0;padding:.65rem .75rem;border-radius:12px;border:1px dashed var(--line);background:var(--surface-solid);color:var(--ink-700);line-height:1.45}@media (max-width:800px){.rule-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.rule-group{grid-template-columns:1fr}}.leaderboard-list{margin-top:1rem;display:grid;grid-gap:.7rem;gap:.7rem;max-height:70vh;overflow-y:auto;scrollbar-width:none}.leaderboard-list::-webkit-scrollbar{display:none}.leaderboard-row{padding:.85rem 1rem;display:flex;gap:.85rem;align-items:center}.leaderboard-row.rank-1{border-left:3px solid var(--rank-gold);background:linear-gradient(160deg,var(--rank-gold-soft),transparent 60%)}.leaderboard-row.rank-1 .leaderboard-rank{color:var(--rank-gold)}.leaderboard-row.rank-2{border-left:3px solid var(--rank-silver);background:linear-gradient(160deg,var(--rank-silver-soft),transparent 60%)}.leaderboard-row.rank-2 .leaderboard-rank{color:var(--rank-silver)}.leaderboard-row.rank-3{border-left:3px solid var(--rank-bronze);background:linear-gradient(160deg,var(--rank-bronze-soft),transparent 60%)}.leaderboard-row.rank-3 .leaderboard-rank{color:var(--rank-bronze)}.leaderboard-rank{font-family:var(--font-display-stack);font-size:1.4rem;font-weight:700;color:var(--ink-500);width:2.2rem;text-align:right;flex-shrink:0}.leaderboard-name{flex:1 1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-metrics{display:grid;grid-gap:.15rem;gap:.15rem;justify-items:end;flex-shrink:0}.leaderboard-metrics-elo{font-weight:700}.leaderboard-cap-hint,.leaderboard-metrics-games{font-size:.78rem;color:var(--ink-500)}.leaderboard-cap-hint{margin:0;text-align:center}.profile-name-row{display:flex;align-items:center;gap:.5rem}.profile-name-input{font-size:clamp(2.2rem,6vw,4rem);background:transparent;border:none;border-bottom:2px solid transparent;outline:none;padding:0;width:100%;min-width:0;color:var(--ink-900);transition:border-color .18s ease}.profile-name-input:focus{border-bottom-color:var(--accent)}.profile-name-hint{flex-shrink:0;color:var(--ink-500);opacity:.5;cursor:pointer;transition:opacity .18s ease}.profile-name-hint:hover{opacity:1}.profile-stats{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.85rem;gap:.85rem}.profile-stat{padding:1.4rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid)}.profile-stat-value{font-family:var(--font-display-stack);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;line-height:1;letter-spacing:-.02em}.profile-stat-label{margin-top:.45rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-weight:700}.profile-section{margin-top:2.5rem}.profile-shell .info-group{background:transparent;width:-moz-fit-content;width:fit-content}.profile-shell .info-group-title{-webkit-tap-highlight-color:transparent}.h2h-card{margin-top:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid);text-align:center}.h2h-names{justify-content:space-between;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500)}.h2h-names,.h2h-score{display:flex;font-weight:700}.h2h-score{justify-content:center;align-items:center;gap:.75rem;margin:.5rem 0;font-family:var(--font-display-stack);font-size:clamp(2rem,5vw,3rem);line-height:1;letter-spacing:-.02em}.h2h-score-dash{color:var(--ink-500);font-size:.6em;translate:0 -.08em}.h2h-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;gap:2px;margin:.75rem 0}.h2h-bar-you{background:var(--accent);border-radius:3px}.h2h-bar-draw{background:var(--line);border-radius:3px}.h2h-bar-them{background:var(--ink-500);border-radius:3px}.h2h-summary{margin:0;font-size:.78rem;color:var(--ink-500)}.h2h-detail{margin-top:.75rem}.h2h-detail-toggle{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.35rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);font-weight:600;-webkit-tap-highlight-color:transparent}.h2h-detail-toggle::-webkit-details-marker{display:none}.h2h-detail-toggle:after{content:"";width:.32rem;height:.32rem;border-right:1.5px solid var(--ink-500);border-bottom:1.5px solid var(--ink-500);transform:rotate(-45deg);transition:transform .2s ease;flex-shrink:0}.h2h-detail[open]>.h2h-detail-toggle:after{transform:rotate(45deg)}.h2h-detail[open]>.h2h-detail-toggle{margin-bottom:.5rem}.h2h-size-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-solid)}.h2h-size-list-header,.h2h-size-list-row{display:grid;grid-template-columns:1fr repeat(3,2.2rem) 3rem;align-items:center;padding:.45rem .75rem;grid-gap:.25rem;gap:.25rem}.h2h-size-list-header{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);font-weight:700;border-bottom:1px solid var(--line)}.h2h-size-list-header span:not(:first-child){text-align:center}.h2h-size-list-header span:last-child{text-align:right}.h2h-size-list-row+.h2h-size-list-row{border-top:1px solid var(--line)}.h2h-size-list-label{font-weight:700;font-size:.85rem;color:var(--ink-700)}.h2h-size-list-val{text-align:center;font-size:.82rem;font-weight:600}.h2h-size-list-val.win{color:var(--elo-positive)}.h2h-size-list-val.loss{color:var(--accent)}.h2h-size-list-val.draw{color:var(--ink-500)}.h2h-size-list-rate{text-align:right;font-family:var(--font-display-stack);font-size:.88rem;font-weight:700;letter-spacing:-.02em}.h2h-meta-row{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.6rem;gap:.6rem}.h2h-meta-stat{padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid)}.h2h-meta-value{font-family:var(--font-display-stack);font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:700;line-height:1;letter-spacing:-.02em}.h2h-meta-label{margin-top:.35rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-weight:700}@media (max-width:640px){.profile-stats{grid-template-columns:1fr}}.home-actions-inline{margin-top:1rem;display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.account-inline{margin-top:.75rem;display:grid;grid-gap:.55rem;gap:.55rem}.account-line{margin:0;color:var(--ink-700);font-size:.9rem}.join-inline{display:flex;gap:.45rem;align-items:center}.join-inline input{border:1px solid var(--line);border-radius:999px;padding:.52rem .85rem;background:var(--surface-input);min-width:11rem;font:inherit;color:var(--ink-900);text-transform:uppercase}.join-inline input::placeholder{color:var(--ink-500)}@media (max-width:640px){.join-inline{width:100%}.join-inline input{min-width:0;flex:1 1}}.create-modal{width:min(520px,calc(100% - 2rem));max-height:min(90vh,700px);overflow-y:auto;border:none;border-radius:var(--radius-lg);padding:0;background:var(--surface-modal);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);color:var(--ink-900)}.create-modal::-webkit-backdrop{background:var(--backdrop-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.create-modal::backdrop{background:var(--backdrop-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.create-modal-inner{padding:1.5rem;display:grid;grid-gap:1.25rem;gap:1.25rem}.create-modal-header{display:flex;justify-content:space-between;align-items:center}.create-modal-header .display{font-size:1.5rem}.create-modal-close{width:2.2rem;height:2.2rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.25rem;line-height:0;flex-shrink:0}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.6rem;gap:.6rem}.preset-card{display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--line);border-radius:var(--radius-md);padding:.85rem 1rem;background:var(--paper-bright);cursor:pointer;text-align:left;font:inherit;color:var(--ink-900);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.preset-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 10px 30px rgba(21,21,21,.1)}.preset-card.active{border-color:rgba(206,90,47,.5);background:var(--accent-soft)}.preset-card-label{font-weight:700;letter-spacing:.01em}.preset-card-desc{font-size:.82rem;color:var(--ink-500)}.preset-card-dims{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--line);background:var(--surface-solid);font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--ink-500);width:-moz-fit-content;width:fit-content}.preset-card.active .preset-card-dims{border-color:rgba(206,90,47,.3);background:rgba(206,90,47,.08)}.create-modal-symbols{margin-top:.5rem}.fine-tune-toggle{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-bright)}.fine-tune-summary{padding:.7rem 1rem;font-size:.85rem;font-weight:600;color:var(--ink-500);cursor:pointer;list-style:none;display:flex;align-items:center;gap:.4rem;-webkit-tap-highlight-color:transparent}.fine-tune-summary::-webkit-details-marker{display:none}.fine-tune-summary:before{content:"";width:.4rem;height:.4rem;border-right:1.5px solid var(--ink-500);border-bottom:1.5px solid var(--ink-500);transform:rotate(-45deg);transition:transform .2s ease;flex-shrink:0}.fine-tune-toggle[open]>.fine-tune-summary:before{transform:rotate(45deg)}.fine-tune-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem;padding:0 1rem 1rem}.fine-tune-options label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-weight:700}.fine-tune-options select{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);padding:.5rem .6rem;font:inherit;font-size:.88rem;color:var(--ink-900);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.fine-tune-options select:hover{border-color:var(--border-strong)}.fine-tune-options select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.create-modal-footer{display:grid;grid-gap:.5rem;gap:.5rem}.create-modal-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.create-modal-submit:disabled{opacity:.6;cursor:not-allowed}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin .8s linear infinite}.create-modal-error{margin:0;font-size:.85rem;color:var(--accent);text-align:center}@media (max-width:640px){.create-modal{width:100%;max-height:85vh;margin-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;align-self:end}.fine-tune-options,.preset-grid{grid-template-columns:1fr}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.15}}.skeleton{background:var(--ink-500);border-radius:8px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-text{height:1rem;width:10rem}.skeleton-stat{height:6rem;border-radius:var(--radius-md)}.skeleton-tile{height:4.5rem;border-radius:14px}.skeleton-leaderboard-row{height:3.5rem;border-radius:var(--radius-md)}.skeleton-board{aspect-ratio:1/1;border-radius:var(--radius-lg)}.skeleton-sidebar-tile{height:4rem;border-radius:var(--radius-md)}.nav-desktop{position:relative;z-index:10;width:min(1120px,100% - 2rem);margin:0 auto;border-bottom:1px solid var(--line)}.nav-desktop-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}.nav-wordmark{font-family:var(--font-display-stack);font-size:1.1rem;font-weight:700;color:var(--ink-900)}.nav-desktop-links{display:flex;align-items:center;gap:1.25rem}.nav-desktop-link{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ink-500);transition:color .18s ease}.nav-desktop-link:hover{color:var(--ink-900)}.nav-desktop-link.active{color:var(--accent)}.nav-theme-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;background:var(--surface-button);color:var(--ink-500);cursor:pointer;transition:color .18s ease,border-color .18s ease}.nav-theme-toggle:hover{color:var(--ink-900);border-color:var(--border-strong)}.nav-mobile{display:none}@media (max-width:640px){.nav-desktop{display:none}.nav-mobile{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;justify-content:space-around;align-items:center;padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom, 0px));background:var(--surface-nav);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}body:has(dialog[open]) .nav-mobile{display:none}.nav-mobile-tab{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.25rem .75rem;color:var(--ink-500);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:color .18s ease}.nav-mobile-tab.active{color:var(--accent)}}.site-footer{position:relative;z-index:1;justify-content:center;gap:1rem;padding:2rem 0;width:min(1120px,100% - 2rem);margin:0 auto}.site-footer,.site-footer a{display:flex;align-items:center}.site-footer a{color:var(--ink-500);transition:color .18s ease}.site-footer a:hover{color:var(--ink-900)}@media (max-width:640px){.site-footer{display:none}}.history-summary{margin-top:1rem;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.6rem;gap:.6rem}.history-summary-stat{padding:1rem .85rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid)}.history-summary-value{font-family:var(--font-display-stack);font-size:clamp(1.4rem,3vw,2rem);font-weight:700;line-height:1;letter-spacing:-.02em}.history-summary-value.positive{color:var(--elo-positive)}.history-summary-value.negative{color:var(--accent)}.history-summary-label{margin-top:.35rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-weight:700}.history-form-dots{display:flex;gap:.35rem;align-items:center;height:clamp(1.4rem,3vw,2rem)}.history-form-dot{width:10px;height:10px;border-radius:50%}.history-form-dot.win{background:var(--elo-positive)}.history-form-dot.loss{background:var(--accent)}.history-form-dot.draw{background:var(--ink-500)}.history-filters{margin-top:1rem;display:flex;gap:.4rem}.history-filter-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-button);color:var(--ink-700);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.history-filter-pill:hover{border-color:var(--border-strong)}.history-filter-pill.active{background:var(--ink-900);color:var(--paper);border-color:var(--ink-900)}.history-filter-count{font-size:.72rem;opacity:.7}.history-filter-pill.active .history-filter-count{opacity:.8}.history-list{margin-top:.75rem;display:grid;grid-gap:.5rem;gap:.5rem;max-height:70vh;overflow-y:auto;scrollbar-width:none}.history-list::-webkit-scrollbar{display:none}.history-row{gap:.75rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid)}.history-result,.history-row{display:flex;align-items:center}.history-result{justify-content:center;width:2rem;height:2rem;border-radius:8px;font-weight:700;font-size:.82rem;flex-shrink:0}.history-result.win{background:var(--elo-positive)}.history-result.loss{background:var(--accent)}.history-result.draw{background:var(--ink-500)}.history-opponent{flex:1 1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-archive-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border-medium);border-radius:8px;background:var(--surface-cell);color:var(--ink-700);cursor:pointer;flex-shrink:0;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.history-archive-btn:hover{color:var(--paper);border-color:var(--ink-900);background:var(--ink-900)}.history-trailing{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;flex-shrink:0}.history-time{font-size:.72rem;color:var(--ink-500)}.history-game-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid)}.history-game-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;-webkit-tap-highlight-color:transparent}.history-game-summary::-webkit-details-marker{display:none}.history-game-summary:after{content:"";width:.42rem;height:.42rem;border-right:1.5px solid var(--ink-500);border-bottom:1.5px solid var(--ink-500);transform:rotate(-45deg);transition:transform .22s cubic-bezier(.4,0,.2,1);flex-shrink:0}.history-game-group[open]>.history-game-summary:after{transform:rotate(45deg)}.history-result-bar{display:flex;gap:2px;width:2rem;height:2rem;border-radius:8px;overflow:hidden;flex-shrink:0}.history-result-bar-seg{flex:1 1;min-width:0}.history-result-bar-seg.win{background:var(--elo-positive)}.history-result-bar-seg.loss{background:var(--accent)}.history-result-bar-seg.draw{background:var(--ink-500)}.history-game-rounds-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1)}.history-game-group[open]>.history-game-rounds-wrapper{grid-template-rows:1fr}.history-game-rounds{overflow:hidden}.history-round-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem .6rem 1.2rem;border-top:1px solid var(--line)}.history-round-row:last-child{padding-bottom:.75rem}.history-result.small{width:1.5rem;height:1.5rem;font-size:.68rem;border-radius:6px}.history-result.small.win{background:rgba(45,138,78,.14);color:var(--elo-positive)}.history-result.small.loss{background:var(--accent-soft);color:var(--accent)}.history-result.small.draw{background:var(--surface-solid);color:var(--ink-500);border:1px solid var(--line)}.history-round-label{flex:1 1;min-width:0;font-size:.78rem;font-weight:600;color:var(--ink-500)}.history-copy-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border-medium);border-radius:8px;background:var(--surface-cell);color:var(--ink-700);cursor:pointer;flex-shrink:0;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.history-copy-btn:hover{color:var(--paper);border-color:var(--ink-900);background:var(--ink-900)}@media (max-width:640px){.history-summary{grid-template-columns:repeat(2,1fr)}.history-list,.leaderboard-list{max-height:calc(70vh - 5rem)}.history-round-row{padding-left:.85rem}.history-filters{justify-content:flex-start}.history-filter-pill{padding:.35rem .6rem;font-size:.68rem;letter-spacing:0}.history-filter-count{display:none}}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_48c46e{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_48c46e{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_d2dc74{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_d2dc74{--font-body:"Manrope","Manrope Fallback"}