.kd{--kd-surface: #FFFFFF;--kd-fabric: #F3EEE4;--kd-ink: #19191A;--kd-muted: #6B6560;--kd-line: #E8E4DA;--kd-moss: #3E7A5A;--kd-moss-deep: #2E5C43;--kd-moss-soft: #E6F2EA;color:var(--kd-ink);box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.kd *,.kd *:before,.kd *:after{box-sizing:border-box}.kd a{color:inherit;text-decoration:none}.kd-icon{flex-shrink:0}.kd-muted{color:var(--kd-muted);font-size:14px;margin:0}.kd-search{position:relative;display:flex;align-items:center;margin:0;color:#9ca3af}@media(min-width:640px){.kd-search{max-width:560px}}.kd-search>.kd-icon{position:absolute;left:14px;pointer-events:none}.kd-search input{width:100%;margin:0;padding:11px 44px 11px 42px;font:inherit;font-size:16px;line-height:1.4;color:var(--kd-ink);background:var(--kd-surface);border:1px solid var(--kd-line);border-radius:999px;appearance:none;-webkit-appearance:none}.kd-search input::placeholder{color:#9ca3af}.kd-search input::-webkit-search-cancel-button{display:none}.kd-search input:focus{outline:none;border-color:var(--kd-moss);box-shadow:0 0 0 3px #3e7a5a2e}.kd-search-clear{position:absolute;right:6px;display:flex;padding:8px;border:0;border-radius:999px;background:none;color:#9ca3af;cursor:pointer}.kd-search-clear:hover{background:var(--kd-fabric);color:var(--kd-ink)}.kd-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.kd-row::-webkit-scrollbar{display:none}@media(min-width:640px){.kd-row{flex-wrap:wrap;overflow:visible}}.kd-sorts{gap:4px;border-bottom:1px solid #E5E7EB}@media(min-width:640px){.kd-sorts{flex-wrap:nowrap}}.kd-tab{flex-shrink:0;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 16px;font:inherit;font-size:15px;font-weight:600;color:#6b7280;cursor:pointer}.kd-tab:hover{color:#374151}.kd-tab[aria-pressed=true]{color:var(--kd-moss-deep);border-bottom-color:var(--kd-moss)}.kd-chip,.kd-pill{flex-shrink:0;white-space:nowrap;font:inherit;cursor:pointer;border-radius:999px;transition:background-color .15s,color .15s,border-color .15s}.kd-chip{padding:8px 14px;font-size:14px;font-weight:500;background:var(--kd-surface);color:#374151;border:1px solid var(--kd-line)}.kd-chip:hover{border-color:#c9ddd0;background:var(--kd-moss-soft)}.kd-chip[aria-pressed=true]{background:var(--kd-moss);border-color:var(--kd-moss);color:#fff;font-weight:600}.kd-pill{padding:6px 12px;font-size:13px;font-weight:500;background:transparent;color:var(--kd-muted);border:1px solid transparent}.kd-pill:hover{color:var(--kd-ink);background:var(--kd-fabric)}.kd-pill[aria-pressed=true]{background:var(--kd-moss-soft);border-color:#c9ddd0;color:var(--kd-moss-deep);font-weight:600}.kd-filters{min-width:0}.kd-grid{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:768px){.kd-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(min-width:1024px){.kd-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}.kd-card{display:flex;flex-direction:column;min-width:0;background:var(--kd-surface);border:1px solid var(--kd-line);border-radius:14px;overflow:hidden;transition:box-shadow .15s}.kd-card:hover{box-shadow:0 6px 18px #19191a1a}.kd-card-link{display:flex;flex-direction:column;min-width:0;cursor:pointer}.kd-card-pic{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:var(--kd-fabric);overflow:hidden}.kd-card-pic img{width:100%;height:100%;object-fit:cover;color:transparent;transition:transform .3s}.kd-card:hover .kd-card-pic img{transform:scale(1.04)}.kd-card-pic-empty{display:flex;color:#c9c2b6}.kd-craft{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;line-height:1;letter-spacing:.01em;padding:5px 8px;border-radius:999px;background:#fffffff0;color:var(--kd-moss-deep);box-shadow:0 1px 3px #19191a2e}.kd-card-body{display:flex;flex-direction:column;gap:2px;padding:10px 12px 0;min-width:0}.kd-card-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-card-author{font-size:12px;color:var(--kd-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-card-foot{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 12px 8px;font-size:12px;color:var(--kd-muted)}.kd-stat{display:inline-flex;align-items:center;gap:4px}.kd-like{margin:-6px;padding:6px;border:0;border-radius:999px;background:none;font:inherit;font-size:12px;color:inherit;cursor:pointer}.kd-like:hover{background:var(--kd-fabric)}.kd-like[aria-pressed=true]{color:#b52d66}.kd-card-extras{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.kd-card-skeleton .kd-card-pic{animation:kd-pulse 1.4s ease-in-out infinite}.kd-card-skeleton .kd-card-body{padding-bottom:14px;gap:6px}.kd-bar{display:block;height:10px;border-radius:4px;background:#eeeae2;animation:kd-pulse 1.4s ease-in-out infinite}.kd-bar-long{width:75%;height:12px}.kd-bar-short{width:45%}@keyframes kd-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.kd-card-skeleton .kd-card-pic,.kd-bar{animation:none}.kd-card-pic img{transition:none}}.kd-empty{margin:4px 0 0;padding:40px 16px;text-align:center;color:var(--kd-muted);background:var(--kd-surface);border:1px solid var(--kd-line);border-radius:16px}.kd-empty p{margin:0 0 4px}.kd-empty .kd-empty-title{font-size:18px;font-weight:700;color:var(--kd-ink)}.kd-empty .kd-button{margin-top:12px}.kd-sentinel{height:1px}.kd-foot{display:flex;justify-content:center;padding:16px 0 8px;text-align:center}.kd-button{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;color:var(--kd-moss-deep);background:var(--kd-surface);border:2px solid var(--kd-moss);border-radius:12px}.kd-button:hover{background:var(--kd-moss-soft)}.kd button:focus-visible,.kd a:focus-visible{outline:2px solid var(--kd-moss);outline-offset:2px}
