/* TypingKeyboards emoji library — page-specific styles, shared site design tokens. */
body:has([data-emoji-library]) .sub-hero{padding-top:22px;padding-bottom:25px}body:has([data-emoji-library]) .breadcrumbs{margin-bottom:15px}body:has([data-emoji-library]) .sub-hero .eyebrow{margin-bottom:8px}body:has([data-emoji-library]) .sub-hero h1{font-size:clamp(2.3rem,3.75vw,3.45rem);margin-bottom:8px;letter-spacing:-.055em}body:has([data-emoji-library]) .sub-hero p{font-size:.92rem}body:has([data-emoji-library]) .emoji-page{padding-top:24px}

.emoji-page{padding:30px 0 90px}.emoji-overview{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.emoji-overview .eyebrow{margin-bottom:8px}.emoji-overview h2{font-size:clamp(1.7rem,3.2vw,2.5rem);letter-spacing:-.055em;margin-bottom:10px}.emoji-overview p{font-size:.95rem;max-width:680px;margin:0}.emoji-total{flex-shrink:0;min-width:154px;text-align:center;background:var(--accent-soft);padding:19px 25px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));color:var(--text)}.emoji-total strong{font-size:1.8rem;line-height:1.1;display:block;letter-spacing:-.04em}.emoji-total span{font-size:.7rem;color:var(--muted);font-weight:750;letter-spacing:.025em}.emoji-toolbar{position:sticky;top:88px;z-index:70;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 7px 26px rgba(15,12,9,.065);overflow:hidden;margin-bottom:30px}.emoji-search-row{display:flex;gap:12px;padding:12px 15px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.emoji-search-field{display:flex;align-items:center;min-width:0;flex:1;position:relative}.emoji-search-field svg{position:absolute;left:16px;width:19px;height:19px;stroke:var(--muted)}.emoji-search-field input{width:100%;height:48px;padding:9px 44px;border-radius:8px;color:var(--text);background:var(--bg);border:1px solid var(--border);font-size:.92rem}.emoji-search-field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.emoji-clear-search{position:absolute;right:7px;top:5px;height:38px;width:35px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:1.3rem}.emoji-search-count{font-size:.78rem;font-weight:700;white-space:nowrap;color:var(--muted);padding-inline:9px}.emoji-category-nav{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:thin;padding:10px 12px;overscroll-behavior-x:contain}.emoji-category-nav a{font-size:.75rem;font-weight:730;line-height:1.25;display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:7px;white-space:nowrap;flex-shrink:0;border:1px solid transparent;color:var(--muted);transition:background .15s,color .15s}.emoji-category-nav a .emoji-cat-icon{font-size:1.13rem;line-height:1}.emoji-category-nav a:hover,.emoji-category-nav a.is-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.emoji-category-nav a small{font-size:.65rem;color:var(--muted);font-weight:600}.emoji-recent{margin-bottom:22px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.emoji-recent[hidden],.emoji-category[hidden],.emoji-empty[hidden],.emoji-more[hidden],.emoji-clear-search[hidden]{display:none!important}.emoji-recent-top,.emoji-category-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.emoji-recent-top h3,.emoji-category-top h3{font-size:1.24rem;margin:0}.emoji-recent-top button{background:transparent;border:0;color:var(--muted);font-size:.76rem;font-weight:730}.emoji-recent-top button:hover{color:var(--accent)}.emoji-recent p{font-size:.79rem;margin:9px 0 0}.emoji-category{margin:0 0 22px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:25px;scroll-margin-top:244px}.emoji-category-top{justify-content:flex-start;margin-bottom:17px}.emoji-category-icon{width:47px;height:47px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);font-size:1.5rem;flex-shrink:0}.emoji-category-heading h3{font-size:1.26rem;font-weight:720;margin:0}.emoji-category-heading p{margin:5px 0 0;font-size:.8rem}.emoji-category-number{margin-left:auto;color:var(--muted);font-size:.74rem;font-weight:710;white-space:nowrap}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(59px,1fr));gap:8px}.emoji-tile{height:61px;min-width:0;display:flex;justify-content:center;align-items:center;border:1px solid var(--border);background:var(--bg);border-radius:9px;font-size:1.75rem;line-height:1.05;color:var(--text);font-family:system-ui,'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif;transition:background .14s,border-color .14s,transform .14s}.emoji-tile:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.emoji-tile:active{transform:scale(.94)}.emoji-tile.was-copied{background:var(--accent-soft);border-color:var(--accent)}.emoji-more{display:flex;justify-content:center;margin:17px auto 1px;padding:8px 17px;background:var(--surface-alt);border-radius:7px;color:var(--accent);font-size:.8rem;font-weight:770;border:1px solid var(--border)}.emoji-more:hover{border-color:var(--accent)}.emoji-empty{border:1px dashed var(--border);border-radius:11px;padding:45px 20px;text-align:center;background:var(--surface);margin:0 0 25px}.emoji-empty .emoji-empty-mark{font-size:2rem}.emoji-empty h3{margin:9px 0;font-size:1.2rem}.emoji-empty p{margin:0}.emoji-guide{margin:42px auto 0;max-width:1020px}.emoji-guide h2{font-size:1.8rem}.emoji-guide p,.emoji-guide li{font-size:.92rem;color:var(--muted);line-height:1.75}.emoji-faq{margin-top:27px}.emoji-faq details{border-top:1px solid var(--border);padding:16px 4px}.emoji-faq details:last-child{border-bottom:1px solid var(--border)}.emoji-faq summary{cursor:pointer;font-size:.94rem;font-weight:710;color:var(--text);list-style-position:inside}.emoji-faq details p{padding-left:18px;margin:11px 0 0}.emoji-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:var(--text);color:var(--surface);border-radius:8px;padding:12px 18px;box-shadow:var(--shadow);font-size:.83rem;font-weight:750;z-index:250;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}.emoji-toast.is-visible{opacity:1;transform:translate(-50%,0)}html[data-theme=dark] .emoji-toast{background:#f0e3de;color:#151414}html{scroll-padding-top:238px}@media(min-width:1300px){.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr))}}@media(max-width:1199px){.emoji-toolbar{top:74px}}@media(max-width:900px){.emoji-toolbar{top:74px}.emoji-overview{align-items:flex-start}.emoji-category{scroll-margin-top:250px}}@media(max-width:680px){.emoji-page{padding-top:22px}.emoji-overview{gap:12px}.emoji-overview h2{font-size:1.85rem}.emoji-overview p{font-size:.83rem}.emoji-total{min-width:89px;padding:15px 10px}.emoji-total strong{font-size:1.5rem}.emoji-toolbar{top:67px;margin-inline:-3px}.emoji-search-row{padding:9px;gap:5px;align-items:stretch}.emoji-search-count{font-size:.7rem;white-space:normal;max-width:72px;align-self:center;line-height:1.25}.emoji-search-field input{height:46px;font-size:.81rem}.emoji-category-nav{padding:6px 8px}.emoji-category-nav a{padding:8px 9px;font-size:.73rem}.emoji-category{padding:17px 13px;scroll-margin-top:200px}.emoji-category-heading h3{font-size:1.07rem}.emoji-category-heading p{font-size:.73rem}.emoji-category-icon{width:38px;height:38px;font-size:1.35rem}.emoji-category-number{font-size:.67rem}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px}.emoji-tile{height:51px;font-size:1.52rem;border-radius:7px}.emoji-recent{padding:16px}.emoji-guide{margin-top:28px}.emoji-guide h2{font-size:1.45rem}}@media(prefers-reduced-motion:reduce){.emoji-tile,.emoji-toast,.emoji-category-nav a{transition:none!important}html{scroll-behavior:auto}}
