
[hidden]{display:none!important}h1{margin:.8rem 0}#app{max-width:780px}.consent{display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0;font-size:.9rem}
.consent input{margin-top:.35rem;flex-shrink:0}.sync{font-size:.875rem;color:var(--ink-soft);text-align:center;min-height:1.5em}
details{margin:.8rem 0}summary{cursor:pointer;font-weight:700}code{overflow-wrap:anywhere;user-select:all}
textarea{width:100%;min-height:90px;font:inherit;padding:.7rem;border:var(--bd-thin);border-radius:var(--r)}
.chain{display:flex;gap:.5rem;flex-wrap:wrap}.chain .step-cell{min-width:4.4rem}
.topbar{font-size:.9rem}.cue-card{flex:1}.feedback{margin:.7rem 0;padding:.8rem;border:var(--bd-thin);border-radius:var(--r);background:var(--paper)}
.feedback.ok{border-left:8px solid var(--green)}.feedback.bad{border-left:8px solid var(--pink)}
.pool-label{margin-top:.8rem}.candidate{display:inline-block;border:var(--bd-thin);padding:.2rem .55rem;border-radius:8px;margin:.2rem}
dialog{max-width:560px;width:calc(100% - 2rem);border:var(--bd);border-radius:var(--r-lg);background:var(--paper);padding:1.5rem}
dialog::backdrop{background:#0008}.word-box{margin:1rem 0}.hint{color:#57534b}.kicker{font-size:.8rem}
button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.quit-area{border-top:var(--bd-thin);margin-top:1rem;padding-top:.7rem}
@media(max-width:500px){.card{padding:1rem}.cue-card{min-width:6rem}.cue-zh{font-size:1.4rem}.btn-row{flex-direction:column}}
