:root{--bg:#fff;--card:#fff;--text:#1b1f24;--muted:#5f6b7a;--line:#d6dbe2;--blue:#3e6990;--green:#7eb09b;--wine:#750d37;--blue-soft:#e8eef4;--green-soft:#e9f3ee;--wine-soft:#f6e6ec;--accent:var(--blue);--good:var(--green);--good-soft:var(--green-soft);--bad:var(--wine);--bad-soft:var(--wine-soft);--warn:var(--wine);--warn-soft:var(--wine-soft);--gold:var(--green);--gold-soft:var(--green-soft);--radius:18px;--page-width:640px;--grid-gap:8px;--cell-font-size:clamp(0.85rem,2.8vw,1rem);--clue-font-size:clamp(0.72rem,2.4vw,0.92rem);--mono:"Space Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--sans:Roboto,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#fff;background:var(--bg);color:#1b1f24;color:var(--text);font-family:Roboto,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--sans);margin:0}button,input,select{font:inherit}.page{margin:0 auto;padding:20px 0 40px;width:min(var(--page-width),calc(100vw - 24px))}.hero{align-items:center;display:flex;gap:clamp(12px,3vw,24px);margin-bottom:18px}.hero h1{font-family:var(--mono);font-size:clamp(1.8rem,6.5vw,2.8rem);letter-spacing:-.02em;line-height:1;margin:0}.hero h1:after{color:var(--wine);content:"."}.logo{aspect-ratio:3.78/3.58;color:var(--text);container-type:size;flex:0 0 auto;font-family:var(--mono);font-weight:700;position:relative;-webkit-user-select:none;user-select:none;width:clamp(104px,30vw,190px)}.logo img{display:block;position:absolute}.logo-sheet{left:32%;top:0;width:60.3%}.logo-helix{left:0;top:45.8%;width:43.9%}.logo span{align-items:center;display:flex;font-size:calc(clamp(104px, 30vw, 190px)*.22);font-size:23.3cqh;height:31%;letter-spacing:.1em;line-height:1;padding-left:2.6%;position:absolute;width:41%}.logo-pr{left:7.1%;top:5.6%}.logo-ot{left:6.6%;top:25.1%}.logo-gr{left:46%;top:49.4%}.logo-id{left:46.8%;top:69%}.subtitle{color:var(--muted);margin:6px 0 0}.eyebrow{color:var(--blue);font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.04em;margin:0 0 4px}.eyebrow:before{color:var(--green);content:"// "}h2{font-family:var(--mono)}.small{color:var(--muted);font-size:.85rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px #0f172a0f}.grid-card{padding:10px}.protein-grid{grid-gap:var(--grid-gap);align-items:stretch;display:grid;gap:var(--grid-gap);grid-template-columns:var(--grid-columns);grid-template-rows:var(--grid-rows)}.grid-corner{min-height:48px}.clue{align-items:center;background:var(--blue-soft);border-radius:14px;color:var(--blue);display:flex;font-size:var(--clue-font-size);font-weight:700;justify-content:center;min-height:58px;padding:8px;text-align:center}.clue-row{background:var(--green-soft);color:#3f6f58}.grid-corner{align-items:center}.grid-cell,.grid-corner{display:flex;justify-content:center}.grid-cell{aspect-ratio:1/1;background:#fff;border:2px solid var(--line);border-radius:16px;flex-direction:column;min-width:0;padding:8px;position:relative;transition:border-color .12s ease,background .12s ease}.grid-cell.active{border-color:var(--accent)}.grid-cell input{background:#0000;border:0;color:var(--text);font-family:var(--mono);font-size:var(--cell-font-size);font-weight:700;outline:none;text-align:center;width:100%}.cell-correct{background:var(--good-soft);border-color:var(--good)}.cell-duplicate{background:var(--warn-soft);border-color:var(--warn)}.cell-incorrect,.cell-revealed{background:var(--bad-soft);border-color:var(--bad)}.cell-checking{background:var(--blue-soft)}.answer-count{bottom:6px;font-style:italic;left:0;pointer-events:none;position:absolute;right:0}.answer-count,.cell-message{color:var(--muted);font-size:.68rem;text-align:center}.cell-message{margin:5px 0 0;min-height:24px}.suggestion-menu{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 32px #0f172a29;left:4px;max-height:220px;overflow-y:auto;position:absolute;right:4px;top:calc(100% - 4px);z-index:20}.suggestion-menu button{grid-gap:2px;background:#fff;border:0;border-bottom:1px solid #edf2f7;display:grid;gap:2px;padding:8px 10px;text-align:left;width:100%}.suggestion-menu button.highlighted,.suggestion-menu button:hover{background:var(--blue-soft)}.suggestion-menu strong{font-family:var(--mono)}.suggestion-menu em,.suggestion-menu span{color:var(--muted);font-size:.75rem}.suggestion-menu span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding:12px}.button{background:var(--accent);border:0;border-radius:999px;color:#fff;font-weight:700;padding:10px 16px}.button:disabled{opacity:.5}.button-secondary{background:var(--text)}.reveal{margin-top:14px;padding:14px}.reveal-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.reveal h2{font-size:1rem;margin:0}.cell-picker{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cell-picker button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px}.cell-picker .selected{background:var(--text);color:#fff}.answer-list{grid-gap:8px;display:grid;gap:8px;max-height:58vh;overflow-y:auto;padding-right:4px}.protein-card{grid-gap:10px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;gap:10px;grid-template-columns:1fr auto;padding:10px}.protein-card.golden{background:var(--green-soft);border-color:var(--green)}.protein-card strong{display:block;font-family:var(--mono);font-size:1rem}.protein-card span{color:var(--muted);font-size:.86rem}.protein-card p{font-size:.88rem;margin:6px 0 0}.protein-card aside{color:var(--muted);text-align:right}.protein-card aside span{color:var(--wine);display:block;font-family:var(--mono);font-weight:700}.error-card{padding:18px}@media (max-width:520px){.page{padding-top:10px;width:calc(100vw - 12px)}.grid-card{padding:6px}.protein-grid{--grid-gap:6px}.reveal-header,.toolbar{align-items:stretch;flex-direction:column}.button{width:100%}.clue{border-radius:10px;padding:5px}.grid-cell{border-radius:12px;padding:5px}.cell-message{display:none}}.toolbar-score{align-items:baseline;display:flex;gap:8px}.toolbar-score strong{font-size:1.6rem}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.score{margin-top:12px;padding:18px}.score-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.score-header h2{color:var(--wine);font-size:2rem;margin:4px 0}.score-max{color:var(--muted);font-size:1rem;font-weight:500}.player-stats{display:flex;gap:14px;margin:0}.player-stats div{text-align:center}.player-stats dt{color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.player-stats dd{font-size:1.1rem;font-weight:700;margin:0}.score-breakdown{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:14px 0 0;padding:0}.score-breakdown li{align-items:center;border:1px solid var(--line);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.score-breakdown li.unscored{opacity:.6}.score-breakdown li div{grid-gap:2px;display:grid;gap:2px}.score-breakdown li em,.score-breakdown li span{color:var(--muted);font-size:.78rem;font-style:normal}.score-breakdown li b,.score-breakdown li strong{font-family:var(--mono)}.score-breakdown li b{color:var(--wine);font-size:1.2rem;white-space:nowrap}.leaderboard-form{grid-gap:8px;display:grid;gap:8px;margin-top:16px}.leaderboard-form label{font-size:.9rem;font-weight:600}.leaderboard-form-row{display:flex;flex-wrap:wrap;gap:8px}.leaderboard-form-row input{border:1px solid var(--line);border-radius:10px;flex:1 1 180px;font:inherit;padding:10px 12px}.form-error{color:#b42318;font-size:.85rem;margin:0}.submission-note{background:var(--green-soft);border-radius:10px;margin-top:14px;padding:10px 12px}.notoriety-label{color:var(--muted);display:block;font-size:.72rem;margin-top:4px}.leaderboard{margin-top:12px;padding:18px}.leaderboard-list{grid-gap:4px;display:grid;gap:4px;list-style:none;margin:12px 0 0;padding:0}.leaderboard-list li{grid-gap:8px;border-radius:10px;display:grid;gap:8px;grid-template-columns:48px 1fr auto;padding:8px 10px}.leaderboard-list li:nth-child(odd){background:#f6f7f9}.leaderboard-list li.you{background:var(--blue-soft);font-weight:600}.leaderboard-list .name{font-family:var(--mono)}.leaderboard-list .rank{color:var(--muted)}.leaderboard-list .points{color:var(--wine);font-family:var(--mono);font-weight:700}.leaderboard-form select{background:#fff;border:1px solid var(--line);border-radius:10px;font:inherit;max-width:100%;padding:10px 12px}.username-preview{color:var(--muted);font-size:.85rem;margin:0}.username-preview strong{color:inherit}.flag{border-radius:2px;box-shadow:0 0 0 1px #00000014;height:15px;margin-right:6px;vertical-align:-2px;width:20px}.leaderboard-list .name{align-items:center;display:flex;gap:2px;min-width:0}.score-ticker{align-items:baseline;display:flex;gap:8px}.score-ticker strong{font-feature-settings:"tnum";color:var(--wine);font-family:var(--mono);font-size:1.8rem;font-variant-numeric:tabular-nums;min-width:2ch}