:root{--bp-font-latin:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";--bp-font-cjk:"PingFang TC", "PingFang SC", "Hiragino Sans", "Microsoft JhengHei", "Microsoft YaHei", "Noto Sans CJK TC", "Noto Sans CJK SC", "Noto Sans CJK JP";--bp-bg:var(--tg-theme-bg-color,#fff);--bp-text:var(--tg-theme-text-color,#000);--bp-hint:var(--tg-theme-hint-color,#707579);--bp-button:var(--tg-theme-button-color,#3390ec);--bp-button-text:var(--tg-theme-button-text-color,#fff);--bp-error:var(--tg-theme-destructive-text-color,#e53935);--bp-secondary-bg:var(--tg-theme-secondary-bg-color,#f1f1f4);--bp-correct:#2e9e4f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bp-bg:var(--tg-theme-bg-color,#17212b);--bp-text:var(--tg-theme-text-color,#f5f5f5);--bp-hint:var(--tg-theme-hint-color,#708499);--bp-button:var(--tg-theme-button-color,#5288c1);--bp-error:var(--tg-theme-destructive-text-color,#ec3942);--bp-secondary-bg:var(--tg-theme-secondary-bg-color,#232e3c);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:lang(zh),:root:lang(ja){--bp-font:var(--bp-font-cjk), var(--bp-font-latin), sans-serif}*,:before,:after{box-sizing:border-box}body{min-height:100vh;min-height:100dvh;font-family:var(--bp-font,var(--bp-font-latin), var(--bp-font-cjk), sans-serif);background:var(--bp-bg);color:var(--bp-text);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;line-break:strict;overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.5}#app{width:100%;max-width:552px;padding:calc(24px + max(env(safe-area-inset-top,0px), var(--tg-safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px)) calc(16px + max(env(safe-area-inset-right,0px), var(--tg-safe-area-inset-right,0px)) + var(--tg-content-safe-area-inset-right,0px)) calc(24px + max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px)) calc(16px + max(env(safe-area-inset-left,0px), var(--tg-safe-area-inset-left,0px)) + var(--tg-content-safe-area-inset-left,0px));margin-inline:auto}main{flex-direction:column;gap:16px;min-width:0;display:flex}main>*,.card>*,.actions>*,.nav>*{min-width:0}p{margin:0}h1{letter-spacing:-.02em;margin:0;font-size:1.75rem;line-height:1.2}.hint{color:var(--bp-hint);margin:0}.error{color:var(--bp-error)}button{font:inherit;background:var(--bp-button);min-width:0;min-height:48px;color:var(--bp-button-text);touch-action:manipulation;white-space:normal;overflow-wrap:anywhere;cursor:pointer;border:0;border-radius:12px;padding:14px 16px;font-weight:600;line-height:1.4}:where(button,select,textarea,input):focus-visible{outline:3px solid var(--bp-button);outline-offset:3px}button:disabled{opacity:.6;cursor:default}h2{margin:0;font-size:1.25rem;line-height:1.3}button.secondary{color:var(--bp-button);box-shadow:inset 0 0 0 1px var(--bp-button);background:0 0}button.link{color:var(--bp-button);text-align:start;background:0 0;padding:12px 16px}.card{background:var(--bp-secondary-bg);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.card.primary{box-shadow:inset 0 0 0 2px var(--bp-button)}.card.frame{box-shadow:inset 0 0 0 2px #d4a017,0 0 0 2px #d4a01759}button.danger{color:var(--bp-error);box-shadow:inset 0 0 0 1px var(--bp-error);background:0 0}.actions{flex-wrap:wrap;gap:12px;display:flex}.actions button{flex:9rem}.label{margin:0;font-weight:600}.banner{background:var(--bp-secondary-bg);border-radius:12px;margin:0;padding:12px}.countdown{text-align:center;margin:0;font-size:32px;font-weight:700}.round-bar{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rival{min-width:0;color:var(--bp-hint);flex:160px;align-items:center;gap:8px;display:flex}.rival progress{width:96px;max-width:100%;accent-color:var(--bp-button);flex:0 0 96px}.game{flex-direction:column;gap:12px;display:flex}.game-goal{text-align:center;margin:0;font-size:22px;font-weight:700}.grid{aspect-ratio:1;-webkit-user-select:none;user-select:none;grid-auto-rows:minmax(0,1fr);gap:6px;display:grid}.cell{aspect-ratio:1;font-variant-numeric:tabular-nums;background:var(--bp-secondary-bg);width:100%;min-width:0;height:100%;min-height:0;color:var(--bp-text);padding:0;font-size:22px}.cell.found{opacity:.35}.cell.lit{background:var(--bp-button)}.cell:disabled{opacity:1}.options{flex-direction:column;gap:8px;display:flex}.option{text-align:start;background:var(--bp-secondary-bg);color:var(--bp-text)}.option:disabled{opacity:1}.option.picked{box-shadow:inset 0 0 0 2px var(--bp-button)}.option.correct{background:var(--bp-correct);color:#fff}.option.wrong{background:var(--bp-error);color:#fff}form,fieldset{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}textarea,select{font:inherit;border:1px solid var(--bp-hint);background:var(--bp-bg);width:100%;min-width:0;min-height:48px;color:var(--bp-text);border-radius:12px;padding:12px}textarea{resize:vertical;min-height:128px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--bp-hint) 50%), linear-gradient(135deg, var(--bp-hint) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-inline-end:44px}.nav{flex-wrap:wrap;gap:12px;display:flex}.nav button{flex:45%;min-width:min(100%,9rem)}.card.offer .actions{flex-direction:column}.card.offer .actions button{flex:auto}.skill{flex-direction:column;gap:4px;display:flex}.skill-head{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.bar{background:var(--bp-bg);border-radius:5px;height:10px;overflow:hidden}.bar-fill{background:var(--bp-button);height:100%}label.toggle{cursor:pointer;align-items:center;gap:10px;min-height:48px;display:flex}input[type=checkbox],input[type=radio]{width:22px;height:22px;accent-color:var(--bp-button);flex:0 0 22px;margin:0}main label:not(.toggle,.rival,.choice){flex-direction:column;gap:6px;display:flex}label.choice{cursor:pointer;align-items:center;gap:12px;min-height:48px;display:flex}legend{margin-bottom:12px;padding:0;font-weight:600}main div:where([role=alert],[role=status],[data-testid=ghost-label]){flex-direction:column;gap:12px;display:flex}@media (max-width:360px){.grid{gap:4px}}@media (prefers-reduced-motion:no-preference){button:active:not(:disabled){filter:brightness(.92)}}
