.sd-wrap{max-width:560px;margin:0 auto;padding:14px 12px 96px;display:flex;flex-direction:column;gap:14px}.sd-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sd-title{display:flex;flex-direction:column;gap:3px}.sd-title h1{margin:0;font-size:20px;font-weight:800}.sd-title span{font-size:12px;opacity:.6}.sd-panel{border:1px solid var(--hair,rgba(255,255,255,.12));border-radius:18px;background:var(--glass,rgba(255,255,255,.05));padding:14px;gap:14px}.sd-field,.sd-panel{display:flex;flex-direction:column}.sd-field{gap:8px}.sd-field>label{font-size:12px;letter-spacing:.04em;opacity:.62}.sd-choices{display:flex;flex-wrap:wrap;gap:8px}.sd-choice{flex:1 1 auto;min-width:0;padding:9px 12px;border-radius:999px;border:1px solid var(--hair,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:inherit;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.sd-choice[data-on="1"]{border-color:var(--accent,#ff3b46);background:color-mix(in srgb,var(--accent,#ff3b46) 18%,transparent);color:var(--accent,#ff3b46)}.sd-go{padding:13px 16px;border-radius:14px;border:0;background:var(--accent,#ff3b46);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer}.sd-go:disabled{opacity:.5;cursor:default}.sd-ghost{padding:11px 14px;border-radius:12px;border:1px solid var(--hair,rgba(255,255,255,.14));background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.sd-code-row{display:flex;gap:8px}.sd-code-row input{flex:1 1;min-width:0;padding:11px 14px;border-radius:12px;border:1px solid var(--hair,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:inherit;font:inherit;font-size:16px;font-weight:800;letter-spacing:.28em;text-align:center;text-transform:uppercase}.sd-note{margin:0;font-size:12px;line-height:1.6;opacity:.6}.sd-error{margin:0;font-size:13px;font-weight:700;color:var(--accent,#ff3b46)}.sd-status{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.sd-stat{flex:1 1;min-width:78px;padding:8px 10px;border-radius:12px;border:1px solid var(--hair,rgba(255,255,255,.12));background:rgba(255,255,255,.04);text-align:center}.sd-stat small{display:block;font-size:10px;letter-spacing:.1em;opacity:.55}.sd-stat strong{display:block;margin-top:2px;font-size:17px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.sd-stat[data-warn="1"] strong{color:var(--accent,#ff3b46)}.sd-rival{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;border:1px solid var(--hair,rgba(255,255,255,.12));background:rgba(255,255,255,.04)}.sd-rival .sd-blank,.sd-rival img{width:32px;height:32px;border-radius:10px;object-fit:cover;background:rgba(255,255,255,.08);flex:none}.sd-rival-copy{flex:1 1;min-width:0}.sd-rival-copy b{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-bar{margin-top:5px;height:5px;background:rgba(255,255,255,.1);overflow:hidden}.sd-bar,.sd-bar i{border-radius:999px}.sd-bar i{display:block;height:100%;background:var(--accent,#ff3b46);transition:width .25s ease}.sd-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);grid-gap:0;gap:0;border:2px solid var(--ink-line,rgba(255,255,255,.55));border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);touch-action:manipulation;direction:ltr}.sd-cell{position:relative;display:grid;place-items:center;border:0;padding:0;margin:0;background:transparent;color:inherit;font:inherit;font-size:clamp(15px,5.2vw,26px);font-weight:700;cursor:pointer;box-shadow:inset -1px 0 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(255,255,255,.1)}.sd-cell[data-r3="1"]{box-shadow:inset -1px 0 0 rgba(255,255,255,.1),inset 0 -2px 0 var(--ink-line,rgba(255,255,255,.42))}.sd-cell[data-c3="1"]{box-shadow:inset -2px 0 0 var(--ink-line,rgba(255,255,255,.42)),inset 0 -1px 0 rgba(255,255,255,.1)}.sd-cell[data-r3="1"][data-c3="1"]{box-shadow:inset -2px 0 0 var(--ink-line,rgba(255,255,255,.42)),inset 0 -2px 0 var(--ink-line,rgba(255,255,255,.42))}.sd-cell[data-given="1"]{color:var(--ink,#fff);font-weight:900}.sd-cell[data-given="0"]{color:var(--ink-soft,rgba(255,255,255,.66));font-weight:700}.sd-cell[data-peer="1"]{background:rgba(255,255,255,.05)}.sd-cell[data-same="1"]{background:rgba(255,255,255,.13)}.sd-cell[data-on="1"]{background:color-mix(in srgb,var(--accent-deep,#ff3b30) 30%,transparent)}.sd-cell[data-bad="1"]{background:color-mix(in srgb,var(--bad,#ff3b30) 20%,transparent)}.sd-cell[data-bad="1"][data-given="0"]{color:var(--bad,#ff3b30);font-weight:900}.sd-notes{position:absolute;inset:2px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font-size:9px;font-weight:700;opacity:.55;pointer-events:none}.sd-notes span{display:grid;place-items:center}.sd-pad{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:5px;gap:5px}.sd-key{padding:12px 0;border-radius:11px;border:1px solid var(--hair,rgba(255,255,255,.14));background:rgba(255,255,255,.05);color:inherit;font:inherit;font-size:clamp(15px,4.6vw,20px);font-weight:800;cursor:pointer}.sd-key:disabled{opacity:.28;cursor:default}.sd-key small{display:block;font-size:9px;font-weight:700;opacity:.45;margin-top:1px}.sd-tools{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.sd-tool{padding:11px 8px;border-radius:12px;border:1px solid var(--hair,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:inherit;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.sd-tool[data-on="1"]{border-color:var(--accent,#ff3b46);color:var(--accent,#ff3b46)}.sd-tool:disabled{opacity:.4;cursor:default}.sd-result{padding:16px;border-radius:18px;border:1px solid var(--hair,rgba(255,255,255,.14));background:var(--glass,rgba(255,255,255,.06));text-align:center;display:flex;flex-direction:column;gap:10px}.sd-result h2{margin:0;font-size:22px;font-weight:900}.sd-result p{margin:0;font-size:13px;opacity:.7}.sd-result[data-win="1"] h2{color:#35d07f}.sd-result[data-win="0"] h2{color:var(--accent,#ff3b46)}.sd-share{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:14px;border:1px dashed var(--hair,rgba(255,255,255,.2));font-size:26px;font-weight:900;letter-spacing:.34em;text-indent:.34em}