@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37lm1_mvIiQublWIIkfg.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:italic;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37lm1_mvMiQublWIIkfg.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:italic;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NUs8FyLNQOQZAnv9ZwNjucMHVn85Ni7emAe9lKqZTnbB-gzTK0K1ChJdt9hFwpX9W37lm1_mv0iQublWII.woff2) format('woff2');unicode-range:U+0000-00FF,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:500;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCBTeP2Xz5fU8w.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:500;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCFTeP2Xz5fU8w.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:500;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxC9TeP2Xz5c.woff2) format('woff2');unicode-range:U+0000-00FF,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:600;font-display:swap;src:url(https://fonts.gstatic.com/s/fraunces/v38/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCBTeP2Xz5fU8w.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(https://fonts.gstatic.com/s/fraunces/v38/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCFTeP2Xz5fU8w.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(https://fonts.gstatic.com/s/fraunces/v38/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxC9TeP2Xz5c.woff2) format('woff2');unicode-range:U+0000-00FF,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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,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:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.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:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,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}.kst-wrap{--bg:#f7f8fa;--panel:#ffffff;--panel-edge:#e3e6ec;--wood-1:#e7e0d0;--wood-2:#d3c8ac;--ivory:#ffffff;--ivory-shadow:#e2e5ea;--ebony:#1b2a4a;--ebony-top:#2f3f63;--cream:#1b2a4a;--muted:#6b7280;--brass:#ad9337;--brass-bright:#c9a83f;--teal:#4073a2;--teal-bright:#5c8fc0;--sage:#5f9a5b;--terracotta:#c1633f;--radius-lg:22px;--radius-sm:10px}.kst-wrap *{box-sizing:border-box}.kst-wrap{margin:0;box-sizing:border-box;background:radial-gradient(ellipse at 50% -10%,#ffffff 0%,var(--bg) 55%);color:var(--cream);font-family:'Inter',sans-serif;display:flex;flex-direction:column;align-items:center;padding:28px 16px 48px;gap:22px;border-radius:12px;border:1px solid var(--panel-edge)}.kst-wrap .site-head{width:100%;max-width:1040px;display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap}.kst-wrap .site-head .site-logo{flex:0 0 auto;width:112px;height:112px;object-fit:contain;display:block}.kst-wrap .site-head h1{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(26px, 4vw, 34px);margin:0;color:var(--cream);letter-spacing:.2px}.kst-wrap .site-head p{margin:0;color:var(--muted);font-size:14px;max-width:360px}.kst-wrap .controls{width:100%;max-width:1040px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius-lg);padding:18px 22px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.kst-wrap .field{display:flex;flex-direction:column;gap:6px}.kst-wrap .field label{font-size:12px;color:var(--muted)}.kst-wrap select{appearance:none;background:#fff;border:1px solid #d7dbe2;color:var(--cream);padding:9px 34px 9px 12px;border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:14px;font-weight:500;min-width:148px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0L5 6L10 0Z' fill='%23ad9337'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.kst-wrap select:focus,.kst-wrap button:focus-visible{outline:2px solid var(--brass-bright);outline-offset:2px}.kst-wrap .field-speed{min-width:150px}.kst-wrap .field-speed label{display:flex;align-items:center;gap:6px}.kst-wrap .speed-value{font-family:'Inter',sans-serif;font-weight:600;font-size:11.5px;color:var(--cream);background:#eef0f3;border:1px solid #d7dbe2;padding:1px 7px;border-radius:999px}.kst-wrap input[type="range"].js-speed-slider{-webkit-appearance:none;appearance:none;width:100%;min-width:148px;height:22px;background:#fff0;outline:none;cursor:pointer;margin:9px 0 5px;padding:0}.kst-wrap input[type="range"].js-speed-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--teal) 0%,var(--brass) 100%)}.kst-wrap input[type="range"].js-speed-slider::-moz-range-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--teal) 0%,var(--brass) 100%)}.kst-wrap input[type="range"].js-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brass);box-shadow:0 1px 3px rgb(0 0 0 / .25);cursor:pointer;margin-top:-6px}.kst-wrap input[type="range"].js-speed-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brass);box-shadow:0 1px 3px rgb(0 0 0 / .25);cursor:pointer}.kst-wrap input[type="range"].js-speed-slider:focus-visible{outline:2px solid var(--brass-bright);outline-offset:3px}.kst-wrap .btn-row{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}.kst-wrap button.btn{font-family:'Inter',sans-serif;font-weight:600;font-size:14px;padding:10px 20px;border-radius:var(--radius-sm);border:1px solid #fff0;cursor:pointer;transition:transform .12s ease,filter .12s ease}.kst-wrap button.btn:active{transform:translateY(1px)}.kst-wrap .btn-primary{background:linear-gradient(180deg,var(--brass-bright),var(--brass));color:#221803}.kst-wrap .btn-primary:hover{filter:brightness(1.07)}.kst-wrap .btn-ghost{background:#fff0;border-color:#c7cdd6;color:var(--cream)}.kst-wrap .btn-ghost:hover{border-color:var(--brass)}.kst-wrap .btn-ghost:disabled,.kst-wrap .btn-primary:disabled{opacity:.4;cursor:not-allowed}.kst-wrap .stage{width:100%;max-width:1040px;display:flex;flex-direction:column;align-items:center;gap:18px;position:relative}.kst-wrap .instruction{width:100%;text-align:center;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.kst-wrap .instruction .idle{color:var(--muted);font-size:15px}.kst-wrap .prompt-row{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;align-items:center}.kst-wrap .prompt{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:600;font-size:clamp(22px, 3.4vw, 30px);color:var(--cream);transition:opacity .2s ease,color .2s ease}.kst-wrap .prompt .dot{width:13px;height:13px;border-radius:50%;display:inline-block;flex-shrink:0}.kst-wrap .prompt.hand-R .dot{background:var(--brass-bright);box-shadow:0 0 10px rgb(224 189 124 / .6)}.kst-wrap .prompt.hand-L .dot{background:var(--teal-bright);box-shadow:0 0 10px rgb(111 176 166 / .6)}.kst-wrap .prompt .finger{font-family:'Inter',sans-serif;font-weight:600;font-size:13px;color:var(--muted);background:#eef0f3;border:1px solid #d7dbe2;padding:3px 9px;border-radius:999px}.kst-wrap .prompt.done{color:var(--sage);opacity:.55}.kst-wrap .prompt.done .finger{color:var(--sage)}.kst-wrap .meta-row{display:flex;gap:18px;font-size:12.5px;color:var(--muted);flex-wrap:wrap;justify-content:center}.kst-wrap .meta-row b{color:var(--cream);font-weight:600}.kst-wrap .progress-track{width:100%;max-width:460px;height:6px;border-radius:999px;background:#eef0f3;overflow:hidden;border:1px solid #d7dbe2}.kst-wrap .progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--teal),var(--brass));transition:width .25s ease}.kst-wrap .piano-scroll{width:100%;overflow-x:auto;padding:6px 4px 18px}.kst-wrap .piano-scroll::-webkit-scrollbar{height:8px}.kst-wrap .piano-scroll::-webkit-scrollbar-thumb{background:#c7cdd6;border-radius:8px}.kst-wrap .piano-scroll::-webkit-scrollbar-track{background:#fff0}.kst-wrap .piano-case{margin:0 auto;background:linear-gradient(180deg,var(--wood-1),var(--wood-2));border-radius:16px;padding:16px 16px 12px;box-shadow:0 30px 60px -20px rgb(0 0 0 / .7),inset 0 1px 0 rgb(255 255 255 / .05);position:relative;width:max-content}.kst-wrap .piano-case::before{content:"";position:absolute;top:6px;left:20px;right:20px;height:2px;background:linear-gradient(90deg,transparent,var(--brass) 20%,var(--brass) 80%,transparent);opacity:.55}.kst-wrap .keys{position:relative;height:158px}.kst-wrap .key{position:absolute;top:0;border:none;cursor:pointer;padding:0;display:flex;align-items:flex-end;justify-content:center;font-family:'Inter',sans-serif;transition:background .12s ease,box-shadow .12s ease;touch-action:none;-webkit-user-select:none;user-select:none}.kst-wrap .key.white{height:100%;width:var(--wk,26px);background:linear-gradient(180deg,var(--ivory) 0%,var(--ivory) 88%,var(--ivory-shadow) 100%);border-radius:0 0 6px 6px;box-shadow:inset -1px 0 0 rgb(0 0 0 / .12),inset 0 -3px 4px rgb(0 0 0 / .08);z-index:1;color:#8a7c62;font-size:9.5px;padding-bottom:8px}.kst-wrap .key.white:hover{background:linear-gradient(180deg,#fff 0%,#fff 88%,var(--ivory-shadow) 100%)}.kst-wrap .key.white:active{background:#e3e6ea}.kst-wrap .key.black{height:62%;width:var(--bk,16px);background:linear-gradient(180deg,var(--ebony-top),var(--ebony));border-radius:0 0 4px 4px;z-index:2;box-shadow:0 3px 4px rgb(0 0 0 / .5),inset 0 -4px 6px rgb(0 0 0 / .4)}.kst-wrap .key.black:hover{background:linear-gradient(180deg,#3d4f78,#24345a)}.kst-wrap .key.black:active{background:#10192e}.kst-wrap .key .label{pointer-events:none;opacity:.8}.kst-wrap .key.target{z-index:5}.kst-wrap .key.white.target{background:linear-gradient(180deg,#ffffff,#f2f3f5);box-shadow:0 0 0 2px var(--target-color,var(--brass)) inset,0 0 14px 1px var(--target-color,var(--brass))}.kst-wrap .key.black.target{background:linear-gradient(180deg,#3d4f78,#24345a);box-shadow:0 0 0 2px var(--target-color,var(--brass)) inset,0 0 14px 1px var(--target-color,var(--brass))}.kst-wrap .key.satisfied{box-shadow:0 0 0 2px var(--sage) inset,0 0 14px 1px var(--sage)!important}@keyframes flashCorrect{0%{filter:brightness(1)}35%{filter:brightness(1.5) saturate(1.3)}100%{filter:brightness(1)}}@keyframes flashWrong{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.kst-wrap .key.flash-correct{animation:flashCorrect .4s ease}.kst-wrap .key.flash-wrong{animation:flashWrong .3s ease;background:var(--terracotta)!important}.kst-wrap .finger-badge{position:absolute;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:700;font-size:12px;color:#1a1206;border:2px solid rgb(0 0 0 / .25);z-index:6;pointer-events:none;animation:badgeIn .18s ease}@keyframes badgeIn{from{transform:translateX(-50%) scale(.5);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}.kst-wrap .finger-badge.hand-R{background:var(--brass-bright)}.kst-wrap .finger-badge.hand-L{background:var(--teal-bright)}.kst-wrap .finger-badge.done{background:var(--sage);color:#12200a}.kst-wrap .legend{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-size:13px;color:var(--muted)}.kst-wrap .legend .chip{display:flex;align-items:center;gap:8px}.kst-wrap .legend .swatch{width:11px;height:11px;border-radius:50%}.kst-wrap .legend .swatch.R{background:var(--brass-bright)}.kst-wrap .legend .swatch.L{background:var(--teal-bright)}.kst-wrap footer.note{max-width:640px;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}.kst-wrap .overlay{position:fixed;inset:0;background:rgb(15 11 7 / .86);display:flex;align-items:center;justify-content:center;z-index:50;opacity:0;pointer-events:none;transition:opacity .25s ease}.kst-wrap .overlay.show{opacity:1;pointer-events:auto}.kst-wrap .overlay-card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius-lg);padding:40px 44px;text-align:center;max-width:420px;transform:scale(.9);transition:transform .25s ease;box-shadow:0 40px 80px -20px rgb(0 0 0 / .8)}.kst-wrap .overlay.show .overlay-card{transform:scale(1)}.kst-wrap .overlay-card h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:30px;margin:0 0 8px;color:var(--brass-bright)}.kst-wrap .overlay-card p{color:var(--muted);font-size:14px;margin:0 0 24px;line-height:1.6}.kst-wrap .overlay-card .btn-row{margin:0;justify-content:center}@media (max-width:640px){.kst-wrap .controls{padding:16px}.kst-wrap select{min-width:130px}.kst-wrap .btn-row{margin-left:0;width:100%}}.kst-wrap{position:relative}.kst-wrap .kst-splash{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#ffffff 0%,var(--bg) 70%);border-radius:12px;opacity:1;transition:opacity 0.45s ease}.kst-wrap .kst-splash.is-hidden{opacity:0;pointer-events:none}.kst-wrap .kst-splash-logo{width:120px;height:120px;object-fit:contain;animation:kst-splash-pulse 1.1s ease-in-out infinite}@keyframes kst-splash-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}@media (prefers-reduced-motion:reduce){.kst-wrap .kst-splash-logo{animation:none}}