.dct{--r: 26px;max-width:540px;margin:0 auto;background:#fff;border:3px solid color-mix(in oklch,var(--color-brand-sky) 28%,#fff);border-radius:var(--r);box-shadow:0 10px color-mix(in oklch,var(--color-brand-sky) 18%,#e8e8e8),0 20px 40px #00000012;padding:clamp(1.25rem,4vw,2rem);text-align:center}.dct-segrow{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.dct-seg{font-family:var(--font-sans);font-weight:800;cursor:pointer;border:2px solid #E7ECF1;background:#fff;color:#5c5c66;border-radius:999px;padding:.5rem .9rem;font-size:.95rem;min-width:3rem;transition:transform .1s ease,border-color .1s ease,background .1s ease,color .1s ease}.dct-seg:hover{border-color:var(--color-brand-sky)}.dct-seg.is-active{background:var(--color-brand-sky-deep);border-color:var(--color-brand-sky-deep);color:#fff}.dct-seg.dct-seg-pulse{animation:dct-pulse .3s ease}@keyframes dct-pulse{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.dct-score{display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:1rem;padding:0 .25rem;font-size:.92rem;color:#5c5c66}.dct-score b{color:#2d2d2d}.dct-audio{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.dct-play{font-family:var(--font-display);font-size:1.1rem;color:#fff;background:var(--color-brand-sky-deep);border:none;border-radius:16px;cursor:pointer;padding:.85rem 1.4rem;box-shadow:0 5px color-mix(in oklch,var(--color-brand-sky-deep) 70%,black);transition:transform .08s ease,box-shadow .08s ease}.dct-play:hover{transform:translateY(-2px)}.dct-play:active{transform:translateY(2px);box-shadow:none}.dct-play.is-speaking{background:color-mix(in oklch,var(--color-brand-sky-deep) 70%,black)}.dct-repeat{font-family:var(--font-sans);font-weight:800;cursor:pointer;color:var(--color-brand-sky-deep);background:#fff;border:2px solid color-mix(in oklch,var(--color-brand-sky) 35%,#fff);border-radius:16px;padding:.85rem 1.1rem;transition:transform .08s ease,border-color .08s ease}.dct-repeat:hover{border-color:var(--color-brand-sky);transform:translateY(-2px)}.dct-hint{color:#5c5c66;font-weight:700;font-size:.9rem;margin:.8rem 0 .4rem}.dct-warn{color:#b3701a;font-weight:800;font-size:.85rem;margin:.2rem 0 .4rem;background:#fff6e6;border:2px solid #FFE2AE;border-radius:12px;padding:.5rem .7rem}.dct-label{display:block;text-align:left;font-weight:800;color:#5c5c66;font-size:.85rem;margin:.6rem 0 .35rem}.dct-input{width:100%;font-family:var(--font-sans);font-size:1.15rem;font-weight:700;color:#2d2d2d;border:3px solid #E7ECF1;border-radius:16px;padding:.8rem 1rem;resize:vertical;background:color-mix(in oklch,var(--color-brand-sky) 4%,#fff);line-height:1.5}.dct-input:focus{outline:none;border-color:var(--color-brand-sky)}.dct-go{margin-top:.8rem;width:100%;font-family:var(--font-display);font-size:1.2rem;color:#fff;background:var(--color-brand-sky-deep);border:none;border-radius:16px;cursor:pointer;padding:.9rem 1rem;min-height:3.4rem;box-shadow:0 5px color-mix(in oklch,var(--color-brand-sky-deep) 70%,black);transition:transform .08s ease,box-shadow .08s ease}.dct-go:hover:not(:disabled){transform:translateY(-2px)}.dct-go:active:not(:disabled){transform:translateY(2px);box-shadow:none}.dct-result{margin-top:1.1rem;text-align:left;border-top:2px solid #EEF2F6;padding-top:1rem}.dct-pct{font-family:var(--font-display);font-size:1.2rem;text-align:center;margin:0 0 .6rem}.dct-pct.ok{color:#35802d}.dct-pct.mid{color:#b3701a}.dct-pct.no{color:var(--color-brand-coral)}.dct-solution{font-size:1.1rem;line-height:1.7;font-weight:700;margin:0 0 .4rem}.dct-w-ok{color:#2d6a22}.dct-w-no{color:#c0282d;text-decoration:underline wavy var(--color-brand-coral)}.dct-actions{display:flex;justify-content:center;margin-top:.9rem}.dct-next{font-family:var(--font-display);font-size:1.05rem;color:#fff;background:var(--color-brand-sky);border:none;border-radius:14px;cursor:pointer;padding:.7rem 1.4rem;box-shadow:0 4px 0 var(--color-brand-sky-deep);transition:transform .08s ease,box-shadow .08s ease}.dct-next:hover{transform:translateY(-2px)}.dct-next:active{transform:translateY(2px);box-shadow:none}
