.dk-lede{max-width:640px;color:var(--ink-soft)}.dk-catalog{padding-top:8px}.dk-search{display:flex;align-items:center;gap:10px;max-width:420px;margin:0 0 22px auto;padding:0 16px;height:46px;border:1px solid var(--line);border-radius:999px;background:var(--paper-card);color:var(--ink-soft)}.dk-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;outline:none}.dk-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.dk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.dk-tile{display:grid;align-content:start;gap:8px;min-height:170px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg, 20px);background:var(--paper-card);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}.dk-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.dk-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.dk-tile__top{display:flex;flex-wrap:wrap;gap:6px}.dk-tile__title{font-size:1.15rem;line-height:1.3}.dk-tile__desc{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dk-tile__meta{margin-top:auto;color:var(--ink-soft);font-size:.84rem}.dk-tile--skeleton{background:linear-gradient(90deg,var(--paper-soft),var(--paper-card),var(--paper-soft));background-size:200% 100%;animation:dk-shine 1.4s linear infinite}@keyframes dk-shine{to{background-position:-200% 0}}.dk-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink);font-size:.78rem;font-weight:700}.dk-empty{display:grid;justify-items:center;gap:6px;padding:40px 16px;color:var(--ink-soft);text-align:center}.dk-empty strong{color:var(--ink);font-size:1.1rem}.dk-deck{padding-top:28px}.dk-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;color:var(--ink-soft);font-weight:700;text-decoration:none}.dk-back:hover{color:var(--accent)}.dk-head{display:grid;gap:10px;max-width:760px}.dk-title{margin:0;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15}.dk-head .dk-lede{margin:0}.dk-progress{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.dk-progress i{display:block;height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width .4s cubic-bezier(.2,.8,.2,1)}.dk-muted{color:var(--ink-soft);font-size:.84rem}.dk-tabs{display:inline-flex;gap:4px;margin:22px 0 18px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--paper-card)}.dk-tab{height:38px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.dk-tab[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.dk-stage{display:grid;justify-items:center;gap:14px;min-height:360px}.dk-flipbox{width:min(560px,100%);perspective:1400px}.dk-card{position:relative;display:block;width:100%;min-height:300px;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-align:center;cursor:pointer;touch-action:pan-y;transform:translate(var(--dx, 0)) rotate(calc(var(--dx, 0px) / 40));transition:transform .3s cubic-bezier(.2,.8,.2,1)}.dk-card.is-dragging{transition:none}.dk-card.is-in-right{animation:dk-in-right .32s cubic-bezier(.2,.8,.2,1)}.dk-card.is-in-left{animation:dk-in-left .32s cubic-bezier(.2,.8,.2,1)}@keyframes dk-in-right{0%{opacity:0;transform:translate(40px)}}@keyframes dk-in-left{0%{opacity:0;transform:translate(-40px)}}.dk-card__inner{position:relative;display:block;min-height:300px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.dk-card.is-flipped .dk-card__inner{transform:rotateY(180deg)}.dk-face{display:grid;place-content:center;justify-items:center;gap:12px;padding:32px 26px;border:1px solid var(--line);border-radius:var(--radius-xl, 26px);background:var(--paper-card);box-shadow:var(--shadow-soft)}.dk-face strong{font-size:clamp(1.4rem,3.6vw,2rem);line-height:1.3;overflow-wrap:anywhere}.dk-face small{color:var(--ink-soft);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dk-face em{color:var(--ink-soft);font-size:.84rem;font-style:normal}.dk-face mark{padding:0 4px;border-radius:6px;background:color-mix(in srgb,var(--band-4, #f0b429) 45%,transparent);color:inherit}.dk-card__front,.dk-card__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.dk-card__back{transform:rotateY(180deg);background:color-mix(in srgb,var(--accent) 7%,var(--paper-card))}.dk-example{color:var(--ink-soft);font-size:.95rem;line-height:1.5}.dk-say{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper-card);color:var(--accent);cursor:pointer}.dk-say:hover{background:color-mix(in srgb,var(--accent) 12%,var(--paper-card))}.dk-nav{display:flex;align-items:center;gap:16px}.dk-navbtn{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--paper-card);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}.dk-navbtn:hover{border-color:var(--accent);color:var(--accent)}.dk-count{min-width:64px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.dk-hint{margin:0;color:var(--ink-soft);font-size:.8rem;text-align:center}@media(pointer:coarse){.dk-hint{display:none}}.dk-card--learn{display:grid;gap:12px;width:min(560px,100%);min-height:0;cursor:default;transform:none}.dk-card--learn>.dk-face{min-height:200px}.dk-answer{animation:dk-reveal .3s ease-out;background:color-mix(in srgb,var(--accent) 7%,var(--paper-card))}@keyframes dk-reveal{0%{opacity:0;transform:translateY(8px)}}.dk-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.dk-actions .btn{min-width:150px}.dk-result{display:grid;justify-items:center;gap:10px;max-width:520px;padding:32px 24px;border:1px solid var(--line);border-radius:var(--radius-xl, 26px);background:var(--paper-card);text-align:center}.dk-result strong{font-size:1.5rem}.dk-result p{margin:0;color:var(--ink-soft);line-height:1.55}.dk-missing{color:var(--ink-soft);text-align:center}.dk-list{display:grid;gap:8px;width:min(760px,100%);margin:0;padding:0;list-style:none;counter-reset:dk}.dk-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;counter-increment:dk}.dk-row .dk-face{grid-auto-flow:column;place-content:center start;justify-items:start;padding:14px 16px;border-radius:14px;box-shadow:none;text-align:left}.dk-row .dk-face strong{font-size:1rem}.dk-row .dk-say{width:34px;height:34px}.dk-row.is-known .dk-face{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}@media(max-width:560px){.dk-row{grid-template-columns:1fr;gap:4px}}.dk-save{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;padding:22px 24px;border-radius:var(--radius-xl, 26px);background:var(--ink-surface, #123b2e);color:var(--on-surface, #fff)}.dk-save strong{font-size:1.15rem}.dk-save p{margin:6px 0 0;max-width:560px;color:var(--on-surface-soft, rgba(255, 255, 255, .8));line-height:1.5}.dk-save-acts{display:flex;flex-wrap:wrap;gap:10px}.dk-save .btn--ghost{border-color:var(--on-surface-line, rgba(255, 255, 255, .3));color:var(--on-surface, #fff)}.dk-ssr{margin-top:32px}.dk-ssr h2{font-size:1.2rem}.dk-ssr ol{columns:2;column-gap:32px;padding-left:20px;color:var(--ink-soft)}@media(max-width:640px){.dk-ssr ol{columns:1}}@media(prefers-reduced-motion:reduce){.dk-card,.dk-card__inner,.dk-tile,.dk-progress i{transition:none}.dk-card.is-in-right,.dk-card.is-in-left,.dk-answer,.dk-tile--skeleton{animation:none}}.dk-row .dk-face{display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left}.dk-row .dk-face strong{line-height:1.3}.dk-row .dk-face .dk-say{flex:none}.dk-img{display:block;max-width:min(100%,280px);max-height:180px;border-radius:14px;object-fit:contain}.dk-thumb{width:36px;height:36px;flex:none;border-radius:9px;object-fit:cover}.dk-card__inner{display:grid}.dk-card__front,.dk-card__back{position:relative;inset:auto;grid-area:1 / 1;min-height:300px}.dk-img{width:auto;height:auto;max-width:min(100%,280px);max-height:min(180px,28vh)}.dk-img--ask{max-width:min(100%,360px);max-height:min(240px,34vh)}.dk-tr{color:var(--ink-soft);font-size:.95rem}.dk-trans{color:var(--ink-soft);font-size:1.05rem;line-height:1.4}.dk-figure{display:grid;justify-items:center;gap:4px}.dk-credit,.dk-face .dk-credit{max-width:320px;color:var(--ink-soft);font-size:.7rem;line-height:1.3;text-transform:none;letter-spacing:0;font-weight:400;overflow-wrap:anywhere}.dk-find__ask{display:grid;justify-items:center;gap:10px;margin-bottom:16px}.dk-find__play{width:84px;height:84px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--accent);color:var(--on-accent, #fff);cursor:pointer;box-shadow:var(--shadow-soft)}.dk-find__play:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.dk-find__word{font-size:clamp(1.4rem,3.6vw,2rem)}.dk-find{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(560px,100%);margin:0 auto}.dk-find__pic{position:relative;aspect-ratio:4 / 3;padding:0;border:3px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper-card);cursor:pointer;transition:transform .16s ease,border-color .16s ease}.dk-find__pic img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}.dk-find__pic kbd{position:absolute;top:8px;left:8px;min-width:26px;height:26px;display:grid;place-items:center;border-radius:8px;font-weight:700;background:#0009;color:#fff}.dk-find__pic:hover,.dk-find__pic:focus-visible{border-color:var(--accent);outline:none;transform:translateY(-2px)}.dk-find__pic.is-right{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent)}.dk-find__pic.is-wrong{border-color:#d9534f;animation:dk-shake .35s ease}@keyframes dk-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){.dk-find__pic.is-wrong{animation:none}}
