/* CT Kaomoji — inherits theme tokens with fallbacks */
.ctk{--_ink:var(--ink,#1E2B45);--_soft:var(--ink-soft,#51607D);--_guide:var(--guide,#B9CFEA);--_faint:var(--guide-faint,#DFE9F6);--_pen:var(--pen,#2456C7);--_ok:var(--ok,#1F7A4D);--_card:var(--card,#fff)}
.ctk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ctk-bar{position:sticky;top:52px;z-index:5;background:var(--paper,#FCFCFA);padding:.5rem 0;margin-bottom:.4rem}
.ctk-search{width:100%;border:1px solid var(--_guide);border-radius:8px;padding:.65rem .9rem;font:500 1rem/1.2 inherit;color:var(--_ink);background:var(--_card)}
.ctk-search:focus{outline:2px solid var(--_pen);outline-offset:1px}
.ctk-tabs{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:thin;padding:.5rem 0 .2rem}
.ctk-tab{flex:0 0 auto;background:transparent;border:1px solid var(--_faint);border-radius:999px;padding:.4rem .8rem;font:600 .85rem/1 inherit;font-family:inherit;color:var(--_soft);cursor:pointer;white-space:nowrap}
.ctk-tab:hover{border-color:var(--_pen);color:var(--_pen)}
.ctk-tab.on{background:var(--_pen);border-color:var(--_pen);color:#fff}
.ctk-cat-title{font-size:1.05rem;margin:1.3rem 0 .5rem;color:var(--_ink)}
.ctk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}
.ctk-item{background:var(--_card);border:1px solid var(--_faint);border-radius:8px;padding:.8rem .4rem;font-size:1.05rem;line-height:1.3;color:var(--_ink);cursor:pointer;font-family:inherit;word-break:break-all;position:relative;min-height:3.2rem}
.ctk-item:hover{border-color:var(--_pen)}
.ctk-item.copied{border-color:var(--_ok)}
.ctk-item.copied::after{content:"Copied";position:absolute;top:.15rem;right:.3rem;font-size:.62rem;font-weight:700;color:var(--_ok)}
.ctk-cat[hidden],.ctk-item[hidden]{display:none}
.ctk-draft{position:sticky;bottom:0;z-index:6;background:var(--_card);border:1px solid var(--_guide);border-radius:10px;box-shadow:0 -2px 14px rgba(30,43,69,.08);padding:.6rem .8rem;margin-top:1rem;display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.ctk-draft-strip{flex:1;min-width:0;font-size:1rem;color:var(--_ink);overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding:.15rem 0}
.ctk-draft-actions{display:flex;gap:.4rem}
.ctk-btn{background:var(--_pen);color:#fff;border:0;border-radius:6px;padding:.5rem .9rem;font:600 .85rem/1 inherit;font-family:inherit;cursor:pointer}
.ctk-btn:hover{filter:brightness(.92)}
.ctk-btn.ok{background:var(--_ok)}
.ctk-ghost{background:transparent;color:var(--_soft);border:1px solid var(--_guide)}
.ctk-empty{color:var(--_soft);padding:.8rem .2rem;font-size:.95rem}
