:root{--bg:#fff;--ink:#151515;--muted:#6c6c6c;--line:#e7e7e7;--soft:#f6f7f8;--accent:#ffcf3f;--accent2:#ffb800;--green:#2f6b45;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ek-shell{width:min(1180px,calc(100% - 36px));margin:auto}.ek-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30}.ek-header-inner{height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ek-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:900}.ek-brand-mark{font-size:28px}.ek-nav{display:flex;gap:20px}.ek-nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}.ek-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.17em;color:#858585}.ek-page-head{padding:58px 0 34px;text-align:center}.ek-page-head-inner{max-width:850px}.ek-page-head h1{font-size:clamp(38px,6vw,68px);line-height:1.02;letter-spacing:-.055em;margin:12px auto 18px}.ek-page-head p{max-width:720px;margin:auto;color:var(--muted);font-size:17px;line-height:1.75}.ek-kitchen{padding:12px 0 82px}.ek-search-wrap{max-width:760px;margin:0 auto 22px}.ek-search{height:54px;border:1px solid #d9d9d9;border-radius:12px;display:flex;align-items:center;background:#fff;box-shadow:0 3px 12px #00000008}.ek-search>span{padding-left:16px;font-size:24px;color:#777}.ek-search input{flex:1;border:0;outline:0;background:none;padding:0 14px;font:inherit;font-size:16px}.ek-search button{width:46px;height:100%;border:0;background:none;font-size:24px;color:#888;cursor:pointer}.ek-grid-meta{display:flex;justify-content:space-between;align-items:center;margin:9px 4px 0;font-size:12px;color:#999}.ek-grid-meta button{border:0;background:none;color:#555;font-weight:800;cursor:pointer}.ek-status{max-width:760px;margin:24px auto;border:1px solid var(--line);background:var(--soft);padding:18px;border-radius:12px;display:flex;align-items:center;gap:12px}.ek-status.is-error{align-items:flex-start;flex-direction:column}.ek-spinner{width:17px;height:17px;border:2px solid #ddd;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ek-emoji-board{border-top:1px solid var(--line);border-left:1px solid var(--line);max-height:570px;overflow:auto}.ek-emoji-grid{display:grid;grid-template-columns:repeat(14,1fr)}.ek-emoji{aspect-ratio:1;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:29px;cursor:pointer;transition:.12s}.ek-emoji:hover{background:#f7f7f7;transform:scale(1.04);z-index:1}.ek-emoji.is-a{background:#fff4c4;box-shadow:inset 0 0 0 2px #f0bb00}.ek-emoji.is-b{background:#e8f6ff;box-shadow:inset 0 0 0 2px #54a8d8}.ek-emoji.is-a.is-b{background:#efe8ff}.ek-mix-bar{display:flex;align-items:end;justify-content:center;gap:22px;padding:48px 0 22px}.ek-slot-wrap{display:flex;flex-direction:column;gap:8px;align-items:center}.ek-slot-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#999;font-weight:800}.ek-slot{width:118px;height:118px;border:2px dashed #d5d5d5;border-radius:18px;background:#fafafa;display:grid;place-items:center;font-size:56px;color:#b2b2b2;cursor:pointer;overflow:hidden}.ek-slot.is-filled{border-style:solid;background:#fff;color:var(--ink)}.ek-result-slot{cursor:default;position:relative}.ek-result-slot img{width:100%;height:100%;object-fit:contain;padding:5px}.ek-result-loading{font-size:18px}.ek-symbol{font-size:42px;line-height:118px;color:#aaa;font-weight:300}.ek-mix-actions{display:flex;justify-content:center;align-items:center;gap:18px}.ek-mix-button{min-width:190px;border:0;border-radius:11px;background:var(--accent);padding:15px 26px;font:inherit;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 4px 0 var(--accent2)}.ek-mix-button:hover:not(:disabled){transform:translateY(-1px)}.ek-mix-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.ek-link-button{border:0;background:none;font:inherit;color:#777;font-weight:700;cursor:pointer}.ek-message{max-width:650px;margin:18px auto 0;text-align:center;padding:12px 16px;border-radius:10px;font-size:14px}.ek-message.is-error{background:#fff0f0;color:#9e3434}.ek-message.is-success{background:#edf9ef;color:#2d6e39}.ek-result-actions{display:flex;justify-content:center;gap:10px;margin-top:14px}.ek-action{border:1px solid #dadada;border-radius:9px;background:#fff;padding:10px 14px;color:#222;text-decoration:none;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.ek-content{padding:82px 0;background:var(--soft);border-top:1px solid var(--line)}.ek-content-grid,.ek-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px}.ek-content h2,.ek-faq h2{font-size:clamp(32px,4vw,50px);letter-spacing:-.04em;margin:10px 0}.ek-prose{font-size:16px;line-height:1.85;color:#444}.ek-faq{padding:82px 0}.ek-faq details{border-top:1px solid var(--line);padding:20px 0}.ek-faq details:last-child{border-bottom:1px solid var(--line)}.ek-faq summary{display:flex;justify-content:space-between;gap:16px;font-weight:850;cursor:pointer}.ek-faq details p{color:var(--muted);line-height:1.7}.ek-footer{border-top:1px solid var(--line);padding:40px 0;background:#fff}.ek-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.ek-footer p,.ek-footer small{color:var(--muted)}.ek-toast{position:fixed;right:22px;bottom:22px;background:#111;color:#fff;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:50}.ek-toast.show{opacity:1;transform:none}@media(max-width:980px){.ek-emoji-grid{grid-template-columns:repeat(10,1fr)}.ek-content-grid,.ek-faq-grid{grid-template-columns:1fr;gap:24px}}@media(max-width:700px){.ek-shell{width:min(100% - 22px,1180px)}.ek-header-inner{height:62px}.ek-nav a:not(:first-child){display:none}.ek-page-head{padding:42px 0 24px}.ek-page-head h1{font-size:42px}.ek-page-head p{font-size:15px}.ek-kitchen{padding-bottom:56px}.ek-emoji-grid{grid-template-columns:repeat(7,1fr)}.ek-emoji{font-size:26px}.ek-mix-bar{gap:8px;padding-top:34px}.ek-slot{width:82px;height:82px;border-radius:14px;font-size:42px}.ek-symbol{font-size:28px;line-height:82px}.ek-mix-button{min-width:160px}.ek-content,.ek-faq{padding:58px 0}.ek-result-actions{flex-wrap:wrap}.ek-footer-grid{grid-template-columns:1fr;gap:12px}}@media(max-width:420px){.ek-emoji-grid{grid-template-columns:repeat(6,1fr)}.ek-mix-bar{gap:5px}.ek-slot{width:72px;height:72px;font-size:36px}.ek-symbol{font-size:24px;line-height:72px}.ek-slot-label{font-size:9px}.ek-page-head h1{font-size:37px}}

/* v4.0.4 - database-driven header/footer */
.ek-brand-logo,.ek-footer-logo{display:block;object-fit:contain;border-radius:10px;flex:0 0 auto}
.ek-footer-brand{display:flex;align-items:center;gap:10px}
.ek-footer-nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:10px}
.ek-footer-nav a{color:inherit;text-decoration:none}
.ek-footer-nav a:hover{text-decoration:underline}

/* v4.0.6: keep hidden UI hidden and contain wide/ZWJ emoji sequences inside picker slots. */
[hidden]{display:none!important}
.ek-slot>span{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;line-height:1;white-space:nowrap}
.ek-slot>span.ek-slot-emoji-wide{font-size:36px}
@media(max-width:700px){.ek-slot>span.ek-slot-emoji-wide{font-size:28px}}
@media(max-width:420px){.ek-slot>span.ek-slot-emoji-wide{font-size:24px}}


/* v4.0.7: use a modern color-emoji webfont instead of relying only on the visitor OS emoji font. */
.ek-emoji>span,.ek-slot>span{font-family:"Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",sans-serif;font-weight:400;font-style:normal}

/* v4.0.9: hide Chromium/WebKit native search clear button; keep only theme clear button. */
.ek-search input[type="search"]::-webkit-search-cancel-button,.ek-search input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}

/* v4.1.0: popular emoji category shortcuts under search. */
.ek-category-list{display:flex;gap:8px;max-width:760px;margin:10px auto 0;overflow-x:auto;padding:1px 1px 6px;scrollbar-width:thin}.ek-category{flex:0 0 auto;border:1px solid #e1e1e1;border-radius:999px;background:#fff;color:#555;padding:7px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.ek-category:hover{border-color:#c9c9c9;background:#fafafa}.ek-category.is-active{background:#151515;color:#fff;border-color:#151515}.ek-category-list::-webkit-scrollbar{height:5px}.ek-category-list::-webkit-scrollbar-thumb{background:#d7d7d7;border-radius:999px}@media(max-width:700px){.ek-category-list{margin-top:8px;padding-bottom:5px}.ek-category{padding:7px 11px;font-size:11px}}
