@import "https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap";@import "https://fonts.cdnfonts.com/css/satoshi";#gamma-banner{z-index:10000;text-align:center;font-family:var(--mono-font), monospace;letter-spacing:.14em;text-transform:uppercase;background-color:var(--accent-color);color:var(--underlay-color);padding:.12rem .4rem;font-size:.55rem;font-weight:700;line-height:1;position:relative}body{-webkit-tap-highlight-color:transparent;--body-font:"Satoshi", sans-serif;--mono-font:"Courier Prime", monospace;width:100%;min-height:100vh;font-family:var(--body-font);text-align:center;color:var(--body-color);background-color:var(--underlay-color);background-image:radial-gradient(ellipse 90% 60% at 50% 40%, rgba(var(--accent-soft-rgb), .1), transparent 70%), radial-gradient(ellipse 70% 45% at 50% 100%, rgba(var(--accent-rgb), .06), transparent 70%);background-attachment:fixed;flex-direction:column;margin:0;padding:0;font-size:1.05em;display:flex;overflow-x:hidden}:root,.theme-default{color-scheme:dark;--underlay-color:#070b14;--underlay-rgb:7, 11, 20;--background-color:#121826;--page-shell-rgb:18, 24, 38;--surface-rgb:10, 14, 22;--body-color:#e8eef6;--body-rgb:232, 238, 246;--muted-color:#9aa6b8;--muted-rgb:154, 166, 184;--accent-color:#e6c35a;--accent-rgb:230, 195, 90;--accent-hover-color:#f0d57a;--accent-highlight-color:#fff4c8;--accent-soft:#8ec8e8;--accent-soft-rgb:142, 200, 232;--button-background-color:#152036;--button-hover-background-color:#e6c35a;--input-background-color:#0c1220;--input-border-color:#e8eef638;--modal-background-color:#05070cb8;--hex-color:#152036;--hex-hover-color:#1d2b44;--hex-hint-contradiction-color:#e05555;--hex-hint-strategy-color:#ff4fd8;--error-color:#e87a72;--color-note-blue:#8ec8e8;--color-note-green:#9dcf8f;--color-note-yellow:#e8d56a;--color-note-orange:#e8a35a;--color-note-red:#e87a72;--color-note-purple:#c48ad6;--color-note-cyan:#6ec9c4;--color-note-magenta:#e08ad0;--color-note-brown:#c4a07a;--backdrop-opacity:.4;--backdrop-game-opacity:.22;--backdrop-filter:none;--board-disk:#121c2c;--board-tile:#3a4d66;--board-tile-dim:#1c2838;--board-given:#121c2c;--board-given-dim:#0e1622;--board-hover:#c4963a;--board-hover-editable:#b88832;--board-constrained:#261e10;--board-edge:#dce6f580;--board-edge-given:#f5f8fff2;--board-edge-hover:#d4b05a;--board-edge-hover-value:#ead080;--board-edge-constrained:#ffce60b3;--board-edge-constrained-value:#ffd24a;--board-edge-note:#0a0e16d1;--board-outline:#080c14d1;--board-glow-hover:#e8c460b3;--board-glow:#ffd246f2;--board-glow-core:#fffdf0;--board-badge-backdrop:#070b14;--board-badge:#e8a830;--board-badge-hover:#c49430;--board-text:#e8eef6;--board-text-dim:#e8eef66b;--board-pencil:#c5d0e0;--board-pencil-plus:#dce6f4;--board-text-on-note:#1a1408;--board-pencil-on-note:#2a2418;--board-text-on-note-dim:#1a140866;--board-text-lit:#fffef2;--board-text-lit-outline:#160e02;--board-rim:#dce6f559;--board-blotted:#888f9b}.theme-daylight{color-scheme:light;--underlay-color:#f3eee2;--underlay-rgb:243, 238, 226;--background-color:#fbf8f1;--page-shell-rgb:251, 248, 241;--surface-rgb:251, 248, 241;--body-color:#1d2433;--body-rgb:29, 36, 51;--muted-color:#5b6475;--muted-rgb:91, 100, 117;--accent-color:#855b0e;--accent-rgb:133, 91, 14;--accent-hover-color:#6e4b0b;--accent-highlight-color:#fff4c8;--accent-soft:#2a6f97;--accent-soft-rgb:42, 111, 151;--button-background-color:#ece5d6;--button-hover-background-color:#a8761a;--input-background-color:#fffdf8;--input-border-color:#1d243338;--modal-background-color:#28221473;--hex-color:#ece5d6;--hex-hover-color:#e2d8c3;--hex-hint-contradiction-color:#c62828;--hex-hint-strategy-color:#c8129a;--error-color:#c0392b;--color-note-blue:#7dbde3;--color-note-green:#8fc97e;--color-note-yellow:#e6cf4e;--color-note-orange:#e99a4c;--color-note-red:#e67369;--color-note-purple:#bb84d4;--color-note-cyan:#5cc0ba;--color-note-magenta:#dc80c8;--color-note-brown:#bf976c;--backdrop-opacity:.55;--backdrop-game-opacity:.25;--board-disk:#e4e9f0;--board-tile:#fdfbf6;--board-tile-dim:#ebe6da;--board-given:#c9d3e0;--board-given-dim:#dce1e8;--board-hover:#e0b458;--board-hover-editable:#e8c170;--board-constrained:#f6e6bd;--board-edge:#28344873;--board-edge-given:#141c2ce6;--board-edge-hover:#a8761a;--board-edge-hover-value:#8a5f10;--board-edge-constrained:#a8761abf;--board-edge-constrained-value:#b8860b;--board-edge-note:#141c2c99;--board-outline:#faf8f2d9;--board-glow-hover:#c8962899;--board-glow:#d6a028cc;--board-glow-core:#fff8e0;--board-badge-backdrop:#5a4310;--board-badge:#e0a830;--board-badge-hover:#c4922e;--board-text:#1d2433;--board-text-dim:#1d243366;--board-pencil:#3d4a60;--board-pencil-plus:#2c3648;--board-text-lit-outline:#3a2a06;--board-rim:#28344866;--board-blotted:#6b7381}.theme-aurora{--underlay-color:#0b0716;--underlay-rgb:11, 7, 22;--background-color:#1a1130;--page-shell-rgb:26, 17, 48;--surface-rgb:16, 10, 30;--body-color:#eee8fb;--body-rgb:238, 232, 251;--muted-color:#a499c2;--muted-rgb:164, 153, 194;--accent-color:#5ee0c8;--accent-rgb:94, 224, 200;--accent-hover-color:#8aeedb;--accent-highlight-color:#e0fff8;--accent-soft:#c49cf5;--accent-soft-rgb:196, 156, 245;--button-background-color:#221640;--button-hover-background-color:#5ee0c8;--input-background-color:#120b24;--input-border-color:#eee8fb38;--modal-background-color:#06030eb8;--hex-color:#221640;--hex-hover-color:#2d1f52;--hex-hint-contradiction-color:#ff5d73;--hex-hint-strategy-color:#c6ff3d;--error-color:#ff7b8a;--backdrop-filter:hue-rotate(130deg);--board-disk:#150d28;--board-tile:#3a2c62;--board-tile-dim:#1d1535;--board-given:#150d28;--board-given-dim:#100a20;--board-hover:#2fb8a0;--board-hover-editable:#28a590;--board-constrained:#0f2a2a;--board-edge:#e1d7fa80;--board-edge-given:#f5f0fff2;--board-edge-hover:#6fe8d0;--board-edge-hover-value:#a5f3e4;--board-edge-constrained:#5ee0c8b3;--board-edge-constrained-value:#5ef0d4;--board-edge-note:#0b0716d1;--board-outline:#080412d1;--board-glow-hover:#5ee0c8b3;--board-glow:#5ef0d4e6;--board-glow-core:#effffb;--board-badge-backdrop:#0b0716;--board-badge:#40c8b0;--board-badge-hover:#28a08c;--board-text:#eee8fb;--board-text-dim:#eee8fb6b;--board-pencil:#cfc4ea;--board-pencil-plus:#e2dbf5;--board-text-lit:#f4fffd;--board-text-lit-outline:#04201b;--board-rim:#e1d7fa59;--board-blotted:#8c859c}.theme-forest{--underlay-color:#06110c;--underlay-rgb:6, 17, 12;--background-color:#0f2219;--page-shell-rgb:15, 34, 25;--surface-rgb:8, 20, 14;--body-color:#e5f1e8;--body-rgb:229, 241, 232;--muted-color:#92a99a;--muted-rgb:146, 169, 154;--accent-color:#e0995a;--accent-rgb:224, 153, 90;--accent-hover-color:#eeb582;--accent-highlight-color:#ffe9d4;--accent-soft:#8fd4a4;--accent-soft-rgb:143, 212, 164;--button-background-color:#15301f;--button-hover-background-color:#e0995a;--input-background-color:#0a1811;--input-border-color:#e5f1e833;--modal-background-color:#030805b8;--hex-color:#15301f;--hex-hover-color:#1d4029;--hex-hint-contradiction-color:#e85a4f;--hex-hint-strategy-color:#ff5ce1;--backdrop-filter:hue-rotate(-20deg);--board-disk:#0f2219;--board-tile:#2e4d3b;--board-tile-dim:#172a20;--board-given:#0f2219;--board-given-dim:#0b1912;--board-hover:#c07a3c;--board-hover-editable:#b06e34;--board-constrained:#2a1a0e;--board-edge:#d7ebde80;--board-edge-given:#f0faf4f2;--board-edge-hover:#e0a468;--board-edge-hover-value:#f0c291;--board-edge-constrained:#eca060b3;--board-edge-constrained-value:#f5a860;--board-edge-note:#06110cd1;--board-outline:#040c08d1;--board-glow-hover:#e0995ab3;--board-glow:#f5a860e6;--board-glow-core:#fff6ec;--board-badge-backdrop:#06110c;--board-badge:#e28e46;--board-badge-hover:#be7638;--board-text:#e5f1e8;--board-text-dim:#e5f1e86b;--board-pencil:#c3d6c9;--board-pencil-plus:#d8e8dd;--board-text-lit:#fffaf2;--board-text-lit-outline:#1e0f02;--board-rim:#d7ebde59;--board-blotted:#85948b}body:after{content:"";pointer-events:none;z-index:0;opacity:var(--backdrop-opacity);filter:var(--backdrop-filter);background:url(hyperbolic-geodesics.svg) 50%/cover no-repeat;position:fixed;inset:0}body:has(.menu-game-container):after{opacity:var(--backdrop-game-opacity)}.menu-game-container,.content-container.page-shell,header,footer{z-index:1;position:relative}a{color:var(--accent-soft)}code{font-family:var(--mono-font);color:var(--accent-color)}input,select,textarea,button{color:var(--body-color);background-color:var(--input-background-color);border:1px solid var(--input-border-color);border-radius:999px;padding:8px;font-family:inherit;font-size:.95em}textarea{border-radius:calc(.66em + 9px)}select,button{cursor:pointer}.site-button{color:var(--accent-color);border:1px solid var(--accent-color);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1.1rem;font-family:inherit;font-weight:700}.site-button:hover:not(:disabled){background:var(--accent-color);color:var(--underlay-color)}.site-button:disabled{opacity:.6;cursor:not-allowed}.menu-game-container{--hk-gutter-left:calc(3% + .2rem);--hk-gutter-right:3%;flex-direction:column;width:100dvw;height:100dvh;display:flex;overflow:hidden}.menu-game-container .content-container{padding-left:0;padding-right:0}@media screen and (width<=700px){.menu-game-container{--hk-gutter-left:calc(.4rem + .7vw);--hk-gutter-right:.4rem}}.content-container{flex-direction:column;flex:auto;min-height:0;padding:.5rem .75rem .6rem;display:flex;overflow:hidden}.content-container.page-shell{background-color:rgba(var(--page-shell-rgb), .78);border:1px solid rgba(var(--body-rgb), .1);width:94%;min-height:91vh;box-shadow:0 0 0 1px rgba(var(--accent-rgb), .06), inset 0 0 90px rgba(var(--underlay-rgb), .28);border-radius:28px;padding:.5rem 0 1.5rem;left:3%;overflow:visible}.main-content{width:50%;margin-left:25%;margin-right:25%}.left-content p,.left-content ul,.left-content li,.left-content pre,.left-content code{text-align:left}.in-article-ad{border-top:1px solid rgba(var(--body-rgb), .18);border-bottom:1px solid rgba(var(--body-rgb), .18);margin:2rem 0;padding:1.5rem 0}.account-divider{border:0;border-top:1px solid rgba(var(--body-rgb), .18);margin:0 0 1.5rem}.left-content p.account-sections-intro{text-align:center;margin:0 0 1rem}nav{position:relative}@media screen and (width<=1300px){.main-content{width:95%;margin-left:2.5%;margin-right:2.5%}}@media screen and (width<=700px){.content-container.page-shell{border-left:0;border-right:0;border-radius:0;width:100%;left:0}}.game-controls{flex-wrap:wrap;justify-content:center;align-items:end;gap:.65rem .9rem;margin-bottom:.5rem;display:flex}.new-game-settings{flex-direction:column;align-items:stretch;gap:.95rem;width:100%;margin-bottom:.8rem;display:flex;container-type:inline-size}.new-game-segmented{background:var(--input-background-color);border:1px solid rgba(var(--accent-rgb), .45);border-radius:999px;padding:.25rem;display:flex}.new-game-segmented button{color:var(--muted-color);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:.55rem 1rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background .15s,color .15s}.new-game-segmented button:hover:not(.selected){color:var(--accent-color)}.new-game-segmented button.selected{background:var(--accent-color);color:var(--underlay-color)}.new-game-panel{background:rgba(var(--body-rgb), .035);border:1px solid rgba(var(--body-rgb), .12);border-radius:18px;flex-direction:column;gap:.95rem;margin-top:-.35rem;padding:.85rem .9rem 1rem;display:flex}.new-game-subtabs{border-bottom:1px solid rgba(var(--body-rgb), .12);justify-content:center;gap:1.4rem;display:flex}.new-game-subtabs button{color:var(--muted-color);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.2rem .1rem .5rem;font-family:inherit;font-size:.9rem;font-weight:700}.new-game-subtabs button:hover:not(.selected){color:var(--body-color)}.new-game-subtabs button.selected{color:var(--accent-color);border-bottom-color:var(--accent-color)}.new-game-panel.new-game-puzzle-panel{margin-top:0;padding-top:.9rem}.new-game-actions{z-index:1;background:var(--background-color);border-top:1px solid rgba(var(--body-rgb), .12);align-self:stretch;margin:.25rem -20px -20px;padding:.75rem 20px 1rem;position:sticky;bottom:-20px}@container (width>=540px){.new-game-settings .new-game-field{grid-template-columns:6.2rem minmax(0,1fr);align-items:center;column-gap:.9rem;display:grid}.new-game-settings .new-game-field.unlabeled{display:flex}.new-game-field .new-game-field-label{text-align:left;letter-spacing:0;text-transform:none;color:var(--muted-color);justify-content:flex-start;font-size:.88rem;font-weight:600}.new-game-field .new-game-field-label:before,.new-game-field .new-game-field-label:after{display:none}.new-game-field:not(.unlabeled) .new-game-choice-row{justify-content:flex-start}.new-game-field:not(.unlabeled) .new-game-field-note{text-align:left;grid-column:2}}.new-game-field{flex-direction:column;align-items:center;gap:.55rem;display:flex}.new-game-field-label{letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--muted-color);align-items:center;gap:.75rem;margin:0;font-size:.78rem;font-weight:700;display:flex}.new-game-field-label:before,.new-game-field-label:after{content:"";background:rgba(var(--body-rgb), .14);flex:1;height:1px}.new-game-choice-row{flex-wrap:wrap;justify-content:center;gap:.45rem;width:100%;display:flex}.new-game-choice{border:1px solid var(--input-border-color);background:var(--input-background-color);min-width:5.2rem;color:var(--body-color);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .35rem .45rem;display:flex}.new-game-choice.compact{min-width:3.55rem;padding:.35rem .28rem .4rem}.new-game-choice-name{color:var(--muted-color);font-size:.72rem;font-weight:700;line-height:1.2}.new-game-choice svg{width:3.15rem;height:3.15rem;display:block}.new-game-choice.compact svg{width:2.7rem;height:2.7rem}.new-game-choice svg polygon{fill:var(--hex-color);stroke:var(--accent-soft);stroke-width:2.2px;stroke-linejoin:round}.new-game-choice svg.corner-patch polygon{stroke-width:1.5px}.new-game-choice svg line{stroke:var(--accent-soft);stroke-width:2.35px;stroke-linecap:round}.new-game-choice svg circle{fill:var(--accent-color)}.new-game-choice.selected{border-color:var(--accent-color);background:rgba(var(--accent-rgb), .14);box-shadow:0 0 0 1px var(--accent-color)}.new-game-choice.selected .new-game-choice-name{color:var(--body-color)}.new-game-choice.selected svg polygon{fill:var(--accent-color);stroke:var(--accent-highlight-color)}.new-game-choice.selected svg line{stroke:var(--accent-color)}.new-game-choice.selected svg circle{fill:var(--accent-highlight-color)}.new-game-choice:hover:not(:disabled):not(.selected){border-color:var(--accent-soft);background:var(--hex-hover-color)}.new-game-choice:disabled{opacity:.32;cursor:not-allowed}.new-game-pill{border:1px solid var(--input-border-color);background:var(--input-background-color);min-width:2.7rem;color:var(--body-color);cursor:pointer;border-radius:999px;padding:.45rem .95rem;font-family:inherit;font-size:.95rem;font-weight:700}.new-game-pill.difficulty{text-transform:capitalize;min-width:0;padding:.45rem .85rem}.new-game-field-note{text-align:center;color:rgba(var(--body-rgb), .7);margin:.5rem 0 0;font-size:.85rem}.expansive-badge{border:1px solid rgba(var(--accent-rgb), .55);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-color);white-space:nowrap;border-radius:999px;padding:.05rem .45rem;font-size:.6rem;font-weight:700;line-height:1.5;display:inline-block}.new-game-pill.selected{border-color:var(--accent-color);background:var(--accent-color);color:var(--underlay-color)}.new-game-pill:hover:not(.selected){border-color:var(--accent-color);color:var(--accent-color)}@media screen and (width<=700px){.new-game-choice-row{gap:.32rem}.new-game-choice{min-width:3.35rem;padding:.3rem .18rem .32rem}.new-game-choice.compact{min-width:2.45rem}.new-game-choice svg{width:2.35rem;height:2.35rem}.new-game-choice.compact svg{width:2.15rem;height:2.15rem}.new-game-choice-name{font-size:.64rem}.new-game-pill.difficulty{padding:.4rem .7rem;font-size:.88rem}}.modal-choices{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.75rem;display:flex}.modal-choices.new-game-actions{margin:.25rem -20px -20px}.game-controls label{color:var(--muted-color);flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.82rem;font-weight:700;display:flex}.game-controls label.game-option-check{flex-direction:row;align-items:center;gap:.45rem}.game-controls label.game-option-check input{width:1.05rem;height:1.05rem;accent-color:var(--button-hover-background-color)}.game-controls select,.game-controls button.generate,.modal-choices button,.board-loading button.generate{border:1px solid var(--input-border-color);background:var(--input-background-color);color:var(--body-color);border-radius:999px;padding:.4rem .85rem;font-family:inherit;font-size:1rem}.game-controls button.generate,.modal-choices button,.board-loading button.generate{border-color:var(--accent-color);color:var(--accent-color);cursor:pointer;background:0 0;padding:.45rem 1.15rem;font-weight:700}.game-controls button.generate:hover:not(:disabled),.modal-choices button:hover:not(:disabled),.board-loading button.generate:hover:not(:disabled){background:var(--accent-color);color:var(--underlay-color)}.modal-choices button.primary,.game-controls button.generate.primary,.board-loading button.generate.primary{background:var(--accent-color);color:var(--underlay-color);border-color:var(--accent-color)}.modal-choices button.primary:hover:not(:disabled),.game-controls button.generate.primary:hover:not(:disabled),.board-loading button.generate.primary:hover:not(:disabled){background:var(--accent-hover-color);border-color:var(--accent-hover-color);color:var(--underlay-color)}.game-controls button.generate:disabled,.modal-choices button:disabled{opacity:.6;cursor:wait}.rules{max-width:720px;color:var(--muted-color);margin:.2rem auto .6rem;font-size:.92rem;line-height:1.4}.strategies-page{line-height:1.6}.strategies-page h2,.strategies-page h3{text-align:left}.strategies-page h2.toc-header{margin-top:2.6rem}.strategies-page h3.toc-header{margin-top:2rem}.table-of-contents h2{margin-top:0}.table-of-contents ul{text-align:left}.table-of-contents a{color:inherit;text-decoration:none}.table-of-contents a:hover{color:var(--accent-hover-color)}.table-of-contents .toc-entry-primary>a{font-weight:700}.error{color:var(--error-color);font-weight:700}.placeholder{color:var(--muted-color);margin-top:2rem}.game-controls,.error,.placeholder{flex:none}hyperkai-game{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex}.menu-game-container hyperkai-board,.menu-game-container .board-loading{flex:auto;min-height:0}.board-loading{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;width:100%;padding:1.5rem 1rem 4.5rem;display:flex}.board-loading-dots{gap:.6rem;display:flex}.board-loading-dots span{background:var(--accent-color);border-radius:50%;width:.75rem;height:.75rem;animation:1.2s ease-in-out infinite board-loading-dot}.board-loading-dots span:nth-child(2){animation-delay:.15s}.board-loading-dots span:nth-child(3){animation-delay:.3s}.board-loading-title{color:var(--body-color);letter-spacing:.04em;margin:.4rem 0 0;font-weight:700}.board-loading-detail{color:var(--muted-color);margin:0;font-size:.92rem}.board-loading-idle{gap:1.1rem}.board-loading-idle .placeholder{margin:0}@keyframes board-loading-dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}modal-layover{z-index:1100;pointer-events:none;position:fixed;inset:0}modal-layover .layover-container{pointer-events:auto}h1,h2,h3{letter-spacing:.02em}hr{border:0;border-top:1px solid rgba(var(--accent-rgb), .18)}